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

 
 
> Как подключить несколько DCM к одному генератору, Для ПЛИС Xilinx Virtex4, среда ISE 10.1
Alexandr
сообщение Sep 22 2009, 09:08
Сообщение #1


Знающий
****

Группа: Модераторы
Сообщений: 804
Регистрация: 1-12-04
Пользователь №: 1 283



Как-то раньше не требовалось использовать больше одного DCM. А тут мне нужно стало два DCM использовать. При этом тактовый генератор внешний всего один. При подключении выхода генератора на вход сразу двух DCM выскакивает ошибка. Которая не исчезает при установке буферов. Также не помогает брать синхросигнал с выхода одного DCM на вход другого. Среди ядер есть конечно каскадный DCM из 2-х элементов, но хотелось бы разобраться как использовать несколько независимых DCM. По логике должен быть элемент для разделения глобального синхросигнала на несколько цепей, но я что-то его не нахожу.


--------------------
Иван Сусанин - первый полупроводник
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexandr
сообщение Sep 22 2009, 12:03
Сообщение #2


Знающий
****

Группа: Модераторы
Сообщений: 804
Регистрация: 1-12-04
Пользователь №: 1 283



Насчет CLKIN_IBUFG_OUT тоже пробовал: выползает ошибка вида

NgdBuild:770 - IBUFG 'XLXI_31/CLKIN_IBUFG_INST' and BUFG 'xxx_BUFG' on
net 'xxx1' are lined up in series. Buffers of the same direction cannot be
placed in series.

'xxx' - это цепь связывающая выход одного DCM со входом другого.

Как убрать IBUFG из CLKIN я чего-то не нашел.


--------------------
Иван Сусанин - первый полупроводник
Go to the top of the page
 
+Quote Post
Костян
сообщение Sep 22 2009, 13:20
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Цитата(Alexandr @ Sep 22 2009, 11:03) *
Насчет CLKIN_IBUFG_OUT тоже пробовал: выползает ошибка вида

NgdBuild:770 - IBUFG 'XLXI_31/CLKIN_IBUFG_INST' and BUFG 'xxx_BUFG' on
net 'xxx1' are lined up in series. Buffers of the same direction cannot be
placed in series.

'xxx' - это цепь связывающая выход одного DCM со входом другого.

Как убрать IBUFG из CLKIN я чего-то не нашел.

с помощью генератора сделайте свою конфигурацию DCM. Затем снегерируйте из этой корки HDL описание . И во уже сам файл hdl можно править вдоль и поперек.
Такой способ дает наглядность,а не гадание на кофейной гуще, что там вставилось через GUI

Вот пример файла для инициализации DCM

Код
entity dcm_mod 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;
          CLK180_OUT      : out   std_logic;
          LOCKED_OUT      : out   std_logic);
end dcm_mod;

architecture BEHAVIORAL of dcm_mod 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 CLK180_BUF      : std_logic;
   signal GND_BIT         : std_logic;
   signal GND_BUS_7       : std_logic_vector (6 downto 0);
   signal GND_BUS_16      : std_logic_vector (15 downto 0);
begin
   GND_BIT <= '0';
   GND_BUS_7(6 downto 0) <= "0000000";
   GND_BUS_16(15 downto 0) <= "0000000000000000";
   CLKIN_IBUFG_OUT <= CLKIN_IBUFG;
   CLK0_OUT <= CLKFB_IN;
   CLKFX_BUFG_INST : BUFG
      port map (I=>CLKFX_BUF,
                O=>CLKFX_OUT);
  
   CLKIN_IBUFG_INST : IBUFG
      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);
  
   CLK180_BUFG_INST : BUFG
      port map (I=>CLK180_BUF,
                O=>CLK180_OUT);
  
   DCM_ADV_INST : DCM_ADV
   generic map( CLK_FEEDBACK => "1X",
            CLKDV_DIVIDE => 2.0,
            CLKFX_DIVIDE => 4,
            CLKFX_MULTIPLY => 2,
            CLKIN_DIVIDE_BY_2 => FALSE,
            CLKIN_PERIOD => 10.000,
            CLKOUT_PHASE_SHIFT => "NONE",
            DCM_AUTOCALIBRATION => TRUE,
            DCM_PERFORMANCE_MODE => "MAX_SPEED",
            DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS",
            DFS_FREQUENCY_MODE => "LOW",
            DLL_FREQUENCY_MODE => "LOW",
            DUTY_CYCLE_CORRECTION => TRUE,
            FACTORY_JF => x"F0F0",
            PHASE_SHIFT => 0,
            STARTUP_WAIT => FALSE)
      port map (CLKFB=>CLKFB_IN,
                CLKIN=>CLKIN_IBUFG,
                DADDR(6 downto 0)=>GND_BUS_7(6 downto 0),
                DCLK=>GND_BIT,
                DEN=>GND_BIT,
                DI(15 downto 0)=>GND_BUS_16(15 downto 0),
                DWE=>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=>CLK180_BUF,
                CLK270=>open,
                DO=>open,
                DRDY=>open,
                LOCKED=>LOCKED_OUT,
                PSDONE=>open);
  
end BEHAVIORAL;



а вот и глобал буфер

Код
CLKIN_IBUFG_OUT <= CLKIN_IBUFG;
   ...
CLKIN_IBUFG_INST : IBUFG
port map (I=>CLKIN_IN,
               O=>CLKIN_IBUFG);
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alexandr   Как подключить несколько DCM к одному генератору   Sep 22 2009, 09:08
- - DmitryR   Если бы вы привели сами ошибки, то сделать предпол...   Sep 22 2009, 09:21
- - Alexandr   Вот текст ошибки: NgdBuild:462 - input pad net ...   Sep 22 2009, 09:39
|- - dmitry-tomsk   Цитата(Alexandr @ Sep 22 2009, 12:39) Вот...   Sep 22 2009, 09:54
- - Alexandr   Первое что сделал - это поставил на входной пин бу...   Sep 22 2009, 10:01
|- - Apast   Цитата(Alexandr @ Sep 22 2009, 13:01) Пер...   Sep 22 2009, 10:30
|- - DmitryR   Надо в пропертях DCM убрать инстанциирование IBUFG...   Sep 22 2009, 10:34
|- - Apast   Цитата(Alexandr @ Sep 22 2009, 16:03) Нас...   Sep 22 2009, 12:36
- - MKS   Попробуйте поставить источник тактового сигнала дл...   Sep 22 2009, 12:42
- - Alexandr   Заработало. Всем спасибо за помощь. Действительно ...   Sep 22 2009, 13:20
|- - dmitry-tomsk   Цитата(Alexandr @ Sep 22 2009, 17:20) Зар...   Sep 22 2009, 13:38
- - Alexandr   dmitry-tomsk Вы меня опередили. Я уже помоделирова...   Sep 22 2009, 13:46


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 20:50
Рейтинг@Mail.ru


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