реклама на сайте
подробности

 
 
> симулятор в quartus2, как вывести сигнал
shf_05
сообщение Feb 19 2010, 11:10
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



есть некоторая схема, перенесенная из MAX2.
мне необходимо посимулировать ее работу на epm240, проект компилируется.
я создал vwf файл, подал на входы необходимые сигналы.
вижу, что происходит на портах output, а вот поглядеть результат на "промежуточных" шинах не знаю как.
вывести с этих шин сигнал через output порт не получается- все ножки ПЛИС заняты и fitter не дает поставить еще один порт на 16бит.
пробовал с virtual pin, но пока не разобрался.

подскажите как поглядеть на сигналы в симуляторе (simulation waveform), у которых нет выхода(входа).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Intekus
сообщение Feb 19 2010, 18:23
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621



Ох навозился в своё время с этим... Перенимайте опыт smile.gif (пока не перешли на нормальные симуляторы)
Способ "в лоб" - найти нужный сигнал в отсинтезированном проекте и добавить в waveforms. Искать либо просто по иерархии (точно не помню уже - где-то там есть раскрывающееся дерево) , либо через RTL Viewer / TechMap Viewer. Начиная с какой-то свежей версии они поддержвали добавление в waveforms по контекстному меню и даже просто drag-n-drop в окно.
Теперь, самое интересное: часто "результат на "промежуточных" шинах" просмотреть таким образом не удаётся, потому что они оказываются искажены / выброшены в ходе оптимизаций. В этом случае обычно использовался специальный модуль, состоящий из регистра параметризованной разрядности, со входами (тактовый и шина данных), без выхода, и записанным с директивой (* noprune *) (не выбрасывать при синтезе даже при нулевом fan-out); после чего в waveform цепляется содержимое этого регистра.
  • Да, значение при этом отстаёт на такт (либо на пол-такта, если работать по спаду)
  • Да, это изменяет схему (может сбить времянку)
но, похоже, это единственный способ посмотреть промежуточные сигналы, обойдя оптимизации.
Код
//-?---- Модуль-щуп - просмотр значений сигналов без протяжки через иерархию -
module d_watch7 #(parameter W = 0) (//Debug Watch for Quartus II 7.0 and later.
//Наблюдение значения входа, задержанного на пол-такта.
  input [W-1:0]               d,      //Целевой информационный вход.
  input                         clk);
  (* noprune *) reg [W-1:0]   r;
  always @(negedge clk)
    r <= d;
endmodule


--------------------
...а Сила, Брат - она - в несиловых решениях.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016