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

 
 
 
Reply to this topicStart new topic
> Xilinx FPGA Editor Hard Macro, фиксировать сигналы, Фиксация сигналов в макросе
Barktail
сообщение May 15 2015, 06:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 14-12-11
Пользователь №: 68 851



Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи?
Go to the top of the page
 
+Quote Post
crono
сообщение May 15 2015, 07:58
Сообщение #2


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

Группа: Свой
Сообщений: 94
Регистрация: 28-11-12
Из: Москва
Пользователь №: 74 605



Цитата(Barktail @ May 15 2015, 09:55) *
Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи?

В Vivado существует что-то подобное. Погуглите UG905. Может, это то, что Вам надо.
Go to the top of the page
 
+Quote Post
FakeDevice
сообщение May 15 2015, 12:49
Сообщение #3


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

Группа: Свой
Сообщений: 81
Регистрация: 31-10-14
Из: Воронеж
Пользователь №: 83 452



Цитата(Barktail @ May 15 2015, 09:55) *
Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи?

Вообще система и не разводит заново цепи, пока вы не изменяете проект.
А если изменили, но хотите, чтобы не переразводилось, то лично мне это кажется странным.
Если просто зафиксировать (Xilinx) некоторые элементы -- можно использовать LOC/RLOC и прочее как из vhdl/verilog, так и из .ucf
Go to the top of the page
 
+Quote Post
Barktail
сообщение May 19 2015, 11:41
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 14-12-11
Пользователь №: 68 851



Цитата
В Vivado существует что-то подобное. Погуглите UG905. Может, это то, что Вам надо.


Работаю на Спартане 6, поэтому к сожалению практической пользы от этого мне не получить, но для развития посмотрю, спасибо.

Цитата
Вообще система и не разводит заново цепи, пока вы не изменяете проект.
А если изменили, но хотите, чтобы не переразводилось, то лично мне это кажется странным.
Если просто зафиксировать (Xilinx) некоторые элементы -- можно использовать LOC/RLOC и прочее как из vhdl/verilog, так и из .ucf


Речь не об изменении проекта, а о том что при размещении макроса в проекте, система не сохраняет цепи которые были заранее разведены в макросе, и разводит их заново.

Сообщение отредактировал Barktail - May 19 2015, 11:42
Go to the top of the page
 
+Quote Post
Krys
сообщение May 21 2015, 06:32
Сообщение #5


Гуру
******

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



Припоминаю, что когда-то делал такое для виртекса 6 серии. У Вас спартан, но тоже 6 серии, так что наверное всё то же самое. Может, здесь? http://www.xilinx.com/support/documentatio...ology_Guide.pdf
Помню, что для Planahead была команда сохранить сделанную вручную расстановку. Затем её как-то можно было оформить в отдельную ngc-шку.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
crono
сообщение May 21 2015, 08:17
Сообщение #6


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

Группа: Свой
Сообщений: 94
Регистрация: 28-11-12
Из: Москва
Пользователь №: 74 605



Цитата(Krys @ May 21 2015, 09:32) *
Припоминаю, что когда-то делал такое для виртекса 6 серии. У Вас спартан, но тоже 6 серии, так что наверное всё то же самое. Может, здесь? http://www.xilinx.com/support/documentatio...ology_Guide.pdf
Помню, что для Planahead была команда сохранить сделанную вручную расстановку. Затем её как-то можно было оформить в отдельную ngc-шку.

А разве при этом сохраняется и трассировка? По-моему, только расстановка.
Go to the top of the page
 
+Quote Post
Krys
сообщение May 21 2015, 09:46
Сообщение #7


Гуру
******

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



Насчёт разводки не уверен. Но по опыту главное - расстановка. При правильной расстановке разводка делается за секунду.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
zxcv
сообщение May 23 2015, 17:11
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 10-01-10
Пользователь №: 54 704



Цитата(Barktail @ May 15 2015, 09:55) *
Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи?

Такая возможность есть.
Пример такого использования я видел в xapp514 в главе 16 "DVB-ASI Physical Layer Implementation".
Там, для приёма данных DVB-ASI без восстановления тактов, формируют две линии задержки на инверторах. Выходы инверторов защёлкивают в регистры. Затем в линиях задержки ищут фронт сигнала и по нему подстраивают момент считывания валидных данных.

Так вот. Линии задержки на инверторах и линии связи между ними, а также регистры и их связи с линией задержки выполнены в виде relative location macro. Компоненты фиксируются атрибутами RLOC, а разводка атрибутом ROUTE.

Исходники на Verilog и VHDL в архиве xapp514.zip.
Файл с макросом: xapp514.zip\xapp514_dvbasi-phy.zip\xapp509\lvds\vhdl\des.vhd

Глубоко с проектом не разбирался, использовал почти как есть.
Данные для атрибута ROUTE выглядят примерно так: 2;1;-6!-1;49128;-25040;14;66;54;30;13!0;1261;-1192;24!0;-1261;1152;4;66;54;41!1;-392;-59;0!3;232;-365;4;66;53;18!
Их можно получить в программе FPGA Editor выбрав разведённую линию связи.

Сообщение отредактировал zxcv - May 23 2015, 17:27
Go to the top of the page
 
+Quote Post
Krys
сообщение May 25 2015, 03:12
Сообщение #9


Гуру
******

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



Цитата(zxcv @ May 24 2015, 00:11) *
Такая возможность есть.
Спасибо за тайное знание! Вот уж точно хакерство )))


Цитата(zxcv @ May 24 2015, 00:11) *
Данные для атрибута ROUTE выглядят примерно так: 2;1;-6!-1;49128;-25040;14;66;54;30;13!0;1261;-1192;24!0;-1261;1152;4;66;54;41!1;-392;-59;0!3;232;-365;4;66;53;18!
Их можно получить в программе FPGA Editor выбрав разведённую линию связи.
Т.е. это придётся делать ручками для каждой цепи?...


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Alex_AZ
сообщение May 25 2015, 03:46
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 26-07-07
Из: Челябинск
Пользователь №: 29 374



Цитата(Krys @ May 25 2015, 09:12) *
Т.е. это придётся делать ручками для каждой цепи?...


Можете в FPGA Editor'e в окне "Tools\Direct Routing Constraints" выделить по маске цепи, разводку которых нужно зафиксировать, и экспортировать в файл ucf.
Go to the top of the page
 
+Quote Post
Barktail
сообщение May 27 2015, 08:05
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 14-12-11
Пользователь №: 68 851



Цитата(zxcv @ May 23 2015, 20:11) *
Такая возможность есть.

Спасибо! То что нужно.
Go to the top of the page
 
+Quote Post

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

 


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


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