new123 0 21 июня, 2021 Опубликовано 21 июня, 2021 · Жалоба Форумчане, день добрый. Может кто знает или пользуется, как можно сохранить размещение на чипе, можно даже не все, а какой нибудь entity? Понимаю, что можно пользоваться LogicLock и Partition. Первый использую, но им можно только обозначить область размещения, второй просаживает времянку. Очень сильно помог Back-Annotate Assigments, но он сохраняет только размещение памяти, dsp, clock region. (хотя в хелпе по старым версиям явно есть и регистры и все что хочешь) Начал рыть в сторону TCL, но там столько всего, что толком пока и не нашел. Может кто натолкнет в нужное направление. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 21 июня, 2021 Опубликовано 21 июня, 2021 (изменено) · Жалоба Если кто будет когда нибудь искать, вот эта штука помогла, выложенная интелом на FPGA Wiki. Сохраняет в файл абсолютно все размещения на чипе. Очень круто. https://community.intel.com/t5/FPGA-Wiki/Back-Annotation-Script/ta-p/735236 Изменено 21 июня, 2021 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 21 июня, 2021 Опубликовано 21 июня, 2021 · Жалоба 4 hours ago, new123 said: https://community.intel.com/t5/FPGA-Wiki/Back-Annotation-Script/ta-p/735236 А что, Intel наконец-то восстановил такой полезный ресурс, как Altera Wiki (пусть и под новым названием)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 21 июня, 2021 Опубликовано 21 июня, 2021 · Жалоба 42 minutes ago, Raven said: А что, Intel наконец-то восстановил такой полезный ресурс, как Altera Wiki (пусть и под новым названием)? нет, они грохнули все похоже навсегда, как и форум, так и wiki. Но поиском с community достать можно старые запасы. Они что могли, перенесли в community Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба Интересно, а чем Back-annotation лучше чем Partition с Netlist Type Post Fit? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 3 minutes ago, _sda said: Интересно, а чем Back-annotation лучше чем Partition с Netlist Type Post Fit? а я написал - не знаю как в малых проектах, но в больших у меня проседает времянка из за partition. На 100-200 пикосек, это критично. Даже если запуститься Timing Adviser - там тоже советуется partition убрать в погоне за таймингом. + поднималась на форуме тема, у квартуса есть такой нюанс, что он начинает лишнее создавать, если сделать компиляцию на компиляцию, не почистив базу перед этим, это уже поддастает. c Back-annotation времянка фиксанулась, проект стабилизировался, теперь у меня нет такой головной боли Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба 19 часов назад, new123 сказал: Сохраняет в файл абсолютно все размещения на чипе. Если вы уже разобрались с этим, можно ли сделать частичную фиксацию? Мне не нужно фиксить абсолютно все размещения на чипе. Позволяет ли Back-annotation крутить seed для конкретного узла проекта? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 22 июня, 2021 Опубликовано 22 июня, 2021 (изменено) · Жалоба 42 minutes ago, _sda said: Если вы уже разобрались с этим ну как разобрался, выдвинул теорию, проверил, она мне подошла. Теория очень простая, если я смогу сохранить размещения удачной компиляции, сможет ли она потом точно так же повторить. Я не знаю, как в старых версиях Q, но в новых Back-Annotation сохраняет только размещение памяти, клок регион, dsp. Но уже после этого у меня появилась стабильность компиляций, пропал random. Сохраняет он предельно просто, в таком виде set_location_assignment EC_X66_Y200_N37 -to pcie|pcie_256|pcie_s10_hip_avmm_bridge_0|dcore|dma_ctrl|wr_control|descriptor|descriptor_fifo|ram_memory_rtl_0|auto_generated|altera_syncram_impl1|ram_block2a152 set_location_assignment EC_X66_Y200_N34 -to pcie|pcie_256|pcie_s10_hip_avmm_bridge_0|dcore|dma_ctrl|wr_control|descriptor|descriptor_fifo|ram_memory_rtl_0|auto_generated|altera_syncram_impl1|ram_block2a149 set_location_assignment EC_X66_Y200_N35 -to pcie|pcie_256|pcie_s10_hip_avmm_bridge_0|dcore|dma_ctrl|wr_control|descriptor|descriptor_fifo|ram_memory_rtl_0|auto_generated|altera_syncram_impl1|ram_block2a150 То есть достаточно это все прописать в qsf и все. Я решил проверить дальше, что если я сохраню вообще весь проект, каков будет результат. По идее, я еще хотел добиться ускорения компиляции, но в моем случае это не вышло (ну может прирост минут в 5). Не знаю, как это будет у людей на тех проектах, которые компилятся часами. Тот скрипт, который по сcылке, сохраняет точно в таком же виде. Я выборочно сделал из него нужные instance (как вы говорите частично) и прописал в qsf, зафиксировав их навсегда. При этом, для меня остается вопрос, что будет с такого вида записями: set_location_assignment X153_Y372 -to instance|Mux_1603~517 set_location_assignment X89_Y207 -to pcie|pcie_256|pcie_s10_hip_avmm_bridge_0|dcore|dma_mrd|avm_rd_master|avmm_inf_fifo|fifo_count[1]~_Duplicate set_location_assignment X80_Y164 -to pcie|pcie_256|pcie_s10_hip_avmm_bridge_0|dcore|dma_mwr|stmux2|align_data_fifo|datavalid_reg[0]~xsyn set_location_assignment X79_Y214 -to pcie|pcie_256|pcie_s10_hip_avmm_bridge_0|dcore|dma_mrd|avm_rd_master|avmm_inf_fifo|fifo_reg[2][52]~RTM_44.comb Я не уверен, что в новой компиляции будут присутствовать эти самые Mux, Duplicate и тд. Поэтому я дополнительно сохранил только регистры и все. Из минусов. Если сохранить много записей, то QSF может достигнуть десятков MB, что не есть хорошо. Q будет много думать постоянно при сохранении Изменено 22 июня, 2021 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 22 июня, 2021 Опубликовано 22 июня, 2021 · Жалоба Ясно, спасибо. Подумаю, нужно ли оно мне. 12 минут назад, new123 сказал: Я не уверен, что в новой компиляции будут присутствовать эти самые Mux, Duplicate и тд. Поэтому я дополнительно сохранил только регистры и все. А это серьёзный фактор, вполне может перебить все плюсы такого решения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pavlovconst 2 27 июня, 2021 Опубликовано 27 июня, 2021 · Жалоба On 6/22/2021 at 10:35 AM, new123 said: Я не уверен, что в новой компиляции будут присутствовать эти самые Mux, Duplicate и тд. В описании именно об этом и предупреждают Quote Node names, especially combinatorial node names, change with each synthesis run, so if a user back-annotates their whole design, makes a small change, and then resynthesizes, most of the combinatorial node location assignments will no longer work and the user will get a worse fit. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться