Jump to content

    

Recommended Posts

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

Проект на Zynq-7000. Имеем такие constraints:

create_clock -name clk_fpga_0 -period 10 [get_pins {system/bd_top_i/cpu/inst/PS7_i/FCLKCLK[0]}]

set_clock_groups -name all_async -asynchromous -group [get_clocks -include_generated_clocks clk_fpga_0] -group [get_clocks -include_generated_clocks clk51_25_in]

Выдается сообщение об ошибке:

[Vivado 12-4729] set_clock_groups: No valid object(s) found for '-group[get_clocks -include_generated_clocks clk_fpga_0]'.

Не могу понять почему. Скорее всего, что-то не так с созданием клока, но что именно?

Share this post


Link to post
Share on other sites

Первое если клок есть в корке, его не нужно объявлять повторно - это ничего не даст, а случайных ошибок наделать можно.
Второе: объявление 

-include_generated_clocks

не обязательно, а может быть и вредно. Оно может мыскировать место реального несоответствия.

И третье: попробуйте создать нужный вам констрейн через IDE. Иногда там даже проще разобраться и настроить нужное, чем бродить в потёмках недопонимания или опечаток

Share this post


Link to post
Share on other sites

Мне кажется, что проблема не в 

clk_fpga_0

а именно в конструкции

-group [get_clocks -include_generated_clocks clk_fpga_0]

Если вы напишете

set_clock_groups -name all_async -asynchronous -group [get_clocks clk_fpga_0] -group [get_clocks clk51_25_in]

то этой ошибки не будет. 

Возможно Вивада думает, что у вас внутри -group [...] не одна сущность, как должно быть, а две 

Share this post


Link to post
Share on other sites
55 minutes ago, Zwerg_nase said:

не одна сущность, как должно быть

А где это сказано, что там должна быть одна сущность??? Использование множественного числа как бы намекает на обратное...

Share this post


Link to post
Share on other sites
6 hours ago, Nick_K said:

попробуйте создать нужный вам констрейн через IDE

Попробовал. Он нашел клоки по именам, засунул их в target constraints file (без include_generated_clocks), а потом при синтезе доблестно не нашел clk_fpga_0. У меня фантазия иссякла...

Share this post


Link to post
Share on other sites
6 hours ago, gosha-z said:

доблестно не нашел clk_fpga_0

А вот это странно. Для правильного синтеза все объявленые клоки как минимум должны синтезироваться и должны быть "видны" в проекте.

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

Share this post


Link to post
Share on other sites
16 hours ago, gosha-z said:

Скорее всего, что-то не так с созданием клока, но что именно?

Клок clk_fpga_0 второй раз создавать не нужно.

 

Вот так попробуйте:

create_clock -name clk51_25_in -period 40 [get_ports clk51_25_in]

set_clock_groups -name all_async -asynchronous -group clk_fpga_0 -group clk51_25_in

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.