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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> помогите с, Signal Tap
skilful
сообщение Sep 15 2010, 05:29
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



Всем привет.

Сделал самый простой 11 битный счетчик в FPGA Advantage. Логика счетчика простая - если он достигает максимального значения (специально указал его равным "11111111111"), то инвертирую состояния выходного пина ПЛИСины.

Синтезирую в Presicion Syntesys. Файл синтеза подкидываю в Quartus 9.0 и делаю разводку.

Далее хочу посмотреть как работает мой счетчик в железке с помощью Signal Tap.
Выбираю тип сигналов Signal Tap: Post Fitting. Квартус немного переименовал название моего счетчика, но найти его можно.
На времянке, выдаваемой Signal Tap, младший 0-ой бит счетчика все время "молчит", старшие же разряды изменяются как надо.

Сначала думал синтезатор "оптимизирует", но в RTL нарисован нормальный счетчик.
Вывел счетчик на пины ПЛИСины и счетчик стал нормально работать (в Signal Tap указал "обстреливать" Pins: all).

Что я не так делаю?
В Signal Tap есть куча типов сигналов аля Post Fitting, Pre-Syntesis и прочее. Что выбирать, чтобы наверняка?
И можно ли избежать переименовывания сигналов квартусом?







Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Sep 15 2010, 06:34
Сообщение #2


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Цитата
Квартус немного переименовал название моего счетчика, но найти его можно.

Я думаю, именно в этом дело. Удалось найти не все триггеры счётчика, последний - не тот smile.gif
У меня такое неоднократно было, боролся выведением сигналов на виртуальные выводы.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
skilful
сообщение Sep 15 2010, 07:54
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



как ими пользоваться - этими виртуальными пинами? И что это такое - виртуальные пины?
Главное чтобы еще Синтезатор (в моем случае Presicion Syntesys) не оптимизировал отладочные сигналы

Опишите технологию, пожалуйста smile.gif

Сообщение отредактировал skilful - Sep 15 2010, 08:33
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 15 2010, 08:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



в Assignment Editore нужным пинам выставить опцию "Virtual Pin" в положение "On"
Go to the top of the page
 
+Quote Post
skilful
сообщение Sep 15 2010, 08:30
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



глюк

Сообщение отредактировал skilful - Sep 15 2010, 08:31
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Sep 15 2010, 09:40
Сообщение #6


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Выводим нужный сигнал на вывод.
Щёлкаем по нему правой кнопкой мыши.
Из выпавшего меню выбираем Locate и далее Locate in Assignement Editor. Откроется этот самый Assignement Editor.
Даём двойной щелчок левой кнопкой мыши по пустому полю в столбце Assignement Name рядом с именем вывода. Вылетит здоровенная простыня с именами разных параметров. В самом низу будет Virtual Pin. Выбрать его. А потом щёлкнуть по полю правее (Value) и выбрать On.
Эти виртуальные выводы проходят нетронутыми и непереименованными через весь синтез.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
dxp
сообщение Sep 15 2010, 11:58
Сообщение #7


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Нам помогала директива компилятора noprune.

(* noprune *) bit [7:0] counter;

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Sep 15 2010, 12:21
Сообщение #8


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



dxp, спасибо большое! Quartus Handbook, раздел Noprune Synthesis Attribute/Preserve Fan-out Free Register Node. Этого знания очень не хватало!


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
skilful
сообщение Sep 16 2010, 04:38
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



так, если я синтезирую в Presicion Syntesys и соответственно ему подсовываю vhdl файлы, то как бы сделать так чтобы синтезатор не оптимизировал?
Может быть в vhdl есть возможность объявлять сигнал как volatile ? smile.gif
Или же нужно просто нужные сигналы как порт сделать?

Сообщение отредактировал skilful - Sep 16 2010, 04:42
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Sep 16 2010, 07:05
Сообщение #10


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Найдите в Quartus Handbook раздел Noprune Synthesis Attribute/Preserve Fan-out Free Register Node. Там прописан синтаксис для VHDL и двух сортов Verilog. Я смотрел в хэндбуках для версий 9.1 и 10, в обоих есть.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
skilful
сообщение Sep 16 2010, 07:36
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



Спасибо, тезка smile.gif
Go to the top of the page
 
+Quote Post
bark
сообщение Sep 20 2010, 14:42
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



а для AHDL есть аналог такой дериктивы?


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
KoshV
сообщение Dec 29 2010, 10:29
Сообщение #13





Группа: Участник
Сообщений: 13
Регистрация: 17-01-06
Пользователь №: 13 301



