[an error occurred while processing this directive]
Точно не помню. Вот отрывки из старого проекта
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено zlyh 01 апреля 2004 г. 15:55
В ответ на: Объясните, если не трудно, как это сделать. Буду очень благодарен! отправлено Amid 01 апреля 2004 г. 13:37

Только это на Virtex (мож там имена другие).
Атрибуты под Синплифай. Т.е. явно привязана только ДЛЛ.

Верхний уровень

entity testmisite1fpga is
port (
...
S1_RCLK : in std_logic;
...
);
-- сказал Синплифаю чтоб посадил S1_RCLK на клоковый буфер
attribute xc_clockbuftype : string;
attribute xc_clockbuftype of S1_RCLK : signal is "BUFG";
end entity testmisite1fpga;

architecture testmisite1fpga_arch of testmisite1fpga is
...
-- Объявил Синплифаевские атрибуты. Вместо этого можно подключить Синплифаевскую библиотеку (как описано в его хелпах).
attribute syn_keep : boolean;
attribute syn_black_box : boolean;
attribute syn_noprune : boolean;
attribute xc_alias : string;
attribute syn_noclockbuf : boolean;
attribute xc_loc : string;


signal GClk, GCLK_ibufged, DLL_CLK0 : std_logic;
-- сказал синтезёру чтоб не удалял это имя, т.к. я на него буду где то дальше ссылаться (возможно в ucf-е)
attribute syn_keep of GClk : signal is true;

-- объявление компонент для ручной вставки
component IBUFG is
port (I: in STD_LOGIC;
O: out STD_LOGIC
);
end component;
attribute syn_black_box of IBUFG: component is true;
attribute syn_noprune of IBUFG: component is true;
attribute xc_alias of IBUFG: component is "IBUFG";

component CLKDLL is
-- pragma translate_off
generic (DUTY_CYCLE_CORRECTION : Boolean := TRUE;
STARTUP_WAIT : Boolean := TRUE);
-- pragma translate_on
port (CLKIN : in std_logic;
CLKFB : in std_logic;
RST : 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;
LOCKED : out std_logic
);
end component;
attribute syn_black_box of CLKDLL: component is true;
attribute syn_noprune of CLKDLL: component is true;
attribute xc_alias of CLKDLL: component is "CLKDLL";
-- Почему эти строчки закоментированы не помню
--attribute CLKDV_DIVIDE: string;
--attribute CLKDV_DIVIDE of U2: label is "8.0";
--attribute CLKDV_DIVIDE of CLKDLL: component is "8.0";
--attribute xc_loc of clkdll_u : label is "DLL2P"; -- serializer


component BUFG is
port (I : in std_logic;
O : out std_logic
);
end component BUFG;
attribute syn_black_box of BUFG: component is true;
attribute syn_noprune of BUFG: component is true;
attribute xc_alias of BUFG: component is "BUFG";
...
begin

ibufg_u: IBUFG port map (I => AUX_FPGA1, O => GCLK_ibufged);

clkdll_u: CLKDLL
-- pragma translate_off
generic map (DUTY_CYCLE_CORRECTION => TRUE,
STARTUP_WAIT => TRUE)
-- pragma translate_on
port map (
CLKIN => GCLK_ibufged,
CLKFB => GCLK,
RST => '0',
CLK0 => DLL_CLK0,
CLK90 => open,
CLK180 => open,
CLK270 => open,
CLKDV => open,
CLK2X => open,
LOCKED => DLL_LOCKED
);

bufg_u: BUFG port map (I => DLL_CLK0, O => GCLK);
...
end architecture testmisite1fpga_arch;

вот эти строчки были в ucf-е:
#INST clkdll_u LOC = DLL2P;
#INST clkdll_u DUTY_CYCLE_CORRECTION = TRUE;
#INST clkdll_u STARTUP_WAIT = TRUE;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru