реклама на сайте
подробности

 
 
> Проблема с DCM, WARNING:Route:455
Strijar
сообщение Feb 2 2009, 22:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 28-08-06
Пользователь №: 19 892



Коллеги, дайте направление куда копать!

Дано Spartan-3E, снаружи приходит клок 50мгц (через обычную ногу) и выходит на sdram (тоже через обычную). Все работало пока не захотелось умножить частоту - до 80 (Синтезатор говорит можно до 95). При роутинге вылазит предупреждение

WARNING:Route:455 - CLK Net:sdram_clk_OBUF may have excessive skew because
0 CLK pins and 2 NON_CLK pins failed to route using a CLK template.

Естественно память глючит. Даже если умножать на 1. А если на sdram подать родной клок (не умноженый на 1) - работает. DCM сгенерил через coregen:

Код
library ieee;
use ieee.std_logic_1164.ALL;
use ieee.numeric_std.ALL;
library UNISIM;
use UNISIM.Vcomponents.ALL;

entity dcm is
   port ( CLKIN_IN        : in    std_logic;
          RST_IN          : in    std_logic;
          CLKFX_OUT       : out   std_logic;
          CLKIN_IBUFG_OUT : out   std_logic;
          CLK0_OUT        : out   std_logic;
          CLK2X_OUT       : out   std_logic;
          LOCKED_OUT      : out   std_logic);
end dcm;

architecture BEHAVIORAL of dcm is
   signal CLKFB_IN        : std_logic;
   signal CLKFX_BUF       : std_logic;
   signal CLKIN_IBUFG     : std_logic;
   signal CLK0_BUF        : std_logic;
   signal CLK2X_BUF       : std_logic;
   signal GND_BIT         : std_logic;
begin
   GND_BIT <= '0';
   CLKIN_IBUFG_OUT <= CLKIN_IBUFG;
   CLK0_OUT <= CLKFB_IN;

   CLKFX_BUFG_INST : BUFG
      port map (I=>CLKFX_BUF,
                O=>CLKFX_OUT);
  
   CLKIN_IBUFG_INST : IBUF
      port map (I=>CLKIN_IN,
                O=>CLKIN_IBUFG);
  
   CLK0_BUFG_INST : BUFG
      port map (I=>CLK0_BUF,
                O=>CLKFB_IN);
  
   CLK2X_BUFG_INST : BUFG
      port map (I=>CLK2X_BUF,
                O=>CLK2X_OUT);
  
   DCM_SP_INST : DCM_SP
   generic map( CLK_FEEDBACK => "1X",
            CLKDV_DIVIDE => 2.0,
            CLKFX_DIVIDE => 5,
            CLKFX_MULTIPLY => 5,
            CLKIN_DIVIDE_BY_2 => FALSE,
            CLKIN_PERIOD => 20.000,
            CLKOUT_PHASE_SHIFT => "NONE",
            DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS",
            DFS_FREQUENCY_MODE => "LOW",
            DLL_FREQUENCY_MODE => "LOW",
            DUTY_CYCLE_CORRECTION => TRUE,
            FACTORY_JF => x"C080",
            PHASE_SHIFT => 0,
            STARTUP_WAIT => FALSE)
      port map (CLKFB=>CLKFB_IN,
                CLKIN=>CLKIN_IBUFG,
                DSSEN=>GND_BIT,
                PSCLK=>GND_BIT,
                PSEN=>GND_BIT,
                PSINCDEC=>GND_BIT,
                RST=>RST_IN,
                CLKDV=>open,
                CLKFX=>CLKFX_BUF,
                CLKFX180=>open,
                CLK0=>CLK0_BUF,
                CLK2X=>CLK2X_BUF,
                CLK2X180=>open,
                CLK90=>open,
                CLK180=>open,
                CLK270=>open,
                LOCKED=>LOCKED_OUT,
                PSDONE=>open,
                STATUS=>open);
  
end BEHAVIORAL;


Констрейны:

Код
NET "clk" LOC = "p54";
NET "clk" TNM_NET = "clk";
TIMESPEC "ts_clkin" = PERIOD "clk" 50 MHz HIGH 50 %;

NET sdram* SLEW = fast;
NET sdram_clk SLEW = slow;


В top:

Код
    dcm_scm : entity dcm
        port map(
            clkin_in => clk,
            rst_in => '0',
            clkfx_out => clk_int,
            locked_out => clk_lock
        );

    int_res <= not clk_lock;
    sdram_clk <= clk_int;


Подскажите где чего смотреть и куда копать.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01341 секунд с 7
ELECTRONIX ©2004-2016