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

 
 
> Как зафиксировать разводку ответственного модуля, применение ISE и PlanAhead
TABKP
сообщение Feb 6 2012, 06:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 19-05-11
Пользователь №: 65 130



Есть ответственный высокочастотный модуль, который вставляется в большой проект в ISE. С этим модулем постоянно происходят Timing Errors при малейшем изменениии остальной части проекта. Чтобы при каждом изменении проекта не заниматься борьбой с Timing Errors хочу раз и навсегда зафиксировать положение этого модуля ка кристалле. Что сделано: в PlanAhead для этого модуля создан Pblock, а также этот модуль отмечен как Partition. PlanAhead скомпилировал и разложил этот модуль без ошибок. Теперь главный вопрос - как импортировать этот модуль и его разводку обратно в ISE проект?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
Костян
сообщение Feb 6 2012, 06:39
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



скорее всего нужно прописать правильно контрейны на клок, фиксировать разводку не совсем правильный путь.
Go to the top of the page
 
+Quote Post
per_aspera_ad_as...
сообщение Feb 9 2012, 05:12
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 26-01-08
Из: Гусь-Хрустальный - Владимир
Пользователь №: 34 452



Цитата(TABKP @ Feb 6 2012, 09:11) *
Есть ответственный высокочастотный модуль, который вставляется в большой проект в ISE. С этим модулем постоянно происходят Timing Errors при малейшем изменениии остальной части проекта. Чтобы при каждом изменении проекта не заниматься борьбой с Timing Errors хочу раз и навсегда зафиксировать положение этого модуля ка кристалле. Что сделано: в PlanAhead для этого модуля создан Pblock, а также этот модуль отмечен как Partition. PlanAhead скомпилировал и разложил этот модуль без ошибок. Теперь главный вопрос - как импортировать этот модуль и его разводку обратно в ISE проект?


Обратно в ISE проекте Pblock появляется в ucf-файле.

Вы отдельный проект для этого модуля в PlanAhead создавали? Можно добавить эту часть в общую ucf проекта, либо запустить PlanAhead из под ISE (User Constraints -> I/O Pin Planing (PlanAhead) - Post-Synthesis), тогда проекты будут связаны.

Не забудьте только в VHDL поставить атрибут на модуль, что-бы он иерархию сохранил.

Код
attribute KEEP_HIERARCHY : string;
attribute KEEP_HIERARCHY of wrapper_gtx_dru_inst  : label is "TRUE";

Да... и ucf скопируйте (особенно если он у вас красиво отформатирован) куда нибудь отдельно, а то PlanAhead когда будет свои констрейнты дописывать вам его подпортит :-)



--------------------
За беспокойство не беспокойтесь.
Go to the top of the page
 
+Quote Post
dsmv
сообщение Feb 10 2012, 18:29
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284



Разводку можно зафиксировать только с использованием Partial Reconfiguration.

Нужно его оформить в виде отдельного реконфигурируемого блока. Его можно будет отдельно разводить и отдельно загружать.


Go to the top of the page
 
+Quote Post
Krys
сообщение Sep 9 2013, 09:39
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Цитата(dsmv @ Feb 11 2012, 00:29) *
Разводку можно зафиксировать только с использованием Partial Reconfiguration.
Я бы не был так категоричен. Не обязательно Partial Reconfiguration. Достаточно просто разбить на партиции, руководствуясь Hierarchical Design Methodology (UG748). Но можно ещё создать *.ngc-шку: http://electronix.ru/forum/index.php?showt...mp;#entry316405


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Oct 29 2013, 13:54
Сообщение #6


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Цитата(per_aspera_ad_astra @ Feb 9 2012, 09:12) *
Обратно в ISE проекте Pblock появляется в ucf-файле.

Вы отдельный проект для этого модуля в PlanAhead создавали? Можно добавить эту часть в общую ucf проекта, либо запустить PlanAhead из под ISE (User Constraints -> I/O Pin Planing (PlanAhead) - Post-Synthesis), тогда проекты будут связаны.

Не забудьте только в VHDL поставить атрибут на модуль, что-бы он иерархию сохранил.

