Strob 0 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
crono 0 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи? В Vivado существует что-то подобное. Погуглите UG905. Может, это то, что Вам надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FakeDevice 0 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи? Вообще система и не разводит заново цепи, пока вы не изменяете проект. А если изменили, но хотите, чтобы не переразводилось, то лично мне это кажется странным. Если просто зафиксировать (Xilinx) некоторые элементы -- можно использовать LOC/RLOC и прочее как из vhdl/verilog, так и из .ucf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 19 мая, 2015 Опубликовано 19 мая, 2015 (изменено) · Жалоба В Vivado существует что-то подобное. Погуглите UG905. Может, это то, что Вам надо. Работаю на Спартане 6, поэтому к сожалению практической пользы от этого мне не получить, но для развития посмотрю, спасибо. Вообще система и не разводит заново цепи, пока вы не изменяете проект. А если изменили, но хотите, чтобы не переразводилось, то лично мне это кажется странным. Если просто зафиксировать (Xilinx) некоторые элементы -- можно использовать LOC/RLOC и прочее как из vhdl/verilog, так и из .ucf Речь не об изменении проекта, а о том что при размещении макроса в проекте, система не сохраняет цепи которые были заранее разведены в макросе, и разводит их заново. Изменено 19 мая, 2015 пользователем Barktail Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Припоминаю, что когда-то делал такое для виртекса 6 серии. У Вас спартан, но тоже 6 серии, так что наверное всё то же самое. Может, здесь? http://www.xilinx.com/support/documentatio...ology_Guide.pdf Помню, что для Planahead была команда сохранить сделанную вручную расстановку. Затем её как-то можно было оформить в отдельную ngc-шку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
crono 0 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Припоминаю, что когда-то делал такое для виртекса 6 серии. У Вас спартан, но тоже 6 серии, так что наверное всё то же самое. Может, здесь? http://www.xilinx.com/support/documentatio...ology_Guide.pdf Помню, что для Planahead была команда сохранить сделанную вручную расстановку. Затем её как-то можно было оформить в отдельную ngc-шку. А разве при этом сохраняется и трассировка? По-моему, только расстановка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Насчёт разводки не уверен. Но по опыту главное - расстановка. При правильной расстановке разводка делается за секунду. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zxcv 0 23 мая, 2015 Опубликовано 23 мая, 2015 (изменено) · Жалоба Вопрос короткий, существует ли возможность зафиксировать разводку сигналов в макросе, чтобы при использовании макроса в проекте, система заново не разводила цепи? Такая возможность есть. Пример такого использования я видел в 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 выбрав разведённую линию связи. Изменено 23 мая, 2015 пользователем zxcv Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 25 мая, 2015 Опубликовано 25 мая, 2015 · Жалоба Такая возможность есть.Спасибо за тайное знание! Вот уж точно хакерство ))) Данные для атрибута 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 выбрав разведённую линию связи. Т.е. это придётся делать ручками для каждой цепи?... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_AZ 0 25 мая, 2015 Опубликовано 25 мая, 2015 · Жалоба Т.е. это придётся делать ручками для каждой цепи?... Можете в FPGA Editor'e в окне "Tools\Direct Routing Constraints" выделить по маске цепи, разводку которых нужно зафиксировать, и экспортировать в файл ucf. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 27 мая, 2015 Опубликовано 27 мая, 2015 · Жалоба Такая возможность есть. Спасибо! То что нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться