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

Проблема с IDELAYCTRL при переносе проекта из Vivado 18.2 в 22.1

В проекте работаю с коркой MIG DDR3 и Tri Mode Ethernet MAC(9.0). Перенёс проект из Vivado 18.2 в 22.1. Появилась такая ошибка, не могу понять в чём причина. Кто-нибудь сталкивался?

image.thumb.png.c6466b6e978a563f339c378e19370712.png

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


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

Так пишут же -  в группе куда назначены IODELAY  нет IODELAY_CTRL ... 


У вас в дизайне может быть  несколько  групп  в  которые назначаются некоторые IODELAY и каждую из которых должен быт назначен свой IODELAY_CTRL
Для  этого  соответствующий параметры имени группы в IODELAY  и IODELAY_CTRL. 
Вам надо   влепить где то IODELAY_CTRL и задать ему имя группы как в контроллере. 
Ну или наоборот  - задать имя группы в контроллере как в уже стоящем  IODELAY_CTRL

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


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

4 hours ago, RobFPGA said:

Так пишут же -  в группе куда назначены IODELAY  нет IODELAY_CTRL ... 


У вас в дизайне может быть  несколько  групп  в  которые назначаются некоторые IODELAY и каждую из которых должен быт назначен свой IODELAY_CTRL
Для  этого  соответствующий параметры имени группы в IODELAY  и IODELAY_CTRL. 
Вам надо   влепить где то IODELAY_CTRL и задать ему имя группы как в контроллере. 
Ну или наоборот  - задать имя группы в контроллере как в уже стоящем  IODELAY_CTRL

Это в XDC нужно прописывать? Каким образом?

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


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

1 hour ago, maxics said:

Это в XDC нужно прописывать? Каким образом?

Да где угодно,  или  в коде :

   module blabla (...);
   ...
   (* IODELAY_GROUP = "ABCD" *) // Specifies group name for associated IDELAYs/ODELAYs and IDELAYCTRL
   IDELAYCTRL IDELAYCTRL_inst (
      .RDY(RDY),       // 1-bit output: Ready output
      .REFCLK(REFCLK), // 1-bit input: Reference clock input
      .RST(RST)        // 1-bit input: Active high reset input
   );  
  ... 

или в xdc 

set_property IODELAY_GROUP "ABCD" [get_cells blabla/IDELAYCTRL_inst]

 

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


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

On 8/23/2024 at 6:43 PM, RobFPGA said:

Да где угодно,  или  в коде :

   module blabla (...);
   ...
   (* IODELAY_GROUP = "ABCD" *) // Specifies group name for associated IDELAYs/ODELAYs and IDELAYCTRL
   IDELAYCTRL IDELAYCTRL_inst (
      .RDY(RDY),       // 1-bit output: Ready output
      .REFCLK(REFCLK), // 1-bit input: Reference clock input
      .RST(RST)        // 1-bit input: Active high reset input
   );  
  ... 

или в xdc 

set_property IODELAY_GROUP "ABCD" [get_cells blabla/IDELAYCTRL_inst]

 

Вставил Idelayctrl

image.thumb.png.4a6a052ce599e266bfc0d31a63fc752a.png

И добавил строчку в xdc

image.thumb.png.0547cb9545d143a04d82ff83c0000bc5.png

Всё равно выдаёт ошибку((

[DRC PLIDC-1] IDELAYCTRL missing from group with assigned IODELAYs: IODELAY cells have been found to be associated with IODELAY_GROUP 'tri_mode_ethernet_mac_iodelay_grp', but there is no IDELAYCTRL associated with this IODELAY_GROUP.
 

 

 

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


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

13 hours ago, maxics said:

Вставил Idelayctrl ...

Ну так откройте синтезированный дизайн,  найдите IDELAY и IDELAY_CTRL  и посмотрите в property какие  там группы. 
А заодно и проверьте  в открытом дизайне находит ли по указанным в констрейне  путях  соответвуюшие примитивы.      

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


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

13 hours ago, RobFPGA said:

Ну так откройте синтезированный дизайн,  найдите IDELAY и IDELAY_CTRL  и посмотрите в propery какие  там группы. 
А за одно и проверьте  в открытом дизайне находит ли по указанным констрейне  в путях  соответвуюшие примитивы.      

Сделал как вы сказали, примитивы IDELAYE2 находятся в группе tri_mode_ethernet_mac_iodelay_grp, при этом я не вижу IDELAYCTRL, хотя я его добавил:

   IDELAYCTRL_gmii : IDELAYCTRL
      port map (
         RDY               => open, 
         REFCLK            => rx_clk_int,
         RST               => rx_reset);


    и прописал атрибуты:

    attribute IODELAY_GROUP : string;
    attribute IODELAY_GROUP of IDELAYCTRL_gmii: label is "tri_mode_ethernet_mac_iodelay_grp";

image.thumb.png.5c2c5b17c9186ac5a48199d6cc142cf8.png

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


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

22 hours ago, maxics said:

при этом я не вижу IDELAYCTRL, хотя я его добавил:

Модуль без использованных выходов может оптимизироваться при синтезе/P&R 
Поэтому либо как то  используйте выход RDY  либо атрибутами (KEEP, DONT_TOUCH)  запретите оптимизацию.     

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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