Цитата
Выводим нужный сигнал на вывод.
Щёлкаем по нему правой кнопкой мыши.
Из выпавшего меню выбираем Locate и далее Locate in Assignement Editor. Откроется этот самый Assignement Editor.
Даём двойной щелчок левой кнопкой мыши по пустому полю в столбце Assignement Name рядом с именем вывода. Вылетит здоровенная простыня с именами разных параметров. В самом низу будет Virtual Pin. Выбрать его. А потом щёлкнуть по полю правее (Value) и выбрать On.
Эти виртуальные выводы проходят нетронутыми и непереименованными через весь синтез.

Мне необходимо в сигналтабе смотреть некоторые сигналы. Для удобства я их вывожу на топ-левел как пины. Но в пинпланере не назначаю им никакого номера пина. Можно ли в таком случае сделать их virtual? Что-то не получается. Или это в корне не верный подход?

Пишу на verilog. Может можно при объявлении модуля их сразу как-то обозвать virtual pin?
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Dec 29 2010, 12:20
Сообщение #14


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Не получается сделать вывод виртуальным? А какое-нибудь сообщение об ошибке появляется?


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Dec 29 2010, 15:16
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(KoshV @ Dec 29 2010, 17:29) *
Мне необходимо в сигналтабе смотреть некоторые сигналы. Для удобства я их вывожу на топ-левел как пины...

У меня скорее вопрос, чем ответ: если использовать графический редактор для создания проекта, то можно на любом уровне вложенности в проект компонента подключить к его выводам SignalTap, используя команду контекстного меню insert->symbol->жмем кнопку "MegaWizard Plug-In Manager..."->жмем кнопку "Next" в диалоговом окне "MegaWizard Plug-In Manager[page 1]"->раскрываем ветку "JTAG-accessible extensions" и выбираем "SignalTap II Logic Analyzer", задаем для него имя и нажимаем кнопку "Next"->дальше конфигурируем SignalTap...

То есть, если использовать мегафункцию SignalTap, то не нужно выводить сигналы на "топ-левел как пины". А вот как, используя MegaWizard Plug-In Manager, подключить мегафункцию SignalTap в проект, написанный на Verilog-е? Кто-нибудь знает, как это сделать?
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Dec 29 2010, 18:50
Сообщение #16


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



SignalTap от языка не зависит, он принимает имена сигналов.
На "топ-левел как пины" по-любому не надо, особенно, если не хватает свободных выводов, для этого придуманы виртуальные выводы. А вот без виртуальных выводов не всегда удаётся обойтись, если оптимизатор намухлюет с именами.
А лучше всего, по-моему, пользоваться советом DXP. Правда, я ещё не успел его попробовать sm.gif


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 29 2010, 23:58
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Konst_777 @ Dec 30 2010, 00:16) *
То есть, если использовать мегафункцию SignalTap, то не нужно выводить сигналы на "топ-левел как пины". А вот как, используя MegaWizard Plug-In Manager, подключить мегафункцию SignalTap в проект, написанный на Verilog-е? Кто-нибудь знает, как это сделать?

просто зайти в меню Assignments/Settings/SignalTap II Logic Analyzer и поставить галочку Enable SignalTap II Logic Analyzer, никаких мегафункций не надо.
Go to the top of the page
 
+Quote Post
KoshV
сообщение Dec 30 2010, 05:23
Сообщение #18





Группа: Участник
Сообщений: 13
Регистрация: 17-01-06
Пользователь №: 13 301



Virtual Pin назначить удалось. Однако в сигналтапе они видны в списке all pins, однако в списке virtual pins их нет. Чё так?
Go to the top of the page
 
+Quote Post
jok40
сообщение Aug 13 2014, 12:49
Сообщение #19





Группа: Новичок
Сообщений: 3
Регистрация: 7-08-14
Пользователь №: 82 483



Всем привет!

Поднимаю эту тему снова, так как имею похожую задачу и есть проблема.

Тема такая: нужно посмотреть SignalTap-ом кое-какие сигналы на комбинаторике, которые синтезатор "оптимизировал". Создаю виртуальные ножки так, как рекомендовал DSIoffe вот здесь и подключаю к ним нужные сигналы.
Но при компиляции Quartus ругается на эти ножки так, как будто они не виртуальные.
Текст ошибки такой:
Код
Error (176205): Can't place 8 pins with 2.5 V I/O standard because Fitter has only 0 such free pins available for general purpose I/O placement

Не пойму - в чём проблема и как её решить?
Go to the top of the page
 
+Quote Post
billidean
сообщение Aug 26 2014, 09:02
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Можете привести картинки AssignmentEditor'a и PinPlaner'a?
Go to the top of the page
 
+Quote Post
jokolemene
сообщение Aug 27 2014, 09:52
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 14-03-10
Пользователь №: 55 950



Могу. Вот две картинки.
PS: заметил особенность - если к этим виртуальным ножкам прицепить "неоптимизированные" сигналы - всё нормально синтезируется без выдачи подобной ошибки.

Сообщение отредактировал jokolemene - Aug 27 2014, 10:55
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:50
Рейтинг@Mail.ru


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