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

Quartus, constraint, применение и скриптинг

Приветствую!

Продолжаю погружаться в пучину Qu -  возник вопрос о порядке применения файлов констрэйнов.  А именно например есть модуль CDC перехода gray_cdc. Надо задать задержки и skew между wr и rd clock доменами.  В Vivado для этого  я мог для каждого отдельного инстанса получить список wr_r[*]  и rd_r[*] регистров, а так же клоки и актуальные значения частот  для wr и rd домена и рассчитать задержки  от максимальной из частот. В Qu  же судя по всему все сложнее.  В корках Qu эти задержки ставятся абсолютом (delay 2 ns skew 1.5 ns)  причем сразу для всех регистров всех gray_cdc модулей. И если как олучить список регистров для каждого отдельного модуля уже понятно то вот как получить актуальные клоки  пока большой вопрос. :scratch_one-s_head:

К тому же вопрос и схеме применения клоков (последовательности кострэйнов) - так как sdc фалы применяются в том же порядке, каки включены в проект. Значит top sdc с определениями базовых клоков надо включать первым - перед всеми другими что могут быть в IP корках.  А в обычных проектах я вижу что все наоборот. Какая-то каша получается (и в голове и в .qsf).

Успехов! Rob.

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


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

Здравствуйте!

Не совсем понятны ваши потребности, но возможно поможет:

Quote

-get_skew_value_from_clock_period < src_clock_period | dst_clock_period | min_clock_period >  Option to interpret skew constraint as a multiple of the clock period.

-skew_value_multiplier < multiplier > Value by which the clock period multiplies to compute skew requirement.

Например:

set_max_skew -from $from_node_list -to $to_node_list -get_skew_value_from_clock_period min_clock_period -skew_value_multiplier 0.8

set_net_delay -from $from_node_list -to $to_node_list -max -get_value_from_clock_period dst_clock_period -value_multiplier 0.8

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


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

Приветствую!

Потребности просты  - разобраться в методике применения constaint в Qu. Так как приходиться разбираться с большим проектом в Qu 14.1. А идеология constaint немного отличается от Vivado. 

1 hour ago, iglaz3 said:

set_max_skew -from $from_node_list -to $to_node_list -get_skew_value_from_clock_period min_clock_period -skew_value_multiplier 0.8

Спасибо! Да это уже лучше - судя по всему задаются соотношения, которые вычисляться автоматом на этапе P&R. Но надо проверить что клоки берутся для каждого регистра отдельно.

Успехов! Rob.  

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


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

22 hours ago, RobFPGA said:

Спасибо! Да это уже лучше - судя по всему задаются соотношения, которые вычисляться автоматом на этапе P&R. Но надо проверить что клоки берутся для каждого регистра отдельно.

Получив коллекции регистров, всегда можно пробежать их в цикле. Либо как вариант сделать процедуру и вызывать из TOP SDC для всех нужных инстансов с параметрами. 

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


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

Приветствую!

7 minutes ago, iglaz3 said:

Получив коллекции регистров, всегда можно пробежать их в цикле.

Да с этим то как раз просто  - чуть сложнее  было выделить регистры из  инстансов конкретного типа. Пока так и не понял (но уже кажется что нет) можно ли в Qu напрямую находить инстансы заданного типа  (аналог команды в Vivado get_cells -filter {REF_NAME =~ gray_cdc*}). 

Приходится сначала находить регистры во всех инстансах соответствующего типа, потом  выделять и фильтровать имена оставляя уникальные. 

Удачи! Rob.

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


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

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

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

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

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

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

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

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

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

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