Научная статья на тему 'Разработка VHDL-описаний цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, с использованием шаблонов САПР ise design suite'

Разработка VHDL-описаний цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, с использованием шаблонов САПР ise design suite Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

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

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

В двадцать пятой части статьи завершается представление шаблонов VHDL-описаний элементов, выполненных на основе экземпляров библиотечных примитивов, реализуемых на базе соответствующих аппаратных ресурсов кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT [44-54]. В этой части рассмотрены образцы описаний элементов FIFO-памяти, конфигурируемых на базе модулей блочной памяти Block RAM, и модуля системного мониторинга ПЛИС серии Virtex-5. Кроме того, здесь приведена информация о шаблонах описаний секций цифровой обработки сигналов и комбинированных модулей управления синхронизацией, которые входят в состав архитектуры кристаллов программируемой логики семейств Virtex-6 LXT, Virtex-6 CXT, Virtex-6 SXT и Virtex-6 HXT [55-68].

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

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

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

Текст научной работы на тему «Разработка VHDL-описаний цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, с использованием шаблонов САПР ise design suite»

Продолжение. Начало в № 2 2010

Разработка VHDL-описаний цифровых устройств,

проектируемых на основе ПЛИС фирмы Xilinx, с использованием шаблонов САПР ISE Design Suite

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

walerry@km.ru

В двадцать пятой части статьи завершается представление шаблонов VHDL-описаний элементов, выполненных на основе экземпляров библиотечных примитивов, реализуемых на базе соответствующих аппаратных ресурсов кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT [44—54]. В этой части рассмотрены образцы описаний элементов FIFO-памяти, конфигурируемых на базе модулей блочной памяти Block RAM, и модуля системного мониторинга ПЛИС серии Virtex-5. Кроме того, здесь приведена информация о шаблонах описаний секций цифровой обработки сигналов и комбинированных модулей управления синхронизацией, которые входят в состав архитектуры кристаллов программируемой логики семейств Virtex-5 LXT, Virtex-5 CXT, Virtex-5 SXT и Virtex-5 HXT [55-58].

Модули блочной памяти Block RAM ПЛИС серии Virtex-5 поддерживают возможность конфигурирования в виде запоминающих устройств, функционирующих по принципу «первым вошел - первым вышел» (FIFO) с различным объемом и организацией. Для подготовки описаний элементов FIFO-памяти, реализуемых на базе модулей блочной памяти кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT, предоставляются четыре библиотечных примитива, каждый из которых соответствует определенному варианту информационной емкости и организации входного и выходного портов.

16k+2k Parity FIFO (FIFO18) является шаблоном описания элемента запоминающего устройства FIFO с информационной емкостью 16 384 бит и дополнительным объемом 2048 бит, предназначенным для осуществления контроля четности при реализации на основе модуля блочной памяти Block RAM ПЛИС серии Virtex-5. Этот шаблон можно применять для подготовки описаний элементов FIFO-памяти со следующими вариантами организации входного и выходного портов: 4096x4 разряда, 2048x9 разрядов и 1024x18 разрядов:

-- FIFO18 : 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 (FIFO18_inst) and/or the port declarations -- code : after the "=>" assignment maybe changed to properly -- : connect this function to the design. All inputs -- : and outputs must be connected.

-- 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.all;

-- <---Cut code below this line and paste into the architecture body--->

-- FIFO18: 16k+2k Parity Synchronous/Asynchronous BlockRAM FIFO BlockRAM Memory -- Virtex-5

-- Xilinx HDL Language Template, version 13.2

FIFO18_inst : FIFO18 generic map (

ALMOST_FULL_OFFSET => X"080", -- Sets almost full

threshold

ALMOST_EMPTY_OFFSET => X"080", -- Sets the almost empty threshold

DATA_WIDTH => 4, -- Sets data width to 4, 9, or 18 DO_REG => 1, -- Enable output register ( 0 or 1) -- Must be 1 if the EN_SYN = FALSE EN_SYN => FALSE, -- Specified FIFO as Asynchronous (FALSE) or Synchronous (TRUE)

FIRST_WORD_FALL_THROUGH => FALSE, -- Sets the FIFO FWFT to TRUE or FALSE

SIM_MODE => "SAFE") -- Simulation: "SAFE" vs "FAST", see "Synthesis and Simulation

-- Design Guide" for details

port map (

ALMOSTEMPTY => ALMOSTEMPTY, -- 1-bit almost empty output flag

ALMOSTFULL => ALMOSTFULL, -- 1-bit almost full

output flag

DO => DO, -- 32-bit data output DOP => DOP, -- 2-bit parity data output EMPTY => EMPTY, -- 1-bit empty output flag FULL => FULL, -- 1-bit full output flag RDCOUNT => RDCOUNT, -- 12-bit read count output RDERR => RDERR, -- 1-bit read error output WRCOUNT => WRCOUNT, -- 12-bit write count output WRERR => WRERR, -- 1-bit write error DI => DI, -- 16-bit data input DIP => DIP, -- 2-bit parity input RDCLK => RDCLK, -- 1-bit read clock input RDEN => RDEN, -- 1-bit read enable input RST => RST, -- 1-bit reset input WRCLK => WRCLK, -- 1-bit write clock input WREN => WREN -- 1-bit write enable input );

-- End of FIFO18_inst instantiation

В основе приведенного шаблона — оператор создания экземпляра библиотечного примитива FIFO18, который представляет элемент запоминающего устройства, функционирующего по принципу «первым вошел - первым вышел» с указанной информационной емкостью, конфигурируемый на базе модуля блочной памяти Block RAM кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT. В этом библиотечном примитиве для выбора требуемой конфигурации формируемого элемента FIFO-памяти предусмотрены следующие параметры настройки:

• ALMOST_FULL_OFFSET — определяет количество слов данных, на которое отличаются условия формирования активного уровня сигнала на выходах FULL

и ALMOSTFULL (по умолчанию присваивается значение X"080").

• ALMOST_EMPTY_OFFSET — задает число слов данных, на которое должны отличаться условия формирования активного уровня сигнала на выходах EMPTY и ALMOSTEMPTY (по умолчанию предлагается значение X"080").

• DATA_WIDTH — указывает разрядность входного и выходного портов формируемого экземпляра запоминающего устройства FIFO (по умолчанию устанавливается разрядность слов данных, равная четырем).

• DO_REG — предоставляет возможность использования выходного регистра (по умолчанию выходной регистр задействуется в создаваемом элементе FIFO-памяти).

• EN_SYN — определяет тип формируемого запоминающего устройства FIFO: синхронный или асинхронный (по умолчанию конфигурируется асинхронный элемент FIFO-памяти — с различными входами синхронизации портов записи и чтения данных).

• FIRST_WORD_FALL_THROUGH — позволяет в создаваемом элементе использовать режим FWFT (по умолчанию для этого параметра предлагается значение FALSE, блокирующее применение указанной функции).

• SIM_MODE — устанавливает режим моделирования формируемого экземпляра запоминающего устройства FIFO.

В состав системы условных обозначений входов и выходов, используемых в описании интерфейса элементов FIFO-памяти, создаваемых с помощью шаблона 16k+2k Parity FIFO (FIFO18), входят те же идентификаторы, что и в библиотечном примитиве FIFO16, рассмотренном в 23-й части статьи.

Условный графический образ элемента запоминающего устройства, функционирующего по принципу «первым вошел - первым вышел», описание которого формируется с использованием шаблона 16k+2k Parity FIFO (FIFO18) для последующей реализации на базе модуля блочной памяти Block RAM ПЛИС серии Virtex-5, приведен на рис. 392.

Рис. 392. Условный графический образ элемента FIFO-памяти, формируемого с помощью шаблона 16k+2k Parity FIFO (FIFO18)

32k+4k Parity FIFO (FIFO36) представляет собой образец VHDL-описания варианта конфигурирования модуля блочной памяти Block RAM в кристаллах программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT в виде запоминающего устройства, работающего по принципу «первым вошел -первым вышел», с информационной емкостью 32 768 бит и дополнительным объемом 4096 бит, применяемым для организации контроля четности записываемых и считываемых данных. В качестве основы этого шаблона используется оператор создания экземпляра библиотечного примитива FIFO36, который соответствует указанному варианту конфигурирования модуля блочной памяти ПЛИС серии Virtex-5. Этот библиотечный примитив позволяет формировать описания элементов FIFO-памяти с одним из четырех возможных вариантов организации входного и выходного портов: 8192x4 разряда, 4096x9 разрядов, 2048x18 разрядов и 1024x36 разрядов:

-- FIFO36 : 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 (FIFO36_inst) and/or the port declarations -- code : after the "=>" assignment maybe changed to properly -- : connect this function to the design. All inputs -- : and outputs must be connected.

-- 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.all;

-- <---Cut code below this line and paste into the architecture body--->

-- FIFO36: 32k+4k Parity Synchronous/Asynchronous BlockRAM FIFO BlockRAM Memory -- Virtex-5

-- Xilinx HDL Language Template, version 13.2

FIFO36_inst : FIFO36 generic map (

ALMOST_FULL_OFFSET => X"0080", -- Sets almost full

threshold

ALMOST_EMPTY_OFFSET => X"0080", -- Sets the almost empty threshold

DATA_WIDTH => 4, -- Sets data width to 4, 9, 18, or 36 DO_REG => 1, -- Enable output register ( 0 or 1)

-- Must be 1 if the EN_SYN = FALSE EN_SYN => FALSE, -- Specified FIFO as Asynchronous

(FALSE)or

-- Synchronous (TRUE) FIRST_WORD_FALL_THROUGH => FALSE, -- Sets the FIFO FWFT to TRUE or FALSE

SIM_MODE => "SAFE") -- Simulation: "SAFE" vs "FAST", see "Synthesis and Simulation

-- Design Guide" for details

port map (

ALMOSTEMPTY => ALMOSTEMPTY, -- 1-bit almost empty output flag

ALMOSTFULL => ALMOSTFULL, -- 1-bit almost full

output flag

DO => DO, -- 32-bit data output

DOP => DOP, -- 4-bit parity data output

EMPTY => EMPTY, -- 1-bit empty output flag

FULL => FULL, -- 1-bit full output flag

RDCOUNT => RDCOUNT, -- 13-bit read count output

RDERR => RDERR, -- 1-bit read error output

WRCOUNT => WRCOUNT, -- 13-bit write count output

WRERR => WRERR, -- 1-bit write error

DI => DI, -- 32-bit data input

DIP => DIP, -- 4-bit parity input

RDCLK => RDCLK, -- 1-bit read clock input

RDEN => RDEN, -- 1-bit read enable input RST => RST, -- 1-bit reset input WRCLK => WRCLK, -- 1-bit write clock input WREN => WREN -- 1-bit write enable input );

-- End of FIFO36_inst instantiation

В библиотечном примитиве FIFO36 используются те же параметры настройки и система условных обозначений входов и выходов, что и в предыдущем шаблоне. На рис. 393 показан условный графический образ элемента запоминающего устройства FIFO, формируемого с помощью шаблона 32k+4kParityFIFO (FIFO36) в кристаллах программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT.

Рис. 393. Условный графический образ элемента FIFO-памяти, формируемого с помощью шаблона 32k+4k Parity FIFO (FIFO36).

Для увеличения информационной емкости формируемого запоминающего устройства, работающего по принципу «первым вошел - первым вышел», может применяться каскадное соединение нескольких элементов FIFO-памяти. Структурная схема, изображенная на рис. 394, демонстрирует пример каскадного соединения трех элементов, создаваемых с помощью шаблона 32k+4k Parity FIFO (FIFO36), для реализации запоминающего устройства FIFO с организацией входного и выходного портов 81 924 разряда.

36x18k FIFO (FIFO18_36) содержит шаблон описания элемента FIFO-памяти с информационной емкостью 18 432 бита и организацией 512x36 разрядов и поддержкой контроля четности, реализуемого на основе модуля блочной памяти Block RAM ПЛИС серии Virtex-5. Основу этого шаблона образует оператор создания экземпляра библиотечного примитива FIFO18_36, который представляет соответствующий вариант конфигурирования модуля блочной памяти в кристаллах программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT:

FIF018

Dl[15:0] DO[15:0]

DIP[1:0] DOP[1:0]

RDEN ALMOSTEMPTY

WREN ALMOSTFULL

RST EMPTY

RDCLK FULL

WRCLK RDERR

WRERR

RDCOUNT[11:0]

WRCOUNT[11:Q]

FIF036

Dl[31:0] D0[31:0]

DIP[3:0] DOP[3:0] ALMOSTEMPTY

RDEN ALMOSTFULL

WREN EMPTY FULL

RST RDERR

RDCLK WRERR RDCOUNT[12:Q]

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

WRCLK WRCOUNT[12:Q]

Рис. 394. Схема каскадного соединения трех элементов FIFO-памяти с организацией 8192x4 разряда

Рис. 395. Условный графический образ элемента FIFO-памяти, формируемого с помощью шаблона 36x18k FIFO (FIFO18_36)

-- FIFO18_36 : 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 (FIFO18_36_inst) and/or the port declarations -- code : after the "=>" assignment maybe changed to properly -- : connect this function to the design. All inputs -- : and outputs must be connected.

-- 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--->

-- FIFO18_36: 36x18k Synchronous/Asynchronous BlockRAM FIFO -- Virtex-5

-- Xilinx HDL Language Template, version 13.2

FIFO18_36_inst : FIFO18_36 generic map (

ALMOST_FULL_OFFSET => X"0080", -- Sets almost full threshold

ALMOST_EMPTY_OFFSET => X"0080", -- Sets the almost empty threshold

DO_REG => 1, -- Enable output register (0 or 1)

-- Must be 1 if EN_SYN = FALSE EN_SYN => FALSE, -- Specifies FIFO as Asynchronous

(FALSE)

-- or Synchronous (TRUE) FIRST_WORD_FALL_THROUGH => FALSE, -- Sets the FIFO FWFT to TRUE or FALSE

SIM_MODE => "SAFE") -- Simulation: "SAFE" vs "FAST", see "Synthesis and Simulation

-- Design Guide" for details

