Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DDR2 WARNING PhysDesignRules:1412 - Dangling pins on block
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
-=HermiT=-
Сгенерировал с помощью MIG3.3 контроллер DDR2 SDRAM для Virtex5.
При выполнении Place&Route в ISE выдаются такие предупреждения для выводов dq и dqs:
Код
WARNING PhysDesignRules:1412 - Dangling pins on block:<ddr_ddr_ddr2_ctrl_u_ddr2_top_0_u_mem_if_top_u_phy_top_u_phy_io/gen_dqs_2_u_iob_dqs_u_idelay_dqs>:<IODELAY_IODELAY>. When DELAY_SRC is not DATAIN programming the DATAIN input pin is not used and will be ignored.


И прошивка вообще не работает. Еще возникают проблемы с timing, но они касаются только DDR2, т.е. по идее часть прошивки, которая выполняет другие задачи должна работать.

как с этими warning бороться?

и еще (не заметил поначалу), есть такие предупреждения:
Код
WARNING Pack:2549 - The register "ddr_ddr_ddr2_ctrl_u_ddr2_top_0_u_mem_if_top_u_phy_top_u_phy_io/gen_dqs_0_u_iob_dqs_u_tri_state_dqs" has the property IOB=TRUE, but was not packed into the OLOGIC component. The output signal for register symbol ddr_ddr_ddr2_ctrl_u_ddr2_top_0_u_mem_if_top_u_phy_top_u_phy_io/gen_dqs_0_u_iob_dqs_u_tri_state_dqs requires general routing.


в файле сначала стоял атрибут IOB=FORCE (из-за него было много таких же ворнингов), я заменил на IOB=TRUE, т.к. подумал, что ISE 10.1 его не понимает. После этого ворнинги исчезли, но, оказалось, что они есть и увидел их только в полном отчете.

На xilinx.com советовали поставить еще такой атрибут:
attribute S : string;
attribute S of dqs_oe_n_r : signal is "TRUE";

Пробовал - не помогает

возможно WARNING PhysDesignRules:1412 как-то вытекают из этих WARNING Pack:2549
-=HermiT=-
а из-за чего может быть такая штука:
залил прошивку в platform FLASH. Она запускается, сразу перезагружается заново, запускается и так бесконечно
Kuzmi4
А как согласуются ISE 10.1 и MIG3.3 ??
-=HermiT=-
в MIG3.3 получен VHDL, а синтез в 10.1
Kuzmi4
2 -=HermiT=-
lol.gif А чего не в 9.2 или 7.1 ?? biggrin.gif Там где генернируете, там и собирайте.
Ради интереса посомтрите на сгенерированный миг в 10-й асе и сравните, увидите кардинальные различия, там есчё констрейнов вроде добавилось которые 10-ка не понимает потому что небыло их тогда..
-=HermiT=-
щас в 11 попробую


а причины есть, просто так бы не стал этого делать
-=HermiT=-
Результат тот же. Прошивка перезагружается постоянно
Kuzmi4
2 -=HermiT=-
результаты синтеза и входные данные в студию biggrin.gif телепаты в отпуске laughing.gif
-=HermiT=-
проблема с нерабочей прошивкой была из-за неправильных IOSTANDARD выводов. Заработало, когда сделал так:
Код
NET  "ddr2_dq[*]"                               IOSTANDARD = SSTL18_II;
NET  "ddr2_a[*]"                                IOSTANDARD = SSTL18_II;
NET  "ddr2_ba[*]"                               IOSTANDARD = SSTL18_II;
NET  "ddr2_ras_n"                               IOSTANDARD = SSTL18_II;
NET  "ddr2_cas_n"                               IOSTANDARD = SSTL18_II;
NET  "ddr2_we_n"                                IOSTANDARD = SSTL18_II;
NET  "ddr2_cs_n[*]"                             IOSTANDARD = SSTL18_II;
NET  "ddr2_odt[*]"                              IOSTANDARD = SSTL18_II;
NET  "ddr2_cke[*]"                              IOSTANDARD = SSTL18_II;
NET  "ddr2_dm[*]"                               IOSTANDARD = SSTL18_II;
NET  "ddr2_dqs[*]"                              IOSTANDARD = DIFF_SSTL18_II;
NET  "ddr2_dqs_n[*]"                            IOSTANDARD = DIFF_SSTL18_II;
NET  "ddr2_ck[*]"                               IOSTANDARD = DIFF_SSTL18_II;
NET  "ddr2_ck_n[*]"                             IOSTANDARD = DIFF_SSTL18_II;


Но предупреждения:
Код
WARNING PhysDesignRules:1412 - Dangling pins on block:<ddr_ddr_ddr2_ctrl_u_ddr2_top_0_u_mem_if_top_u_phy_top_u_phy_io/gen_dqs_2_u_iob_dqs_u_idelay_dqs>:<IODELAY_IODELAY>. When DELAY_SRC is not DATAIN programming the DATAIN input pin is not used and will be ignored.

сохранились

В VHDL этот компонент подключается так:
Код
  u_idelay_dqs : IODELAY
    generic map (
      DELAY_SRC             => "I",
      IDELAY_TYPE           => "VARIABLE",
      HIGH_PERFORMANCE_MODE => HIGH_PERFORMANCE_MODE,
      IDELAY_VALUE          => 0,
      ODELAY_VALUE          => 0
      )
    port map (
      DATAOUT => dqs_idelay,
      C       => clkdiv0,
      CE      => dlyce_dqs,
      DATAIN  => '0',
      IDATAIN => dqs_ibuf,
      INC     => dlyinc_dqs,
      ODATAIN => '0',
      RST     => dlyrst_dqs,
      T       => '0'
      );
Kuzmi4
2 -=HermiT=-
Давайте плясать от печки - вы собирали в 11-ке референсный миг-дизайн сгенерённый 11-кой ??
-=HermiT=-
да

и даже если запускать скрипты, которые сгенерил MIG3.3 для синтеза в ISE только одного этого контроллера, там тоже будут эти предупреждения (и куча других)

Но в общем оно работает. Может оно так и надо

в общем я неправильно ваш вопрос прочитал. Я собирал и референсный и свой
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.