des00 25 2 августа, 2005 Опубликовано 2 августа, 2005 · Жалоба есть просто проект, делитель частоты на 4, сделанный в коре генераторе library ieee; use ieee.std_logic_1164.ALL; use ieee.numeric_std.ALL; -- synopsys translate_off library UNISIM; use UNISIM.Vcomponents.ALL; -- synopsys translate_on entity div4 is port ( CLKIN_IN : in std_logic; RST_IN : in std_logic; CLKDV_OUT : out std_logic; CLKIN_IBUFG_OUT : out std_logic; CLK0_OUT : out std_logic; LOCKED_OUT : out std_logic); end div4; architecture BEHAVIORAL of div4 is signal CLKDV_BUF : std_logic; signal CLKFB_IN : std_logic; signal CLKIN_IBUFG : std_logic; signal CLK0_BUF : std_logic; signal GND : std_logic_vector (6 downto 0); signal GND1 : std_logic_vector (15 downto 0); signal GND2 : std_logic; component BUFG port ( I : in std_logic; O : out std_logic); end component; component IBUFG port ( I : in std_logic; O : out std_logic); end component; component DCM_ADV generic( CLK_FEEDBACK : string := "1X"; CLKDV_DIVIDE : real := 2.000000; CLKFX_DIVIDE : integer := 1; CLKFX_MULTIPLY : integer := 4; CLKIN_DIVIDE_BY_2 : boolean := FALSE; CLKIN_PERIOD : real := 0.000000; CLKOUT_PHASE_SHIFT : string := "NONE"; DCM_AUTOCALIBRATION : boolean := TRUE; DCM_PERFORMANCE_MODE : string := "MAX_SPEED"; DESKEW_ADJUST : string := "SYSTEM_SYNCHRONOUS"; DFS_FREQUENCY_MODE : string := "LOW"; DLL_FREQUENCY_MODE : string := "LOW"; DUTY_CYCLE_CORRECTION : boolean := TRUE; PHASE_SHIFT : integer := 0; STARTUP_WAIT : boolean := FALSE; FACTORY_JF : bit_vector := x"F0F0"); port ( CLKIN : in std_logic; CLKFB : in std_logic; DADDR : in std_logic_vector (6 downto 0); DI : in std_logic_vector (15 downto 0); DWE : in std_logic; DEN : in std_logic; DCLK : in std_logic; RST : in std_logic; PSEN : in std_logic; PSINCDEC : in std_logic; PSCLK : in std_logic; CLK0 : out std_logic; CLK90 : out std_logic; CLK180 : out std_logic; CLK270 : out std_logic; CLKDV : out std_logic; CLK2X : out std_logic; CLK2X180 : out std_logic; CLKFX : out std_logic; CLKFX180 : out std_logic; DRDY : out std_logic; DO : out std_logic_vector (15 downto 0); LOCKED : out std_logic; PSDONE : out std_logic); end component; begin GND(6 downto 0) <= "0000000"; GND1(15 downto 0) <= "0000000000000000"; GND2 <= '0'; CLKIN_IBUFG_OUT <= CLKIN_IBUFG; CLK0_OUT <= CLKFB_IN; CLKDV_BUFG_INST : BUFG port map (I=>CLKDV_BUF, O=>CLKDV_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); DCM_ADV_INST : DCM_ADV generic map( CLK_FEEDBACK => "1X", CLKDV_DIVIDE => 4.000000, CLKFX_DIVIDE => 1, CLKFX_MULTIPLY => 4, CLKIN_DIVIDE_BY_2 => FALSE, CLKIN_PERIOD => 20.000000, 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, PHASE_SHIFT => 0, STARTUP_WAIT => FALSE, FACTORY_JF => x"F0F0") port map (CLKFB=>CLKFB_IN, CLKIN=>CLKIN_IBUFG, DADDR(6 downto 0)=>GND(6 downto 0), DCLK=>GND2, DEN=>GND2, DI(15 downto 0)=>GND1(15 downto 0), DWE=>GND2, PSCLK=>GND2, PSEN=>GND2, PSINCDEC=>GND2, RST=>RST_IN, CLKDV=>CLKDV_BUF, CLKFX=>open, CLKFX180=>open, CLK0=>CLK0_BUF, CLK2X=>open, CLK2X180=>open, CLK90=>open, CLK180=>open, CLK270=>open, DO=>open, DRDY=>open, LOCKED=>LOCKED_OUT, PSDONE=>open); end BEHAVIORAL; В файле ничего не менялось, сответствующий файл констрейнов "пристегнул", синтез в исе проходит на ура, но мапер вылетает с сообщением : FATAL_ERROR:Portability:PortDynamicLib.c:278:1.20 - dll open of library <C:/Xilinx/cr186785/bin/nt/libNlw_UniEdif.dll> failed due to an unknown reason. Process will terminate. To resolve this error, please consult the Answers Database and other online resources at http://support.xilinx.com. If you need further assistance, please open a Webcase by clicking on the "WebCase" link at http://support.xilinx.com Сталкивались ли вы с подобным ? если да, то как боролись ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 2 августа, 2005 Опубликовано 2 августа, 2005 · Жалоба Подобным образом вылетал ПАР неправильно был подключен в УЦФ файле пин... еще посмотри ограничения на подключения выходных сигналов к ДЦМ.... по моему с IBUfG на OBUF пускать нельзя Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 2 августа, 2005 Опубликовано 2 августа, 2005 · Жалоба Подобным образом вылетал ПАР неправильно был подключен в УЦФ файле пин... еще посмотри ограничения на подключения выходных сигналов к ДЦМ.... по моему с IBUfG на OBUF пускать нельзя <{POST_SNAPBACK}> спасибо, посмотрел, действительно IBUFG на OBUF шел, но переделал по тупому, та же песня :( код dcm_adv0 : dcm_adv generic map( TimingChecksOn => true, CLKDV_DIVIDE => 4.0, CLKFX_DIVIDE => 1, CLKFX_MULTIPLY => 4, CLKIN_DIVIDE_BY_2 => false, CLKIN_PERIOD => 20.0, CLKOUT_PHASE_SHIFT => "NONE", CLK_FEEDBACK => "1X", DCM_PERFORMANCE_MODE => "MAX_SPEED", 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( CLK0 => clk0, CLK180 => open, CLK270 => open, CLK2X => open, CLK2X180 => open, CLK90 => open, CLKDV => open, CLKFX => open, CLKFX180 => open, DO => open, DRDY => open, LOCKED => locked, PSDONE => open, CLKFB => clk0_buff, CLKIN => clk_in, DADDR => (others => '0'), DCLK => '0', DEN => '0', DI => (others => '0'), DWE => '0', PSCLK => '0', PSEN => '0', PSINCDEC => '0', RST => reset ); bufg0 : BUFG port map( I => clk0, O => clk0_buff); ibufg0 : IBUFG port map ( I => in_clock, O => clk_in); ibuf0 : IBUF port map ( I => in_reset, O => reset); obuf0 : obuf port map ( I => reg, O => out_clk_dv); obuf1 : obuf port map ( I => locked, O => out_locked); process (clk0_buff, reset) is begin if (reset = '1') then reg <= '0'; elsif (rising_edge(clk0_buff)) then reg <= not reg; end if; end process; я просто пропускаю частоту "транзитом" через ДЦМ, пример взял из "Virtex-4 User Guide". блин не могу понять что не так :wub: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 2 августа, 2005 Опубликовано 2 августа, 2005 · Жалоба кто то совсем недавно пел (или тут или в телесистемах) что есть какой-то не то атрибут не то генерик без которого на спартане 3 не заводиться ДЦМ, и атрибут в доках не написан Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 2 августа, 2005 Опубликовано 2 августа, 2005 · Жалоба кто то совсем недавно пел (или тут или в телесистемах) что есть какой-то не то атрибут не то генерик без которого на спартане 3 не заводиться ДЦМ, и атрибут в доках не написан <{POST_SNAPBACK}> http://forum.electronix.ru/index.php?showtopic=6808 но там не работал, но собирался в железо, а у меня да же не собираеться :( и атрибуты прописанны все. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eteP 0 2 августа, 2005 Опубликовано 2 августа, 2005 · Жалоба Взял вашу первую схему. Посмотрел после синтеза RTL schematic, все нормально. Ну кроме того что CLKIN_IBUFG_OUT идет на выход. Сделал Implementation все ок. Дела все под альдеком, но синтезил и разводил с помощью ISE 7.1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 3 августа, 2005 Опубликовано 3 августа, 2005 · Жалоба Взял вашу первую схему. Посмотрел после синтеза RTL schematic, все нормально. Ну кроме того что CLKIN_IBUFG_OUT идет на выход. Сделал Implementation все ок. Дела все под альдеком, но синтезил и разводил с помощью ISE 7.1 <{POST_SNAPBACK}> Спасибо, насчет буфера так и было задумано (мне внешку тактировать). Проблема разрешилась, дело было вообще не в той области :) Я поставил антивирь McAfee, по совету колег (тут нападение вирусов на контору), и этот тестовый проектик был первым после того как его поставил. Ну и похоже что он эту длл "задолбил" и даже обычный тригер не разводился :(. Все решилось перестановкой софта + потеряннм рабочим днем :(. Зато теперь я знаю про настройку и DCM ов + их констрейны в виртексе 4 все, ну или почти все :) Всем спасибо за помошь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться