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

 
 
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

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

 


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


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