Выполнять команды tcl, как только сигнал имеет значение в ncsim
Как пользователь modelsim я привык писать что-то вроде следующих строк в моем do-файле.
when -label supersignal {supersignal == '1'} {
stop ;
puts "blah"
do_something
}
run -all
Это запускает симуляцию в modelsim и как только мой VHDL-сигнал supersignal
имеет значение '1' блок, начинающийся с stop;
будет выполнен.
Есть ли подобная команда tcl для (cadence) ncsim? Я ищу команду, которую могу использовать в своем файле при вызове ncsim -input dofile.do
, Когда я хочу не только остановить симуляцию, но и выполнить любую команду tcl.
1 ответ
Решение
В ncsim вы можете использовать
stop -create -object supersignal -silent -execute {
puts "blah"
do_something
}
Это не будет проверять, чтобы суперсигнал был равен "1", но сработает при любых изменениях суперсигнала. Так что, если вы хотите явно проверить значение, вы можете сначала создать условие (см. condition option
остановки или condition
команда для создания новых условий)