flammmable 4 3 июля, 2018 Опубликовано 3 июля, 2018 (изменено) · Жалоба Возможно ли в verilog обозначить часть входов/выходов модуля только для симуляции? Что бы можно было один и тот же проект (не внося изменений) запустить как на симуляцию так и на сборку прошивки. Изменено 3 июля, 2018 пользователем flammmable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба Возможно ли в verilog обозначить часть входов/выходов модуля только для симуляции? Что бы можно было один и тот же проект (не внося изменений) запустить как на симуляцию так и на сборку прошивки. Да без проблем. Делаете параметр - "дебаг-релиз = "да-нет""... И еще две группы параметров, одну только для "дебага", другую - для "релиза". Для дебага на эти выходы подаете сигналы, нужные для симуляции. А для "релиза" - подаете 0 или 1. И при компеляции эти сигналы будут автоматически проигнарированы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба Возможно ли в verilog обозначить часть входов/выходов модуля только для симуляции? Что бы можно было один и тот же проект (не внося изменений) запустить как на симуляцию так и на сборку прошивки. Если речь про модуль верхнего уровня,то лучше использовать `ifdef - чтобы эти порты совсем не виделись средством синтеза. module aaa( `ifdef SIM input sim_signal, `endif ... ); `ifndef SIM wire sim_signal = 1'b0, `endif переменную SIM определяете в настройках симулятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DimaG 0 4 июля, 2018 Опубликовано 4 июля, 2018 · Жалоба Если речь про модуль верхнего уровня,то лучше использовать `ifdef - чтобы эти порты совсем не виделись средством синтеза. переменную SIM определяете в настройках симулятора. Либо так /* synopsys translate_off */ `define SIMULATOR /* synopsys translate_on */ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 4 июля, 2018 Опубликовано 4 июля, 2018 (изменено) · Жалоба переменную SIM определяете в настройках симулятора. Большое спасибо. Могли бы вы рассказать, где и как делается настройка переменных ModelSim-Altera в Quartus? Либо так /* synopsys translate_off */ `define SIMULATOR /* synopsys translate_on */ Искал как задать/настроить define в ModelSim-Altera/Quartus по словам "quartus altera modelsim variable settings define ifdef" и их комбинациям - не нашел решения. Сделал, как вы советовали - работает. Спасибо, буду делать так. Хотя данные выражения звучат как заклинание. Изменено 4 июля, 2018 пользователем flammmable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
misyachniy 0 7 июля, 2018 Опубликовано 7 июля, 2018 · Жалоба Для просмотра выходов я объявляю переменные в тестбенче с указанием полного имени wire test_lock = module1.module2.lock; В принципе, незадействованные входы/выходы при синтезе будут отброшены. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 7 июля, 2018 Опубликовано 7 июля, 2018 · Жалоба Искал как задать/настроить define в ModelSim-Altera/Quartus по словам "quartus altera modelsim variable settings define ifdef" и их комбинациям - не нашел решения. Сделал, как вы советовали - работает. Спасибо, буду делать так. Хотя данные выражения звучат как заклинание. Еще про заклинания... New Verilog-2001 Techniques for Creating Parmeterized Models (or Down With `define and Death of a defparam!) брать здесь:http://www.sunburst-design.com/papers/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 2 7 июля, 2018 Опубликовано 7 июля, 2018 · Жалоба Большое спасибо. Могли бы вы рассказать, где и как делается настройка переменных ModelSim-Altera в Quartus? В симуляторах от Mentor (ModelSim/QuestaSim) есть предопределенный define "MODEL_TECH". Все придумано за нас) Т.о. код, предназначенный только для симуляции выглдит примерно так: `ifndef MODEL_TECH ... pll_eth eth_clk__ ( ); ... `else ... initial #20 forever #20 eth_clk__25 = ~eth_clk__25 ; // 0* .... `endif В этом примере: если не симуляция - описываем PLL; Если симуляция - делаем симуляционные частоты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 8 июля, 2018 Опубликовано 8 июля, 2018 · Жалоба В симуляторах от Mentor (ModelSim/QuestaSim) есть предопределенный define "MODEL_TECH". Все придумано за нас) О, это весьма приятно. Но я так понимаю, универсального дефайна симуляторщики не придумали, чтобы для всех подходило? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Да, у каждого свои макросы. Поэтому вариант с //synopsys translate_off `define SIMULATOR //synopsys translate_on выглядит привлекательнее, этот вариант завязан на синтез, и, насколько знаю, все современные FPGA (и скорее всего не только FPGA) синтезаторы его понимают. Макросы симуляторов рулят, когда надо более тонко учесть особенности конкретного симулятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hdl_student 0 16 декабря, 2018 Опубликовано 16 декабря, 2018 · Жалоба On 7/7/2018 at 1:17 PM, misyachniy said: wire test_lock = module1.module2.lock; Если речь именно про доступ к внутренним wire/reg модулей дизайна из тестбенча, то, как заметил misyachniy, нет ничего лучше обращения к ним прямо из тестбенча вглубь иерархии, как указано выше. Таким образом к сигналам можно обращаться из блоков always, initial, тасков и системных функций в тестбенче. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 18 декабря, 2018 Опубликовано 18 декабря, 2018 · Жалоба On 12/16/2018 at 4:38 PM, hdl_student said: Если речь именно про доступ к внутренним wire/reg модулей дизайна из тестбенча, то, как заметил misyachniy, нет ничего лучше обращения к ним прямо из тестбенча вглубь иерархии, как указано выше. Таким образом к сигналам можно обращаться из блоков always, initial, тасков и системных функций в тестбенче. Спасибо за ценное замечание Вам и misyachniy! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться