Выполнять команды 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 команда для создания новых условий)

Другие вопросы по тегам