Научная статья на тему 'Проектирование блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС FPGA серии Spartan-3, с помощью «Мастера» Architecture Wizard САПР серии Xilinx ISE'

Проектирование блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС FPGA серии Spartan-3, с помощью «Мастера» Architecture Wizard САПР серии Xilinx ISE Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
223
33
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Зотов Валерий

Разработка блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A, с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Clock Switching with Two DCM_SPs

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Зотов Валерий

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проектирование блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС FPGA серии Spartan-3, с помощью «Мастера» Architecture Wizard САПР серии Xilinx ISE»

ПЛИС

Проектирование блоков синхронизации цифровых устройств,

реализуемых на базе модулей DCM в ПЛИС FPGA серии Spartan™-3, с помощью «мастера» Architecture Wizard САПР серии Xilinx ISE

IBUFG

Clock 1

BUFG

DCM1

CLKIN CLK0

CLK90

CLKFB CLK180

CLK270

CLK2X

CLK2X180

CLKDV

RST CLKFX

□SSEN CLKFX180

PSINCDEC

PSEN LOCKED

PSCLK STATUS(7:0)

----f__

BUFG

Switch

IBUFG

Clock 1

BUFG

DCM2

CLKIN CLKO

CLK90

CLKFB CLK180

CLK270

CLK2X

CLK2X180

CLKDV

RST CLKFX

□SSEN CLKFX180

PSINCDEC

PSEN LOCKED

PSCLK STATUS(7:0)

----!---

BUFGMUX

10

0

-II!

BUFG

Рис. 31. Обобщенная структура блоков синхронизации,

выполняемых в соответствии с конфигурацией Clock Switching with Two DCM_SPs, на базе модулей DCM в ПЛИС семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A

76 I www.finestreet.ru компоненты

Окончание. Начало в№ 5 ‘2007

Валерий ЗОТОВ

walerry@km.ru

Разработка блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A, с помощью «мастера»

Architecture Wizard в соответствии с конфигурацией Clock Switching with Two DCM_SPs

Блоки синхронизации цифровых устройств, выполняемые в соответствии с конфигурацией Clock Switching with Two DCM_SPs, целесообразно применять при необходимости динамического дискретного изменения частоты и/или фазы тактового сигнала. Обобщенная структура блоков синхронизации с указанной конфигурацией представлена на рис. 31.

В ее состав входят два независимых модуля DCM и глобальный селектор-мультиплексор BUFGMUX, выполняющий мультиплексирование выбранных выходных тактовых сигналов этих модулей. В качестве исходных тактовых сигналов в блоках синхронизации с конфигурацией Clock Switching with Two DCM_SPs используются два внешних (по отношению к ПЛИС) сигнала с различными значениями частоты. На входы глобального мультиплексора могут подаваться любые сигналы синхронизации, вырабатываемые модулями DCM, в различных сочетаниях. В качестве сигнала внутренней обратной связи для каждого цифрового модуля управления синхронизацией в большинстве случаев используется сигнал с частотой исходного тактового сигнала, который формируется на выходе CLK0. Исключением является вариант структуры блока синхронизации, в котором на какой-либо вход глобального мультиплексора подается сигнал, формируемый на одном из выходов CLK2X или CLK2X180 первого или второго модуля DCM. В этом случае на вход обратной свя-

зи такого модуля управления синхронизацией должен подаваться сигнал с частотой, равной удвоенному значению частоты внешнего сигнала синхронизации данного моду-

ля ЭСМ. Если на вход глобального мультиплексора подается один из тактовых сигналов СЬКБХ или СЬКБХ180, вырабатываемых синтезатором частот того или иного

Рис. 32. Вид диалоговой панели выбора мультиплексируемых сигналов, вырабатываемых двумя независимыми модулями DCM, в блоках синхронизации с конфигурацией Clock Switching with Two DCM_SPs

цифрового модуля управления синхронизацией, то обратная связь в этом модуле DCM не используется.

Переключение сигналов синхронизации на выходе глобального мультиплексора осуществляется путем изменения с уровня сигнала на соответствующем входе управления. Если на входе выбора мультиплексора BUFGMUX присутствует низкий логический уровень сигнала, то на переключаемый выход блока синхронизации будет поступать тактовый сигнал, вырабатываемый первым модулем DCM. При подаче на вход выбора высокого логического уровня сигнала на мультиплексируемом выходе блока синхронизации будет представлен тактовый сигнал, формируемый вторым модулем DCM.

Процесс разработки блоков синхронизации с конфигурацией Clock Switching with Two DCM_SPs незначительно отличается от проектирования блоков синхронизации с конфигурацией Board Deskew with an Internal Deskew. Поэтому далее будут рассмотрены только особенности в процессе формирования блоков синхронизации с конфигурацией Clock Switching with Two DCM_SPs. После выполнения начальных этапов этого процесса (ввода названия создаваемого блока синхронизации и выбора типа кристалла, предназначенного для его реализации) в диалоговой панели выбора конфигурации Selection, представленной на рис. 3 (см. КиТ № 5, стр. 90), необходимо указать вариант Clock Switching with Two DCM_SPs. Вслед за этим на экране отображается диалоговая панель выбора мультиплексируемых сигналов, вырабатываемых двумя независимыми модулями DCM. Вид данной диалоговой панели изображен на рис. 32.

Выбор одного из выходных сигналов синхронизации первого модуля DCM, который будет подаваться на вход глобального мультиплексора, осуществляется с помощью поля выбора Select Switching Clock, расположенного во встроенной панели For DCM_SP INST1 (рис. 32). Выпадающий список этого поля выбора содержит названия всех тактовых сигналов, формируемых на выходах первого модуля DCM. Для выбора соответствующего сигнала синхронизации, вырабатываемого вторым модулем DCM, предназначено аналогичное поле выбора, которое находится во встроенной панели For DCM_SP INST2. После указания переключаемых тактовых сигналов, формируемых модулями DCM и подаваемых на входы мультиплексора, нужно поочередно определить значения основных и дополнительных параметров данных модулей. Для этого используются диалоговые панели «мастера» Architecture Wizard с заголовками General Setup For INST1 и General Setup For INST2, в которых значения большинства параметров устанавливаются автоматически и не могут изменяться пользователем. Определение значений доступных параметров в указанных панелях осуществляется так же,

как и при формировании блоков синхронизации с конфигурацией Board Deskew with an Internal Deskew. Далее, используя диалоговые панели Clock Buffers For INST1 и Clock Buffers For INST2, нужно выбрать тип глобальных буферных элементов и линий связи, которые будут подключены к выходам тактовых сигналов, вырабатываемых первым (INST1) и вторым (INST2) модулем DCM соответственно. При использовании сигналов, формируемых цифровыми синтезаторами частот, необходимо с помощью диалоговых панелей с заголовками Clock Frequency Synthesizer For INST1 и Clock Frequency Synthesizer For INST2 указать значения параметров, определяющих частоту или период этих сигналов. Запуск процесса автоматической генерации файлов описания разрабатываемого блока синхронизации с конфигурацией Clock Switching with Two DCM_SPs производится после проверки всех указанных значений параметров в заключительной информационной панели «мастера» Architecture Wizard.

Пример блока синхронизации цифрового устройства, сформированного с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Clock Switching with Two DCM_SPs

В качестве примера блока синхронизации цифрового устройства, сгенерированного

с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Clock Switching with Two DCM_SPs, в настоящем разделе представлено VHDL-описание модуля sys_clk_switching, реализуемого на базе кристаллов семейства Spartan-3A. Он позволяет в процессе работы осуществлять мультиплексирование двух тактовых сигналов с частотами 45 и 55 МГц. Кроме того, в созданном блоке вырабатываются следующие выходные сигналы синхронизации:

• четыре сигнала с частотой 45 МГц с нулевым фазовым сдвигом и сдвигом по фазе на четверть, половину и три четверти периода;

• сигнал с частотой 15 МГц, получаемый путем трехкратного деления частоты исходного сигнала в первом модуле DCM;

• два противофазных сигнала (без фазового сдвига и с фазовым сдвигом, равным половине периода) с частотой 90 МГц, формируемые методом двукратного умножения частоты исходного сигнала в первом модуле DCM;

• два противофазных сигнала (с нулевым фазовым сдвигом и сдвигом по фазе на половину периода) с частотой 135 МГц, производимых цифровым синтезатором частот первого модуля DCM;

• три сигнала с частотой 55 МГц, различающиеся фазовым сдвигом друг относительно друга, равным четверти и трем четвертям периода этих сигналов;

• сигнал с частотой 11 МГц, формируемый делителем частоты входного тактового сигнала во втором модуле DCM;

• два сигнала с частотой 66 МГц с фазовым сдвигом друг относительно друга, равным половине периода, вырабатываемые цифровым синтезатором частот второго модуля DCM;

• два противофазных сигнала (без фазового сдвига и с фазовым сдвигом, равным половине периода) с частотой 110 МГц, формируемые методом двукратного умножения частоты исходного сигнала во втором модуле DCM.

В качестве исходных тактовых сигналов в блоке sys_clk_switching используются два внешних сигнала синхронизации с частотами 45 и 55 МГц. Для выходных сигналов с частотами 15, 135, 11 и 66 МГц установлены глобальные буферные элементы с входом разрешения синхронизации BUFGCE. В качестве сигнала, подаваемого на вход обратной связи первого модуля DCM, используется выходной сигнал с частотой 45 МГц с нулевым фазовым сдвигом. На вход обратной связи второго модуля DCM поступает выходной сигнал с частотой 55 МГц с нулевым фазовым сдвигом. Структурное описание блока синхронизации sys_clk_switching на языке VHDL выглядит следующим образом:

--Design Name: sys_clk_switching --Device: xc3s400a-fg320-4

-- Module sys_clk_switching -- Generated by Xilinx Architecture Wizard -- Written for synthesis tool: XST

library ieee;

use ieee.std_logic_1164.ALL; use ieee.numeric_std.ALL; library UNISIM; use UNISIM.Vcomponents.ALL;

entity sys_clk_switching is port (

U1_CLKDV_ENABLE_IN : in std_logic; U1_CLKFX_ENABLE_IN : in std_logic;

U1_CLKIN_IN : in std_logic;

U1_RST_IN : in std_logic;

U1_U2_SELECT_IN : in std_logic;

U2_CLKDV_ENABLE_IN : in std_logic; U2_CLKFX_ENABLE_IN : in std_logic;

U2_CLKIN_IN : in std_logic;

U2_RST_IN : in std_logic;

U1_CLKDV_OUT : out std_logic;

U1_CLKFX_OUT : out std_logic;

U1_CLKFX180_OUT : out std_logic;

U1_CLKIN_IBUFG_OUT : out std_logic;

U1_CLK0_OUT : out std_logic;

U1_CLK2X_OUT : out std_logic;

U1_CLK2X180_OUT : out std_logic;

U1_CLK90_OUT : out std_logic;

U1_CLK180_OUT : out std_logic;

U1_CLK270_OUT : out std_logic;

U1_LOCKED_OUT : out std_logic;

U1_STATUS_OUT : out std_logic_vector (2 downto 0); U1_U2_CLK_OUT : out std_logic;

U2_CLKDV_OUT : out std_logic;

U2_CLKFX_OUT : out std_logic;

U2_CLKFX180_OUT : out std_logic;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

U2_CLKIN_IBUFG_OUT : out std_logic;

U2_CLK0_OUT : out std_logic;

U2_CLK2X_OUT : out std_logic;

U2_CLK2X180_OUT : out std_logic;

U2_CLK90_OUT : out std_logic;

U2_CLK270_OUT : out std_logic;

U2_LOCKED_OUT : out std_logic;

U2_STATUS_OUT : out std_logic_vector (2 downto 0)

);

attribute USELOWSKEWLINES : string ;

