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

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

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

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

walerry@km.ru

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

Как правило, требуется несколько внутренних сигналов синхронизации с одной частотой, совпадающей с основной (внешней) тактовой частотой разрабатываемого устройства, и различным фазовым сдвигом. Кроме того, в ряде случаев необходимы внутренние тактовые сигналы, частота которых кратна значению основной частоты синхронизации. Еще одна проблема, возникающая перед разработчиками, связана с устранением временных перекосов, которые могут появляться при распространении тактовых сигналов внутри кристаллов или на печатных платах, используемых для реализации проектируемых устройств или систем. Наиболее эффективным способом решения указанных задач является применение цифровых модулей управления синхронизацией Digital Clock Manager (DCM), которые входят в состав архитектуры ПЛИС большинства современных семейств FPGA (Field Programmable Gate Array), выпускаемых фирмой Xilinx [1].

В настоящей статье рассматриваются различные способы формирования блоков синхронизации, которые реализуются на основе модулей DCM ПЛИС семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A в САПР серии Xilinx ISE™ (Integrated Synthesis Environment/Integrated Software Environment). При этом основное внимание уделяется методу, основанному на применении «мастера» Architecture Wizard™, который входит в состав средств проектирования серии Xilinx ISE [2, 3].

Краткая характеристика цифровых модулей управления синхронизацией DCM семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A

В ПЛИС семейств Spartan-3E и Spartan-3A применяются цифровые модули управления синхронизацией DCM следующего поколения — по сравнению с кристаллами семейств Spartan-3 и Spartan-3L. Несмотря на это обстоятельство, данные модули выполняют одинаковые функции и имеют аналогичную обобщенную структуру, которая включает в себя следующие элементы:

• схему автоподстройки задержки Delay-Locked Loop (DLL);

• цифровой синтезатор частот Digital Frequency Synthesizer (DFS);

• схему фазового сдвига Phase Shifter (PS);

• схему управления и контроля статуса Status Logic (SL).

Основной функцией схемы автоподстройки задержки DLL является устранение расхождения фронтов тактовых сигналов, возникающих при распространении этих сигналов внутри кристаллов или на печатных платах. Кроме того, данная схема формирует следующие выходные сигналы синхронизации:

• CLK0 с той же частотой и фазой, что и входной тактовый сигнал;

• CLK90 с частотой входного тактового сигнала и сдвигом по фазе на четверть периода;

• СЬК180 с частотой входного тактового сигнала и сдвигом по фазе на половину периода;

• СЬК270 с частотой входного тактового сигнала и сдвигом по фазе на три четверти периода;

• СЬК2Х с удвоенным значением частоты входного тактового сигнала;

• СЬК2Х180 с удвоенным значением частоты входного тактового сигнала и сдвигом по фазе на половину периода относительно сигнала СЬК2Х;

• СЬКБУ с частотой входного тактового сигнала, поделенной на коэффициент, заданный пользователем из набора допустимых значений.

Цифровой синтезатор частот предназначен для генерации тактового сигнала с частотой, определяемой разработчиком в пределах допустимого диапазона. Значение частоты выходного сигнала синтезатора вычисляется путем умножения частоты входного тактового сигнала на дробный коэффициент, числитель и знаменатель которого определяются пользователем с помощью соответствующих параметров.

Схема фазового сдвига Р8 позволяет осуществить с большой точностью сдвиг всех формируемых модулем ЭСМ сигналов синхронизации относительно входного тактового сигнала на произвольное значение фазы (постоянное или изменяемое в процессе функционирования блока синхронизации).

CLK_FEEDBACK => «1X», -- Specify clock feedback of «NONE», «1X» or «2X

DESKEW_ADJUST => «SYSTEM_SYNCHRONOUS», --«SOURCE_SYNCHRONOUS», «SYSTEM_SYNCHRONOUS» or an integer from 0 to 15

DFS_FREQUENCY_MODE => «LOW», -- «HIGH» or «LOW» frequency mode for -- frequency synthesis

DLL_FREQUENCY_MODE => «LOW», -- «HIGH» or «LOW» frequency mode for DLL

DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE

FACTORY_JF => X»C080», -- FACTORY JF Values PHASE_SHIFT => 0, -- Amount of fixed phase shift from -255 to 255

STARTUP_WAIT => FALSE) -- Delay configuration DONE until DCM_SP LOCK, TRUE/FALSE port map (

CLK0 => CLK0, -- 0 degree DCM CLK ouptput CLK180 => CLK180, -- 180 degree DCM CLK output CLK270 => CLK270, -- 270 degree DCM CLK output CLK2X => CLK2X, -- 2X DCM CLK output CLK2X180 => CLK2X180, -- 2X, 180 degree DCM CLK out CLK90 => CLK90, -- 90 degree DCM CLK output CLKDV => CLKDV, -- Divided DCM CLK out (CLKDV_DIVIDE) CLKFX => CLKFX, -- DCM CLK synthesis out (M/D) CLKFX180 => CLKFX180, -- 180 degree CLK synthesis out LOCKED => LOCKED, -- DCM LOCK status output PSDONE => PSDONE, -- Dynamic phase adjust done output STATUS => STATUS, -- 8-bit DCM status bits output CLKFB => CLKFB, -- DCM clock feedback CLKIN => CLKIN, -- Clock input (from IBUFG, BUFG or DCM) PSCLK => PSCLK, -- Dynamic phase adjust clock input PSEN => PSEN, -- Dynamic phase adjust enable input PSINCDEC => PSINCDEC, -- Dynamic phase adjust increment/decrement

RST => RST -- DCM asynchronous reset input

);

-- End of DCM_SP_inst instantiation

Схема управления и контроля статуса SL предназначена для выполнения функций асинхронного сброса и отображения информации о состоянии модуля DCM в виде сигналов на выходах STATUS и LOCKED.

Более подробную информацию о модулях DCM можно найти в документации на соответствующее семейство ПЛИС или литературе [1].

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

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

• «вручную», при использовании стандартных методов описания цифровых устройств (схемотехнического или с помощью языков HDL высокого уровня VHDL и Verilog) и библиотечных компонентов;

• в интерактивном режиме с помощью «мастера» Architecture Wizard.

Для создания схемотехнического описания блока синхронизации, реализуемого на базе модулей DCM, следует применять соответствующие библиотечные компоненты dcm для ПЛИС семейств Spartan-3, Spartan-3L и dcm_sp для кристаллов семейств Spartan-3E и Spartan-3A. При подготовке текстового описания блока синхронизации на языке описания аппаратуры высокого уровня рекомендуется использовать соответствующие шаблоны встроенного HDL-редактора средств проектирования серии Xilinx ISE. Текст шаблона DCM, предназначенного для описания цифровых модулей управления синхронизацией семейств кристаллов Spartan-3 и Spartan-3L на языке VHDL, выглядит следующим образом:

generic map (

CLKDV_DIVIDE => 2.0, -- Divide by:

1.5.2.0.2.5.3.0.3.5.4.0.4.5.5.0.5.5.6.0.6.5 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 CLKFX_DIVIDE => 1, -- Can be any interger from 1 to 32 CLKFX_MULTIPLY => 4, -- Can be any integer from 1 to 32 CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable

CLKIN divide by two feature

CLKIN_PERIOD => 0.0, -- Specify period of input clock CLKOUT_PHASE_SHIFT => «NONE», -- Specify phase shift of NONE, FIXED or VARIABLE

CLK_FEEDBACK => «1X», -- Specify clock feedback of NONE, 1X or 2X

DESKEW_ADJUST => «SYSTEM_SYNCHRONOUS», --SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or an integer from 0 to 15

DFS_FREQUENCY_MODE => «LOW», -- HIGH or LOW frequency mode for frequency synthesis

DLL_FREQUENCY_MODE => «LOW», -- HIGH or LOW frequency mode for DLL

DUTY_CYCLE_CORRECTION => TRUE, -- Duty cycle correction, TRUE or FALSE

FACTORY_JF => X»C080», -- FACTORY JF Values PHASE_SHIFT => 0, -- Amount of fixed phase shift from -255 to 255

STARTUP_WAIT => FALSE) -- Delay configuration DONE until DCM LOCK, TRUE/FALSE port map (

CLK0 => CLK0, -- 0 degree DCM CLK ouptput CLK180 => CLK180, -- 180 degree DCM CLK output CLK270 => CLK270, -- 270 degree DCM CLK output CLK2X => CLK2X, -- 2X DCM CLK output CLK2X180 => CLK2X180, -- 2X, 180 degree DCM CLK out CLK90 => CLK90, -- 90 degree DCM CLK output CLKDV => CLKDV, -- Divided DCM CLK out (CLKDV_DIVIDE) CLKFX => CLKFX, -- DCM CLK synthesis out (M/D) CLKFX180 => CLKFX180, -- 180 degree CLK synthesis out LOCKED => LOCKED, -- DCM LOCK status output PSDONE => PSDONE, -- Dynamic phase adjust done output STATUS => STATUS, -- 8-bit DCM status bits output CLKFB => CLKFB, -- DCM clock feedback CLKIN => CLKIN, -- Clock input (from IBUFG, BUFG or DCM) PSCLK => PSCLK, -- Dynamic phase adjust clock input PSEN => PSEN, -- Dynamic phase adjust enable input PSINCDEC => PSINCDEC, -- Dynamic phase adjust increment/decrement

RST => RST -- DCM asynchronous reset input

);

-- End of DCM_inst instantiation

При создании VHDL-описаний блоков синхронизации, реализуемых в ПЛИС семейств Spartan-3E и Spartan-3A, нужно использовать шаблон DCM_SP, который имеет следующий вид:

-- DCM_SP : In order to incorporate this function into the design,

-- VHDL : the following instance declaration needs to be placed -- instance : in the architecture body of the design code. The -- declaration : instance name (DCM_SP_inst) and/or the port declarations -- code : after the «=>» assignment maybe changed to properly -- : connect this function to the design. Unused inputs -- : and outputs may be removed or commented out.

-- Library : In addition to adding the instance declaration, a use -- declaration : statement for the UNISIM.vcomponents library needs to be

-- for : added before the entity declaration. This library -- Xilinx : contains the component declarations for all Xilinx -- primitives : primitives and points to the models that will be used -- : for simulation.

-- Copy the following two statements and paste them before the -- Entity declaration, unless they already exist.

Library UNISIM;

use UNISIM.vcomponents.aH;

-- <--Cut code below this line and paste into the architecture body--> -- DCM_SP: Digital Clock Manager Circuit -- Spartan-3E/3A

-- Xilinx HDL Language Template version 8.2.2i

DCM_SP_inst : DCM_SP generic map (

CLKDV_DIVIDE => 2.0, -- Divide by:

1.5.2.0.2.5.3.0.3.5.4.0.4.5.5.0.5.5.6.0.6.5 --7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0 CLKFX_DIVIDE => 1, -- Can be any interger from 1 to 32 CLKFX_MULTIPLY => 4, -- Can be any integer from 1 to 32 CLKIN_DIVIDE_BY_2 => FALSE, -- TRUE/FALSE to enable

CLKIN divide by two feature

CLKIN_PERIOD => 0.0, -- Specify period of input clock CLKOUT_PHASE_SHIFT => «NONE», -- Specify phase shift of «NONE», «FIXED» or «VARIABLE

Более эффективным способом проектирования блоков синхронизации, реализуемых на базе модулей DCM, является применение «мастера» Architecture Wizard. Данный инструмент не только сокращает время разработки, но и позволяет избежать возможных ошибок при выборе параметров и подключении входов и выходов модуля DCM.

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

Architecture Wizard

Для активизации «мастера» Architecture Wizard необходимо, прежде всего, в меню, которое открывается при нажатии кнопки Пуск (Start) операционной системы Windows™, выделить пункт Программы (Programs), после чего выбрать программную группу Xilinx ISE... В данной группе программ (в соответствующем всплывающем меню) следует открыть раздел Accessories, в котором нужно выбрать строку Architecture Wizard. В результате выполнения указанных действий на экран монитора выводится стартовая диалоговая панель Setup, вид которой показан на рис. 1.

Данная диалоговая панель предназначена для определения названия файлов создаваемого блока синхронизации, выбора языка описания HDL и средств синтеза. В этой же панели указывается семейство и тип ПЛИС, для которых формируется блок синхронизации.

-- DCM : In order to incorporate this function into the design,

-- VHDL : the following instance declaration needs to be placed -- instance : in the architecture body of the design code. The -- declaration : instance name (DCM_inst) and/or the port declarations -- code : after the «=>» assignment maybe changed to properly -- : connect this function to the design. Unused inputs

-- : and outputs may be removed or commented out.

-- Library : In addition to adding the instance declaration, a use -- declaration : statement for the UNISIM.vcomponents library needs to be

-- for : added before the entity declaration. This library -- Xilinx : contains the component declarations for all Xilinx -- primitives : primitives and points to the models that will be used -- : for simulation.

-- : Note: Use DCM_SP for Spartan-3E/3A and

-- : DCM_ADV for Virtex-4/5

-- Copy the following two statements and paste them before the -- Entity declaration, unless they already exist.

Library UNISIM;

use UNISIM.vcomponents.all;

-- <--Cut code below this line and paste into the architecture body--> -- DCM: Digital Clock Manager Circuit -- Virtex-II/II-Pro and Spartan-3 -- Xilinx HDL Language Template version 8.2.2i

DCM_inst : DCM

ш

Product Cetegoty AI £4 1 1

Family Iм Iі і V [ Cancel ]

Device XC3S500E v

Package FG320 v

Speed S v

Рис. 2. Диалоговая панель выбора ПЛИС

для реализации формируемого блока синхронизации

f* Xilinx Architect!»« Wisuiii  Setup 1*.

SAW Fit- 1 1

Outpul Ft» ly9t IL 1

© tfoi О ve*°o

$)•**«* I«J

oil

e*t

Ute Sf*ci Ылоп lo thooae a (to* с Zl

I a> II 1

Рис. 1. Стартовая диалоговая панель «мастера» Architecture Wizard

Рис. 3. Диалоговая панель выбора варианта конфигурации блока синхронизации, реализуемого на основе ресурсов DCM ПЛИС семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A

Идентификатор файлов, описывающих создаваемый блок, указывается в поле редактирования XAW File (рис. 1). Прежде всего, рекомендуется определить диск и папку, в которую будут записываться генерируемые файлы. Для этой цели можно воспользоваться кнопкой Browse, расположенной справа от поля редактирования XAW File. При нажатии на эту кнопку на экран выводится стандартная диалоговая панель открытия файла, которая позволяет создать или найти на диске требуемый каталог и указать идентификатор создаваемых файлов, которые будут располагаться в выбранной папке. После закрытия стандартной диалоговой панели полное название файла, включающее путь доступа к нему, автоматически отображается в поле редактирования XAW File.

Выбор языка HDL, который будет использоваться для описания блока синхронизации, генерируемого «мастером» Architecture Wizard, осуществляется с помощью двух кнопок с зависимой фиксацией, расположенных во встроенной панели Output File Type (рис. 1). Если в нажатом состоянии зафиксирована кнопка VHDL, то будет сформирован файл описания на языке VHDL. При нажатой кнопке Verilog создается файл описания блока синхронизации на языке Verilog.

Для определения используемых средств синтеза нужно воспользоваться полем выбора Synthesis Tool (рис. 1). Выпадающий список этого поля содержит названия всех средств синтеза, поддерживаемых САПР серии Xilinx ISE для выбранного семейства ПЛИС. По умолчанию предлагаются встроенные средства синтеза САПР серии Xilinx ISE — Xilinx Synthesis Technology (XST).

Вся информация о кристалле (семейство, тип ПЛИС и условные обозначения корпуса и градации быстродействия), на базе которого предполагается реализация формируемого блока синхронизации, указывается в поле редактирования Part (рис. 1). Для ввода соответствующих данных рекомендуется воспользоваться кнопкой Select, которая расположена справа от поля редактирования Part. При нажатии на эту кнопку на экран выводится диалоговая панель с заголовком Select Part, вид которой представлен на рис. 2.

В этой панели нужно с помощью соответствующих полей выбора последовательно

указать категорию, семейство, тип, корпус и быстродействие кристалла FPGA, на базе которого проектируется устройство или система, включающая формируемый блок синхронизации. Для определения категории ПЛИС, к которой относится кристалл, выбираемый для реализации разрабатываемого блока синхронизации, нужно воспользоваться полем выбора Product Category. Выпадающий список этого поля содержит три возможных варианта: All, General Purpose и Automotive. По умолчанию для параметра Product Category предлагается значение All, которое позволяет при выборе семейства ПЛИС отобразить список всех доступных серий кристаллов, поддерживаемых «мастером» Architecture Wizard. При выборе варианта General Purpose в этом списке будут представлены только семейства ПЛИС общего назначения. Если выбирается вариант Automotive, то данный список будет содержать только семейства кристаллов, ориентированные на применение в автомобильной электронике. Используемое семейство ПЛИС указывается в поле выбора значения параметра Family. Если нажать на кнопку управления выпадающим списком данного поля выбора, на экране отображается список семейств кристаллов, которые относятся к выбранной ранее категории ПЛИС и поддерживаются «мастером» Architecture Wizard. После конкретизации семейства ПЛИС в поле выбора типа кристалла Device автоматически отображается тип ПЛИС с минимальным объемом логических ресурсов. Чтобы изменить предлагаемый вариант, необходимо в выпадающем списке поля выбора значения параметра Device выделить строку, содержащую условное обозначение требуемого типа кристалла. Тип корпуса выбранной ПЛИС указывается в поле выбора Package. Выпадающий список значений этого поля содержит условные обозначения только тех типов корпусов, в которых выпускается данный кристалл. Для определения категории быстродействия используемого кристалла предназначено поле выбора параметра Speed, в выпадающем списке которого представлен ряд градации по быстродействию для ПЛИС, указанной в поле выбора параметра Device. Для подтверждения выбранных значений всех перечисленных выше параметров в диалоговой панели Select Part следует нажать клавишу OK. После этого в поле редактирования Part стартовой диало-

говой панели (рис. 1) автоматически отображаются сведения о выбранном кристалле для реализации разрабатываемого устройства, в составе которого предполагается применение формируемого блока синхронизации. При нажатии клавиши OK в этой панели на экран выводится очередная диалоговая панель «мастера» Architecture Wizard с заголовком Selection, показанная на рис. 3, в которой нужно выбрать требуемый вариант конфигурации блока синхронизации.

Средствами Architecture Wizard поддерживаются следующие пять вариантов конфигурации блока синхронизации, реализуемого на основе ресурсов DCM:

• Board Deskew with an Internal Deskew;

• Cascading in Series with Two DCM_SPs;

• Clock Forwarding/Board Deskew;

• Clock Switching with Two DCM_SPs;

• Single DCM_SP.

Конфигурация Board Deskew with an Internal Deskew включает в себя два модуля DCM. Один из этих модулей используется для устранения временных перекосов, появляющихся при распространении тактового сигнала внутри кристалла. Другой модуль DCM выполняет аналогичную функцию для тактового сигнала, синхронизирующего работу внешних (по отношению к ПЛИС) узлов платы разрабатываемого устройства. В конфигурации Cascading in Series with Two DCM_SPs применяется последовательное каскадное соединение двух модулей DCM. Такое решение позволяет получить расширенный набор тактовых сигналов с различными значениями частоты и фазы, которые не могут быть получены при использовании одного модуля DCM. Конфигурация Clock Forwarding/Board Deskew используется для формирования сигнала синхронизации внутри ПЛИС, который используется для тактирования внешних блоков проектируемого устройства. При этом также решается задача устранения временных перекосов тактового сигнала, транспортируемого к различным узлам разрабатываемого устройства. Конфигурация Clock Switching with Two DCM_SPs

Рис. 4. Диалоговая панель выбора основных параметров модуля DCM General Setup

обеспечивает возможность оперативного переключения между парой тактовых сигналов, формируемых двумя независимыми модулями DCM. Конфигурация Single DCM_SP представляет собой вариант одиночного использования модуля DCM, в котором могут быть задействованы все поддерживаемые функции.

Для дальнейшего рассмотрения процесса использования «мастера» Architecture Wizard выберем последний, самый простой вариант конфигурации формируемого блока синхронизации. После подтверждения выбранного варианта нажатием клавиши ОК в диалоговой панели Selection на экран выводится следующая диалоговая панель с заголовком General Setup, вид которой представлен на рис. 4. Данная панель предназначена для определения основных параметров используемого модуля DCM.

В этой диалоговой панели вначале целесообразно определить значение частоты или периода входного тактового сигнала, используя поле редактирования, расположенное во встроенной панели Input Clock Frequency. Состояние двух кнопок с зависимой фиксацией, находящихся в этой же встроенной панели, указывает на то, какой параметр будет задан в поле редактирования. Чтобы указать значение частоты входного сигнала синхронизации, следует зафиксировать в нажатом состоянии кнопку MHz. Если же необходимо задать значение периода этого сигнала, то нужно переключить в нажатое состояние кнопку ns.

Далее с помощью группы кнопок с зависимой фиксацией CLKIN Source (рис. 4) следует указать вид источника входного тактового сигнала. Если в качестве исходного сигнала синхронизации в модуле DCM будет использоваться внешний (по отношению к ПЛИС) сигнал, поступающий со входного контакта кристалла, то нужно установить в нажатое состояние кнопку External. При этом необходимо определить тип сигнала — обычный (однополюсный) или дифференциальный. При использовании обычного сигнала нужно зафиксировать в нажатом состоянии кнопку Single. Если же входной тактовый сигнал является дифференциальным, то в нажатом состоянии должна находиться кнопка Differential. При использовании в модуле DCM в качестве исходного тактового сигнала внутреннего сигнала ПЛИС необходимо переключить в нажатое состояние кнопку Internal.

После этого следует указать, будет ли выполняться фазовый сдвиг формируемых сигналов синхронизации. Для этой цели нужно воспользоваться полем выбора Type, которое находится во встроенной панели Phase Shift (рис. 4). В выпадающем списке этого поля выбора представлено три возможных варианта, которые определяют вид вносимого фазового сдвига: NONE, FIXED, VARIABLE. Если не требуется осуществлять фазовый сдвиг выходных сигналов синхронизации,

(схема фазового сдвига не задействуется), то должен быть выбран вариант NONE. В случае необходимости внесения фиксированного фазового сдвига нужно выбрать вариант FIXED. При этом значение вносимого фазового сдвига указывается в поле редактирования Value. Для внесения изменяемого фазового сдвига в выходные сигналы синхронизации следует в выпадающем списке выбрать строку VARIABLE.

На следующем шаге с помощью группы кнопок с зависимой фиксацией, находящихся во встроенной панели Feedback Source (рис. 4), определяется вид источника сигнала, поступающего на вход обратной связи модуля DCM. Когда в качестве сигнала обратной связи в модуле DCM используется внешний сигнал, поступающий со входа ПЛИС, следует зафиксировать в нажатом состоянии кнопку External. В этом случае нужно также уточнить тип данного сигнала — обычный или дифференциальный. Для этой цели предназначены кнопки Single и Differential, расположенные во встроенной панели Feedback Source. При подаче на вход обратной связи модуля DCM внутреннего сигнала ПЛИС следует переключить в нажатое состояние кнопку Internal. Если цепь обратной связи в модуле DCM не используется, то нужно зафиксировать в нажатом состоянии кнопку None.

Тип (частота) сигнала, подаваемого на вход обратной связи модуля DCM, указывается

с помощью группы кнопок с зависимой фиксацией Feedback Value (рис. 4). Если на вход обратной связи должен поступать сигнал, формируемый на выходе CLK0 с той же частотой, что и исходный тактовый сигнал, то нужно установить в нажатое состояние кнопку 1X. Когда в качестве сигнала, подаваемого на вход обратной связи, используется сигнал с двукратным значением частоты, генерируемый на выходе CLK2X, то в нажатое состояние необходимо переключить кнопку 2X.

Для определения совокупности выходных сигналов разрабатываемого блока синхронизации предназначены индикаторы состояния, расположенные рядом с выводами на изображении модуля DCM, которое находится в верхней части диалоговой панели General Setup. Чтобы задействовать в составе проектируемого блока синхронизации какой-либо выход модуля DCM, на котором формируется требуемый сигнал, нужно установить соответствующий индикатор в состояние «включено», отмеченное маркером. Отсутствие маркера на поле индикатора состояния указывает на то, что данный вывод модуля DCM не используется в формируемом блоке синхронизации. Тем же способом указываются необходимые входы модуля DCM, в частности, вход асинхронного сброса.

Если в разрабатываемом блоке синхронизации задействован выход делителя частоты CLKDV, то необходимо указать коэффици-

Рис. 5. Диалоговая панель установки дополнительных параметров модуля DCM

ент деления с помощью поля выбора Divide By Value (рис. 4). В выпадающем списке этого поля выбора содержатся все допустимые значения коэффициента деления частоты, поддерживаемые модулем DCM.

Для коррекции скважности тактовых сигналов, формируемых на выходах CLK0, CLK90, CLK180 и CLK270 модуля DCM, следует установить индикатор Use Duty Cycle Correction, расположенный в нижней части диалоговой панели General Setup, в состояние «включено». Тогда перечисленные сигналы синхронизации будут иметь скважность 50%. При выключенном состоянии индикатора Use Duty Cycle Correction скважность этих сигналов будет совпадать со скважностью входного тактового сигнала.

Кроме основных параметров модуля DCM, представленных в рассмотренной диалоговой панели, пользователь может установить требуемые значения дополнительных параметров, воспользовавшись кнопкой Advanced (рис. 4). При нажатии на эту кнопку на экран выводится диалоговая панель с заголовком Advanced, вид которой показан на рис. 5.

Значение параметра DCM Deskew Adjust определяет длительность выравнивающей задержки выходных тактовых сигналов, формируемых модулем DCM, относительно сигнала синхронизации, поступающего на входной контакт ПЛИС. Для данного параметра рекомендуется выбирать значение SYSTEM_SYNCHRONOUS, установленное по умолчанию, или значение SOURCE_S YNCHRONOUS.

Параметр Wait for DCM lock before DONE signal goes high устанавливает значение атрибута STARTUP_WAIT, который управляет включением паузы в процессе конфигурирования ПЛИС до момента нормального захвата следящей системы схемы автоподстройки задержек DLL. Если для данного параметра выбрано значение TRUE (соответствующий индикатор состояния установлен в положение «включено»), то в процессе конфигурирования кристалла будет выполняться ожидание вхождения DLL в режим нормального захвата.

С помощью параметра Divide Input Clock by 2 можно установить режим деления частоты входного тактового сигнала DCM на два. Необходимость применения такого режима

может возникнуть, в частности, когда частота входного сигнала синхронизации превышает предельно допустимое значение для схемы автоподстройки задержек DLL. Для активизации данного режима необходимо установить индикатор состояния Divide Input Clock by 2 в положение «включено».

Параметр Insert reset logic for external feedback доступен только в том случае, когда в DCM задействован вход сброса и в качестве сигнала, подаваемого на вход обратной связи, используется внешний сигнал, поступающий с соответствующего входа ПЛИС. Значение «включено» данного параметра указывает на необходимость установки схемы сброса в цепи обратной связи.

Все изменения значений дополнительных параметров модуля DCM, выполненные в диалоговой панели установки Advanced, вступают в силу после нажатия клавиши ОК (рис. 5). После этого можно, нажав клавишу Далее (Next) в панели выбора основных параметров модуля DCM General Setup, перейти к очередной диалоговой панели «мастера» Architecture Wizard, которая изображена на рис. 6.

Диалоговая панель Clock Buffers позволяет выбрать тип глобальных буферных элементов и линий связи, которые будут подключены к выходам тактовых сигналов, формируемых модулем DCM. Для этого нужно воспользоваться группой кнопок Clock Buffer

Settings (рис. 6). При нажатой кнопке Use Global Buffers for all selected clock outputs ко всем выбранным выходам формируемых сигналов синхронизации будут автоматически подключены глобальные буферные элементы BUFG. Чтобы установить на тактовых выходах модуля DCM другие типы буферных элементов, следует переключить в нажатое состояние кнопку Customize buffers. При этом в таблице, расположенной в диалоговой панели Clock Buffers, для каждого задействованного выхода модуля DCM, указанного в первой колонке I0, станет доступной кнопка выбора типа буферного элемента или линии связи Global Buffer, которая находится в колонке View/Edit Buffer. При нажатии на эту кнопку на экран выводится диалоговая панель View/Edit Buffer, на которой в наглядной форме отображается тип буферного элемента, подключаемого к соответствующему выходу тактового сигнала модуля DCM. Первоначальный вид данной панели, соответствующий режиму установки глобального буферного элемента BUFG, показан на рис. 7.

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

Рис. 6. Диалоговая панель выбора типов глобальных буферных элементов и линий связи, подключаемых к выходам модуля DCM

Ї* Xilinx Clucking V/uoiU Vhrw/E dit Buffer

Scfect txita ft* DCM pin CLK0

(global Bdk<!

О £f«fc*ed

О CtocfcMu.

О Local BotAng

О

Ctoc*. Mi* Confrol

dock Mui lor y»l*.4

BUF6 4

cuo.buf — i —m ¡аш.оит

1 1

Рис. 7. Вид диалоговой панели просмотра и изменения типа буферного элемента, подключаемого к выбранному выходу модуля DCM, в режиме установки глобального буферного элемента BUFG

Рис. 8. Вид диалоговой панели просмотра и изменения типа буферного элемента, подключаемого к выбранному выходу модуля DCM, в режиме установки глобального буферного элемента с входом разрешения синхронизации BUFGCE

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

Чтобы изменить тип буферного элемента, подключаемого к выбранному выходу модуля DCM, нужно воспользоваться группой кнопок с зависимой фиксацией Select buffer for DCM pin (рис. 7). Для установки глобального буферного элемента с входом разрешения синхронизации BUFGCE следует зафиксировать в нажатом состоянии кнопку Enabled Buffer. При этом диалоговая панель View/Edit Buffer приобретает вид, представленный на рис. 8.

Если выбранный выход модуля DCM должен быть подключен к входу глобального мультиплексора BUFGMUX, то нужно переключить в нажатое состояние кнопку Clock Mux. В этом случае диалоговая панель View/Edit Buffer преобразуется так, как показано на рис. 9.

При необходимости можно не включать глобальные буферные элементы в состав разрабатываемого блока синхронизации. Чтобы выбранный выходной сигнал модуля DCM передавался в выходной порт блока синхронизации, который будет подключен впоследствии к одной из локальных линий связи ПЛИС, следует установить в состояние «включено» кнопку Local Routing. После нажатия данной кнопки автоматически производит-

ся изменение содержимого диалоговой панели View/Edit Buffer (рис. 10).

Когда требуется подключить выбранный выход модуля DCM к выходному порту разрабатываемого блока синхронизации, который предназначен для сопряжения с линиями связи кристалла, обеспечивающими минимальное расхождение фронтов тактового сигнала, следует зафиксировать в нажатом состоянии кнопку Lowskewline. После этого диалоговая панель View/Edit Buffer приобретает вид, представленный на рис. 11.

После поочередного определения типов буферных элементов, подключаемых к каждому задействованному выходу модуля DCM, нужно, воспользовавшись клавишей Далее

Рис. 9. Вид диалоговой панели просмотра и изменения типа буферного элемента, подключаемого к выбранному выходу модуля DCM, в режиме установки глобального мультиплексора BUFGMUX

Рис. 10. Вид диалоговой панели Уіем/ЕйкВиґґегпри подключении выбранного выхода модуля DCM к выходному порту блока синхронизации, предназначенному для сопряжения с локальными линиями связи ПЛИС

Рис. 11. Вид диалоговой панели Уіе'м/ЕсііїВиґґегпри подключении выбранного выхода модуля DCM к выходному порту блока синхронизации, предназначенному для сопряжения с линиями связи ПЛИС, обеспечивающими минимальное расхождение фронтов тактового сигнала

в диалоговой панели Clock Buffers (рис. 6) перейти к следующей диалоговой панели «мастера» Architecture Wizard. Если в разрабатываемом блоке синхронизации используется сигнал, формируемый синтезатором частот, то на экран выводится диалоговая панель с за-

головком Clock Frequency Synthesizer, предназначенная для определения параметров генерируемого сигнала. Вид этой диалоговой панели изображен на рис. 12.

В верхней части данной диалоговой панели находится таблица Valid Ranges for Speed Grade,

в которой указаны допустимые диапазоны частот входного и выходного сигнала для каждого режима работы синтезатора частот. В колонке Fin отображаются границы поддерживаемого диапазона частот для входного сигнала, а в колонке Fout — для выходного. Значение частоты сигнала, формируемого на выходе синтезатора, задается с помощью инструментов управления, которые расположены во встроенной панели Inputs for Jitter Calculations. Значение частоты входного сигнала автоматически отображается в строке Input Clock Frequency (рис. 12). Чтобы явно указать значение частоты или длительности периода выходного сигнала синтезатора, нужно переключить в нажатое состояние кнопку Use Output Frequency, после чего станет доступным поле редактирования, расположенное под этой кнопкой. Для ввода значения частоты выходного сигнала необходимо зафиксировать в нажатом состоянии кнопку MHz. Для определения длительности периода этого сигнала следует установить в нажатое состояние кнопку ns.

Значение частоты сигнала, формируемого на выходе синтезатора, также можно определить с помощью коэффициентов умножения и деления частоты входного сигнала. Для этого нужно переключить в нажатое состояние кнопку Use Multiply (M) and Divide (D) values. Значение коэффициента умножения указывается в поле редактирования M, а коэффициента деления — в поле редактирования D. При этом необходимо учитывать, что

Рис. 12. Диалоговая панель определения параметров сигнала, генерируемого синтезатором частот модуля DCM

Рис. 13. Заключительная информационная панель Summary «мастера» Architecture Wizard

допустимые значения для коэффициента умножения находятся в диапазоне от 2 до 32, а для коэффициента деления — в диапазоне от 1 до 32. После ввода исходных значений нужно нажать кнопку Calculate, находящуюся в этой же встроенной панели. При этом выполняются вычисления всех входных и выходных параметров синтезатора частоты, результаты которых отображаются во встроенной панели Generated Output (рис. 12). В ней в форме таблицы приводятся значения коэффициентов умножения и деления частоты M и D, частоты формируемого сигнала Output Frequency и нестабильности этого сигнала Period Jitter. При получении приемлемых результатов для перехода к завершающей панели Summary «мастера» Architecture Wizard нужно нажать клавишу Далее (Next).

Если в создаваемом блоке синхронизации сигнал, формируемый синтезатором частот, не используется, то диалоговая панель Clock Frequency Synthesizer не выводится. В этом случае сразу после закрытия диалоговой панели Clock Buffers (рис. 6) на экране появляется заключительная информационная панель Summary «мастера» Architecture Wizard, вид которой представлен на рис. 13.

Данная информационная панель содержит три встроенные панели. В первой из них, Feature Summary, отображается название выбранной конфигурации блока синхрониза-

ции. Во второй встроенной панели, Files To Be Generated, представлена информация о формируемых файлах и месте их расположения на диске. Третья встроенная панель, Block Attributes, содержит список атрибутов используемого библиотечного примитива, представляющего модуль DCM.

Для запуска процесса автоматической генерации файлов описания блока синхронизации нужно нажать кнопку «Готово» (Finish), расположенную в нижней части заключительной информационной панели «мастера». Файлы, сформированные «мастером» Architecture Wizard, нужно включить в состав проекта разрабатываемого устройства в САПР серии Xilinx ISE.

Продолжение следует

Литература

1. Кузелин М. О., Кнышев Д. А., Зотов В. Ю. Современные семейства ПЛИС фирмы Xilinx. Справочное пособие. М.: Горячая линия — Телеком. 2004.

2. Зотов В. Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком. 2006.

3. Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия — Телеком. 2003.