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

Quartus TimeQuest

До сих пор пользовался "классическим анализатором". Однако поле установки Квортуса версии 7.1 обнаружил, что появилась возможность TimeQuest вместо "классического". Решил попробовать.

 

Убил уйму времени на чтение док, но так в общем-то и не въехал, мутно как-то все. Перевел свой проект на TimeQuest, кое-как задал констрейны. Результат получился ужасным: Квортус жевал сопли 16 мин вместо обычных 5 мин, а результат компиляции по макс. частоте клоков деградировал раза в два и более... :(

 

Туплю. Так и не понял, что из констрейнов ТаймКвеста отправляется в фиттер. Может, кто просветит в двух словах?

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


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

как не очень опытный пользователь:

 

1. формат синопсиса, если вы проект дальше в DC/PT передаете, то можно использовать те же скрипты по времянке.

2. мне сложно сказать, какая часть идет в analysis & synthesis, какая в fitter, но для полного цикла используются все констрейны. SDC файл нужно указывать до компиляции, чтобы он использовался во время.

3. Простейшие команды:

 

a) derive_pll_clocks -use_tan_name # чтобы не описывать pll клоки руками

 

b) пара примеров задания тактовых на пины

create_clock -name foo -period 20 -waveform { 0.000 10 } [get_ports {foo_pin}]

create_clock -period "25 MHz" -name {foo} {foo_pin}

Во втором случае второй нет команды поиска объекта/порта,

 

с) задание задержек на пины

set_output_delay -max 1 -clock {pll_50_50:pll_ddr_2|altpll:altpll_component|_clk0} [get_ports {ddr_addr_o*}]

set_output_delay -min -1.5 -clock {pll_50_50:pll_ddr_2|altpll:altpll_component|_clk0} [get_ports {ddr_addr_o*}]

 

set_input_delay -max 0.85 -clock {pll_50_50:pll_ddr_2|altpll:altpll_component|_clk2} [get_ports {ddr_dq_io*}]

set_input_delay -min -0.85 -clock {pll_50_50:pll_ddr_2|altpll:altpll_component|_clk2} [get_ports {ddr_dq_io*}]

 

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

set_false_path -from [get_ports {ddr_dqs_lo_io*}] -to [get_clocks {pll_50_50:pll_ddr_2|altpll:altpll_component|_clk2}]

между входом и доменом клока

 

 

e) мультициклов под рукой нет, поищите по форуму

 

В командах поиска get_ports * используется для того, чтобы цеплялась вся многоразрядная шина. Можно задавать на отдельные разряды.

В самом таймквесет есть ГУИ, позволяющий найти объект (пин, регистр) и задать для него какие-то параметры, при этом текстовый вариант команды тоже увидите.

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


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

set_output_delay

set_input_delay

 

Эти параметры как задать? Сейчас я делаю так на вскидку выставляю по максимуму все значения, а затем уменьшаю их так что бы slack был еще положительным.

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


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

До сих пор пользовался "классическим анализатором". Однако поле установки Квортуса версии 7.1 обнаружил, что появилась возможность TimeQuest вместо "классического". Решил попробовать.

 

Убил уйму времени на чтение док, но так в общем-то и не въехал, мутно как-то все. Перевел свой проект на TimeQuest, кое-как задал констрейны. Результат получился ужасным: Квортус жевал сопли 16 мин вместо обычных 5 мин, а результат компиляции по макс. частоте клоков деградировал раза в два и более... :(

Насколько я понял из объяснений SM, основное преимущество TimeQuest в том,

что он дает возможность задавать констрейны стандартным, используемым в

традиционных EDA тулзах, способом. Если привыкли к Синопсисам (и прочим

таким пакетам), то это ощутимое удобство. В остальном, afaik, ничего сверх

классика он не дает.

 

Я тоже потыкался с ним (правда, видимо, не так подробно, как вы),

прироста в скорости дизайна не получил, удобств дополнительных не

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

ту же информативность, что и в классике - например, в классике, в

отчете о частотах сразу пути критичные показаны, а в квесте - только

максимальная частота. Пути там надо дополнительно извлекать. Может, не

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

было, а ее прироста достичь не удалось. Т.ч. не стал заморачиваться с

ним дальше, бросил, классиком пользуюсь.

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


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

Эти параметры как задать?
Эти параметры задаются стандартом интерфейса (например PCI, Ethernet). Для памяти я обычно даташиты смотрю.

Как образец можно взять готовые скрипты производителей корок. Очень часто с IP блоком идут в комплекте скрипты для синтеза.

 

 

2 dxp :

Общее впечатление такое, что Timequest при анализе копает глубже, по крайней мере иногда он показывает ошибки в тех путях, которые классический не видит (например, reset recovery), но до сих пор у меня это были не критичные места, так что я их просто игнорировал.

А задавть констрейны, я думаю, разницы нет чем.

 

Еще один момент: в таймквесте удалось получить set_false_path между доменами; классический у меня постоянно ругался в некоторых местах перехода между доменами.

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


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

Общее впечатление такое, что Timequest при анализе копает глубже, по крайней мере иногда он показывает ошибки в тех путях, которые классический не видит (например, reset recovery), но до сих пор у меня это были не критичные места, так что я их просто игнорировал.

Классик это тоже отслеживает, просто по умолчанию, насколько помню, в нем это отключено, а в квесте включено.

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


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

Эти параметры задаются стандартом интерфейса (например PCI, Ethernet).

это для классики еще понимаю. А вот для квеста параметры не понял. Там в хелпе рассматривается плис и внешний прибор и на основе этого обьясняется что значит set_output_delay, set_input_delay. Короче, не понял этот момент там. И там много еще других параметров. Для меня пока классика проще в понимании. Хотя понимаю что надо переходить на квест.

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


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

для таймквеста на форуме альтеры есть ряд публикаций.

Наиболее интересные:

http://www.alteraforum.com/forum/showthread.php?t=1119

http://www.alteraforum.com/forum/showthread.php?t=1120

 

PS: если зайти в профиль пользователя kwait на этом форуме, то можно увидеть еще много интересных тем созданных им)

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


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

Попробовал еще раз.

 

Откатился на последнюю нормально компилирующуюся версию с классическим анализатором. Переключил Квортус на ТаймКвест, портировал настройки. Скомпилировал - все ОК. Компилируется так же как раньше, но недовольна тем, что не заданы койнстрейнты I/O

 

Задал койнстрейнты I/O. Старался задавать помягче. Скомпилировал. Время компиляции возросло, появилось 700 красных ворнингов, макс. частота клоков уменьшилась вдвое.

 

Что-то я не понимаю и делаю не так... :(

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


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

Попробовал еще раз.

 

Откатился на последнюю нормально компилирующуюся версию с классическим анализатором. Переключил Квортус на ТаймКвест, портировал настройки. Скомпилировал - все ОК. Компилируется так же как раньше, но недовольна тем, что не заданы койнстрейнты I/O

 

Задал койнстрейнты I/O. Старался задавать помягче. Скомпилировал. Время компиляции возросло, появилось 700 красных ворнингов, макс. частота клоков уменьшилась вдвое.

 

Что-то я не понимаю и делаю не так... :(

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

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


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

Недавно поставил Quartus II 7.2 и обнаружил в Report Timing очень информативный график на счет set_output_delay, set_input_delay и других параметров.

post-31308-1198307997_thumb.jpg

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


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

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

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

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

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

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

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

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

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

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