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

Опять TimeQuest+FMax

Всем привет,

 

очень Всем форумчанам благодарен за классные и полезные советы, которые наконец-то оживили мой проект!

 

Обнаружил одно наблюдение, и хочу посоветоваться, может кто-то сталкивался и знает что можно сделать.

 

Есть довольно плотный проект для стратикса, который использует около 40К алутов, 90К регистров, 382 умножителя и 4.5М блочной памяти. Весь проект работает на 3-х клоках, назовем их Clk1, Clk2, Clk3 c жестко связанными частотами Freq(Clk2)=Freq(Clk1)/2, Freq(Clk3)=Freq(Clk2)/3

 

Клоки получаются на одном внутреннем PLL.

 

Ресурсы распределены по клок домейнам так:

Clk1: все умножители, 30% алютов и около 70% регистров,

Clk2: 70% алютов и 30% регистров,

Clk3: вся блочная память.

 

Если собирать этот проект, установив частоты на PLL как 400МГц, 200МГц, 66МГц, то fmax, достигается около 405МГц, 235МГц и 110МГц, что, конечно классно, и нет слаков, но, верхняя частота получается почти на пределе.

 

Если же собрать все то же самое, указав на PLL чуть выше частоты, например 417МГц, 208МГц, 70МГц, то fmax получается существенно лучше, а именно 443МГц, 227МГц, 80МГц.

 

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

 

Скажите, пожалуйста, как сказать квартусу, чтобы он собрал проект на мои 400МГц, 200МГц, 66МГц частоты, но, сделал больший запас по слакам для самого скоростного клок домейна? Наверное есть что-то сакровенное в SDC файле или где-то в настройках, но, гуглив и читая, я сам не смог найти такую опцию.

 

PS: в опциях квартуса в "Time Optimization Advisor" все стоит по-максимому.

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

 

Спасибо

 

ИИВ

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


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

Шаманство

где-то в настройках

, а точнее в настройках фиттера с параметром Seed Value могут как улучшить, так и ухудшить запас. В Квартусе есть специальный шаманский бубен - Design Space Explorer (где-то рядом на этом форуме топик был про него), бейте в него :biggrin: .

ИМХО только так.

PS: смотреть лучше не на Fmax - это несколько косвенный признак, а на запас по сетапу и холду, причем крайне желательно, чтобы он был примерно одинаковым. Смотреть, разумеется, на разных предельных случаях (Fast и Slow Corner).

Изменено пользователем AndrewS6

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


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

Весь вопрос - зачем это вам?

Если вы получили свои 400 МГц, то по заверениям Altera вы их выдержите и на холоде и в печке в диапазоне, соответствующем вашей ПЛИС.

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

Уточните, что за стратикс. А то логики у вас что-то много на 400 МГц вытянулось. Подозрительно ;)

Если хотите подтянуть только верхнюю частоту, то увеличивайте только её.

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


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

Весь вопрос - зачем это вам?

+1

Если все ограничения заданы, то работать будет. Но если очень хочется, то DSE, о котором AndrewS6 уже написал. Задайте настройки по быстродействию и seed 1-99. Запустите на выходные и DSE прогонит несколько сот точек :)

PS// Кстати, что значит в опциях квартуса в "Time Optimization Advisor" все стоит по-максимому?

Как бы некоторые настройки только ухудшают разводку, иногда даже банальная оптимизация по площади в синтезе дает лучший временной результат нежели оптимизация по быстродействию. Все зависит от конкретного проекта. Просто нет оптимальной настройки, чтоб разводилось с наилучшим результатом по быстродействию для всех проектов. То что написано в Advisor - просто советы и если выставить все "что там рекомендовано", то результат может быть довольно плачевным.

Изменено пользователем bogaev_roman

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


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

Смотреть, разумеется, на разных предельных случаях (Fast и Slow Corner).

 

Просветите пожалуйста, что это значит Fast и Slow Corner ?

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


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

Просветите пожалуйста, что это значит Fast и Slow Corner ?

Быстрая и медленная временная модель (наименьшие возможные и наибольшие возможные задержки соответственно). Определяются исходя из отклонений, обусловленных техпроцессом и изменениями температуры и напряжения питания в допустимом диапазоне.

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


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

я пару раз баловался с подобной задачей. Для себя нашел выход - собираю проект на завышенной частоте и делаю логикЛок для всего, кроме pll и интерфейсной мелочи. Потом понижаю частоту и собираю повторно.

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


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

Уважаемые форумчане,

 

спасибо всем, кто отвечал и советовал! Воспользовался методом от S_Hawk - получилось просто и быстро.

 

Спасибо

 

ИИВ

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


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

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

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

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

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

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

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

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

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

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