Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как понять какой регистр в пайплайне излишен
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
iiv
Всем привет,

а также, ПРЕБОЛЬШУЩЕЕ СПАСИБО всем советующим и советовавшим мне по моим высокочастотным и параллельным задачкам.

Я, как уже недавно похвалился, смог собрать то, что хотел с фмакс>400МГц, но есть у меня еще одно желание к моему проекту, но, не знаю, где копать, поэтому обращаюсь к Вам за советом!

В моем проекте имеется довольно длинный пайплайн, содержащий около 20 шагов, около десяти из которых - сами вычисления, а еще примерно 10 - это копирования во всякие вспомогательные промежуточные регистры.

Если эти вспомогательные регистры убрать, то я использую около 34К лютов, но фмакс будет маленький, если они все есть, то 80К лютов и фмакс - как надо. Всего на кристалле есть 113К лютов.

Есть подозрение, что я использую эти промежуточные регистры с большим размахом, и я мог бы собрать дизайн с 60К лютов и тем же фмаксом. Такое желание обусловленно тем, что, если у меня будет много свободных лютов, то я смог бы в эту же плиску воткнуть еще чего в параллель.

Мне алгоритмически не критично удалить один или несколько промежуточных регистров, но, каждый пересбор проекта стоит мне 50 минут. А, как вы можете предположить, комбинаций на удаление может быть 2^{10}.

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

Спасибо

ИИВ
jojo
Можно вывести список N худших путей в timing analyzer.
Можно гистограмму задержек построить, и худшие пути отфильтровать по гистограмме.

Этап конвейера, где все пути имеют задержку t << tclk, можно убрать.

Например, этапы конвейера такого вида:
- DFF -> DFF
- DFF -> LUT -> DFF
можно попытаться убрать, если вы их сами не ввели для улучшения fmax sm.gif.

---

Разумеется, логику убранного этапа надо куда-то деть, если она нужна.
Например, в соседний этап перенести, если fmax не грохнется.
yes
имплементация на стратиксе?

то есть разговор про LE, а не ЛУТы? вроде как конвеер на логику не влияет, а только на количество флип-флопов

----------------------------------

в квартусе есть "галки" perform register retiming / perform register duplication

можно их использовать для автоматического построения конвеера - то есть убрать подозрительные ступеньки и попытаться синтезировать с этими опциями

--------------------

если автоматическим методам доверия нет,
то метода такая
тот элемент : структуру / масив и т.п. в котором описана станция (регистр) пайплайна

описываете как
logic this_stage;

без регистра
always_comb
this_stage=prev_stage;

ну и попытаться синтезировать
если по времянке не влезло, то

always @(posedge clk)
this_stage=prev_stage;

и т.д.

------------------

пользование статическим временным анализом (тайм квест) драматически уменьшает количество вариантов для перебора

iiv
Уважаемый Jojo,

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

Цитата(jojo @ Apr 29 2011, 14:24) *
Можно вывести список N худших путей в timing analyzer.
Можно гистограмму задержек построить, и худшие пути отфильтровать по гистограмме.

Этап конвейера, где все пути имеют задержку t << tclk, можно убрать.


Вот, именно это-то я и спрашивал.

Скажите, пожалуйста, правильно ли я понимаю, что, в "TimeQuest Timing Analyzer"->"Report Timing"->"Core Clock Setup" / "Core Clock Hold" как раз эти задержки по путям и даны?

Спасибо

ИИВ
jojo
Рад был помочь.

Я с TimeQuest давно не работал, но думаю, что это нужные пункты, судя по названию.
Где-то рядом есть пункт меню, нажав который, можно получить гистограмму запаса по tSU.
Из этой гистограммы тоже что-то можно выудить.

Важны пути с наименьшим запасом tSU, в них бывает полезно добавить триггеры.
Но важны и пути с наибольшим запасом, их можно объединить и сэкономить ресурсы.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.