Вызов команд ModelSim из SystemVerilog

Есть ли способ вызвать команду ModelSim (например, force -freeze) из SystemVerilog?


person Andy    schedule 12.08.2014    source источник
comment
Не могли бы вы расширить свой пример, пытаетесь ли вы сделать что-то вроде: initial begin #2m force -freeze end   -  person Morgan    schedule 12.08.2014
comment
да, я ожидал чего-то вроде: initial begin # 2m $ simulator (force -freeze / tb / i_dut / some_signal 0 0); конец   -  person Andy    schedule 12.08.2014


Ответы (2)


Вы можете импортировать пакет mti_fli, который позволяет вызывать команды modelsim с помощью SystemVerilog DPI. См. Раздел «Упрощенный импорт библиотечных функций» в Руководстве пользователя.

Однако для больших проектов я настоятельно рекомендую напрямую использовать оператор силы Verilog по соображениям производительности. Каждый раз, когда вам нужно искать сигнал по имени строки во время выполнения, предотвращает многие оптимизации, чтобы сохранить эти имена доступными.

person dave_59    schedule 12.08.2014
comment
Работает ли команда force verilog, когда DUT написано на VHDL? Я уже пробовал, и это не удалось, но, возможно, я просто что-то сделал не так. - person Andy; 12.08.2014
comment
Нет, это первое, что вы упомянули об использовании VHDL. Использование $ signal_force или mti_Command () будет работать с VHDL. - person dave_59; 13.08.2014

Если вы просто хотите форсировать сигнал, вы можете использовать системную задачу $ signal_force. Взгляните на его входные параметры в руководстве ModelSim.

person Tudor Timi    schedule 12.08.2014