PorychikKize 4 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба С Quartus-ом я работаю очень мало, и вот в первый раз возникла необходимость отмоделировать в нем проект. Я создаю файл *.vwf, рисую в нем входные воздействия, добавляю в него некоторые внутренние сигналы (которые мне надо увидеть) и запускаю симуляцию (как в режиме Functional, так и в режиме Timing). При этом в report-е (файл *.sim) я вижу состояния только выходов (output pins). Но никак и нигде (ни во входном файле *.vwf, ни в report-файле *.sim) я не могу увидеть состояния произвольных внутренних сигналов схемы, которые мне надо отследить. Как мне из этого выкрутиться??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Esquire 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Вывести внутренние сигналы в качестве дополнительных выходов, что на уровне моделирования вполне допустимо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_A 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Самый простой способ, при условии что есть свободные пины, подай эти сигналы на выходы, просимулируй, посмотри, а когда в конце проектирования они уже не будут нужны, убирай их обратно. .............................. Опередили на минуту, а я то решил блеснуть умом ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
s_yakov 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба При выводе внутренних сигналов на пины кристалла может изменится временная диаграмма Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PorychikKize 4 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Самый простой способ, при условии что есть свободные пины, подай эти сигналы на выходы, просимулируй, посмотри, а когда в конце проектирования они уже не будут нужны, убирай их обратно. .............................. Опередили на минуту, а я то решил блеснуть умом ;) <{POST_SNAPBACK}> Увы, свободных пинов очень мало и на все не хватает. Но неужели же нет способа смотреть ПРОИЗВОЛЬНОЕ число ПРОИЗВОЛЬНЫХ внутренних сигналов??? Например, мне хочется видеть состояние внутренней 32-разрядной шины адреса и 32-ой шины данных. А как??? :( :) To Esquire: честно говоря, не понял Вашу мысль (увы мне, увы!) :) Что, можно каким-либо образом внутренним сигналам присвоить какой-то атрибут "виртуальный пин для моделирования"??? А как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_A 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Насколько я понял, Esquire имел ввиду то же, что и я А прямо по вашему вопросу, у меня недостатка с пинами пока не было, хватало и на интересующие внутренние сигналы, так что ответ пока самому не известен. Надо порыться по Квартусу, че-нить узнаю, напишу. :) Люди, подключайтесь!... Есть же вроде в квартусе виртуальные пины, правда я их еще не юзал. Для чего они нужны и как их использовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба попробуйте найти свой сигнал сначала в tech. map viewer, и посмотрите как он там называется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_A 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Нашел в хелпе по 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: Ниче не понимаю Или это из-за того, что у меня ВебЭдишн? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexf 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба попробуйте найти свой сигнал сначала в tech. map viewer, и посмотрите как он там называется. <{POST_SNAPBACK}> Все правильно, таким образом мне (обычно) удавалось заставить симулятор показать сигнал не выведенный на пины. Проблема в том что название меняется для внутренних сигналов. Более того - сигнал может присутствовать для behavioral и отсуствовать для timing simulation. Координальное решение вопроса для меня - использовать ModelSim. На верилоге через точку можно добраться до любого внутреннего сигнала. Причем по ходу дела - не обязательно его добавлять с входной волне. Впрочем я обычно пишу testbench на верилоге безо всякой графики... Вопрос привычки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PorychikKize 4 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Все правильно, таким образом мне (обычно) удавалось заставить симулятор показать сигнал не выведенный на пины. Проблема в том что название меняется для внутренних сигналов. Более того - сигнал может присутствовать для behavioral и отсуствовать для timing simulation. Блин, а как поставить в соответствие имя цепи в схеме и имя цепи в tech_map_viewer??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andy-P 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Когда вы описываете (изображаете) свои мысли, с целью объяснить как выполнить заданную функцию в FPGA, используются имена промежуточных (внутренних) сигналов. Поняв вашу мысль, синтезатор стремиться выполнить ее оптимально, т.е. быстро и с минимальными затратами ресурсов, поэтому реализация может отличаться от описанной вами, следовательно указанных внутренних сигналов может не быть вовсе, так что и увидеть в симуляторе их нельзя. Откройте node finder (Alt+1), укажите post compilation и получите список сигналов реально имеющий место. Как правило без изменений остаются сигналы регистровые. Если интересно, что происходит между регистрами на комбинационной логике, выделите выходной регистровый сигнал, входящий в эту комбинационную логику, по правой кнопке отыщите его в timing closure floorplane, вкл. кнопку вывод уравнений и post compilation view, правое окно от уравнения показывает куда пошёл сигнал дальше, а левое – откуда пришёл. Путешествуя по этим окнам видно, как произошел синтез. Все сигналы из окна уравнений доступны для отображения в симуляторе. Вывод внутренних сигналов на пины девайса, как вам советовали, тоже в некоторой степени метод, но в конечном проекте такого сигнала, повторюсь, может не быть вовсе, а при указании, что он выходной – конечно будет, второй момент, вытекающий отсюда, это отличающийся тайминг. P. S. Если у меня, что-то не получается с первого раза, то как правило не потому, что Quartus «дурацкий», далее вы поняли... Работая с разными САПР могу сказать, что Quartus – софт очень высокого уровня. Успехов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozg 0 21 января, 2005 Опубликовано 21 января, 2005 · Жалоба Да все просто. Поскольку ты говоришь редко запускал Quartus - напишу подробно. Для начала подключи в проекте 2 файла, как гоавные: *.vwf и *.tdf (*.bdf). Если тебе нужно ввести(вывести) сигнал - делаешь в главном *.tdf (*.bdf) пин. Все пины в главном *.tdf (*.bdf) можно увидеть в *.vwf. Если вступает ограничение со стороны корпуса (закончились блин пины), то на выполняй на этапе компиляции fiting. Достаточно сделать Start analisiы and Sintesing, а потом Start Timing analizer (извиняюсь если написал несколько криво). А потом приступаешь к симуляции. Конечно так не учитывается реальная разводка, но тем не менее при отладке отдельных модулей вполне достаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_A 0 22 января, 2005 Опубликовано 22 января, 2005 · Жалоба Ух ты скока нового и полезного для себя узнал! Но может мне все-таки кто-нибудь объяснит, зачем в Квартусе виртуальные пины и как их юзать? Заранее благодарен! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andy-P 0 22 января, 2005 Опубликовано 22 января, 2005 · Жалоба M_A "Но может мне все-таки кто-нибудь объяснит, зачем в Квартусе виртуальные пины ...?" Виртуальные пины – инструмент модульного проектирования. Если спроектирован модуль предназначенный для подключения в верхний проект и этот модуль имеет число портов I/O более доступных пинов в девайсе на помощь приходят виртуальные пины. В противном случае модуль нельзя полностью откомпилировать и выполнить timing analyze. Еще один сенс использовать виртуальные пины – фиксировать местоположение порта модуля в LogicLock технологии Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 1 февраля, 2023 Опубликовано 1 февраля, 2023 · Жалоба On 1/22/2005 at 11:39 AM, Andy-P said: Виртуальные пины – инструмент модульного проектирования. Ну а если требуется вставочку проверочную тестовый ящик для SignalTab сделать? Спагетти тянуть наружу из 16 линий... Сборщик умный и выбросит тестовый ящик, если выходы его не соединены с конкретной шиной... Как прибить гвоздями шину и чтобы она была видна в STab? ...такое должно быть предусмотрено через виртуальные пины! Подскажите Корифеи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться