Koluchiy 0 26 августа, 2010 Опубликовано 26 августа, 2010 · Жалоба До кучи. Можно ли как-нибудь сделать так, чтобы при добавления сигнала из Objects ему автоматом в Wave присваивалось имя = его имени в модуле, а не имя = модуль1\модуль2\модуль3\...модуль10\имя в модуле ? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrewS6 0 26 августа, 2010 Опубликовано 26 августа, 2010 (изменено) · Жалоба До кучи. Можно ли как-нибудь сделать так, чтобы при добавления сигнала из Objects ему автоматом в Wave присваивалось имя = его имени в модуле, а не имя = модуль1\модуль2\модуль3\...модуль10\имя в модуле ? :) В окне Wave Tools -> Window Preferences, там в графе Display Signal Path пишите 1. Тогда при добавлении сигнала Top/module_a/submodule_b/signal в окне Wave он будет отображаться просто как signal ЗЫ в тех же Window Preferences можно тыкнуть галку "On Close Warn for Save Format" - это решит первый ваш вопрос. Изменено 26 августа, 2010 пользователем AndrewS6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 26 августа, 2010 Опубликовано 26 августа, 2010 · Жалоба До кучи. Можно ли как-нибудь сделать так, чтобы при добавления сигнала из Objects ему автоматом в Wave присваивалось имя = его имени в модуле, а не имя = модуль1\модуль2\модуль3\...модуль10\имя в модуле ? :) Оно? WaveSignalNameWidth This variable controls the number of visible hierarchical regions of a signal name shown in the Wave Window. Value Range: 0 (display full name), positive integer (display corresponding level of hierarchy)Default: 0Слева внизу есть кнопочка "Toggle short names <-> full names". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 26 августа, 2010 Опубликовано 26 августа, 2010 · Жалоба О! Спасибо! :cheers: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tahoe 0 31 января, 2014 Опубликовано 31 января, 2014 · Жалоба Modelsim SE 10.2c Кому-нибудь удалось заставить корректно работать WaveRestoreZoom? Что бы не повторяться, вот суть проблемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
o_khavin 0 31 января, 2014 Опубликовано 31 января, 2014 · Жалоба Modelsim SE 10.2c Кому-нибудь удалось заставить корректно работать WaveRestoreZoom? Что бы не повторяться, вот суть проблемы. Автопромотка отключается в tools -> edit preferences -> by name -> wave -> ScrollOnRunComplete=0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tahoe 0 31 января, 2014 Опубликовано 31 января, 2014 · Жалоба Автопромотка отключается в tools -> edit preferences -> by name -> wave -> ScrollOnRunComplete=0 Помогло. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dworfik 0 31 января, 2014 Опубликовано 31 января, 2014 · Жалоба а не имя = модуль1\модуль2\модуль3\... Щёлкаем в окошко и нажимаем кнопочку END B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gibson1980 0 19 февраля, 2014 Опубликовано 19 февраля, 2014 · Жалоба Тоже созрел вопрос по Questa/Model Sim. При запуске симуляции в начало окна Wave всегда добавляются входные-выходные порты которые присутствуют на схеме (правда в данном случае шина test(7:0) почему то не добавляется, тоже вопрос). При сохранении в .do всегда приходится эти сигналы удалять. В этом примере то не критично, но в больших проектах этих сигналов десятки и сильно напрягает их выделять и удалять при каждом запуске. Можно ли сделать что бы в Wave сигналы добавлялись только из .do файла? И за одно еще вопрос, можно ли сделать что бы окно Wave запускалось на весь экран, а то при каждом запуске оно открывается в рандомном размере и расположении :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 20 февраля, 2014 Опубликовано 20 февраля, 2014 · Жалоба При запуске симуляции в начало окна Wave всегда добавляются входные-выходные порты ... При сохранении в .do всегда приходится эти сигналы удалять.... Можно ли сделать что бы в Wave сигналы добавлялись только из .do файла? Так а что мешает в самом файле *.do прописать add wave нужный порт 1 add wave нужный порт 2 ... add wave нужный порт N ? Насколько понимаю, в этом нет никакой крамолы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gibson1980 0 20 февраля, 2014 Опубликовано 20 февраля, 2014 (изменено) · Жалоба В содержании do файла даже как то и не разбирался, все на кнопочном уровне :) В общем так, запустил симуляцию, накидал сигналов каких надо, настроил их и сохранил в "wave.do" файл, в файле "*.udo" прописал do wave.do run -all что бы при следующих запусках симуляции сигналы прогружались из do файла и стартовал просчет, но проблема в том что помимо моих сохраненных сигналов в начало всегда добавляются порты и при каждом сохранении они накапливаются если их не удалять, соответственно если в схеме портов под 100 при пяти сохранениях их там уже 500, а каждый раз удалять эти сигналы напряжно... Смотрите внимательно скрин, в этом примере просто запустил 3 раза симуляцию и соответственно первые 2 раза просто сохранил ничего не меняя. Сигналы выделенные красным ниже повторяются. Даже если не использовать do файл, то при запуске в wave автоматически добавляются все порты, вот я и спрашивал как и где это можно отключить. п.с. Еще нашел вот такую настройку, которая казалось бы и отвечает за "Автоматическое добавление сигналов в окно wave", но нет, никакого ее влияния я не заметил :) Изменено 21 февраля, 2014 пользователем gibson1980 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
McSava 0 28 марта, 2014 Опубликовано 28 марта, 2014 · Жалоба У меня тоже вопрос по прорисовке Wave. Есть тестбенч для PCI шины (Altera), в котором циклически опрашиваются регистры памяти внутри ПЛИС. Сначала сконфигурировали PCI шины, а потом читаем и пишем. Я добавил строку которая проверяет текущее время симуляции и если не превышен интервал симуляции запускать новый цикл. if ($time > 2250000) $stop; Внутри тестбенча можно проверить значение переменных и по ним запускать разное количество циклов чтения памяти. Поэтому мне нужно, чтобы цикл закончился полностью, а не отключился где-либо в середине. Но есть одно неудобство, нужно долго ждать пока просчитаются все 2М+ отсчетов или ""играть" прокруткой масштабированием, чтобы обновлялся экран. Вопрос: как в verilog тестбенч добавить команду после каждого цикла опроса прорисовать дальше сигналы? Команду $update Modelsim не понимает. if ($time > 2250000) $stop; else $update; Написать всё сразу и в конце проверить моделированием у меня не получается, приходится "наращивать" и переделывать простой автомат работы с устройством по чуть-чуть. И каждый раз моделировать не сломал ли чего лишнего. Работающий аналог $update внутри verilog файла мне бы здорово помог. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 28 марта, 2014 Опубликовано 28 марта, 2014 · Жалоба Внутри тестбенча можно проверить значение переменных и по ним запускать разное количество циклов чтения памяти. Поэтому мне нужно, чтобы цикл закончился полностью, а не отключился где-либо в середине. На самом деле у Вас не совсем правильный подход... Есть "таски". Напишите обмен по шине в виде "тасков". И тогда гарантированно тестбенч не закончится "посередине"... И далее. Для чего Вам нужен тестбенч? Если для проверки приема-передачи данных, то данные читайте из файла и записывайте в файл. Или выводите хотя бы в монитор. Тогда смотреть "зубчики" на диаграмме будет не нужно... Примеры есть у меня в "Кратком Курсе"... Причем в файле паттерна можно указывать и сколько надо делать циклов и какие данные передавать. А самое интересное, что при изменении этих данных не надо производить компиляцию. А только Сборс-Пуск и все... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 2 сентября, 2014 Опубликовано 2 сентября, 2014 · Жалоба в этом примере просто запустил 3 раза симуляцию и соответственно первые 2 раза просто сохранил ничего не меняя. Сигналы выделенные красным ниже повторяются. Даже если не использовать do файл, то при запуске в wave автоматически добавляются все порты, вот я и спрашивал как и где это можно отключить. Перед запуском очередной симуляции Вам надо завершать текущую. В своих do файлах я это делаю так: quit -sim vlog -incr -reportprogress 300 -work work_lib work_lib/file.v vsim -voptargs=+acc work_lib.test_main -wlfdeleteonquit add wave -divider "test_main" add wave sim:/test_main/* add wave -divider "main_inst" add wave sim:/test_main/main_inst/* run 1us view wave -title "monitor" -undock -x 1920 -y 0 -width 1280 -height 900 wave zoom full #wave zoom range 54.68ns 54.695ns где quit -sim ----------- завершение предыдущего моделирования и закрытие wave - окна vlog -incr -reportprogress 300 -work work_lib work_lib/file.v ----------- инкрементальная компиляция файла file.v в подкаталоге (относительно расположения do - файла) work_lib в библиотеку work_lib vsim -voptargs=+acc work_lib.test_main -wlfdeleteonquit ----------- запуск моделирования модуля верхнего уровня test_main из библиотеки work_lib дальше, вроде, понятно, И за одно еще вопрос, можно ли сделать что бы окно Wave запускалось на весь экран, а то при каждом запуске оно открывается в рандомном размере и расположении sm.gif view wave -title "monitor" -undock -x 1920 -y 0 -width 1280 -height 900 - а это, как раз, то, что вы спрашивали про размер и расположение окна. B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться