Tue 0 17 мая, 2011 Опубликовано 17 мая, 2011 · Жалоба Подскажите, как в ModelSim вытащить в окно сигналов 'wave' сигнал текущего состояния конечного автомата, чтобы он отображался именно как enumerated data type ? Например есть Top_level, в нем помимо разных блоков есть блок конечного автомата, например state_machine. В этом конечном автомате есть переменная current_state, которая может принимать такие значения как: "Idle", "Start", "Stop" и т.д. Когда я компилирую Top_level в ModelSim, то в окно выводятся только входные/выходные сигналы блока Top_level. А как мне вывести сигнал текущего состояния конечного автомата current_state, который находится по иерархии /Top_level/state_machine/current_state ? Если это уже где-то обсуждалось - буду очень признателен за ссылку, не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrewS6 0 17 мая, 2011 Опубликовано 17 мая, 2011 · Жалоба Было уже http://electronix.ru/forum/index.php?showtopic=79664 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tue 0 17 мая, 2011 Опубликовано 17 мая, 2011 · Жалоба Простите, но по Вашей ссылке не нашел ответа на свой вопрос. У меня проблема в том, что автомат ниже по иерархии, а в Wave можно выводить только сигналы Top_level'a P.S. язык - VHDL Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrewS6 0 17 мая, 2011 Опубликовано 17 мая, 2011 (изменено) · Жалоба Wave можно выводить только сигналы Top_level'a Не только. Модельсим поймет что-то типа "add wave test_design_tb/DUT/top_module_a/module_a/counter", где "counter" - внутренний сигнал модуля module_a, входящего в модуль top_module_a и так далее до вершины иерархии. Изменено 17 мая, 2011 пользователем AndrewS6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tue 0 17 мая, 2011 Опубликовано 17 мая, 2011 · Жалоба А мне на мой "add wave test_design_tb/DUT/top_module_a/module_a/counter" пишет ошибку: (vish-4014) No objects found matching 'add wave test_design_tb/DUT/top_module_a/module_a/counter' , где "counter" - мой внутренний сигнал модуля module_a, входящего в модуль top_module_a и так далее до вершины иерархии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 18 мая, 2011 Опубликовано 18 мая, 2011 · Жалоба А мне на мой "add wave test_design_tb/DUT/top_module_a/module_a/counter" пишет ошибку: (vish-4014) No objects found matching 'add wave test_design_tb/DUT/top_module_a/module_a/counter' , где "counter" - мой внутренний сигнал модуля module_a, входящего в модуль top_module_a и так далее до вершины иерархии. Уберите оптимизацию и Моделсим нарисует Вам все сигналы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrewS6 0 18 мая, 2011 Опубликовано 18 мая, 2011 (изменено) · Жалоба А мне на мой "add wave test_design_tb/DUT/top_module_a/module_a/counter" пишет ошибку: (vish-4014) No objects found matching 'add wave test_design_tb/DUT/top_module_a/module_a/counter' , где "counter" - мой внутренний сигнал модуля module_a, входящего в модуль top_module_a и так далее до вершины иерархии. Гм, путь и сигналы, естественно, должны соответствовать реальной схеме. В вашем случае порядок действий примерно такой: vlog -novopt Top_level.v vsim -novopt Top_level add wave Top_level/state_machine/current_state PS: модуль конечного автомата должен быть заранее откомпелирован. Изменено 18 мая, 2011 пользователем AndrewS6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 18 мая, 2011 Опубликовано 18 мая, 2011 · Жалоба А мне на мой "add wave test_design_tb/DUT/top_module_a/module_a/counter" пишет ошибку Чтобы увидеть, какие сигналы вы можете посмотреть, откройте закладку sim, в ней найдите экземпляр DUT, нажмите +, перейдите на то, что нужно... потом по правой кнопке выберите Add>To Wave>All items in region. В RTL симуляции я вижу все, что создал. А вот в Gate Level, там, увы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tue 0 19 мая, 2011 Опубликовано 19 мая, 2011 · Жалоба Большое спасибо всем откликнувшимся, не было возможности отвечать в ветку. Все, что описано выше делал - не помогает. В прикрепленном zip-архиве 3 файла: 1. MAC_PCIe_Modelsim_Stub.vhd - файл верхнего уровня (Top Level) 2. tx_st_chart.vhd - конечный автомат 3. MAC_PCIe_Modelsim_Stub_pkg.vhd В файле tx_st_chart.vhd есть сигнал is_Tx_state_next, который принимает значения состояний автомата. Его я и хочу вывести в Wave. Получается, что находится он /mac_pcie_modelsim_stub/tx_st_chart/is_tx_state_next последовательность команд для ModelSim выглядит следующим образом: vlib work vmap work work vcom -novopt MAC_PCIe_Modelsim_Stub_pkg.vhd vcom -novopt tx_st_chart.vhd vcom -novopt MAC_PCIe_Modelsim_Stub.vhd vsim -novopt -t ns work.MAC_PCIe_Modelsim_Stub add wave /mac_pcie_modelsim_stub/tx_st_chart/s_tx_state_next до 'add wave /mac_pcie_modelsim_stub/tx_st_chart/is_tx_state_next' все идет хорошо. на 'add wave /mac_pcie_modelsim_stub/tx_st_chart/is_tx_state_next' выдает ошибку: # (vish-4014) No objects found matching '/mac_pcie_modelsim_stub/tx_st_chart/is_tx_state_next' Почему-то мой ModelSim SE PLUS 6.4c не видит этот сигнал. Пробовал и в ModelSim 6.5 - тот же эффект. Files.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrewS6 0 19 мая, 2011 Опубликовано 19 мая, 2011 (изменено) · Жалоба add wave /mac_pcie_modelsim_stub/u_tx_st_chart/is_tx_state_next Viko вам хорошо посоветовал - если сомневаетесь в иерархии проекта - смотрите во вкладке sim. Изменено 19 мая, 2011 пользователем AndrewS6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tue 0 20 мая, 2011 Опубликовано 20 мая, 2011 · Жалоба AndrewS6, спасибо. Ваша команда add wave /mac_pcie_modelsim_stub/u_tx_st_chart/is_tx_state_next помогла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 27 мая, 2011 Опубликовано 27 мая, 2011 · Жалоба Чтобы увидеть, какие сигналы вы можете посмотреть, откройте закладку sim, в ней найдите... Подкорректирую себя - Открыть sim, выбрать нужный экземпляр (Instanse), перейти в закладку Objects и там уже выбрать нужные сигналы, которые добавить к Wave. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Джеймс 4 27 мая, 2011 Опубликовано 27 мая, 2011 · Жалоба У меня проблема в том, что автомат ниже по иерархии, а в Wave можно выводить только сигналы Top_level запускайте ModelSim c ключем log -r /* # vsim -L lib1 -do {log -r /*} -l transcript.txt и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться