|
|
  |
SignalTap: проблема с добавлением сигналов |
|
|
|
Aug 24 2012, 07:05
|
Частый гость
 
Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972

|
Всем доброго времени суток. Столкнулся с тем, что не получается добавить произвольную шину в SignalTap. Раньше все исследуемые сигналы на пины выводил - проблем не было, они всегда отображались валидными в SignalTap. А тут попробовал добавить внутреннюю шину: открываю SignalTap, открываю Node Finder, ставлю фильтр SignalTap II:pre-synthesis, ищу в списке нужные мне шины, добавляю, а часть из них красные. Или еще другая фишка: после добавления красных шин нет, запускаю компиляцию, после компиляции некоторые шины становятся красными. При добавлении через схематик вообще финиш: после добавления все шины синие, значит вроде как они в Post-Fit Netlist входят ( т.е. в ходе оптимизации они не исчезли), после компиляции - все красные.
Не пойму, то ли я чего-то капитально не догоняю, то ли SignalTap фортели выкидывает?
З.Ы. Среда Quartus 11, инкрементная компиляция отключена.
Сообщение отредактировал RoadRunner - Aug 24 2012, 07:45
|
|
|
|
|
Aug 24 2012, 08:57
|
Частый гость
 
Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972

|
Цитата(Stewart Little @ Aug 24 2012, 12:17)  Инкрементальную компиляцию включите обязательно!!! Пробовал уже. Изменений я не увидел, во всяком случае с точки зрения вышеописанной проблемы. Может там еще что-то надо сделать, там нетлист поменять или еще что.. я просто не использовал никогда инкрементную компиляцию, знания по ней у меня чисто теоретические.
|
|
|
|
|
Aug 25 2012, 20:12
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 16-03-05
Пользователь №: 3 397

|
Цитата(RoadRunner @ Aug 24 2012, 11:05)  Столкнулся с тем, что не получается добавить произвольную шину в SignalTap. Раньше все исследуемые сигналы на пины выводил - проблем не было, они всегда отображались валидными в SignalTap. А тут попробовал добавить внутреннюю шину: открываю SignalTap, открываю Node Finder, ставлю фильтр SignalTap II:pre-synthesis, ищу в списке нужные мне шины, добавляю, а часть из них красные. Или еще другая фишка: после добавления красных шин нет, запускаю компиляцию, после компиляции некоторые шины становятся красными. На ум приходят два варианта: 1. Шина, по каким-то причинам никуда дальше не идет 2. Шина не идет на триггер и замешана с комбинационной логикой. Попробуйте поиграться с аттрибутом noprune.
|
|
|
|
|
Aug 26 2012, 08:18
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(RoadRunner @ Aug 24 2012, 12:57)  я просто не использовал никогда инкрементную компиляцию, знания по ней у меня чисто теоретические. Настоятельно рекомендую почитать квартусовский мануал по инкрементальной компиляции и по сигналтапу. Вкратце - нужно сделать, чтобы Ваш проект был бы одной партицией, а сигналтап - другой партицией. При инкрементальной компиляции изменения в одной из партиций не будут оказывать влияния на другие партиции (т.е. грубо говоря, при очередной компиляции изменения в размещении и разводке будут осуществляться только для измененной партиции, а все остальные останутся неизменными). В Вашем случае, после изменения настроек сигналтапа перекомпилируется и переразводится весь проект целиком. Соответстенно, имена узлов могут измениться. Со всеми вытекающими...
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 27 2012, 08:08
|
Частый гость
 
Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972

