Цитата(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