port map (

ALMOSTEMPTY => ALMOSTEMPTY, -- 1-bit almost empty output flag

ALMOSTFULL => ALMOSTFULL, -- 1-bit almost full

output flag

output

DO => DO, -- 32-bit data output DOP => DOP, -- 4-bit parity data output EMPTY => EMPTY, -- 1-bit empty output flag FULL => FULL, -- 1-bit full output flag RDCOUNT => RDCOUNT, -- 9-bit read count output RDERR => RDERR, -- 1-bit read error output WRCOUNT => WRCOUNT, -- 9-bit write count

WRERR => WRERR, -- 1-bit write error

DI => DI, -- 32-bit data input

DIP => DIP, -- 4-bit parity input

RDCLK => RDCLK, -- 1-bit read clock input

RDEN => RDEN, -- 1-bit read enable input

RST => RST, -- 1-bit reset input

WRCLK => WRCLK, -- 1-bit write clock input

WREN => WREN -- 1-bit write enable input

FIF018 36

Dl[31:0] D0[31:0]

DIP[3:0] DOP[3:0]

RDEN ALMOSTEMPTY

WREN ALMOSTFULL

RST EMPTY

RDCLK FULL

WRCLK RDERR

WRERR

RDCOUNT[8:0]

WRCOUNT[8:0]

-- 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--->

-- FIFO36_72: 72x36k Synchronous/Asynchronous BlockRAM FIFO /w ECC -- Virtex-5

-- Xilinx HDL Language Template, version 13.2

FIFO36_72_inst : FIFO36_72 generic map (

ALMOST_FULL_OFFSET => X"0080", -- Sets almost full threshold

ALMOST_EMPTY_OFFSET => X"0080", -- Sets the almost empty threshold

DO_REG => 1, -- Enable output register (0 or 1)

-- Must be 1 if EN_SYN = FALSE EN_ECC_READ => FALSE, -- Enable ECC decoder, TRUE or FALSE

EN_ECC_WRITE => FALSE, -- Enable ECC encoder, TRUE or FALSE

EN_SYN => FALSE, -- Specifies FIFO as Asynchronous (FALSE) or Synchronous (TRUE)

FIRST_WORD_FALL_THROUGH => FALSE, -- Sets the FIFO FWFT to TRUE or FALSE

SIM_MODE => "SAFE") -- Simulation: "SAFE" vs "FAST", see "Synthesis and Simulation

-- Design Guide" for details

port map (

ALMOSTEMPTY => ALMOSTEMPTY, -- 1-bit almost empty output flag

ALMOSTFULL => ALMOSTFULL, -- 1-bit almost full

output flag

DBITERR => DBITERR -- 1-bit double bit error status output SBITERR => SBITERR, -- 1-bit single bit error status output DO => DO, -- 64-bit data output DOP => DOP, -- 4-bit parity data output ECCPARITY => ECCPARITY -- 8-bit generated error correction parity

EMPTY => EMPTY, -- 1-bit empty output flag FULL => FULL, -- 1-bit full output flag RDCOUNT => RDCOUNT, -- 9-bit read count output RDERR => RDERR, -- 1-bit read error output WRCOUNT => WRCOUNT, -- 9-bit write count output WRERR => WRERR, -- 1-bit write error DI => DI, -- 64-bit data input DIP => DIP, -- 4-bit parity input RDCLK => RDCLK, -- 1-bit read clock input RDEN => RDEN, -- 1-bit read enable input RST => RST, -- 1-bit reset input WRCLK => WRCLK, -- 1-bit write clock input WREN => WREN -- 1-bit write enable input );

-- End of FIFO36_72_inst instantiation

- End of FIFO18_36_inst instantiation

for simulation

Условный графический образ элемента запоминающего устройства, функционирую-

щего по принципу «первым вошел - первым вышел», реализуемого на базе модуля блочной памяти Block RAM ПЛИС серии Virtex-5, для подготовки описания которого применяется шаблон 36x18k FIFO (FIFO18_36), приведен на рис. 395.

72x36k FIFO/w ECC (FIFO36_72) включает в себя образец VHDL-описания варианта конфигурирования модуля блочной памяти Block RAM кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT в виде запоминающего устройства, работающего по принципу «первым вошел - первым вышел», информационной емкостью 36 864 бит с организацией портов записи и чтения данных 512x72 разряда и встроенной схемой контроля и коррекции ошибок ECC:

-- FIFO36_72 : 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 (FIFO36_72_inst) and/or the port declarations -- code : after the "=>" assignment maybe changed to properly -- : connect this function to the design. All inputs -- : and outputs must be connected.

-- 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

Основу приведенной конструкции составляет оператор создания экземпляра библиотечного примитива FIFO36_72, который представляет указанный вариант конфигурирования модуля блочной памяти Block RAM ПЛИС серии Virtex-5. В этом библиотечном

примитиве в большинстве своем используются параметры настройки, рассмотренные при изучении шаблона 16k+2k Parity FIFO (FIFO18). Кроме того, в шаблоне 72x36k FIFO/w ECC (FIFO36_72) предусмотрены дополнительные настраиваемые параметры:

• EN_ECC_READ — предоставляет возможность управления декодированием считываемых данных с помощью встроенной схемы контроля и коррекции ошибок ECC.

• EN_ECC_WRITE — позволяет включать и отключать кодирование записываемых информационных данных встроенной схемой контроля и коррекции ошибок ECC. По умолчанию для каждого из этих параметров настройки предлагается значение FALSE, при котором кодирование и декодирование информационных данных не производится.

В состав системы условных обозначений входов и выходов, применяемых в описании интерфейса элементов запоминающих устройств FIFO, формируемых с помощью шаблона 72x36k FIFO/w ECC (FIFO36_72), входят следующие идентификаторы:

• ALMOSTEMPTY — выход сигнала, информирующего о том, что не более заданного количества слов данных может быть считано из сформированного элемента FIFO-памяти.

• ALMOSTFULL — выход сигнала, предупреждающего о том, что в запоминающее устройство FIFO может быть записано не более указанного количества слов данных.

• DBITERR — выход сигнала, сообщающего о наличии двух ошибочных бит данных.

• SBITERR — выход сигнала, информирующего о присутствии одного ошибочного бита данных.

• DO — выходная 64-разрядная шина данных, на которую выводится информация, считываемая из запоминающего устройства FIFO.

• DOP — выходная 8-разрядная шина, предназначенная для организации контроля четности считываемых информационных данных.

• ECCPARITY — выходная 8-разрядная шина, на которую поступает код, формируемый встроенной схемой контроля и коррекции ошибок ECC.

• EMPTY — выход сигнала, активный уровень которого предупреждает об опустошении запоминающего устройства (всех ячеек FIFO-памяти) и невозможности осуществления операции чтения новых данных.

• FULL — выход сигнала, активный уровень которого сообщает о заполнении всего объема запоминающего устройства FIFO (всех ячеек FIFO-памяти) и невозможности осуществления операции записи новых данных.

• RDCOUNT — выходная 9-разрядная шина, на которую выводится текущее значение счетчика количества считанных слов данных.

• RDERR — выход сигнала, активный уровень которого информирует об ошибке

FIF036_72

— Dl[63:0] D0[63:0] -

DOP[7:0] -

- DIP[7:0]

ALMOSTEMPTY -

— RDEN ALMOSTFULL -

EMPTY -

- WREN

FULL -

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

— RST RDERR -

WRERR -

- RDCLK

RDCOUNT[8:0] -

— WRCLK WRCOUNT[8:0] -

SBITERR -

DBITERR -

ECCPARITY[7:0] -

Рис. 396. Условный графический образ элемента

FIFO-памяти, формируемого с помощью шаблона

72x36k FIFO/w ECC (FIFO36_72)

при выполнении операции чтения слова данных из элемента FIFO-памяти. WRCOUNT — выходная 9-разрядная шина, на которой отображается текущее значение счетчика числа записанных слов данных. WRERR — выход сигнала, информирующего об ошибке при выполнении операции записи слова данных в запоминающее устройство FIFO.

DI — входная 64-разрядная шина, на которую поступают информационные данные, записываемые в запоминающее устройство FIFO.

DIP — входная 8-разрядная шина, используемая для контроля четности записываемых информационных данных. RDCLK — вход сигнала синхронизации для порта чтения данных из элемента FIFO-памяти.

RDEN — вход сигнала, разрешающего выполнение операции чтения (извлечения) данных из запоминающего устройства FIFO.

• RST — вход сигнала сброса.

• WRCLK — вход сигнала синхронизации для порта записи данных в элемент запоминающего устройства FIFO.

• WREN — вход сигнала разрешения операции записи данных в элемент FIFO-памяти. На рис. 396 представлен условный графический образ элемента запоминающего устройства, функционирующего по принципу «первым вошел - первым вышел», описание которого создается с помощью шаблона 72x36k FIFO/w ECC (FIFO36_72) для последующей реализации на базе модуля блочной памяти Block RAM кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT.

Для формирования запоминающих устройств FIFO с более высокой разрядностью входного и выходного портов можно применять параллельное соединение нескольких элементов, для подготовки описаний которых используются рассмотренные шаблоны. В качестве примера на рис. 397 изображена структурная схема запоминающего устройства, функционирующего по принципу «первым вошел - первым вышел», с организацией портов записи и чтения данных 512x144 разряда, выполненная на основе двух элементов FIFO-памяти, описание которых создается с помощью шаблона 72x36k FIFO/w ECC (FIFO36_72).

System Monitor (SYSMON) представляет собой шаблон VHDL-описания модуля системного мониторинга ПЛИС серии Virtex-5. В состав архитектуры кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT входит модуль System Monitor, предоставляющий возможность контроля значений температуры кристалла, уровней напряжений питания, а также измерения значений 17 внешних сигналов, подключаемых к соответствующим аналоговым входам. Структурная схема этого модуля изображена на рис. 398.

Рис. 397. Структура элемента FIFO-памяти с организацией 512x144 разряда

Мультиплексор внешних аналоговых ситапов

VAUXP[0] с VAUXN[0] С

VAUXP[14] С VAUXN[14] С VAUXP[15] с VAUXN[15] С

Модуль системного мониторинга System Monitor

Блок интерфейсных регистров

Датчик температуры

VCCINTC

VCCAUXC VREFNC

О-

Датчик напряжения

АЦП 10-Bits

OOh ТПТГ

Регистры состояния

Status Registers

тпг-

Регисфы управления

Control Registers

Управляющая

лотка Control Logic

Порт динамического реконфигурирования DRP

STATUS ALARM

CLOCK &

CONTROL

FPGA Interconnect

Контроллер интерфейса JTAG

Рис. 398. Структурная схема модуля системного мониторинга System Monitor ПЛИС серии Virtex-5

Основные функциональные блоки этой схемы:

• 10-разрядный АЦП;

• встроенный датчик температуры;

• интегрированный датчик питающих напряжений;

• мультиплексор внешних аналоговых сигналов;

• управляющая логика Control Logic;

• регистры состояния Status Registers;

• регистры управления Control Registers;

• порт динамического реконфигурирования Dynamic Reconfiguration Port (DRP). Блок АЦП, входящий в состав модуля системного мониторинга, позволяет выполнять преобразование аналоговых сигналов в цифровую форму с максимальной частотой дискретизации, достигающей 200 000 выборок/с, и 10-разрядным разрешением. Передаточная характеристика аналого-цифрового преобразователя модуля System Monitor показана на рис. 399.

Встроенный датчик температуры модуля System Monitor предоставляет возможность измерения соответствующего параметра кристалла в диапазоне от -40 до +125 °C

с точностью ±4 °C. На рис. 400 представлена передаточная характеристика блока измерения температуры, включающего в себя датчик и АЦП.

Интегрированный датчик напряжения модуля системного мониторинга применяется для контроля уровней различных напряжений питания ПЛИС, включая напряжения VCCINT, VCCAUX и VREF. Этот датчик обеспечивает возможность измерения уровней питающих напряжений в диапазоне от 0 до 3 В с точностью ±1%. Передаточная характеристика блока измерения напряжений питания модуля System Monitor, который образуют интегрированный датчик напряжения и АЦП, приведена на рис. 401.

Мультиплексор внешних сигналов осуществляет коммутацию аналоговых входов кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT с входами аналого-цифрового преобразователя модуля системного мониторинга. Управляющая логика обеспечивает требуемую последовательность подключения аналоговых входов и встроенных датчиков к входам АЦП, усреднение резуль-

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

Для подготовки описания модуля системного мониторинга предоставляется библиотечный примитив SYSMON, на основе экземпляра которого выполнен рассматриваемый шаблон:

-- SYSMON : 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 (SYSMON_inst) and/or the port declarations -- code : after the "=>" assignment maybe changed to properly -- : reference and connect this function to the design. -- : All inputs and outputs must be connected.

-- 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.all;

-- <---Cut code below this line and paste into the architecture body--->

-- SYSMON: System Monitor -- Virtex-5

-- Xilinx HDL Language Template, version 13.2

SYSMON_inst : SYSMON generic map (

INIT_40 => X"0000' INIT_41 => X"0000' INIT_42 => X"0000' INIT_43 => X"0000' INIT_44 => X"0000' INIT_45 => X"0000' INIT_46 => X"0000' INIT_47 => X"0000'

INIT_50 => X"0000' INIT_51 => X"0000' INIT_52 => X"0000' INIT_53 => X"0000'

- Configuration register 0

- Configuration register 1

- Configuration register 2

- Test register 0

- Test register 1

- Test register 2

- Test register 3

- Test register 4

- Alarm limit register 0

- Alarm limit register 1

- Alarm limit register 2

- Alarm limit register 3

INIT_54 => X"0000", -- Alarm limit register 4 INIT_55 => X"0000", -- Alarm limit register 5 INIT_56 => X"0000", -- Alarm limit register 6 INIT_57 => X"0000", -- Alarm limit register 7 SIM_MONITOR_FILE => "design.txt") -- Simulation analog entry file port map (

ALM => ALM, -- 3-bit output for temp, Vccint and Vccaux BUSY => BUSY, -- 1-bit output ADC busy signal CHANNEL => CHANNEL, -- 5-bit output channel

selection

DO => DO, -- 16-bit output data bus for dynamic reconfig DRDY => DRDY, -- 1-bit output data ready for dynamic

reconfig

EOC => EOC, -- 1-bit output end of conversion EOS => EOS, -- 1-bit output end of sequence JTAGBUSY => JTAGBUSY, -- 1-bit output JTAG DRP

busy

JTAGLOCKED => JTAGLOCKED, -- 1-bit output DRP

port lock

JTAGMODIFIED => JTAGMODIFIED, -- 1-bit output JTAG write to DRP

OT => OT, -- 1-bit output over temperature alarm CONVST => CONVST, -- 1-bit input convert start CONVSTCLK => CONVSTCLK, -- 1-bit input convert

start clock

DADDR => DADDR, -- 7-bit input address bus for dynamic reconfig

DCLK => DCLK, -- 1-bit input clock for dynamic reconfig DEN => DEN, -- 1-bit input enable for dynamic reconfig DI => DI, -- 16-bit input data bus for dynamic reconfig DWE => DWE, -- 1-bit input write enable for dynamic

reconfig

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

RESET => RESET, -- 1-bit input active high reset VAUXN => VAUXN, -- 16-bit input N-side auxiliary

analog input

VAUXP => VAUXP, -- 16-bit input P-side auxiliary

analog input

VN => VN, -- 1-bit input N-side analog input VP => VP -- 1-bit input P-side analog input );

-- End of SYSMON_inst instantiation

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

• INIT_40-INIT_42 — определяют содержимое конфигурационных регистров модуля системного мониторинга.

• INIT_43-INIT_47 — предоставляют возможность указания содержимого тестовых регистров модуля System Monitor.

• INIT_50-INIT_57 — позволяют задать пороговые уровни температуры и питающих напряжений, при достижении которых автоматически вырабатывается сигнал тревоги для соответствующего параметра (производится переключение уровня сигнала на соответствующем выходе).

• SIM_MONITOR_FILE — определяет имя файла входных значений, используемого в процессе моделирования модуля System Monitor.

Система условных обозначений входных и выходных портов, используемых в описании интерфейса модуля системного мониторинга, для подготовки описания которого применяется шаблон System Monitor (SYSMON), содержит следующие идентификаторы:

• ALM — 3-разрядная выходная шина, объединяющая сигналы тревоги, предупреждающие о выходе значений температуры и питающих напряжений за пределы заданного диапазона;

• BUSY — выход сигнала, информирующего о ходе выполнения процесса аналого-цифрового преобразования входных сигналов;

• CHANNEL — 5-разрядная выходная шина, совокупность значений сигналов которой определяет номер канала, обрабатываемого АЦП;

• DO — 16-разрядная выходная шина данных для порта динамического реконфи-гурирования;

• DRDY — выход сигнала готовности данных для порта динамического реконфи-гурирования;

• EOC — выход сигнала, информирующего о завершении процесса аналого-цифрового преобразования сигнала соответствующего канала;

• EOS — выход сигнала, сообщающего о завершении процесса аналого-цифрового преобразования сигнала последнего канала в заданной последовательности;

• JTAGBUSY — выход сигнала, информирующего о выполнении операции порта динамического реконфигурирования с использованием JTAG интерфейса;

• JTAGLOCKED — выход сигнала, предупреждающего о блокировке порта динамического реконфигурирования;

• JTAGMODIFIED — выход сигнала, сообщающего о выполнении операции записи в один из регистров порта динамического реконфигурирования;

• OT — выход сигнала тревоги, предупреждающего о достижении значения температуры кристалла программируемой логики максимально допустимого уровня;

• CONVST — вход сигнала, запускающего процесс аналого-цифрового преобразования сигнала выбранного канала;

• CONVSTCLK — вход сигнала, инициирующего процесс выборки сигнала в АЦП;

• DADDR — входная 7-разрядная адресная шина порта динамического реконфигури-рования;

• DCLK — вход сигнала синхронизации для порта динамического реконфигурирования;

• DEN — вход сигнала разрешения порта динамического реконфигурирования;

• DI — 16-разрядная входная шина данных порта динамического реконфигурирова-ния;

• DWE — вход сигнала разрешения записи для порта динамического реконфигури-рования;

• RESET — вход сигнала сброса для управляющей логики модуля системного мониторинга;

• VAUXN и VAUXP — входные 16-разрядные шины, объединяющие соответствующие линии дифференциальных пар дополнительных аналоговых входов модуля System Monitor;

• VN и VP — дифференциальная пара сигналов основных аналоговых входов модуля системного мониторинга.

Условный графический образ элемента,

выполняющего функции системного мониторинга, описание которого создается с помощью шаблона System Monitor (SYSMON)

SYSMON

— Dl[15:0] D0[15:0] -

— DADDR[6:0] DRDY -

— DEN JTAGBUSY -

— DWE JTAGMODIFIED -

— DCLK JTAGLOCKED -

— CONVSTCLK ОТ -

RESET CONVST ALM[2:0] -

— VAUXP[15:0] CHANNEL[4:0] -

_ VAUXN[15:0] EOC -

— VP EOS

— VN BUSY -

Рис. 402. Условный графический образ элемента, выполняющего функции системного мониторинга в ПЛИС серии Viгtex-5

для последующего применения в составе устройств, реализуемых на базе ПЛИС серии Virtex-5, изображен на рис. 402.

System Monitor Simulation File предоставляет образец файла входных значений для модуля системного мониторинга System Monitor, предназначенного для использования в процессе его моделирования в составе проектируемых устройств, выполняемых на основе кристаллов программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT:

-- Must use valid headers on all columns -- Comments can be added to the stimulus file using '--'

TIME TEMP VCCAUX VCCINT VP VN VAUXP[0] VAUXN[0] 00000 45 2.5 1.0 0.5 0.0 0.7 0.0 05000 85 2.45 1.1 0.3 0.0 0.2 0.0

-- Time stamp data is in nano seconds (ns) -- Temperature is recorded in C (degrees centigrade) -- All other channels are recorded as V (Volts) -- Valid column headers are: -- TIME, TEMP, VCCAUX, VCCINT, VP, VN,

-- VAUXP[0], VAUXN[0],...............VAUXP[15], VAUXN[15]

-- External analog inputs are differential so VP = 0.5 and VN = 0.0 the -- input on channel VP/VN in 0.5 - 0.0 = 0.5 V

В разделе Virtex-6 каталога Device Primitive Instantiation шаблонов языка VHDL сосредоточены образцы описаний компонентов, основу которых образуют экземпляры библиотечных примитивов, реализуемых на базе соответствующих аппаратных ресурсов ПЛИС одноименной серии [55-68]. В структуру этого раздела входят, в основном, те же подразделы, что представлены в составе каталога Spartan-3 (рис. 51, КиТ № 8Ч2010, стр. 101). Содержание большинства шаблонов, расположенных в подразделах каталога Virtex-6, совпадает с одноименными образцами описаний компонентов, находящимися в папках Spartan-3, Spartan-3A, Spartan-3A DSP, Spartan-3E, Spartan-6, Virtex-4 и Virtex-5, которые были рассмотрены в предыдущих частях статьи. Поэтому далее приводятся сведения только

о тех шаблонах, которые не были представлены ранее.

48-bit Multi-Functional Arithmetic Block (DSP48E1) включает в себя образец VHDL-описания элементов, формируемых на базе аппаратных секций цифровой обработки сигналов DSP48E1 в кристаллах программируемой логики семейств Virtex-6 LXT, Virtex-6 CXT, Virtex-6 SXT и Virtex-6 HXT [64]. Многофункциональный арифметический модуль цифровой обработки сигналов DSP48E1, входящий в состав архитектуры ПЛИС серии Virtex-6, является результатом усовершенствования аппаратной секции DSP48E, представленной в кристаллах программируемой логики семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 TXT и Virtex-5 FXT. Этот модернизированный модуль обладает полной совместимостью с базовым вариантом DSP48E и в то же время отличается расширенными функциональными возможностями, которые позволяют добиться дальнейшего повышения производительности разрабатываемых устройств цифровой обработки сигналов.

В состав архитектуры модернизированных аппаратных секций цифровой обработки сигналов DSP48E1 включены дополнительный (предварительный) сумматор, который расположен перед умножителем 25x18, и соответствующая дополнительная входная 25-разрядная шина данных. Кроме того, на входе дополнительного сумматора, как и на входах умножителя, установлены блоки буферных регистров с раздельными входами сигналов разрешения синхронизации. Подробная структурная схема многофункционального аппаратного модуля цифровой обработки сигналов DSP48E1, применяемого в кристаллах программируемой логики семейств Virtex-6 LXT, Virtex-6 CXT, Virtex-6 SXT и Virtex-6 HXT, показана на рис. 403. Новые элементы архитектуры модернизированной аппаратной секции ЦОС (предварительный сумматор, блоки буферных регистров и дополнительная входная шина данных) выделены на этой схеме, чтобы наглядно продемонстрировать отличия аппаратного модуля DSP48E1 от базового варианта DSP48E.

Детализированная структурная схема блока буферных регистров, установленных на шинах B и BCIN аппаратной секции цифровой обработки сигналов DSP48E1, приведена на рис. 404.

Подробная структурная схема предварительного сумматора и блока буферных регистров, установленных на шинах A и ACIN аппаратного многофункционального модуля цифровой обработки сигналов ПЛИС серии Virtex-6, изображена на рис. 405.

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

CARRYCASCOUT

Рис. 403. Структурная схема аппаратной секции цифровой обработки сигналов DSP48E1, применяемой в ПЛИС серии Viгtex-6

Рис. 404. Структурная схема блока буферных регистров, установленных на шинах B и BCIN секции DSP48E1

Рис. 405. Структурная схема предварительного сумматора и блока буферных регистров, установленных на шинах Д и ACIN секции DSP48E1

Выбор источников операндов и соответствующих буферных регистров осуществляется с помощью дополнительной 5-разрядной шины управления INMODE. Наличие дополнительного (предварительного) сумматора и блоков буферных регистров позволяет оптимальным образом реализовать многозвенные устройства ЦОС, в частности симметричные цифровые фильтры. При этом требуется минимальное количество аппаратных секций цифровой обработки сигналов

и достигается максимальная производительность разрабатываемого устройства.

Для формирования описания элементов, реализуемых на базе аппаратных секций цифровой обработки сигналов DSP48E1 кристаллов программируемой логики семейств Virtex-6 LXT, Virtex-6 СХТ, Virtex-6 SXT и Virtex-6 НХТ, предлагается одноименный библиотечный примитив, оператор создания экземпляра которого образует основу рассматриваемого шаблона:

-- DSP48E1 : In order to incorporate this function into the design, -- VHDL : the following instance declaration needs to be placed -- instance : in the body of the design code. The instance name -- declaration : (DSP48E1_inst) and/or the port declarations after the -- code : "=>" declaration maybe changed to properly reference and -- : connect this function to the design. All inputs and outputs -- : must be connected.

-- 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.all;

-- <---Cut code below this line and paste into the architecture body--- >

-- DSP48E1: 48-bit Multi-Functional Arithmetic Block -- Virtex-6

-- Xilinx HDL Language Template, version 13.2

DSP48E1_inst : DSP48E1 generic map (

-- Feature Control Attributes: Data Path Selection

A_INPUT => "DIRECT", -- Selects A input source, "DIRECT" (A port) or "CASCADE" (ACIN port) B_INPUT => "DIRECT", -- Selects B input source, "DIRECT" (B port) or "CASCADE" (BCIN port) USE_DPORT => FALSE, -- Select D port usage (TRUE or FALSE)

USE_MULT => "MULTIPLY", -- Select multipUer usage ("MULTIPLY", "DYNAMIC", or "NONE") -- Pattern Detector Attributes: Pattern Detection Configuration

AUTORESET_PATDET => "NO_RESET", -- "NO_RESET", "RESET_MATCH", "RESET_ NOT_MATCH"

MASK => X"3fffffffffff", -- 48-bit mask value for pattern detect (1=ignore)

PATTERN => X"000000000000", -- 48-bit pattern match for pattern detect

SEL_MASK => "MASK", -- "C", "MASK", "ROUNDING_MODE1", "ROUNDING_MODE2"

SEL_PATTERN => "PATTERN", -- Select pattern value ("PATTERN" or "C")

USE_PATTERN_DETECT => "NO_PATDET", -- Enable pattern detect ("PATDET" or "NO_

PATDET")

-- Register Control Attributes: Pipeline Register Configuration

ACASCREG => 1, -- Number of pipeline stages between A/ACIN and ACOUT (0, 1 or 2)

ADREG => 1, -- Number of pipeline stages for pre-adder (0 or 1) ALUMODEREG => 1, -- Number of pipeline stages for ALUMODE (0 or 1) AREG => 1, -- Number of pipeline stages for A (0, 1 or 2)

BCASCREG => 1, -- Number of pipeline stages between B/BCIN and BCOUT (0, 1 or 2) BREG => 1, -- Number of pipeline stages for B (0, 1 or 2) CARRYINREG => 1, -- Number of pipeline stages for CARRYIN (0 or 1) CARRYINSELREG => 1, -- Number of pipeline stages for CARRYINSEL (0 or 1) CREG => 1, -- Number of pipeline stages for C (0 or 1) DREG => 1, -- Number of pipeline stages for D (0 or 1) INMODEREG => 1, -- Number of pipeline stages for INMODE (0 or 1) MREG => 1, -- Number of multiplier pipeline stages (0 or 1) OPMODEREG => 1, -- Number of pipeline stages for OPMODE (0 or 1) PREG => 1, -- Number of pipeline stages for P (0 or 1) USE_SIMD => "ONE48" -- SIMD selection ("ONE48", "TWO24", "FOUR12") )

port map (

-- Cascade: 30-bit (each) output: Cascade Ports

ACOUT => ACOUT, -- 30-bit output: A port cascade output

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

BCOUT => BCOUT, -- 18-bit output: B port cascade output

CARRYCASCOUT => CARRYCASCOUT, -- 1-bit output: Cascade carry output

MULTSIGNOUT => MULTSIGNOUT, -- 1-bit output: Multiplier sign cascade output

PCOUT => PCOUT, -- 48-bit output: Cascade output

-- Control: 1-bit (each) output: Control Inputs/Status Bits

OVERFLOW => OVERFLOW, -- 1-bit output: Overflow in add/acc output

PATTERNBDETECT => PATTERNBDETECT, -- 1-bit output: Pattern bar detect output

PATTERNDETECT => PATTERNDETECT, -- 1-bit output: Pattern detect output

UNDERFLOW => UNDERFLOW, -- 1-bit output: Underflow in add/acc output

-- Data: 4-bit (each) output: Data Ports

CARRYOUT => CARRYOUT, -- 4-bit output: Carry output

P => P, -- 48-bit output: Primary data output

-- Cascade: 30-bit (each) input: Cascade Ports

ACIN => ACIN, -- 30-bit input: A cascade data input

BCIN => BCIN, -- 18-bit input: B cascade input

CARRYCASCIN => CARRYCASCIN, -- 1-bit input: Cascade carry input

MULTSIGNIN => MULTSIGNIN, -- 1-bit input: Multiplier sign input

PCIN => PCIN, -- 48-bit input: P cascade input

-- Control: 4-bit (each) input: Control Inputs/Status Bits

ALUMODE => ALUMODE, -- 4-bit input: ALU control input

CARRYINSEL => CARRYINSEL, -- 3-bit input: Carry select input

CEINMODE => CEINMODE, -- 1-bit input: Clock enable input for INMODEREG

CLK => CLK, -- 1-bit input: Clock input

INMODE => INMODE, -- 5-bit input: INMODE control input

OPMODE => OPMODE, -- 7-bit input: Operation mode input

RSTINMODE => RSTINMODE, -- 1-bit input: Reset input for INMODEREG

-- Data: 30-bit (each) input: Data Ports

A => A, -- 30-bit input: A data input

B => B, -- 18-bit input: B data input

C => C, -- 48-bit input: C data input

CARRYIN => CARRYIN, -- 1-bit input: Carry input signal

D => D, -- 25-bit input: D data input

-- Reset/Clock Enable: 1-bit (each) input: Reset/Clock Enable Inputs CEA1 => CEA1, -- 1-bit input: Clock enable input for 1st stage AREG

CEA2 => CEA2, -- 1-bit input: Clock enable input for 2nd stage AREG

CEAD => CEAD, -- 1-bit input: Clock enable input for ADREG

CEALUMODE => CEALUMODE, -- 1-bit input: Clock enable input for ALUMODERE

CEB1 => CEB1, -- 1-bit input: Clock enable input for 1st stage BREG

CEB2 => CEB2, -- 1-bit input: Clock enable input for 2nd stage BREG

CEC => CEC, -- 1-bit input: Clock enable input for CREG

CECARRYIN => CECARRYIN, -- 1-bit input: Clock enable input for CARRYINREG CECTRL => CECTRL, -- 1-bit input: Clock enable input for OPMODEREG and CARRYINSELREG

CED => CED, -- 1-bit input: Clock enable input for DREG CEM => CEM, -- 1-bit input: Clock enable input for MREG CEP => CEP, -- 1-bit input: Clock enable input for PREG RSTA => RSTA, -- 1-bit input: Reset input for AREG

RSTALLCARRYIN => RSTALLCARRYIN, -- 1-bit input: Reset input for CARRYINREG RSTALUMODE => RSTALUMODE, -- 1-bit input: Reset input for ALUMODEREG RSTB => RSTB, -- 1-bit input: Reset input for BREG RSTC => RSTC, -- 1-bit input: Reset input for CREG

RSTCTRL => RSTCTRL, -- 1-bit input: Reset input for OPMODEREG and CARRYINSELREG RSTD => RSTD, -- 1-bit input: Reset input for DREG and ADREG RSTM => RSTM, -- 1-bit input: Reset input for MREG RSTP => RSTP -- 1-bit input: Reset input for PREG );

-- End of DSP48E1_inst instantiation

Большинство параметров настройки библиотечного примитива DSP48E1 имеют то же предназначение, что и одноименные параметры в шаблоне DSP Block (DSP48E), рассмотренном в 23-й части статьи. Кроме того, в шаблоне 48-bit Multi-Functional Arithmetic Block (DSP48E1) предусмотрены дополнительные параметры настройки:

• USE_DPORT — позволяет задействовать предварительный сумматор и дополнительную входную шину данных D в создаваемом элементе.

• AUTORESET_PATDET — предоставляет возможность автоматического сброса регистра на выходе детектора совпадения на следующем цикле после сравнения кода на выходной шине P и заданного значения.

• ADREG — разрешает или запрещает использование буферного регистра на выходе предварительного сумматора.

• DREG — позволяет задействовать в составе формируемого компонента буферный регистр на дополнительной входной шине данных D.

• INMODEREG — определяет количество буферных регистров на дополнительной шине управления INMODE.

Система условных обозначений входных и выходных портов, используемых в описании интерфейса элементов, формируемых с помощью шаблона 48-bit Multi-Functional Arithmetic Block (DSP48E1), кроме идентификаторов, представленных при рассмотрении шаблона DSP Block (DSP48E), содержит следующие названия входов и выходов:

• CEINMODE — вход сигнала разрешения синхронизации буферного регистра, установленного на дополнительной шине управления INMODE;

• INMODE — дополнительная 5-разрядная шина управления;

• RSTINMODE — вход сигнала сброса буферного регистра, установленного на дополнительной шине управления INMODE;

• D — дополнительная 25-разрядная входная шина данных предварительного сумматора;

• CEAD — вход сигнала разрешения синхронизации буферного регистра, расположенного на выходе предварительного сумматора;

• CED — вход сигнала разрешения синхронизации буферного регистра, установленного на входе предварительного сумматора;

• RSTD — вход сигнала сброса буферных регистров, установленных на входе и выходе предварительного сумматора.

На рис. 406 представлен условный графический образ элементов, описание которых создается с помощью шаблона 48-bit MultiFunctional Arithmetic Block (DSP48E1) для последующей реализации на основе аппаратных модулей цифровой обработки сигналов в ПЛИС серии Virtex-6.

Advanced Mixed Mode Clock Manager (MMCM_ADV) содержит шаблон описания расширенного варианта конфигурирования комбинированного модуля управления синхронизацией Mixed-Mode Clock Managers (MMCM), представленного в составе архитектуры кристаллов программируемой логики семейств Virtex-6 LXT, Virtex-6 CXT,

DSP48E1

ACIN(29:0) ACOUT(29:0)

ALUMODE(3:0)

А(29:0)

BCIN(17:0)

В(17:0) BCOUT(17:0)

CARRYINSEL(2:0)

С(47:0)

D(24:0) CARRYOUT(3:0)

INMODE(4:CI)

OPMODE(6:0)

PCIN(47:0)

CARRYCASCIN PCOUT(47:0)

CARRYIN

CEA1

CEA2 P(47:0)

CEAD

CEALUMODE

CEB1

CEB2 CEC CARRYCASCOUT

CECARRYIN

CECTRL MULTSIGNOUT

CED

CEINMODE

CEM

CEP OVERFLOW

CLK

MULTSIGNIN

RSTA PATTERNBDETECT

RSTALLCARRYIN

RSTALUMODE

RSTB

RSTC RSTCTRL PATTERNDETECT

RSTD

RSTINMODE UNDERFLOW

RSTM

RSTP

Рис. 406. Условный графический образ элементов,

формируемых с помощью шаблона

48-bit Multi-Functional Arithmetic Block (DSP48E1)

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

Virtex-6 SXT и Virtex-6 HXT. Этот шаблон позволяет задействовать все функциональные возможности, поддерживаемые указанным модулем.

Система формирования и распределения тактовых сигналов в ПЛИС серии Virtex-6 существенно отличается от соответствующих ресурсов кристаллов семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 FXT и Virtex-5 TXT. Ее основу образуют блоки управления синхронизацией Clock Management Tile (CMT) и совокупность линий распределения тактовых сигналов различных типов, доступ к которым осуществляется через соответствующие буферные элементы. Структурная схема взаимосвязей блоков управления синхронизацией CMT и линий распределения тактовых сигналов в ПЛИС серии Virtex-6 приведена на рис. 407.

Структура блоков CMT, применяемых в составе архитектуры кристаллов программируемой логики семейств Virtex-6 LXT, Virtex-6 CXT, Virtex-6 SXT и Virtex-6 HXT, принципиально отличается от архитектуры аналогичных блоков, используемых в ПЛИС

О О 2 i о о и. и. gS-ii. uZ> =3 S ш =3 =3

m ш s « ш ш

Рис. 407. Структурная схема взаимосвязей блоков управления синхронизацией CMT и линий распределения тактовых сигналов в ПЛИС серии Viгtex-6

Рис. 408. Структура блоков управления синхронизацией CMT, применяемых в ПЛИС серии Viгtex-6

серии Virtex-5. Блоки управления синхронизацией предыдущего поколения включают в себя два цифровых модуля Digital Clock Manager (DCM) и аналоговый модуль фазовой автоподстройки частоты Phase-Locked-Loop (PLL), которые можно применять как независимо друг от друга, так и в виде каскадных соединений DCM — PLL или PLL — DCM. Блоки CMT в кристаллах программируемой логики семейств Virtex-6 LXT, Virtex-6 CXT, Virtex-6 SXT и Virtex-6 HXT [59] выполнены на основе двух более совершенных комбинированных модулей управления синхронизацией MMCM. Обобщенная структура блоков CMT, представленных в ПЛИС серии Virtex-6, показана на рис. 408.

Комбинированные модули управления синхронизацией MMCM построены на основе схемы фазовой автоподстройки частоты PLL, но при этом также обладают

всеми преимуществами цифровых модулей DCM. Модули управления синхронизацией ПЛИС серии Virtex-6 поддерживают широкий диапазон частот входных сигналов, который составляет от 10 до 800 МГц. Функции частотного синтеза и точного фазового сдвига, выполняемые комбинированными модулями MMCM, позволяют достаточно легко сформировать необходимую сетку тактовых сигналов для проектируемых устройств различного уровня сложности.

Функциональная схема комбинированных модулей управления синхронизацией MMCM, входящих в состав архитектуры кристаллов программируемой логики семейств Virtex-6 LXT, Virtex-6 CXT, Virtex-6 SXT и Virtex-6 HXT, приведена на рис. 409.

Основные элементы этой схемы: программируемый счетчик/делитель (Counter/Divider,

CLKINSEL

Переключатель тактового сигнала

CLKIN1 ■ CLKIN2 ■

D*

Программируемый счетч ик/дел ител ь C/D

CLKFB -

Детектор выхода из фазового синхронизма LD

• LOCKED

частотный детектор PFD

Интегрирующий источник тока CP

Петлевой

фильтр

LF

Генератор, управляемый напряжением VCO

Выходной счетчик/делитель ОО

Выходной счетчик/делитель 01

Выходной счетчик/делитель 02

Выходной счетчик/делитель 03

Выходной счетчик/делитель 04

Выходной счетчик/делитель 05

Выходной счетчик/делитель 06

Выходной счетчик/делитель M

CLKOUTO CLKOUTOB

CLKOUT1 CLK0UT1B

CLKOUT2 CLKOUT2B

CLKOUT3 CLK0UT3B

CLKOUT4

CLKOUT5 CLKOUT6

В*

CLKFBOUT CLKFBOUT

Рис. 409. Функциональная схема комбинированных модулей управления синхронизацией ММСМ, используемых в ПЛИС серии Viгtex-6

C/D), фазочастотный детектор (Phase-Frequency Detector, PFD), интегрирующий источник тока (Charge Pump, CP), петлевой фильтр (Loop Filter, LF) и генератор, управляемый напряжением (Voltage-Controlled Oscillator, VCO), который формирует восемь сигналов с постоянным значением фазы (0°, 45°, 90°, 135°, 180°, 225°, 270° и 315°) и один с переменным значением фазы, необходимый для реализации точного фазового сдвига. Все сигналы, вырабатываемые генератором VCO, поступают на соответствующие выходные счетчики/делители (Output counter О0 — Output counter О6 и Output counter М). Коэффициент деления частоты входного сигнала каждого из них программируется в соответствии с требованиями проектируемого устройства. Значение частоты сигналов, формируемых на выходах счетчиков/делителей О0-О6, определяется следующим выражением:

F0i = FCLKINx CLKFBOUT_MULT_F/ /(DIVCLK_DIVIDEx CLK0UTi_DIVIDE),

(4)

значение частоты сигнала на выходе счетчика/делителя акт — значение частоты входного сигнала синхронизации;

пара-

где Ра

Оц

С1КРВОиТ_Ми1Т_Р, DIVCLK_DIVIDE, CLKOUTi_DIVIDE метры, задающие значение коэффициента деления частоты.

Для подготовки описания комбинированного модуля управления синхронизацией ММСМ с поддержкой всех функциональных возможностей предусмотрен библиотечный примитив MMCM_ADV, который представляет расширенный вариант конфигурирования указанного модуля. Оператор создания экземпляра этого библиотечного примитива образует основу рассматриваемого шаблона:

-- MMCM_ADV : In order to incorporate this function into the design, -- VHDL : the following instance declaration needs to be placed -- instance : in the body of the design code. The instance name -- declaration : (MMCM_ADV_inst) and/or the port declarations after the -- code : "=>" declaration maybe changed to properly reference and -- : connect this function to the design. All inputs and outputs -- : must be connected.

-- 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.all;

-- <---Cut code below this line and paste into the architecture body--->

-- MMCM_ADV: Advanced Mixed Mode Clock Manager -- Virtex-6

-- Xilinx HDL Language Template, version 13.2

MMCM_ADV_inst : MMCM_ADV generic map (

BANDWIDTH => "OPTIMIZED", -- Jitter programming ("HIGH","LOW","OPTIMIZED") CLKFBOUT_MULT_F => 5.0, -- Multiply value for all CLKOUT (5.0-64.0). CLKFBOUT_PHASE => 0.0, -- Phase offset in degrees of CLKFB (0.00-360.00).

-- CLKIN_PERIOD: Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz). CLKIN1_PERIOD => 0.0, CLKIN2_PERIOD => 0.0,

CLK0UT0_DIVIDE_F => 1.0, -- Divide amount for CLK0UT0 (1.000-128.000).

-- CLK0UT0_DUTY_CYCLE - CLKOUT6_DUTY_CYCLE: Duty cycle for CLKOUT outputs (0.01-0.99).

CLK0UT0_DUTY_CYCLE => 0.5, CLKOUT1_DUTY_CYCLE => 0.5, CLKOUT2_DUTY_CYCLE => 0.5, CLKOUT3_DUTY_CYCLE => 0.5, CLKOUT4_DUTY_CYCLE => 0.5, CLKOUT5_DUTY_CYCLE => 0.5, CLKOUT6_DUTY_CYCLE => 0.5,

-- CLK0UT0_PHASE - CLKOUT6_PHASE: Phase offset for CLKOUT outputs (-360.000-

360.000).

FALSE)

CLKOUT0_PHASE => 0.0, CLKOUT1_PHASE => 0.0, CLKOUT2_PHASE => 0.0, CLKOUT3_PHASE => 0.0, CLKOUT4_PHASE => 0.0, CLKOUT5_PHASE => 0.0, CLKOUT6_PHASE => 0.0,

-- CLKOUT1_DIVIDE - CLKOUT6_DIVIDE: Divide amount for CLKOUT (1-128) CLKOUT1_DIVIDE => 1, CLKOUT2_DIVIDE => 1, CLKOUT3_DIVIDE => 1, CLKOUT4_DIVIDE => 1, CLKOUT5_DIVIDE => 1, CLKOUT6_DIVIDE => 1,

CLKOUT4_CASCADE => FALSE, -- Cascase CLKOUT4 counter with CLKOUT6 (TRUE/

CLOCK_HOLD => FALSE, -- Hold VCO Frequency (TRUE/FALSE)

COMPENSATION => "ZHOLD", -- "ZHOLD", "INTERNAL", "EXTERNAL", "CASCADE"

I"

DIVCLK_DIVIDE => 1, -- Master division value (1-80)

-- REFJITTER: Reference input jitter in UI (0.000-0.999). REF_JITTER1 => 0.0, REF_JITTER2 => 0.0,

STARTUP_WAIT => FALSE, -- Not supported. Must be set to FALSE. -- USE_FINE_PS: Fine phase shift enable (TRUE/FALSE) CLKFBOUT_USE_FINE_PS => FALSE, CLKOUT0_USE_FINE_PS => FALSE, CLKOUT1_USE_FINE_PS => FALSE, CLKOUT2_USE_FINE_PS => FALSE, CLKOUT3_USE_FINE_PS => FALSE, CLKOUT4_USE_FINE_PS => FALSE, CLKOUT5_USE_FINE_PS => FALSE, CLKOUT6_USE_FINE_PS => FALSE )

port map (

-- Clock Outputs: 1-bit (each) output: User configurable clock outputs CLKOUT0 => CLKOUT0, -- 1-bit output: CLKOUT0 output CLKOUT0B => CLKOUT0B, -- 1-bit output: Inverted CLKOUT0 output CLKOUT1 => CLKOUT1, -- 1-bit output: CLKOUT1 output CLKOUT1B => CLKOUT1B, -- 1-bit output: Inverted CLKOUT1 output CLKOUT2 => CLKOUT2, -- 1-bit output: CLKOUT2 output CLKOUT2B => CLKOUT2B, -- 1-bit output: Inverted CLKOUT2 output CLKOUT3 => CLKOUT3, -- 1-bit output: CLKOUT3 output CLKOUT3B => CLKOUT3B, -- 1-bit output: Inverted CLKOUT3 output CLKOUT4 => CLKOUT4, -- 1-bit output: CLKOUT4 output CLKOUT5 => CLKOUT5, -- 1-bit output: CLKOUT5 output CLKOUT6 => CLKOUT6, -- 1-bit output: CLKOUT6 output

-- DRP Ports: 16-bit (each) output: Dynamic reconfigration ports DO => DO, -- 16-bit output: DRP data output DRDY => DRDY, -- 1-bit output: DRP ready output

-- Dynamic Phase Shift Ports: 1-bit (each) output: Ports used for dynamic phase shifting

of the outputs

PSDONE => PSDONE, -- 1-bit output: Phase shift done output

-- Feedback Clocks: 1-bit (each) output: Clock feedback ports CLKFBOUT => CLKFBOUT, -- 1-bit output: Feedback clock output CLKFBOUTB => CLKFBOUTB, -- 1-bit output: Inverted CLKFBOUT

-- Status Ports: 1-bit (each) output: MMCM status ports CLKFBSTOPPED => CLKFBSTOPPED, -- 1-bit output: Feedback clock stopped output CLKINSTOPPED => CLKINSTOPPED, -- 1-bit output: Input clock stopped output LOCKED => LOCKED, -- 1-bit output: LOCK output

-- Clock Inputs: 1-bit (each) input: Clock inputs CLKIN1 => CLKIN1, -- 1-bit input: Primary clock input CLKIN2 => CLKIN2, -- 1-bit input: Secondary clock input

-- Control Ports: 1-bit (each) input: MMCM control ports CLKINSEL => CLKINSEL, -- 1-bit input: Clock select input PWRDWN => PWRDWN, -- 1-bit input: Power-down input RST => RST, -- 1-bit input: Reset input

-- DRP Ports: 7-bit (each) input: Dynamic reconfigration ports DADDR => DADDR, -- 7-bit input: DRP adrress input DCLK => DCLK, -- 1-bit input: DRP clock input DEN => DEN, -- 1-bit input: DRP enable input DI => DI, -- 16-bit input: DRP data input DWE => DWE, -- 1-bit input: DRP write enable input

-- Dynamic Phase Shift Ports: 1-bit (each) input: Ports used for dynamic phase shifting

of the outputs

PSCLK => PSCLK, -- 1-bit input: Phase shift clock input PSEN => PSEN, -- 1-bit input: Phase shift enable input

PSINCDEC => PSINCDEC, -- 1-bit input: Phase shift increment/decrement input

-- Feedback Clocks: 1-bit (each) input: Clock feedback ports CLKFBIN => CLKFBIN -- 1-bit input: Feedback clock input );

-- End of MMCM_ADV_inst instantiation

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

Для установки необходимого режима функционирования формируемого экземпляра комбинированного модуля управления синхронизацией MMCM в библиотечном примитиве MMCM_ADV используются следующие настраиваемые параметры:

• BANDWIDTH — позволяет выбрать алгоритм функционирования, соответствующий требуемым характеристикам формируемых сигналов.

• CLKFBOUT_MULT_F — указывает значение множителя в выражении (4), определяющем значение частоты выходных сигналов синхронизации.

• CLKFBOUT_PHASE — устанавливает значение фазового сдвига тактового сигнала в цепи обратной связи.

• CLKIN1_PERIOD — задает значение периода основного входного сигнала синхронизации.

• CLKIN2_PERIOD — определяет значение периода дополнительного входного сигнала синхронизации.

• CLKOUT0_DIVIDE_F — указывает значение индивидуального делителя CLKOUTi_DIVIDE в выражении (4), определяющем значение частоты тактового сигнала, формируемого на соответствующем выходе модуля (CLKOUT0).

• CLKOUT0_DUTY_CYCLE — CLKOUT6_DUTY_CYCLE — устанавливают значения коэффициента заполнения для тактовых сигналов, вырабатываемых на соответствующих выходах модуля (CLKOUT0-CLKOUT6).

• CLKOUT0_PHASE — CLKOUT6_PHASE — предоставляют возможность выбора значения фазового сдвига для соответствующих выходных сигналов синхронизации (CLKOUT0-CLKOUT6).

• CLKOUT1_DIVIDE — CLKOUT6_DIVIDE—указывают значения индивидуального делителя CLKOUTi_DIVIDE в выражении (4), определяющем значение частоты сигнала синхронизации, формируемого на соответствующем выходе модуля (CLKOUT1-CLKOUT6).

• CLKOUT4_CASCADE — предоставляет возможность каскадного соединения выходных счетчиков/делителей O4 и O6 для получения значения коэффициента деления частоты, превышающего 128.

• CLOCK_HOLD — позволяет задействовать режим сохранения значения частоты сигнала, вырабатываемого генератором, управляемым напряжением, при исчезновении входного сигнала.

• COMPENSATION — определяет вид фазовой коррекции для входного сигнала синхронизации.

• DIVCLK_DIVIDE — задает значение общего делителя в выражении (4), определяющем значения частоты формируемых тактовых сигналов.

• REF_JITTER1, REF_JITTER2 — указывают ожидаемое значение джиттера соответствующего входного сигнала синхронизации для оптимизации работы формируемого модуля.

• STARTUP_WAIT — предоставляет возможность приостановки захвата схемы фазовой автоподстройки частоты до завершения конфигурирования кристалла.

• CLKFBOUT_USE_FINE_PS — позволяет реализовать точное изменение значения фазового сдвига тактового сигнала в цепи обратной связи.

• CLKOUT0_USE_FINE_PS — CLKOUT6_USE_FINE_PS — разрешают или запрещают точное изменение значения фазового сдвига сигналов синхронизации, формируемых соответствующими выходными счетчиками/делителями O0-O6.

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

• CLKOUTO-CLKOUT6 — выходы тактовых сигналов, формируемых соответствующими выходными счетчиками/делителями O0-O6 модуля MMCM;

• CLKOUT0B-CLKOUT3B — выходы инвертированных сигналов синхронизации, вырабатываемых соответствующими выходными счетчиками/делителями O0-O3 модуля MMCM;

• DO — 16-разрядная выходная шина данных порта динамического реконфигурирования;

• DRDY — выход сигнала готовности данных порта динамического реконфигурирования;

• PSDONE — выход сигнала, информирующего о завершении выполнения операции фазового сдвига;

• CLKFBOUT — выход сигнала синхронизации, предназначенного для подключения ко входу обратной связи;

• CLKFBOUTB — выход инвертированного тактового сигнала, предназначенного для подключения ко входу обратной связи;

• CLKFBSTOPPED — выход сигнала, предупреждающего о прекращении переключений сигнала на входе обратной связи;

• CLKINSTOPPED — выход сигнала, сообщающего об отсутствии переключений входного тактового сигнала;

• LOCKED — выход сигнала, информирующего о достижении режима фазового синхронизма;

• CLKIN1 — вход основного исходного сигнала синхронизации;

• CLKIN2 — вход дополнительного внешнего сигнала синхронизации;

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

• PWRDWN — вход сигнала отключения питания модуля MMCM, не используемого в течение некоторого интервала времени;

• RST — вход сигнала асинхронного сброса;

• DADDR — входная 7-разрядная адресная шина порта динамического реконфигурирования;

• DCLK — вход тактового сигнала для порта динамического рекон-фигурирования;

• DEN — вход сигнала разрешения порта динамического реконфи-гурирования;

• DI — 16-разрядная входная шина данных порта динамического реконфигурирования;

MMCM_ADV

— DADDR(6:0) D0(15:0) -

Dl(15:0) CLKFBOUT _

-

CLKFBOUTB -

- CLKFBIN CLKFBSTOPPED -

— CLKIN1 CLKINSTOPPED -

CLKIN2 CLKOUTO _

-

CLKOUTOB -

- CLKINSEL CLKOUT1 -

— DCLK CLKOUT1В -

DEN CLKOUT2 _

-

CLKOUT2B -

- DWE CLKOUT3 -

- PSCLK CLKOUT3B -

CLKOUT4 _

- PSEN

CLKOUT5 -

- PSINCDEC CLKOUT6 -

- PWRDWN DRDY -

LOCKED -

- RST

PSDONE -

Рис. 410. Условный графический образ комбинированного модуля управления синхронизацией ММСМ

• DWE — вход сигнала разрешения записи данных в порт динамического реконфи-гурирования;

• PSCLK — вход тактового сигнала интерфейса управления динамическим изменением фазового сдвига;

• PSEN — вход сигнала разрешения выполнения операции динамического изменения фазового сдвига;

• PSINCDEC — вход выбора режима динамического изменения фазового сдвига (ин-крементный или декрементный);

• ^КБВВД — вход сигнала обратной связи.

Условный графический образ элемента, представляющего расширенный вариант конфигурирования комбинированного модуля управления синхронизацией MMCM в ПЛИС серии Virtex-6, описание которого создается на базе шаблона Advanced Mixed Mode Clock Manager (MMCM_ADV), изображен на рис. 410. ■

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

Литература

55. Virtex-6 Family Overview. Xilinx, 2011.

56. Virtex-6 FPGA Data Sheet: DC and Switching Characteristics. Xilinx, 2011.

57. Virtex-6 FPGA Configuration User Guide. Xilinx, 2011.

58. Virtex-6 FPGA SelectIO Resources User Guide. Xilinx, 2010.

59. Virtex-6 FPGA Clocking Resources User Guide. Xilinx, 2011.

60. Virtex-6 FPGA Memory Resources User Guide. Xilinx, 2011.

61. Virtex-6 FPGA Configurable Logic Block User Guide. Xilinx, 2009.

62. Virtex-6 FPGA GTX Transceivers User Guide. Xilinx, 2011.

63. Virtex-6 FPGA Embedded Tri-Mode Ethernet MAC User Guide. Xilinx, 2011.

64. Virtex-6 FPGA DSP48E1 Slice User Guide. Xilinx, 2011.

65. Virtex-6 FPGA System Monitor User Guide. Xilinx, 2010.

66. Virtex-6 FPGA GTH Transceivers User Guide. Xilinx, 2011.

67. Virtex-6 FPGA Integrated Block for PCI Express User Guide. Xilinx, 2010.

68. Virtex-6 FPGA Packaging and Pinout Specifications. Xilinx, 2011.

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