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

iceCUBE2 помогите с констрейнами

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

Никак не получается написать констрейн.

Модуль на Verilog

module top_level( clock_50, 
                  ....);

    input   clock_50;
	....
    wire    clk_150;
	...

	main_pll I1(.PACKAGEPIN(clock_50), .PLLOUTGLOBAL(clk_150), .RESET(1'b1));
	....
endmodule // top_level

Пытаюсь задать констрейны для клока

create_clock -period 40.000 -name {clock_50} [get_ports {clock_50}]
create_generated_clock -name {clk_150} -source [get_ports {clock_50}] -multiply_ by 5 [get_ports {I1.main_pll_inst/PLLOUTGLOBAL}] 
set_clock_groups -exclusive -group {clock_50 clk_150}

В итоге в логе компиляции появляется следующее сообщение

Quote

Cannot forward annotate set_clock_groups command because clock clk_150 cannot be found

Что я делаю не так ?

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


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

Если clk_150 не сгенерировался, тогда нужно посмотреть ворнинг по нему. Иначе придётся топтаться на месте.

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


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

42 minutes ago, Nick_K said:

Если clk_150 не сгенерировался, тогда нужно посмотреть ворнинг по нему. Иначе придётся топтаться на месте.

Есть такой автоматически сгенерированный файл

Quote

# Synopsys Constraint Checker(syntax only), version maplat, Build 1612R, built Dec  5 2016

 

В нем есть следующая строка

Constraints with issues
***********************

create_generated_clock -name { clk_150 } -source {  } -multiply_by { by } { 5 } {  }
	@E:"d:/dima/project/lattice/terst_1/test_1.sdc":2:0:2:0|Param "-multiply_by" has non integer parameter value which will be converted into integer.
	@N:"d:/dima/project/lattice/terst_1/test_1.sdc":2:0:2:0|Constraint will be disabled.

 

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


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

Все оказалось проще.

В iceCUBE2 есть инструмент для Timing Constrain Editor.

Создал с помощью него констрэйн. И вот такой синтаксис получился

create_generated_clock  [get_nets {clk_150}]  -source [get_ports {clock_50}]  -multiply_by 5 -name {clk_150}

 

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


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

11 часов назад, dimka76 сказал:

Все оказалось проще.

В iceCUBE2 есть инструмент для Timing Constrain Editor.

Создал с помощью него констрэйн. И вот такой синтаксис получился


create_generated_clock  [get_nets {clk_150}]  -source [get_ports {clock_50}]  -multiply_by 5 -name {clk_150}

 

У вас в исходной строчке пробел перед by

-multiply_ by

 

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


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

2 hours ago, _sda said:

У вас в исходной строчке пробел перед by


-multiply_ by

 

Да, спасибо, я это тоже заметил. Но исправление не помогло, а помог только  инструмент для Timing Constrain Editor.

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


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

23 minutes ago, dimka76 said:

Да, спасибо, я это тоже заметил. Но исправление не помогло, а помог только  инструмент для Timing Constrain Editor.

Всё верно, потому что вид net'а с которого нужно генерировать клок лоджен иметь вид "net:clk_150", кторый является выхлопом функции [get_nets {clk_150}],  а запись вида -name { clk_150 } не является таковой.

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


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

38 minutes ago, Nick_K said:

Всё верно, потому что вид net'а с которого нужно генерировать клок лоджен иметь вид "net:clk_150", кторый является выхлопом функции [get_nets {clk_150}],  а запись вида -name { clk_150 } не является таковой.

Понятно, спасибо.

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


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

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

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

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

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

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

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

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

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

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