MarGor 0 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба Здравствуйте, подскажите, как в проекте сделать так, чтобы тестбенч для верхнего уровня читал данные из файла в модуль нижнего уровня. Не делая выводы в модeле top? Либо можно как-то пометить выводы верхнего уровня, чтоб при имплементации не выдавало ошибок об отсутствии пинов для данных выводов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба вариант 1. простой еще верилоговских времен. IEEE Standard for SystemVerilog—Unified Hardware Design, Specification, and Verification Language - 10. Assignment statements -10.6 Procedural continuous assignments -10.6.2 The force and release procedural statements вариант 2. сложнее, красивее, но свешнее IEEE Standard for SystemVerilog—Unified Hardware Design, Specification, and Verification Language - 8. Classes ЗЫ. в любом случае еще нужна глава IEEE Standard for SystemVerilog—Unified Hardware Design, Specification, and Verification Language 23. Modules and hierarchy - 23.6 Hierarchical names ну и в код добавить // synthesis translate_off // synthesis translate_on Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба Постою послушаю, кто как решает. Интересно. У меня весь проект настраивает и собирается через define объявления. В том числе и под симуляцию сам видоизменяется (подключаются доп выводы или переназначаются) через `ifdef MODEL_TECH `endif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MarGor 0 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 14 минут назад, des00 сказал: IEEE Standard for SystemVerilog—Unified Hardware Design, Specification, and Verification Language - 8. Classes Спасибо! Но данный стандарт описывыает для SystemVerilog. Можно ли сделать на VHDL? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба держу 2 проекта, которыйы собран из одних исходников нужного модуля. В проекте для симуляции моделирую тестовое окружение модуля. Но модули у меня очень маленькие по сравнению с основным проектом, куда они входят. Основной проект моделировать нереально, ибо там 1 us моделирования - это оооочеь много реального времени моделирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 35 minutes ago, Flip-fl0p said: держу 2 проекта один боевой, другой для симуляции? я постоянно так исправления терял Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 15 минут назад, new123 сказал: один боевой, другой для симуляции? я постоянно так исправления терял Да. Но исходники в них одни которые находятся на диске. Например файл c:\work\SRC\ABC\my_module.vhd используется в 2 проектах. Измененив этот файл в проекте для симуляции, автоматически все изменения вносятся в проект для железки. При этом часто бывает нужен проект для отладки модуля не только в симуляторе, но и на отлалочной плате. Фактически у меня модуль. используется в 3 проектах. Главный проект, состоящий из кучи модулей. Проект для симуляции модуля my_module_ SIM, проект для отладки модуля на отладочной плате my_module_HDBG. Другого пути не нашёл, особенно когда главный проект занимает почти весь кристалл, имплементится несколько часов, и симуляции не поддается. Из минусов данного пути - много побочных проектов. Из плюсов - всегда могу какой-то кусок посмотреть как на симуляции, так и на отладке Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 ноября, 2020 Опубликовано 24 ноября, 2020 · Жалоба 3 minutes ago, Flip-fl0p said: Но исходники в них одни которые находятся на диске. я вот в связи с этим тоже взял за правило не разделять. Чтобы править только в одних исходниках. Единственное до такого разделения не допер. Обложил все ifdef MODEL_TECH, поотключал все ядра, которые тормозят симуляцию, так же через ifdef MODEL_TECH подал свои частоты в top, ну и тест бенч навороченный с настройками, хочешь из файла данные подать в top, хочешь сам сгенерь и тд. По началу было круто. Но потом подсел на всякого рода define и теперь проект стал сильно разветвленный в top. Но зато очень универсальный на различные версии Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба 12 hours ago, MarGor said: Спасибо! Но данный стандарт описывыает для SystemVerilog. Можно ли сделать на VHDL? ууу, тогда все сложнее. не слежу за последними новинками VHDL, но посмотреть на глобальные сигналы и особенности вашего симмулятора. там могут быть библиотечные функции для иерархического доступа. 9 hours ago, new123 said: Но потом подсел на всякого рода define и теперь проект стал сильно разветвленный в top. Но зато очень универсальный на различные версии в VHDL макросов нет, к сожалению. Поэтому все вот это не подойдет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба Just now, MarGor said: Можно ли сделать на VHDL? Да, если используется VHDL-2008 или 2019. Иерархический доступ к сигналам. Путь к сигналу прописывается в парных угловых скобках <<signal путь.до.сигнала : тип_сигнала>>. символ ^ - подняться вверх по иерархии, символ @ - перейти в корень иерархии. Для упрощения иерархический сигнал можно использовать через alias. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nemos760 0 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба Если с vhdl-2008 проблемы, например, используется Quartus lite, то на крайний случай, чтобы при имплементации не было ошибок, можно присвоить этим портам значения virtual pins. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба 12 hours ago, new123 said: Но потом подсел на всякого рода define и теперь проект стал сильно разветвленный в top. Но зато очень универсальный на различные версии Как потом верифицировать проект, если версия симуляции и версия имплементации отличаются? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба 2 hours ago, lexx said: если версия симуляции и версия имплементации отличаются? они идентичны из одного и того же исходника. Только делаю подмену различных ног, в том же top, если надо грузануть входящие данные из файла, как пример. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MarGor 0 25 ноября, 2020 Опубликовано 25 ноября, 2020 · Жалоба 4 часа назад, Strob сказал: Да, если используется VHDL-2008 или 2019. Иерархический доступ к сигналам. Путь к сигналу прописывается в парных угловых скобках <<signal путь.до.сигнала : тип_сигнала>>. символ ^ - подняться вверх по иерархии, символ @ - перейти в корень иерархии. Для упрощения иерархический сигнал можно использовать через alias. Спасибо, получилось! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться