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

Правильное описание constraint

Форумчане, день добрый. Помогите правильно описать путь пжлст.

Очень упрощенно имею такой код.

assign x = (a == 16'd49000)? 1'b0: 1'b1;
assign z = {...., x, ....};
            
always @ (posedge clk) begin
  a <= ...
end

Хочу помочь квартусу не напрягаться. И сказать что расчет Z мне актуален после трех тактов, как получу A. То есть, чтобы он не напрягался и не пробовал все уложить в один такт.

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

Или может в таких условиях вообще set_false_path подойдет?

 

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

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


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

29 minutes ago, new123 said:

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

Или может в таких условиях вообще set_false_path подойдет?

https://embedders.org/content/timequest-dlya-chainikov-prilozhenie-3-dobryi-i-zlobnyi-multicycle

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

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


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

Меня в таких случаях тянет завести несколько CE разнесённых по фазе на несколько клоков.

Интересно, если так сделать - надо будет думать о constraint или квартус/вивадо - сам поймёт?

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


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

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

Если логику z  как-то  фиксировать, например (* keep *) чтобы при синтезе она не оптимизировалась, то тогда можно попробовать задать 

set_multicycle_path 3 -start -setup -from [get_pins path_name/a_reg|q*]  -through [get_cells  path_name/z]

set_multicycle_path 2 -start  -hold  -from [get_pins path_name/a_reg|q*]  -through [get_cells  path_name/z]

Ну или нужен такой код, чтобы можно было явно задавать set_multicycle_path конкретно до z

assign x = (a == 16'd49000)? 1'b0: 1'b1;
            
always @ (posedge clk) begin
  a <= ...
  z <= {...., x, ....};
end

set_multicycle_path 3 -end -setup -from [get_pins path_name/a_reg|q*]  -to [get_pins path_name/z_reg|d*]

set_multicycle_path 2 -end -hold   -from [get_pins path_name/a_reg|q*]  -to [get_pins path_name/z_reg|d*] 

Удачи! Rob.

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


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

36 minutes ago, des00 said:

https://embedders.org/content/timequest-dlya-chainikov-prilozhenie-3-dobryi-i-zlobnyi-multicycle

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

спасибо, я об этом не подумал. Надо в Time Analyzer поковырять мне пути.

4 minutes ago, RobFPGA said:

Ну или нужен такой код, чтобы можно было явно задавать set_multicycle_path конкретно до z

спасибо.

Всем спасибо большое, как всегда, быстро и профессионально

32 minutes ago, _4afc_ said:

надо будет думать о constrain

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

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


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

False path  лучше не использовать - при синтезе не  будет никаких  констрейнов, только логика. 

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


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

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

59 minutes ago, lexx said:

False path  лучше не использовать - при синтезе не  будет никаких  констрейнов, только логика.

Не могли бы пояснить что вы имели в виду?

Успехов! Rob.

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


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

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

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

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

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

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

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

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

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

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