CaPpuCcino 0 2 февраля, 2008 Опубликовано 2 февраля, 2008 · Жалоба Никто не в курсе, случаем, как в ModelSim можно вывести результат симуляции в текстовый или, хотя бы, бинарный вид? какой именно результат симуляции вас интересует? есть следующие на вскидку варианты 1)всё что выводит моделсим на дисплей паралельно выводится и в лог файл 2)средствами Tcl 3)средствами языка ХДЛ можно организовывать вывод в файлы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 6 февраля, 2008 Опубликовано 6 февраля, 2008 · Жалоба По предыдущему вопросу еще раз спасибо, все получилось. Следующий вопрос: У меня два монитора. На мониторе справа развернут UEStudio, из него я запускаю Modelsim. Существуют ли команды (do), позволяющие "отцепить" wave от GUI моделсима и развернуть его на правом мониторе? А то надоело это постоянно вручную делать. Плюс еще wave после "отцепления" вручную постоянно перепрыгивает на левый монитор :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 20 февраля, 2008 Опубликовано 20 февраля, 2008 · Жалоба Какой командой можно остановить симуляцию после run -all или run -continue ? Сделать это у меня получается только путем нажатия кнопки Simulate - break в GUI. Какая команда соответствует этой волшебной кнопке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 20 февраля, 2008 Опубликовано 20 февраля, 2008 · Жалоба stop (вообще обращайтесь всё-таки по этим вопросам к ModelSim Reference Manual, это будет экономить ваше время) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 20 февраля, 2008 Опубликовано 20 февраля, 2008 · Жалоба stop Команда stop не работает. Чтобы не быть голословным: Запускаю моделсим. Потом Tools - TCL - Execute macro... do такой: ------------------------------------------------------------------------------------------------------ cd D:/Libraries/HDL/VHDL/sintez_2007 vcom -work work D:/Libraries/HDL/VHDL/sintez_2007/testbench/test_sintez_basket.vhd vsim work.test_sintez_basket ------------------------------------------------------------------------------------------------------ Пишу run -all. Enter. Вижу, время в левом нижнем углу меняется, т.е симулятор работает. Пишу stop. Enter - не реагирует, время стремительно бежит вперед. Жму Simulate - break - время замирает, симулятор остановился. (вообще обращайтесь всё-таки по этим вопросам к ModelSim Reference Manual, это будет экономить ваше время) Я это сделал перед тем, как задать вопрос. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_d 0 21 февраля, 2008 Опубликовано 21 февраля, 2008 · Жалоба Напишите в одном из initial вашего test bench (после того как закончаться все процессы) команду $stop Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 21 февраля, 2008 Опубликовано 21 февраля, 2008 · Жалоба Напишите в одном из initial вашего test bench (после того как закончаться все процессы) команду $stop Спасибо, но 1. Я не знаю, что такое initial 2. У меня нет никакого test bench 3. Скорее всего, Вы мне объясняете, как в верилоговском файле установить breakpoint, но с верилогом я не знаком, а как установить breakpoint в vhdl, я в курсе. Вопрос, скорее, касается tcl. Проблема в том, что при запущенном симуляторе не воспринимается команда stop. Проблему решил: ---------------------------------------------------------------------------------------------------------- set StopEn 0 when {test_sintez_basket/CLOCK_OUT'event and test_sintez_basket/CLOCK_OUT = '1'} { if $StopEn { stop } } run -all ----------------------------------------------------------------------------------------------------------- В отличие от команды stop, команда set variable воспринимается запущенным симулятором. Теперь симуляция останавливается командой set StopEn 1, а запускается двумя: set StopEn 0 run -continue что меня вполне устраивает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Как задушить сообщения симулятора в нулевой момент времени? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Как задушить сообщения симулятора в нулевой момент времени? Телепаты в отпуске. Какие именно сообщения вам мешают? "Loading..." сразу после vsim? Советую посмотреть modelsim.ini. Там к каждой опции даётся краткое описание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Телепаты в отпуске. Не, они просто в "Общение" обитают :) Какие именно сообщения вам мешают? "Loading..." сразу после vsim? Ну Вы придумали тоже... :07: Примерно такие: # ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es). # Time: 0 ns Iteration: 0 Советую посмотреть modelsim.ini. Там к каждой опции даётся краткое описание. Уверен, что modelsim.ini здесь не при чем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Примерно такие: # ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es). # Time: 0 ns Iteration: 0 Уверен, что modelsim.ini здесь не при чем. Как это ни при чём? Моделсим управляется именно этим файлом. Цитата: ; Turn off warnings from the std_logic_arith, std_logic_unsigned ; and std_logic_signed packages. ; StdArithNoWarnings = 1 ; Turn off warnings from the IEEE numeric_std and numeric_bit packages. ; NumericStdNoWarnings = 1 Того же эффекта можно добиться, если к vsim добавить ключ -do "set NumericStdNoWarnings 1; set StdArithNoWarnings 1" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Блин, так и знал... Был у меня приступ ясновидения... Что начнется... И началось... Предлагаете их выключить? А мне не надо их выключать. Не хочу видеть их только, когда Time: 0 ns, а в остальные моменты времени пусть генерятся сколько угодно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
atlantic 0 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Блин, так и знал... Был у меня приступ ясновидения... Что начнется... И началось... Предлагаете их выключить? А мне не надо их выключать. Не хочу видеть их только, когда Time: 0 ns, а в остальные моменты времени пусть генерятся сколько угодно. Извините, а в чем прикол? Какая конечная цель в таком выключении? (может закрыть глаза во время Time: 0 :-) Просто если идут предупреждения, то обычно они не просто так, а наоборот, дают возможность нати лажу в коде =========== добавлено: можно выключить вывод определенных(по номеру) в modelsim.ini suppress=NUMBER где NUMBER - номер сообщения, которое надо подавить пример: suppress=3017,3722 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Просто если идут предупреждения, то обычно они не просто так, а наоборот, дают возможность нати лажу в коде Вот именно. Если Time > 0, проблем нет, лажа в коде находится почти мгновенно. А если Time = 0, никаких лаж мне никогда отыскать не удавалось. Если умеете, научите :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim 0 22 апреля, 2008 Опубликовано 22 апреля, 2008 · Жалоба Имеем сигнал - массив из 32 аналоговых сигналов (31 downto 0). Каждый сигнал из массива нужно по-отдельности добавить в wave. Как? Так не получается: add wave -color "gold" -analog -min -3.0 -max 12.0 -height 25\ {sim:/test_sintez_crate/comp_sintez_basket/gen_channels_module__1/comp_channels_module/dut_s(?)} Так тоже: add wave -color "gold" -analog -min -3.0 -max 12.0 -height 25\ {sim:/test_sintez_crate/comp_sintez_basket/gen_channels_module__1/comp_channels_module/dut_s(*)} И вообще никак :crying: Только тупым повторением 32 команд: ...dut_s(0)... ... ...dut_s(31)... Reference manual по поводу add wave и Wildcard Characters курил, не помогает. Помогите кто чем... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться