реклама на сайте
подробности

 
 
> Входы/выходы только для симуляции в verilog/system verilog, Возможно ли?
flammmable
сообщение Jul 3 2018, 08:19
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 4-06-18
Пользователь №: 104 848



Возможно ли в verilog обозначить часть входов/выходов модуля только для симуляции? Что бы можно было один и тот же проект (не внося изменений) запустить как на симуляцию так и на сборку прошивки.

Сообщение отредактировал flammmable - Jul 3 2018, 08:38
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alexadmin
сообщение Jul 3 2018, 09:06
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(flammmable @ Jul 3 2018, 11:19) *
Возможно ли в verilog обозначить часть входов/выходов модуля только для симуляции? Что бы можно было один и тот же проект (не внося изменений) запустить как на симуляцию так и на сборку прошивки.


Если речь про модуль верхнего уровня,то лучше использовать `ifdef - чтобы эти порты совсем не виделись средством синтеза.
Цитата
module aaa(
`ifdef SIM
input sim_signal,
`endif
...
);

`ifndef SIM
wire sim_signal = 1'b0,
`endif

переменную SIM определяете в настройках симулятора.
Go to the top of the page
 
+Quote Post
flammmable
сообщение Jul 4 2018, 06:09
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 4-06-18
Пользователь №: 104 848



Цитата(alexadmin @ Jul 3 2018, 12:06) *
переменную SIM определяете в настройках симулятора.

Большое спасибо. Могли бы вы рассказать, где и как делается настройка переменных ModelSim-Altera в Quartus?

Цитата(Dima_G @ Jul 4 2018, 07:27) *
Либо так
/* synopsys translate_off */
`define SIMULATOR
/* synopsys translate_on */

Искал как задать/настроить define в ModelSim-Altera/Quartus по словам "quartus altera modelsim variable settings define ifdef" и их комбинациям - не нашел решения.
Сделал, как вы советовали - работает. Спасибо, буду делать так. Хотя данные выражения звучат как заклинание.

Сообщение отредактировал flammmable - Jul 4 2018, 12:38
Go to the top of the page
 
+Quote Post
nice_vladi
сообщение Jul 7 2018, 12:19
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 7-09-16
Из: Томск
Пользователь №: 93 239



Цитата(flammmable @ Jul 4 2018, 06:09) *
Большое спасибо. Могли бы вы рассказать, где и как делается настройка переменных ModelSim-Altera в Quartus?


В симуляторах от Mentor (ModelSim/QuestaSim) есть предопределенный define "MODEL_TECH". Все придумано за нас)

Т.о. код, предназначенный только для симуляции выглдит примерно так:

CODE

`ifndef MODEL_TECH
...
pll_eth
eth_clk__
(
);
...
`else
...
initial #20 forever #20 eth_clk__25 = ~eth_clk__25 ; // 0*
....
`endif


В этом примере:

если не симуляция - описываем PLL;
Если симуляция - делаем симуляционные частоты.
Go to the top of the page
 
+Quote Post
AVR
сообщение Jul 8 2018, 19:23
Сообщение #5


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(nice_vladi @ Jul 7 2018, 15:19) *
В симуляторах от Mentor (ModelSim/QuestaSim) есть предопределенный define "MODEL_TECH". Все придумано за нас)

О, это весьма приятно. Но я так понимаю, универсального дефайна симуляторщики не придумали, чтобы для всех подходило?


--------------------
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 11:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016