yes 7 9 февраля, 2022 Опубликовано 9 февраля, 2022 · Жалоба то есть ожидаю, что триггер будет размножен и на этих копиях фанаут и задержка будут меньше попробовал стратегии performance_netdelay_high и perfirmance_retiming - одно и то же - не размножает, задержка на проводах 10+ns синтез наверно напрягать не имеет смысла - там логики нет - выход триггера->входы BRAMов переписать это вручную можно, но может есть волшебная кнопка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 64 10 февраля, 2022 Опубликовано 10 февраля, 2022 · Жалоба 6 часов назад, yes сказал: то есть ожидаю, что триггер будет размножен и на этих копиях фанаут и задержка будут меньше попробовал стратегии performance_netdelay_high и perfirmance_retiming - одно и то же - не размножает Ретайминг разве размножает регистры? Он, вроде, перемещает их по пути прохождения сигнала для балансировки задержек между регистрами, где это возможно (т.е. не нарушается логика описания). А размножение регистров происходит, например, при включенной Duplicate Register опции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 10 февраля, 2022 Опубликовано 10 февраля, 2022 · Жалоба Во-первых для указанной технологии должна применятся настройка register duplication (на сколько помню). Во-вторых, для того, чтобы у Вас был небольшой фанаут... задайте его вручную) порядка 75 подключений будет вполне достаточно и синтезабельно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 10 февраля, 2022 Опубликовано 10 февраля, 2022 · Жалоба 2 hours ago, Nick_K said: Во-первых для указанной технологии должна применятся настройка register duplication (на сколько помню). ну а где она? я не нашел 7 hours ago, dxp said: Ретайминг разве размножает регистры? Он, вроде, перемещает их по пути прохождения сигнала а если там дерево (фанаут)? то есть надо по разным ветвям. симлифай и синтез вивадо размножают (и DC естестественно) - но они двигают по "конусу" логики. а в этом случае логики нет - размножать должен не синтез, а P&R / ну или же синтез должен быть не тупым и дуплицировать регистры заранее. вполне возможно, что FPGA-шный P&R не имеет права менять нетлист вобщем начну переписывать код - что-то быстро я такого не нашел. вивадовское timing closure говоит что там есть физикал синтезис, который должен делать регистер дупликэйшин сам по себе, без каких-либо доп.опций - либо я не нашел Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 10 февраля, 2022 Опубликовано 10 февраля, 2022 · Жалоба Попробуйте посмотреть тут: 40090 - Design Assistant for XST - Help with Register Duplication and fanout (xilinx.com) Вроде бы ситуация вполне подобная. Сама настройка была в более ранних версиях, а теперь видимо является частью параметра register_balancing. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Bad0512 2 14 февраля, 2022 Опубликовано 14 февраля, 2022 · Жалоба Делал когда-то подобные штуки с помощью атрибутов синтеза. max_fanout для вивады и syn_maxfan для синплифая. Вставлял эти атрибуты прямо в верилоговские исходники, но это очевидно плохой способ - надо аналогичные директивы писать в XDC/SDC файлы чтобы переносимость исходников не страдала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 14 февраля, 2022 Опубликовано 14 февраля, 2022 · Жалоба я пока отложил разбирательство. для ультраскейл+ (который собственно таргет) развелось как есть (и еще +3нс слэк) а для цинка 7000, на котором я балуюсь (софт отлаживаю, поверяю, что не пронес по-крупному и т.д.) пока более дорогие платы заняты - выкрутился уменьшением размера памяти Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться