Перейти к содержанию
    

Дурацкая проблема при моделировании в Quartus-е

С Quartus-ом я работаю очень мало, и вот в первый раз возникла необходимость отмоделировать в нем проект. Я создаю файл *.vwf, рисую в нем входные воздействия, добавляю в него некоторые внутренние сигналы (которые мне надо увидеть) и запускаю симуляцию (как в режиме Functional, так и в режиме Timing). При этом в report-е (файл *.sim) я вижу состояния только выходов (output pins). Но никак и нигде (ни во входном файле *.vwf, ни в report-файле *.sim) я не могу увидеть состояния произвольных внутренних сигналов схемы, которые мне надо отследить. Как мне из этого выкрутиться???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вывести внутренние сигналы в качестве дополнительных выходов, что на уровне моделирования вполне допустимо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый простой способ, при условии что есть свободные пины, подай эти сигналы на выходы, просимулируй, посмотри, а когда в конце проектирования они уже не будут нужны, убирай их обратно.

 

..............................

Опередили на минуту, а я то решил блеснуть умом ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При выводе внутренних сигналов на пины кристалла может изменится временная диаграмма

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый простой способ, при условии что есть свободные пины, подай эти сигналы на выходы, просимулируй, посмотри, а когда в конце проектирования они уже не будут нужны, убирай их обратно.

 

..............................

Опередили на минуту, а я то решил блеснуть умом ;)

 

 

 

Увы, свободных пинов очень мало и на все не хватает. Но неужели же нет способа смотреть ПРОИЗВОЛЬНОЕ число ПРОИЗВОЛЬНЫХ внутренних сигналов??? Например, мне хочется видеть состояние внутренней 32-разрядной шины адреса и 32-ой шины данных. А как??? :( :)

 

To Esquire: честно говоря, не понял Вашу мысль (увы мне, увы!) :) Что, можно каким-либо образом внутренним сигналам присвоить какой-то атрибут "виртуальный пин для моделирования"??? А как?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я понял, Esquire имел ввиду то же, что и я

А прямо по вашему вопросу, у меня недостатка с пинами пока не было, хватало и на интересующие внутренние сигналы, так что ответ пока самому не известен. Надо порыться по Квартусу, че-нить узнаю, напишу. :)

 

Люди, подключайтесь!...

Есть же вроде в квартусе виртуальные пины, правда я их еще не юзал.

Для чего они нужны и как их использовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

попробуйте найти свой сигнал сначала в tech. map viewer, и посмотрите как он там называется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел в хелпе по Virtual Pins:

A virtual pin is an I/O element that is temporarily mapped to a logic element and not to a pin during compilation, and is then implemented as a register. Virtual pins should be used only for I/O elements in lower-level design entities that become nodes when imported to the top-level design. You can create virtual pins by assigning the Virtual Pin logic option to an I/O element.

 

Но у меня в Assigment Editor-е нет Virtual Pin :excl:

Ниче не понимаю :wacko:

Или это из-за того, что у меня ВебЭдишн?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

попробуйте найти свой сигнал сначала в tech. map viewer, и посмотрите как он там называется.

 

 

Все правильно, таким образом мне (обычно) удавалось заставить симулятор показать сигнал не выведенный на пины. Проблема в том что название меняется для внутренних сигналов. Более того - сигнал может присутствовать для behavioral и отсуствовать для timing simulation.

 

Координальное решение вопроса для меня - использовать ModelSim. На верилоге через точку можно добраться до любого внутреннего сигнала. Причем по ходу дела - не обязательно его добавлять с входной волне.

Впрочем я обычно пишу testbench на верилоге безо всякой графики... Вопрос привычки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все правильно, таким образом мне (обычно) удавалось заставить симулятор показать сигнал не выведенный на пины. Проблема в том что название меняется для внутренних сигналов. Более того - сигнал может присутствовать для behavioral и отсуствовать для timing simulation.

 

Блин, а как поставить в соответствие имя цепи в схеме и имя цепи в tech_map_viewer???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда вы описываете (изображаете) свои мысли, с целью объяснить как выполнить заданную функцию в FPGA, используются имена промежуточных (внутренних) сигналов. Поняв вашу мысль, синтезатор стремиться выполнить ее оптимально, т.е. быстро и с минимальными затратами ресурсов, поэтому реализация может отличаться от описанной вами, следовательно указанных внутренних сигналов может не быть вовсе, так что и увидеть в симуляторе их нельзя.

Откройте node finder (Alt+1), укажите post compilation и получите список сигналов реально имеющий место. Как правило без изменений остаются сигналы регистровые. Если интересно, что происходит между регистрами на комбинационной логике, выделите выходной регистровый сигнал, входящий в эту комбинационную логику, по правой кнопке отыщите его в timing closure floorplane, вкл. кнопку вывод уравнений и post compilation view, правое окно от уравнения показывает куда пошёл сигнал дальше, а левое – откуда пришёл. Путешествуя по этим окнам видно, как произошел синтез. Все сигналы из окна уравнений доступны для отображения в симуляторе.

Вывод внутренних сигналов на пины девайса, как вам советовали, тоже в некоторой степени метод, но в конечном проекте такого сигнала, повторюсь, может не быть вовсе, а при указании, что он выходной – конечно будет, второй момент, вытекающий отсюда, это отличающийся тайминг.

P. S. Если у меня, что-то не получается с первого раза, то как правило не потому, что Quartus «дурацкий», далее вы поняли... Работая с разными САПР могу сказать, что Quartus – софт очень высокого уровня.

Успехов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да все просто. Поскольку ты говоришь редко запускал Quartus - напишу подробно.

Для начала подключи в проекте 2 файла, как гоавные: *.vwf и *.tdf (*.bdf).

Если тебе нужно ввести(вывести) сигнал - делаешь в главном *.tdf (*.bdf) пин.

Все пины в главном *.tdf (*.bdf) можно увидеть в *.vwf.

Если вступает ограничение со стороны корпуса (закончились блин пины), то на выполняй на этапе компиляции fiting. Достаточно сделать Start analisiы and Sintesing, а потом Start Timing analizer (извиняюсь если написал несколько криво).

А потом приступаешь к симуляции. Конечно так не учитывается реальная разводка, но тем не менее при отладке отдельных модулей вполне достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ух ты скока нового и полезного для себя узнал!

Но может мне все-таки кто-нибудь объяснит, зачем в Квартусе виртуальные пины и как их юзать?

Заранее благодарен! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

M_A

"Но может мне все-таки кто-нибудь объяснит, зачем в Квартусе виртуальные пины ...?"

 

Виртуальные пины – инструмент модульного проектирования.

Если спроектирован модуль предназначенный для подключения в верхний проект и этот модуль имеет число портов I/O более доступных пинов в девайсе на помощь приходят виртуальные пины. В противном случае модуль нельзя полностью откомпилировать и выполнить timing analyze.

Еще один сенс использовать виртуальные пины – фиксировать местоположение порта модуля в LogicLock технологии

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/22/2005 at 11:39 AM, Andy-P said:

Виртуальные пины – инструмент модульного проектирования.

Ну а если требуется вставочку проверочную тестовый ящик для SignalTab сделать? Спагетти тянуть наружу из 16 линий...

Сборщик умный и выбросит тестовый ящик, если выходы его не соединены с конкретной шиной...    Как прибить гвоздями шину и чтобы она была видна в STab?

...такое должно быть предусмотрено    через виртуальные пины!

Подскажите Корифеи?:cray:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...