|
Цитата(Stewart Little @ Aug 26 2012, 12:18)  Настоятельно рекомендую почитать квартусовский мануал по инкрементальной компиляции и по сигналтапу. Вкратце - нужно сделать, чтобы Ваш проект был бы одной партицией, а сигналтап - другой партицией. При инкрементальной компиляции изменения в одной из партиций не будут оказывать влияния на другие партиции (т.е. грубо говоря, при очередной компиляции изменения в размещении и разводке будут осуществляться только для измененной партиции, а все остальные останутся неизменными). В Вашем случае, после изменения настроек сигналтапа перекомпилируется и переразводится весь проект целиком. Соответстенно, имена узлов могут измениться. Со всеми вытекающими... Тут проблема в том, что нетлист у проекта нужно будет делать Post-Fit (иначе он все равно что-нибудь переразведет). Я тогда внутренних шин не увижу, а мне их то и надо отлаживать. Мне по большому счету не так важно, что он переразведет все, больше важно чтобы определенные внутренние шины стабильно появлялись в сигналтапе валидными. Попробовал вывести эти шины на пины, но не выводить эти пины наружу - не работает, он их убирает уже при анализе. А выводить наружу - это просто финиш, проект превращается в паутину. З.Ы. Тут конечно я сам напортачил - надо было сначала внутренние блоки отдельно отладить, потом уж переходить к внешним (тогда выводить наружу ничего не понадобилось бы). Но все равно иногда нужно получить доступ к внутренним шинам. Просто не в таком объеме, как сейчас))
Сообщение отредактировал RoadRunner - Aug 27 2012, 08:44
|
|
|
|
|
Aug 27 2012, 10:31
|
Частый гость
 
Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972

|
Цитата(_Anatoliy @ Aug 27 2012, 12:57)  Вам же советовали использовать attribute noprune для интересующих сигналов.Ничего наружу выводить не нужно. Я не все в HDL пишу. Со схематиком, полагаю, такое не прокатит. Странно то, что при добавлении в сигналтап сигналы валидные, а после полной перекомпиляции вдруг невалидные. Он же все переразводит - обязан завести эти сигналы в сигналтап. Хрен с ним, что проект изменится, сигналы то должны остаться.
Сообщение отредактировал RoadRunner - Aug 27 2012, 10:40
|
|
|
|
|
Aug 27 2012, 11:34
|
Частый гость
 
Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972

|
Цитата(_Anatoliy @ Aug 27 2012, 14:39)  В схематике давно не работаю,но попробуйте так:primitives->other->param. Но сам я так не пробовал,может и не из той оперы... По-моему, это просто для задания констант, там ширины шин и т.п. Нужно то атрибут для синтеза задать. Могу ошибаться, но где-то вроде в доке натыкался на то, что нельзя атрибуты для синтеза на схематике задать. Могу ошибаться, конечно (рад бы:-))
|
|
|
|
|
Aug 27 2012, 13:40
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(RoadRunner @ Aug 27 2012, 13:31)  ...Со схематиком, полагаю, такое не прокатит... "Со схематиком" можно, с помощью MegaWizard Plug-In Manager добавить SignalTap II Logic Analyzer прямо в схему: - в контексном меню выбираете "Insert Symbol";
- в диалоговом окне "Symbol" нажимаете кнопку "MegaWizard Plug-In Manager...";
- на "MegaWizard Plug-In Manager [page 1]" нажимаете "Next>"
- на "MegaWizard Plug-In Manager [page 2a]" раскрываете ветку "JTAG-accessible extensions" и в ней выбираете "SignalTap II Logic Analyzer";
- конфигурируете SignalTap II Logic Analyzer и помещаете его символ в схему;
- подключаете нужные сигналы к SignalTap II Logic Analyzer;
- компилируете проект;
- для создания *.stp в Quartus в меню "File" выбираете подменю "Create/Update", а в этом подменю "Create SignalTap II File from Design Instance(s)";
- подключаете *.stp к проекту ("Assignments" -> "Settings" -> "SignalTap II Logic Analyzer" -> "Enable SignalTap II Logic Analyzer")
Достоинство такого подхода - можно вытащить любой сигнал с любого уровня вложенности схемы.
|
|
|
|
|
Aug 29 2012, 09:28
|
Частый гость
 
Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972

|
Цитата(Konst_777 @ Aug 27 2012, 17:40)  "Со схематиком" можно, с помощью MegaWizard Plug-In Manager добавить SignalTap II Logic Analyzer прямо в схему
Достоинство такого подхода - можно вытащить любой сигнал с любого уровня вложенности схемы. Кстати действительно хороший вариант. Я вроде знал про такой вариант сигналтапа, но никогда не использовал, как начал с обычным, так и поехал..)) Большое спасибо за совет, буду юзать!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|