|
|
  |
Как понять какой регистр в пайплайне излишен, чтобы сократить использование логики |
|
|
|
Apr 29 2011, 07:34
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Всем привет,
а также, ПРЕБОЛЬШУЩЕЕ СПАСИБО всем советующим и советовавшим мне по моим высокочастотным и параллельным задачкам.
Я, как уже недавно похвалился, смог собрать то, что хотел с фмакс>400МГц, но есть у меня еще одно желание к моему проекту, но, не знаю, где копать, поэтому обращаюсь к Вам за советом!
В моем проекте имеется довольно длинный пайплайн, содержащий около 20 шагов, около десяти из которых - сами вычисления, а еще примерно 10 - это копирования во всякие вспомогательные промежуточные регистры.
Если эти вспомогательные регистры убрать, то я использую около 34К лютов, но фмакс будет маленький, если они все есть, то 80К лютов и фмакс - как надо. Всего на кристалле есть 113К лютов.
Есть подозрение, что я использую эти промежуточные регистры с большим размахом, и я мог бы собрать дизайн с 60К лютов и тем же фмаксом. Такое желание обусловленно тем, что, если у меня будет много свободных лютов, то я смог бы в эту же плиску воткнуть еще чего в параллель.
Мне алгоритмически не критично удалить один или несколько промежуточных регистров, но, каждый пересбор проекта стоит мне 50 минут. А, как вы можете предположить, комбинаций на удаление может быть 2^{10}.
Скажите, пожалуйста, где и как я мог бы посмотреть, что, например, какой-то регистр в моем пайплайне не сильно важен (даже не знаю как сказать, только примерно чуствую что может быть что-то такое автоматическое).
Спасибо
ИИВ
|
|
|
|
|
Apr 29 2011, 08:24
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
Можно вывести список N худших путей в timing analyzer. Можно гистограмму задержек построить, и худшие пути отфильтровать по гистограмме. Этап конвейера, где все пути имеют задержку t << tclk, можно убрать. Например, этапы конвейера такого вида: - DFF -> DFF - DFF -> LUT -> DFF можно попытаться убрать, если вы их сами не ввели для улучшения fmax  . --- Разумеется, логику убранного этапа надо куда-то деть, если она нужна. Например, в соседний этап перенести, если fmax не грохнется.
|
|
|
|
|
Apr 29 2011, 19:34
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Уважаемый Jojo, очень благодарен Вам за ответ и сильно прошу прощения, что не владею терминологией и не могу ясно сформулировать что хочу, в Вы, своим ответом, мне с этим сильно помогли. Цитата(jojo @ Apr 29 2011, 14:24)  Можно вывести список N худших путей в timing analyzer. Можно гистограмму задержек построить, и худшие пути отфильтровать по гистограмме.
Этап конвейера, где все пути имеют задержку t << tclk, можно убрать. Вот, именно это-то я и спрашивал. Скажите, пожалуйста, правильно ли я понимаю, что, в "TimeQuest Timing Analyzer"->"Report Timing"->"Core Clock Setup" / "Core Clock Hold" как раз эти задержки по путям и даны? Спасибо ИИВ
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|