Код
attribute KEEP_HIERARCHY : string;
attribute KEEP_HIERARCHY of wrapper_gtx_dru_inst  : label is "TRUE";

Да... и ucf скопируйте (особенно если он у вас красиво отформатирован) куда нибудь отдельно, а то PlanAhead когда будет свои констрейнты дописывать вам его подпортит :-)

у меня такая же проблема. в ISE для модуля создан Pblock и связан с ним с помощью assign в PlanAhead -> Pre-synthesis . но при implement связь пропадает . модуль разводится сам по себе, а блок пустой. и в Post-Synthesis уже связи нет и модуля в netlist тоже. а в PlanAhead все связь созраняется и все разводится там где нужно. обратно тоже не могу перейти. выдается ошибка
ERROR:ConstraintSystem:59 - Constraint <INST "data_in_out" AREA_GROUP =
"pblock_data_in_out";> [eth_1.ucf(306)]: INST "data_in_out" not found.
Please verify that:
1. The specified design element actually exists in the original design.
2. The specified object is spelled correctly in the constraint source file.
Go to the top of the page
 
+Quote Post
Krys
сообщение Nov 26 2013, 12:56
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Только увидел сообщение. Если проблема ещё не решена, могу помочь, я на этом собак ел недавно ))
Предлагаю начать всё с нуля в следующей последовательности.
1. Провести синтез, где этот блок никак не законстрейнен.
2. Запустить PlanAhead -> Post-Synthesis
3. В нём задать нужный Вам констрейн, т.е. сздать Pblock.
4. Сохранить результаты работы PlanAhead. Открыть *.ucf, убедиться в наличии нужных изменений.
5. Продолжить последующие процедуры после синтеза (имплемент, транслэйт, мап, пар и т.д.).


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Nov 29 2013, 12:01
Сообщение #8


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Цитата(Krys @ Nov 26 2013, 16:56) *
Только увидел сообщение. Если проблема ещё не решена, могу помочь, я на этом собак ел недавно ))
Предлагаю начать всё с нуля в следующей последовательности.
1. Провести синтез, где этот блок никак не законстрейнен.
2. Запустить PlanAhead -> Post-Synthesis
3. В нём задать нужный Вам констрейн, т.е. сздать Pblock.
4. Сохранить результаты работы PlanAhead. Открыть *.ucf, убедиться в наличии нужных изменений.
5. Продолжить последующие процедуры после синтеза (имплемент, транслэйт, мап, пар и т.д.).

проблема сохранения связи с Pblock решена. для этого нужно в ISE установить приоритет разработчика в свойстве Synthesize-XST-> Synthesis Options-> Keep_hierarchy = yes. а вот обратный переход из самостоятельно запущенного PlanAhead в ISE с сохранением разводки пока не получается. но этот вопрос пока заброшен по ненадобности.
Go to the top of the page
 
+Quote Post
Krys
сообщение Nov 29 2013, 12:46
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Нужно уже осуществлять переход в Виваду, при том насовсем )))

Keep Hierarchy - не всегда лучший способ, вы теряете возможность оптимизации между модулями, пусть даже самыми мелкими. Мы например умышленно держим эту опцию выключенной. Есть другие способы, как указать констрейн, когда модуль не выделен в отельную ветвь иерархии.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 29 2013, 14:05
Сообщение #10


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Krys @ Nov 29 2013, 14:46) *
Нужно уже осуществлять переход в Виваду, при том насовсем )))

А вивадо синопсис поддерживает?
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Nov 29 2013, 14:22
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(_Anatoliy @ Nov 29 2013, 21:05) *
А вивадо синопсис поддерживает?

Вивадо нетлисты в формате EDF поддерживает, а уж где вы эти нетлисты сгенерили, в синопсисе или в менторе - неважно.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 29 2013, 15:16
Сообщение #12


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Bad0512 @ Nov 29 2013, 16:22) *
Вивадо нетлисты в формате EDF поддерживает, а уж где вы эти нетлисты сгенерили, в синопсисе или в менторе - неважно.

Сорри! Я хотел спросить понимает ли он описание констрейнов как в Квартусе?
Go to the top of the page
 
+Quote Post

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

 


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


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