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

Несколько дилетантских вопросов по TimeQuest

Приветствую всех.

Начал заниматься ПЛИС. Работаю с MAX10.

Сделал проектик чтения АЦП по SPI. Период чтения 2МГц, частота SPI - 50МГц. При компиляции варнинги от TimeQuest. Начал разбираться.

В основном модуле вызывается модуль PLL, генерирующий из входных 50МГц выходные 100МГц.

Также имеются модули конфигурирования АЦП и чтения АЦП.

TimeQuest выдает следующие варнинги:

Node: adc_config:adc_conf|sck was determined to be a clock but was found without an associated clock assignment.

Node: adc_read_quadSPI:adc_meas|sck was determined to be a clock but was found without an associated clock assignment.

Node: adc_config:adc_conf|cur.cs_set was determined to be a clock but was found without an associated clock assignment.

Register cnvst_signal:cnvst_create|enable_reg is being clocked by adc_config:adc_conf|cur.cs_set

Node: adc_read_quadSPI:adc_meas|cur.000 was determined to be a clock but was found without an associated clock assignment.

Register counter_sum[0] is being clocked by adc_read_quadSPI:adc_meas|cur.000

Deriving Clock Uncertainty. Please refer to report_sdc in TimeQuest to see clock uncertainties.

PLL cross checking found inconsistent PLL clock settings:

Node: generator|altpll_component|auto_generated|pll1|clk[0] was found missing 1 generated clock that corresponds to a base clock with a period of: 20.000

 

1) Вообще, мне не понятно почему клоки (что генерируемые PLL, что логикой) нужно описывать, когда они все генерируются логикой ПЛИС, собственно для этого TimeQuest и создан, он сам должен их просчитывать. Ну да ладно, принимаю как должное.

2) Можно ли комментировать строки в файле SDC? Как это делается?

3) Решил начать с клока PLL. Выходным клоком PLL у меня является цепь clk_100MHz. TimeQuest же ругается на generator|altpll_component|auto_generated|pll1|clk[0], а вот самой цепи clk_100MHz в Name Finder нет. Правильно ли я понимаю, что TimeQuest не понимает цепи проекта, а только регистры, пины микросхемы и порты модулей?

Для определения клока PLL 100МГц сделал так (покопавшись в интернете)

derive_clock_uncertainty

create_clock -period 50MHz -name {clk_50MHz_in} [get_ports {clk_50MHz_in}]

derive_pll_clocks -create_base_clocks

set clk_100MHz generator|altpll_component|auto_generated|pll1|clk[0]

set_clock_groups -exclusive -group

Причем clk_100MHz это не цепь из моего проекта, а имя, которое я могу теперь использовать в TimeQuest. И такая же ситуация с любыми имена, которые я буду создавать в TCL скрипте. Верно?

Команда set_clock_groups -exclusive -group

  1. говорит, что тактовые частоты асинхронны друг другу.
TimeQuest будет считать сдвиги между частотами?

4) Далее имеются клоки adc_config:adc_conf|sck и adc_read_quadSPI:adc_meas|sck, получаемые делением на 2 частоты 100МГц. Делаем для каждого create_generated_clock, set_clock_groups -exclusive и именуем клоки как хотим? Все остальное TimeQuest посчитает и покажет?

5) Остаются клоки adc_config:adc_conf|cur.cs_set и adc_read_quadSPI:adc_meas|cur.000. Начнем с того, что регистров и цепей с таким названием в проекте нет, однако, первый это похоже сигнал CS конфигурирования АЦП. Он вырабатывается лишь один раз, это не клок, однако задержки его посмотреть надо.

Второй, судя по логу, тактирует регистр суммы, которая обновляется также с частотой чтения АЦП 2МГц. Название какое то странное adc_read_quadSPI:adc_meas|cur.000. Откуда TimeQuest его взял? Раз он на него ругается, то его нужно по любому описывать и опять же давать любое название?

 

Заранее спасибо за пояснения.

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

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


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

2) Можно ли комментировать строки в файле SDC? Как это делается?
sdc -- это обыкновенный tcl-скрипт со всеми вытекающими.

 

По остальному попробуйте начать с этого: http://caxapa.ru/thumbs/442268/TimeQuest_for_dummies.pdf

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


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

По остальному попробуйте начать с этого: http://caxapa.ru/thumbs/442268/TimeQuest_for_dummies.pdf

Естественно это я читал. Собственно благодаря статье я и написал кое какие констрейны, но вопросы остались.

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

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


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

2) Можно ли комментировать строки в файле SDC? Как это делается?

 

Знак комментария

 

#

 

На остальные вопросы отвечать недостаточно компетентен.

 

sdc -- это обыкновенный tcl-скрипт со всеми вытекающими.

 

По остальному попробуйте начать с этого: http://caxapa.ru/thumbs/442268/TimeQuest_for_dummies.pdf

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

 

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


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

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

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


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

Правильно ли я понимаю, что TimeQuest не понимает цепи проекта, а только регистры, пины микросхемы и порты модулей?

Да, все так. Читайте синтаксис команд в хелпе - нужны либо пины, либо порты.

 

set clk_100MHz generator|altpll_component|auto_generated|pll1|clk[0]

Причем clk_100MHz это не цепь из моего проекта, а имя, которое я могу теперь использовать в TimeQuest. И такая же ситуация с любыми имена, которые я буду создавать в TCL скрипте. Верно?

Вы задали переменную clk_100MHz со значением generator|altpll_component|auto_generated|pll1|clk[0]. В скрипте её можно использовать после задания, да. Почитайте про язык Tcl

 

Команда set_clock_groups -exclusive -group
  1. говорит, что тактовые частоты асинхронны друг другу.
TimeQuest будет считать сдвиги между частотами?

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

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


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

5 копеек в кассу: по поводу временного анализа в плане setup-hold и т.п. у xilinx намного толковее написано чем у альтеры. По крайней мере у меня сложилось такое ощущение, когда читал...

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


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

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

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

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

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

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

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

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

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

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