|
|
  |
Xilinx FPGA Editor Hard Macro, фиксировать сигналы, Фиксация сигналов в макросе |
|
|
|
May 15 2015, 06:55
|
Участник

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

|
Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи?
|
|
|
|
|
May 15 2015, 07:58
|
Частый гость
 
Группа: Свой
Сообщений: 94
Регистрация: 28-11-12
Из: Москва
Пользователь №: 74 605

|
Цитата(Barktail @ May 15 2015, 09:55)  Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи? В Vivado существует что-то подобное. Погуглите UG905. Может, это то, что Вам надо.
|
|
|
|
|
May 15 2015, 12:49
|

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

|
Цитата(Barktail @ May 15 2015, 09:55)  Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи? Вообще система и не разводит заново цепи, пока вы не изменяете проект. А если изменили, но хотите, чтобы не переразводилось, то лично мне это кажется странным. Если просто зафиксировать (Xilinx) некоторые элементы -- можно использовать LOC/RLOC и прочее как из vhdl/verilog, так и из .ucf
|
|
|
|
|
May 19 2015, 11:41
|
Участник

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

|
Цитата В Vivado существует что-то подобное. Погуглите UG905. Может, это то, что Вам надо. Работаю на Спартане 6, поэтому к сожалению практической пользы от этого мне не получить, но для развития посмотрю, спасибо. Цитата Вообще система и не разводит заново цепи, пока вы не изменяете проект. А если изменили, но хотите, чтобы не переразводилось, то лично мне это кажется странным. Если просто зафиксировать (Xilinx) некоторые элементы -- можно использовать LOC/RLOC и прочее как из vhdl/verilog, так и из .ucf Речь не об изменении проекта, а о том что при размещении макроса в проекте, система не сохраняет цепи которые были заранее разведены в макросе, и разводит их заново.
Сообщение отредактировал Barktail - May 19 2015, 11:42
|
|
|
|
|
May 21 2015, 08:17
|
Частый гость
 
Группа: Свой
Сообщений: 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-шку. А разве при этом сохраняется и трассировка? По-моему, только расстановка.
|
|
|
|
|
May 23 2015, 17:11
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
May 25 2015, 03:12
|

Гуру
     
Группа: Свой
Сообщений: 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 выбрав разведённую линию связи. Т.е. это придётся делать ручками для каждой цепи?...
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
May 25 2015, 03:46
|
Участник

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

|
Цитата(Krys @ May 25 2015, 09:12)  Т.е. это придётся делать ручками для каждой цепи?... Можете в FPGA Editor'e в окне "Tools\Direct Routing Constraints" выделить по маске цепи, разводку которых нужно зафиксировать, и экспортировать в файл ucf.
|
|
|
|
|
May 27 2015, 08:05
|
Участник

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

|
Цитата(zxcv @ May 23 2015, 20:11)  Такая возможность есть. Спасибо! То что нужно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|