attribute USELOWSKEWLINES of U1_CLK0_OUT : signal is « attribute USELOWSKEWLINES of U1_CLK90_OUT : signal is attribute USELOWSKEWLINES of U1_CLK180_OUT : signal is attribute USELOWSKEWLINES of U1_CLK270_OUT : signal is attribute USELOWSKEWLINES of U2_CLKFX180_OUT : signal is attribute USELOWSKEWLINES of U2_CLK2X180_OUT : signal is end sys_clk_switching;

architecture BEHAVIORAL of sys_clk_switching is signal GND1 : std_logic;

signal STATUS_float : std_logic_vector (4 downto 0);

signal STATUS_float1 : std_logic_vector (4 downto 0);

signal U1_CLKDV_BUF : std_logic;

signal U1_CLKFB_IN : std_logic;

signal U1_CLKFX_BUF : std_logic;

signal U1_CLKIN_IBUFG : std_logic;

signal U1_CLK2X_BUF : std_logic;

signal U2_CLKDV_BUF : std_logic;

signal U2_CLKFB_IN : std_logic;

signal U2_CLKFX_BUF : std_logic;

signal U2_CLKIN_IBUFG : std_logic;

signal U2_CLK0_BUF : std_logic;

signal U2_CLK180_BUF : std_logic;

component BUFGMUX port (

10 : in std_logic;

11 : in std_logic;

S : in std_logic;

O : out std_logic );

end component;

-- Period Jitter (unit interval) for block DCM_SP_INST1 = 0.10 UI -- Period Jitter (Peak-to-Peak) for block DCM_SP_INST1 = 0.71 ns -- Period Jitter (unit interval) for block DCM_SP_INST2 = 0.05 UI -- Period Jitter (Peak-to-Peak) for block DCM_SP_INST2 = 0.83 ns component DCM_SP generic(

CLK_FEEDBACK : string := «1X»;

CLKDV_DIVIDE : real := 2.0;

CLKFX_DIVIDE : integer := 1;

CLKFX_MULTIPLY : integer := 4; CLKIN_DIVIDE_BY_2 : boolean := FALSE; CLKIN_PERIOD : real := 10.0; CLKOUT_PHASE_SHIFT : string := «NONE»; DESKEW_ADJUST : strmg := «SYSTEM_SYNCHRONOUS»; DFS_FREQUENCY_MODE : string := «LOW»; DLL_FREQUENCY_MODE : string := «LOW»; DUTY_CYCLE_CORRECTION : boolean := TRUE; FACTORY_JF : bit_vector := x»C080»;

PHASE_SHIFT : integer := 0;

STARTUP_WAIT : boolean := FALSE;

DSS_MODE : string := «NONE»

);

port (

CLKIN : in std_logic;

CLKFB : in std_logic;

RST : in std_logic;

PSEN : in std_logic;

PSINCDEC : in std_logic;

PSCLK : in std_logic;

DSSEN : 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;

STATUS : out std_logic_vector (7 downto 0);

LOCKED : out std_logic;

PSDONE : out std_logic );

end component;

component BUFGCE port (

I : in std_logic;

CE : in std_logic;

0 : out std_logic );

end component;

component IBUFG port (

1 : in std_logic;

O : out std_logic );

end component; component BUFG

port (

I : in std_logic;

O : out std_logic );

end component;

begin

GND1 <= '0';

U1_CLKIN_IBUFG_OUT <= U1_CLKIN_IBUFG;

U1_CLK2X_OUT <= U1_CLKFB_IN;

U2_CLKIN_IBUFG_OUT <= U2_CLKIN_IBUFG;

U2_CLK0_OUT <= U2_CLKFB_IN;

BUFGMUX_INST : BUFGMUX port map (

I0=>U1_CLK2X_BUF,

I1=>U2_CLK180_BUF,

S=>U1_U2_SELECT_IN,

O=>U1_U2_CLK_OUT

);

DCM_SP_INST1 : DCM_SP

generic map(

CLK_FEEDBACK => «2X»,

CLKDV_DIVIDE => 3.0,

CLKFX_DIVIDE => 1,

CLKFX_MULTIPLY => 3,

CLKIN_DIVIDE_BY_2 => FALSE,

CLKIN_PERIOD => 22.2222, 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=>U1_CLKFB_IN,

CLKIN=>U1_CLKIN_IBUFG,

DSSEN=>GND1,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

PSCLK=>GND1,

PSEN=>GND1,

PSINCDEC=>GND1,

RST=>U1_RST_IN,

CLKDV=>U1_CLKDV_BUF,

CLKFX=>U1_CLKFX_BUF,

CLKFX180=>U1_CLKFX180_OUT,

CLK0=>U1_CLK0_OUT,

CLK2X=>U1_CLK2X_BUF,

CLK2X180=>U1_CLK2X180_OUT,

CLK90=>U1_CLK90_OUT,

CLK180=>U1_CLK180_OUT,

CLK270=>U1_CLK270_OUT,

LOCKED=>U1_LOCKED_OUT,

PSDONE=>open,

STATUS(7 downto 3)=>STATUS_float(4 downto 0), STATUS(2 downto 0)=>U1_STATUS_OUT(2 downto 0) );

DCM_SP_INST2 : DCM_SP

generic map(

CLK_FEEDBACK => «1X»,

CLKDV_DIVIDE => 5.0,

CLKFX_DIVIDE => 5,

CLKFX_MULTIPLY => 6,

CLKIN_DIVIDE_BY_2 => FALSE,

CLKIN_PERIOD => 18.1818, 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=>U2_CLKFB_IN,

CLKIN=>U2_CLKIN_IBUFG,

DSSEN=>GND1,

PSCLK=>GND1,

PSEN=>GND1,

PSINCDEC=>GND1,

RST=>U2_RST_IN,

CLKDV=>U2_CLKDV_BUF,

CLKFX=>U2_CLKFX_BUF,

CLKFX180=>U2_CLKFX180_OUT,

CLK0=>U2_CLK0_BUF,

CLK2X=>U2_CLK2X_OUT,

CLK2X180=>U2_CLK2X180_OUT,

CLK90=>U2_CLK90_OUT,

CLK180=>U2_CLK180_BUF,

CLK270=>U2_CLK270_OUT,

LOCKED=>U2_LOCKED_OUT,

PSDONE=>open,

STATUS(7 downto 3)=>STATUS_float1(4 downto 0), STATUS(2 downto 0)=>U2_STATUS_OUT(2 downto 0)

U1_CLKDV_BUFGCE_INST : BUFGCE port map (

CE=>U1_CLKDV_ENABLE_IN,

I=>U1_CLKDV_BUF,

O=>U1_CLKDV_OUT

U1_CLKFX_BUFGCE_INST : BUFGCE port map (

CE=>U1_CLKFX_ENABLE_IN,

I=>U1_CLKFX_BUF,

O=>U1_CLKFX_OUT

U1_CLKIN_IBUFG_INST : IBUFG port map (

I=>U1_CLKIN_IN,

O=>U1_CLKIN_IBUFG

U1_CLK2X_BUFG_INST : BUFG port map (

I=>U1_CLK2X_BUF,

O=>U1_CLKFB_IN

U2_CLKDV_BUFGCE_INST : BUFGCE port map (

CE=>U2_CLKDV_ENABLE_IN,

I=>U2_CLKDV_BUF,

O=>U2_CLKDV_OUT

U2_CLKFX_BUFGCE_INST : BUFGCE port map (

CE=>U2_CLKFX_ENABLE_IN,

I=>U2_CLKFX_BUF,

O=>U2_CLKFX_OUT

U2_CLKIN_IBUFG_INST : IBUFG port map (

I=>U2_CLKIN_IN,

O=>U2_CLKIN_IBUFG

U2_CLK0_BUFG_INST : BUFG port map (

I=>U2_CLK0_BUF,

O=>U2_CLKFB_IN

end BEHAVIORAL;

Входные и выходные порты сформированного блока синхронизации sys_clk_switching имеют следующие функциональные назначения:

• U1_CLKDV_ENABLE_IN — вход разрешения выходного сигнала с частотой 15 МГц, формируемого делителем частоты первого модуля DCM;

• U1_CLKFX_ENABLE_IN — вход разрешения выходного сигнала с частотой 135 МГц, вырабатываемого цифровым синтезатором частот первого модуля DCM;

• U1_CLKIN_IN — вход исходного тактового сигнала для первого модуля DCM;

• U1_RST_IN — вход сигнала асинхронного сброса первого модуля DCM;

• U1_U2_SELECT_IN — вход выбора частоты тактового сигнала на мультиплексируемом выходе блока синхронизации;

• U2_CLKDV_ENABLE_IN — вход разрешения выходного сигнала с частотой 11 МГц, вырабатываемого делителем частоты второго модуля DCM;

И2_СЬКРХ_ЕЫЛБЬЕ_ВД — вход разрешения выходного сигнала с частотой 66 МГц, вырабатываемого цифровым синтезатором частот второго модуля ЭСМ; И2_СЬКВД_ВД — вход исходного тактового сигнала для второго модуля ЭСМ; И2_К8Т_ВД — вход сигнала асинхронного сброса второго модуля ЭСМ; И1_СЬКБУ_ОИТ — выход сигнала с частотой 15 МГц, вырабатываемого делителем частоты первого модуля ЭСМ; И1_СЬКРХ_ОИТ и И1_СЬКРХ180_0ИТ — выходы сигналов с частотой 135 МГц, отличающихся фазовым сдвигом, равным половине периода, которые формируются цифровым синтезатором частот первого модуля ЭСМ;

И1_СЬКВД_1БИРО_ОИТ — выход исходного тактового сигнала для первого модуля ЭСМ, поступающего с входного буферного элемента;

И1_СЬК0_0ИТ — выход сигнала с частотой 45 МГц с нулевым фазовым сдвигом, вырабатываемый первым модулем ЭСМ; И1_СЬК2Х_ОИТ и И1_СЬК2Х180_0ИТ — выходы сигналов с частотой 90 МГц, отличающихся фазовым сдвигом, равным половине периода, которые формируются первым модулем ЭСМ;

И1_СЬК90_0ИТ, и 1_СЬК180_0ИТ и И1_СЬК270_0ИТ — выходы сигналов с частотой 45 МГц с фазовым сдвигом на четверть, половину и три четверти периода соответственно, формируемых первым модулем ЭСМ;

И1_И2_СЬК_ОИТ — выход мультиплексируемого сигнала синхронизации; И2_СЬКБУ_ОИТ — выход сигнала с частотой 11 МГц, формируемого делителем частоты второго модуля ЭСМ; И2_СЬКБХ_ОИТ и И2_СЬКБХ180_0ИТ — выходы сигналов с частотой 66 МГц, отличающихся фазовым сдвигом, равным половине периода, которые вырабатываются цифровым синтезатором частот второго модуля ЭСМ;

И2_СЬКВД_1БИРО_ОИТ — выход исходного тактового сигнала для второго модуля ЭСМ, поступающего с входного буферного элемента;

И2_СЬК0_0ИТ — выход сигнала с частотой 55 МГц с нулевым фазовым сдвигом, который вырабатывается вторым модулем ЭСМ;

И2_СЬК2Х_ОИТ и И2_СЬК2Х180_0ИТ — выходы сигналов с частотой 110 МГц, отличающихся фазовым сдвигом, равным половине периода, которые формируются вторым модулем ЭСМ;

И2_СЬК90_0ИТ и И2_СЬК270_0ИТ — выходы сигналов с частотой 55 МГц, вырабатываемых вторым модулем ЭСМ, с фазовым сдвигом на четверть и три четверти периода соответственно; И1_ШСКЕО_ОИТ и И2_ШСКЕБ_ОИТ — выходы сигналов, информирующих о со-

отношении фаз входного и выходного сигналов схем автоподстройки задержек БЬЬ первого и второго модуля ЭСМ соответственно;

• И1_8ТЛТШ_ОИТ и И2_8ТЛТШ_ОИТ — выходные шины состояния первого и второго модуля ЭСМ соответственно. Значения всех необходимых атрибутов компонентов ОСМ_вР, используемых в составе описания блока синхронизации sys_dk_switcЫng, определяются с помощью следующих выражений, которые добавляются в файл временных и топологических ограничений проекта разрабатываемого устройства в САПР серии ХДтх КЕ:

Net U1_CLK0_OUT USELOWSKEWLINES;

Net U1_CLK90_OUT USELOWSKEWLINES;

Net U1_CLK180_OUT USELOWSKEWLINES;

Net U1_CLK270_OUT USELOWSKEWLINES;

Net U2_CLK2X180_OUT USELOWSKEWLINES;

Net U2_CLKFX180_OUT USELOWSKEWLINES;

INST DCM_SP_INST1 CLK_FEEDBACK = 2X;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

INST DCM_SP_INST1 CLKDV_DIVIDE = 3.0;

INST DCM_SP_INST1 CLKFX_DIVIDE = 1;

INST DCM_SP_INST1 CLKFX_MULTIPLY = 3;

INST DCM_SP_INST1 CLKIN_DIVIDE_BY_2 = FALSE;

INST DCM_SP_INST1 CLKIN_PERIOD = 22.2222;

INST DCM_SP_INST1 CLKOUT_PHASE_SHIFT = NONE;

INST DCM_SP_INST1 DESKEW_ADJUST = SYSTEM_SYNCHRONOUS; INST DCM_SP_INST1 DFS_FREQUENCY_MODE = LOW;

INST DCM_SP_INST1 DLL_FREQUENCY_MODE = LOW;

INST DCM_SP_INST1 DUTY_CYCLE_CORRECTION = TRUE; INST DCM_SP_INST1 FACTORY_JF = C080;

INST DCM_SP_INST1 PHASE_SHIFT = 0;

INST DCM_SP_INST1 STARTUP_WAIT = FALSE;

INST DCM_SP_INST2 CLK_FEEDBACK = 1X;

INST DCM_SP_INST2 CLKDV_DIVIDE = 5.0;

INST DCM_SP_INST2 CLKFX_DIVIDE = 5;

INST DCM_SP_INST2 CLKFX_MULTIPLY = 6;

INST DCM_SP_INST2 CLKIN_DIVIDE_BY_2 = FALSE;

INST DCM_SP_INST2 CLKIN_PERIOD = 18.1818;

INST DCM_SP_INST2 CLKOUT_PHASE_SHIFT = NONE;

INST DCM_SP_INST2 DESKEW_ADJUST = SYSTEM_SYNCHRONOUS; INST DCM_SP_INST2 DFS_FREQUENCY_MODE = LOW;

INST DCM_SP_INST2 DLL_FREQUENCY_MODE = LOW;

INST DCM_SP_INST2 DUTY_CYCLE_CORRECTION = TRUE; INST DCM_SP_INST2 FACTORY_JF = C080;

INST DCM_SP_INST2 PHASE_SHIFT = 0;

INST DCM_SP_INST2 STARTUP_WAIT = FALSE;

Заключение

В данной статье был рассмотрен процесс разработки блоков формирования тактовых сигналов на базе цифровых модулей управления синхронизацией DCM ПЛИС семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A с типовыми конфигурациями, которые предоставляет «мастер» Architecture Wizard. Физические ресурсы большинства кристаллов указанных семейств позволяют создавать блоки синхронизации с более сложной структурой, представляющей собой некоторую комбинацию предлагаемых типовых конфигураций. Для формирования описаний таких блоков целесообразно вначале с помощью «мастера» Architecture Wizard сгенерировать по отдельности HDL-описание каждого узла синхронизации в соответствии с одним из пяти рассмотренных выше вариантов типовой конфигурации. Затем нужно вручную создать описание более высокого уровня иерархии, в котором осуществляется соединение разработанных ранее типовых узлов генерации тактовых сигналов. ■

i Надоели баннеры? Вы всегда можете отключить рекламу.