Перейти к содержанию
    

Vivado - ретайминг на проводах - какая стратегия или опции плэйсмента?

то есть ожидаю, что триггер будет размножен и на этих копиях фанаут и задержка будут меньше

попробовал стратегии performance_netdelay_high и perfirmance_retiming - одно и то же - не размножает, задержка на проводах 10+ns

синтез наверно напрягать не имеет смысла - там логики нет - выход триггера->входы BRAMов

переписать это вручную можно, но может есть волшебная кнопка?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, yes сказал:

то есть ожидаю, что триггер будет размножен и на этих копиях фанаут и задержка будут меньше

попробовал стратегии performance_netdelay_high и perfirmance_retiming - одно и то же - не размножает

Ретайминг разве размножает регистры? Он, вроде, перемещает их по пути прохождения сигнала для балансировки задержек между регистрами, где это возможно (т.е. не нарушается логика описания). А размножение регистров происходит, например, при включенной Duplicate Register опции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых для указанной технологии должна применятся настройка register duplication (на сколько помню).

Во-вторых, для того, чтобы у Вас был небольшой фанаут... задайте его вручную) порядка 75 подключений будет вполне достаточно и синтезабельно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Nick_K said:

Во-первых для указанной технологии должна применятся настройка register duplication (на сколько помню).

ну а где она? я не нашел

7 hours ago, dxp said:

Ретайминг разве размножает регистры? Он, вроде, перемещает их по пути прохождения сигнала

а если там дерево (фанаут)? то есть надо по разным ветвям.

симлифай и синтез вивадо размножают (и DC естестественно) - но они двигают по "конусу" логики. а в этом случае логики нет - размножать должен не синтез, а P&R / ну или же синтез должен быть не тупым и дуплицировать регистры заранее. вполне возможно, что FPGA-шный P&R не имеет права менять нетлист

вобщем начну переписывать код - что-то быстро я такого не нашел. вивадовское timing closure говоит что там есть физикал синтезис, который должен делать регистер дупликэйшин сам по себе, без каких-либо доп.опций - либо я не нашел

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте посмотреть тут:

40090 - Design Assistant for XST - Help with Register Duplication and fanout (xilinx.com)

Вроде бы ситуация вполне подобная.

Сама настройка была в более ранних версиях, а теперь видимо является частью параметра register_balancing.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делал когда-то подобные штуки с помощью атрибутов синтеза. max_fanout для вивады и syn_maxfan для синплифая.

Вставлял эти атрибуты прямо в верилоговские исходники, но это очевидно плохой способ - надо аналогичные директивы писать в XDC/SDC файлы чтобы переносимость исходников не страдала.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я пока отложил разбирательство.

для ультраскейл+ (который собственно таргет) развелось как есть (и еще +3нс слэк)

а для цинка 7000, на котором я балуюсь (софт отлаживаю, поверяю, что не пронес по-крупному и т.д.) пока более дорогие платы заняты - выкрутился уменьшением размера памяти

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...