new123 0 30 декабря, 2021 Опубликовано 30 декабря, 2021 (изменено) · Жалоба Форумчане, день добрый. Подскажите кто знает, в чем причина, что у регистров 1'hX значение постоянно? Что уже сделал: 1) Прочитал и на форуме и вообще на форумах, что могут быть слаки. Поставил опцию +no_notifier 2) Думал, вдруг может надо все таки проинициализировать на старте, не помогло. 3) Думал, может в резете обработать еще инициализацию, не помогло. Присваиваю значения, вижу их в wave, но на следующем такте опять 1'hX (причем не у всех) Заранее спасибо за подсказки Изменено 30 декабря, 2021 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 30 декабря, 2021 Опубликовано 30 декабря, 2021 (изменено) · Жалоба Еще читал, что это может быть из за latch, но как их выявить, ума не приложу. Думал, может в TA выявить путь сам на себя from reg[0] to reg[0], но от этого поведение у путей вроде не зависит. Изменено 30 декабря, 2021 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 30 декабря, 2021 Опубликовано 30 декабря, 2021 · Жалоба 43 minutes ago, new123 said: Присваиваю значения, вижу их в wave, но на следующем такте опять 1'hX (причем не у всех) Заранее спасибо за подсказки X-ы возникают либо от неинициализированных переменных (регистров, памяти) либо например из за случаного микса двух и или более выходов с разными значениями 0 и 1. Чтобы отследить откуда это черт X лезет надо фактически пройти по пути входа данных для регистра в котром вы увидели X. В Modelsim/Questa есть режим просмотра дизайна который позволяет отследить источник возникновения X-а. В том же Dataflow viewer например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 30 декабря, 2021 Опубликовано 30 декабря, 2021 · Жалоба 10 minutes ago, RobFPGA said: Чтобы отследить откуда это черт X лезет надо фактически пройти по пути входа данных для регистра в котром вы увидели да, спасибо, тоже подумал, уже начал всякие Mux на пути смотреть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 30 декабря, 2021 Опубликовано 30 декабря, 2021 · Жалоба 2 hours ago, RobFPGA said: В Modelsim/Questa есть режим просмотра дизайна который позволяет отследить источник возникновения X-а. В том же Dataflow viewer например спасибо, сейчас поковыряю, а то я как то в нетлисте уже запутался Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KeisN13 6 31 декабря, 2021 Опубликовано 31 декабря, 2021 · Жалоба Да наверняка там два драйвера на одном сигнале. Посмотрите што присвоение значени идёт только из одного места Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 31 декабря, 2021 Опубликовано 31 декабря, 2021 · Жалоба 8 hours ago, KeisN13 said: Посмотрите што присвоение значени идёт только из одного места ну вот у меня огромный вектор, ну пусть будет на 100 бит. Ему значение действительно присваиваются в нескольких местах, в зависимости от условий. При этом некоторые биты падают в X, некоторые держатся нормально после присвоения. есть и другие векторы, где в зависимости от условий присваиваются в разных местах, но с ними вообще проблем нет. Пока что выяснил, что массово ноги растут от FIFO, она дает много X. Но как ее проинициализировать, пока еще не вычитал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 6 января, 2022 Опубликовано 6 января, 2022 (изменено) · Жалоба On 12/30/2021 at 3:46 PM, RobFPGA said: В том же Dataflow viewer например. Роб, если будет минутка. Прошу консультации ) Отрыл я источник 1'hX, спасибо, пришлось разобрать на косточки вот такую схему, закинуть сигналы в wave прямиком из нет листа и сидеть ковырять, кто же в итоге дал 1'hX. Опыту конечно мне это прибавило, но хотел еще спросить. А Dataflow может автоматизировать этот процесс, чтобы на это ушло пару минут макс? Или не стоит убивать время разбираться? Это я только начал timing simulation, а учитывая то, что у меня проект ну никак не готов к такому (банально нет даже инициализации регистров), я просто умру в вычислении 1'hX далее. Я не знал, что сигнал черти от куда может влиять на такой итог. Изменено 6 января, 2022 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 6 января, 2022 Опубликовано 6 января, 2022 · Жалоба 5 hours ago, new123 said: А Dataflow может автоматизировать этот процесс, чтобы на это ушло пару минут макс? Или не стоит убивать время разбираться? Увы, я таким мало занимался. Как то особой необходимости автоматизировать такой процесс не возникало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 7 января, 2022 Опубликовано 7 января, 2022 (изменено) · Жалоба 9 hours ago, RobFPGA said: Увы, я таким мало занимался. Как то особой необходимости автоматизировать такой процесс не возникало. а я послушался квартуса, он мне порекомендовал убрать инициализации и поставить Ignore Register Power-Up Initialization для лучшей времянки. Теперь вот хапнул по полной Изменено 7 января, 2022 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 7 января, 2022 Опубликовано 7 января, 2022 · Жалоба 15 hours ago, new123 said: А Dataflow может автоматизировать этот процесс, чтобы на это ушло пару минут макс? Или не стоит убивать время разбираться? Не уверен, что попаду в тему, но: У квесты/модельсима есть замечательные ключики запуска +initreg+0 +initmem+0. Они позволяют избавиться от части таких вот неопределенных состояний регистров при запуске симуляции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 7 января, 2022 Опубликовано 7 января, 2022 · Жалоба 53 minutes ago, nice_vladi said: есть замечательные ключики запуска +initreg+0 +initmem+0. надо же, все стало гораздо лучше. Не сразу понял, что надо юзать с vlog, а не с vsim. Жалко только, что пока фифошки нулями не забило. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 7 января, 2022 Опубликовано 7 января, 2022 · Жалоба 4 hours ago, new123 said: а я послушался квартуса, он мне порекомендовал убрать инициализации и поставить Ignore Register Power-Up Initialization для лучшей времянки. Теперь вот хапнул по полной Это немного не то - это вроде значит что Qu просит дать возможность ему самому выбирать начальный уровень (0 или 1) регистра при оптимизации. Или если например начальное значение не соответствует значению по сбросу. Это позволяет например избавится от лишнего инвертора на входе или выходе. 3 hours ago, new123 said: надо же, все стало гораздо лучше. Не сразу понял, что надо юзать с vlog, а не с vsim. Жалко только, что пока фифошки нулями не забило. Спасибо. Глобальная инициализация в симе просто маскирует проблему. Если поведение дизайна зависит от начальных значение после загрузки, и эти значения частично или полностью не устанавливаются по сбросу то это, IMHO, нехорошие проблемы в дизайне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 7 января, 2022 Опубликовано 7 января, 2022 · Жалоба 33 minutes ago, RobFPGA said: Глобальная инициализация в симе просто маскирует проблему пока что на текущем этапе 1'hX дает не инициализированные регистры и фифошки, которые постоянно выдают 1'hx и всех от нее цепей. +initreg+0 помог мне не иницилизировать кучу регистров. а вот почему фифошки не работают, пока не знаю. Пока что спасаюсь тем, что делаю force (нулями) на их выходе, но на этом я долго не уеду Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 7 января, 2022 Опубликовано 7 января, 2022 · Жалоба Just now, new123 said: пока что на текущем этапе 1'hX дает не инициализированные регистры и фифошки, которые постоянно выдают 1'hx и всех от нее цепей. Для шины данных X-ы это понятно. А вот сигналы управления FIFO (указатели, флаги, valid, ...) должны сбрасывается по внешнему ресету. А без валидных сигналов управления X-ы на шине данных не должны влиять на последующую логику. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться