Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2008 №12

Разработка компонентов устройств ЦОС, реализуемых на базе аппаратных модулей DSP48E в ПЛИС FPGA серии Virtex-5, с помощью «мастера» Architecture Wizard САПР серии Xilinx ISE

Зотов Валерий


Постоянный рост быстродействия и внедрение новых специализированных аппаратных модулей в состав архитектуры ПЛИС современных семейств FPGA (Field Programmable Gate Array), выпускаемых фирмой Xilinx [1], позволяют рассматривать их в качестве перспективной элементной базы для разработки высокоскоростных устройств цифровой обработки сигналов. Наиболее высокими техническими характеристиками обладают кристаллы серии Virtex-5, которые пришли на смену ПЛИС семейств предыдущего поколения — Virtex-4. Одним из существенных преимуществ кристаллов серии Virtex-5, представленных в [2], является применение усовершенствованных аппаратных секций цифровой обработки сигналов (ЦОС) DSP48E. В статье рассматриваются различные методы подготовки описаний основных компонентов высокоскоростных устройств ЦОС, реализуемых на базе данных аппаратных модулей, в САПР серии Xilinx ISE (Integrated Synthesis Environment-Integrated Software Environment) [3, 4]. При этом основное внимание уделяется способу, основанному на использовании «мастера» Architecture Wizard, который входит в состав указанных средств проектирования.

Все статьи цикла:

Особенности и структура аппаратных модулей ЦОС DSP48E, входящих в состав архитектуры ПЛИС семейств серии Virtex–5

В составе ПЛИС семейств Virtex–5 LX, Virtex–5 LXT, Virtex–5 SXT и Virtex–5 FXT применяются аппаратные модули цифровой обработки сигналов следующего поколения, по отношению к аналогичным ресурсам кристаллов семейств Virtex–4 LX, Virtex–4 SX и Virtex–4 FX. Максимальной концентрацией встроенных аппаратных секций ЦОС обладают ПЛИС семейства Virtex–5 SXT. Кристаллы именно этого семейства, содержащие до 1056 модулей DSP48E, в первую очередь, предназначены для реализации высокоскоростных устройств ЦОС. Наиболее заметные особенности встроенных аппаратных секций DSP48E:

  • возможность работы с максимальной тактовой частотой, достигающей 550 МГц;
  • применение нового аппаратного умножителя 25×18, позволяющего вычислять произведение 25– и 18–разрядных значений входных данных;
  • использование 48–разрядного аккумулятора с поддержкой каскадного наращивания до 96 разрядов;
  • поддержка свыше 40 различных режимов (реализуемых функций), выбираемых разработчиком;
  • оптимизированная архитектура, предоставляющая возможность эффективной реализации высокопроизводительных цифровых фильтров и выполнения операций комплексного умножения;
  • возможность применения многоступенчатой конвейерной организации выполнения операций, повышающей производительность разрабатываемых устройств ЦОС;
  • поддержка поразрядных логических операций;
  • возможность реализации трехвходовых сумматоров и вычитающих устройств;
  • поддержка динамического управления режимами работы функциональных блоков модуля;
  • возможность выполнения арифметических функций без использования умножителя;
  • низкий уровень потребляемой мощности (для каждой секции DSP48E это значение составляет 1,38 мВт/100 МГц);
  • наличие дополнительных опций снижения уровня потребляемой мощности.

Структурная схема аппаратного модуля ЦОС DSP48E изображена на рис. 1. В состав представленной структуры входят следующие основные элементы:

Рис. 1. Структурная схема аппаратного модуля ЦОС DSP48E
Рис. 1. Структурная схема аппаратного модуля
ЦОС DSP48E
  • аппаратный умножитель 25×18;
  • арифметическо–логический блок;
  • селекторы–мультиплексоры, осуществляющие коммутацию сигналов на входах аппаратного умножителя 25×18 и арифметическо–логического блока;
  • регистры, предназначенные для реализации конвейерной организации выполнения операций.

Более подробная информация об аппаратных секциях ЦОС DSP48E представлена в документации [58].

Методы формирования описаний компонентов высокоскоростных устройств ЦОС, реализуемых на базе аппаратных модулей DSP48E ПЛИС FPGA серии Virtex–5

Наиболее часто в алгоритмах ЦОС используются операции сложения, вычитания, умножения и умножения с накоплением. Поэтому в качестве базовых компонентов устройств ЦОС применяются сумматоры, вычитающие устройства, умножители и умножители–накопители. Процесс разработки данных компонентов, реализуемых на базе аппаратных модулей DSP48E в кристаллах FPGA серии Virtex–5, в САПР серии Xilinx ISE можно осуществлять следующими способами:

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

Все компоненты устройств ЦОС создаются на базе примитива DSP48E, который представляет одноименный аппаратный модуль кристалла. При формировании схемотехнического описания компонентов, реализуемых на основе данных модулей, следует использовать библиотечный элемент dsp48e, условный графический образ которого представлен на рис. 2. Все необходимые значения параметров конфигурации этого элемента задаются в форме соответствующих атрибутов. Для вывода на экран таблицы атрибутов элемента схемы достаточно поместить курсор на его условный графический образ и дважды щелкнуть левой кнопкой мыши.

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

В случае применения языков описания аппаратуры высокого уровня VHDL и Verilog для разработки компонентов высокоскоростных устройств ЦОС, реализуемых на базе аппаратных секций ЦОС DSP48E, целесообразно воспользоваться шаблоном DSP Block (DSP48E) встроенного HDL–редактора средств проектирования серии Xilinx ISE. Чтобы использовать этот метод, необходимо в окне интегрированного текстового редактора, в котором создается HDL–описание разрабатываемого компонента, активизировать окно шаблонов, используя команду Language Templates из всплывающего меню Edit или кнопку 'кнопка', расположенную на оперативной панели управления Навигатора проекта (Project Navigator). Затем нужно открыть раздел, соответствующий выбранному языку HDL. Далее следует выбрать подраздел Device Primitive Instantiation, в котором нужно последовательно отметить подкаталоги FPGA, Arithmetic Functions и папку Virtex–5, как показано на рис. 3.

Рис. 3. Выбор шаблона VHDL-описания примитива dsp48e
Рис. 3. Выбор шаблона VHDL–описания примитива dsp48e

Текст шаблона DSP Block (DSP48E), предназначенного для описания аппаратных модулей ЦОС в ПЛИС семейств Virtex–5 LX, Virtex–5 LXT, Virtex–5 SXT и Virtex–5 FXT, имеет следующий вид:

-- DSP48E : 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 : (DSP48E_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
---> 
	-- DSP48E: DSP Function Block 
	-- Virtex-5 
	-- Xilinx HDL Language Template, version 10.1.2 
	--
	DSP48E_inst : DSP48E 
	generic map ( 
		ACASCREG => 1, -- Number of pipeline registers between 
		-- A/ACIN input and ACOUT output, 0, 1, or 2 
		ALUMODEREG => 1, -- Number of pipeline registers on ALUMODE input, 0 or 1 
		AREG => 1, -- Number of pipeline registers on the A input, 0, 1 or 2 
		AUTORESET_PATTERN_DETECT => FALSE, -- Auto-reset upon pattern detect, TRUE or FALSE
		AUTORESET_PATTERN_DETECT_OPTINV => «MATCH», -- Reset if «MATCH» or «NOMATCH»
		A_INPUT => «DIRECT», -- Selects A input used, «DIRECT» (A port) or «CASCADE» (ACIN port) 
		BCASCREG => 1, -- Number of pipeline registers between B/BCIN input and BCOUT output, 0, 1, or 2 
		BREG => 1, -- Number of pipeline registers on the B input, 0, 1 or 2 
		B_INPUT => «DIRECT», -- Selects B input used, «DIRECT» (B port) or «CASCADE» (BCIN port) 
		CARRYINREG => 1, -- Number of pipeline registers for the CARRYIN input, 0 or 1 
		CARRYINSELREG => 1, -- Number of pipeline registers for the CARRYINSEL input, 0 or 1 
		CREG => 1, -- Number of pipeline registers on the C input, 0 or 1 
		MASK => X»3FFFFFFFFFFF», -- 48-bit Mask value for pattern detect 
		MREG => 1, -- Number of multiplier pipeline registers, 0 or 1 
		MULTCARRYINREG => 1, -- Number of pipeline registers for multiplier carry in bit, 0 or 1 
		OPMODEREG => 1, -- Number of pipeline registers on OPMODE input, 0 or 1 
		PATTERN => X»000000000000», -- 48-bit Pattern match for pattern detect 
		PREG => 1, -- Number of pipeline registers on the P output, 0 or 1 
		SIM_MODE => «SAFE», -- Simulation: «SAFE» vs «FAST», see «Synthesis and Simulation Design Guide» for details 
		SEL_MASK => «MASK», -- Select mask value between the «MASK» value or the value on the «C» port 
		SEL_PATTERN => «PATTERN», -- Select pattern value between the «PATTERN» value or the value on the «C» port 
		SEL_ROUNDING_MASK => «SEL_MASK», -- «SEL_MASK», «MODE1», «MODE2»
		USE_MULT => «MULT_S», -- Select multiplier usage, «MULT» (MREG => 0), -- «MULT_S» (MREG => 1), «NONE» (not using multiplier) 
		USE_PATTERN_DETECT => «NO_PATDET», -- Enable pattern detect, «PATDET», « NO_PATDET»
		USE_SIMD => «ONE48») -- SIMD selection, «ONE48», «TWO24», «FOUR12»
	port map ( 
		ACOUT => ACOUT, -- 30-bit A port cascade output 
		BCOUT => BCOUT, -- 18-bit B port cascade output 
		CARRYCASCOUT => CARRYCASCOUT, -- 1-bit cascade carry output 
		CARRYOUT => CARRYOUT, -- 4-bit carry output 
		MULTSIGNOUT => MULTSIGNOUT, -- 1-bit multiplier sign cascade output 
		OVERFLOW => OVERFLOW, -- 1-bit overflow in add/acc output 
		P => P, -- 48-bit output 
		PATTERNBDETECT => PATTERNBDETECT, -- 1-bit active high pattern bar detect output 
		PATTERNDETECT => PATTERNDETECT, -- 1-bit active high pattern detect output 
		PCOUT => PCOUT, -- 48-bit cascade output 
		UNDERFLOW => UNDERFLOW, -- 1-bit active high underflow in add/acc output 
		A => A, -- 30-bit A data input 
		ACIN => ACIN, -- 30-bit A cascade data input 
		ALUMODE => ALUMODE, -- 4-bit ALU control input
		B => B, -- 18-bit B data input 
		BCIN => BCIN, -- 18-bit B cascade input 
		C => C, -- 48-bit C data input 
		CARRYCASCIN => CARRYCASCIN, -- 1-bit cascade carry input 
		CARRYIN => CARRYIN, -- 1-bit carry input signal 
		CARRYINSEL => CARRYINSEL, -- 3-bit carry select input 
		CEA1 => CEA1, -- 1-bit active high clock enable input for 1st stage A registers 
		CEA2 => CEA2, -- 1-bit active high clock enable input for 2nd stage A registers 
		CEALUMODE => CEALUMODE, -- 1-bit active high clock enable input for ALUMODE registers 
		CEB1 => CEB1, -- 1-bit active high clock enable input for 1st stage B registers 
		CEB2 => CEB2, -- 1-bit active high clock enable input for 2nd stage B registers 
		CEC => CEC, -- 1-bit active high clock enable input for C registers
		CECARRYIN => CECARRYIN, -- 1-bit active high clock enable input for CARRYIN register 
		CECTRL => CECTRL, -- 1-bit active high clock enable input for OPMODE and carry registers 
		CEM => CEM, -- 1-bit active high clock enable input for multiplier registers 
		CEMULTCARRYIN => CEMULTCARRYIN, -- 1-bit active high clock enable for multiplier carry in register
		CEP => CEP, -- 1-bit active high clock enable input for P registers 
		CLK => CLK, -- Clock input 
		MULTSIGNIN => MULTSIGNIN, -- 1-bit multiplier sign input 
		OPMODE => OPMODE, -- 7-bit operation mode input 
		PCIN => PCIN, -- 48-bit P cascade input 
		RSTA => RSTA, -- 1-bit reset input for A pipeline registers 
		RSTALLCARRYIN => RSTALLCARRYIN, -- 1-bit reset input for carry pipeline registers
		RSTALUMODE => RSTALUMODE, -- 1-bit reset input for ALUMODE pipeline registers 
		RSTB => RSTB, -- 1-bit reset input for B pipeline registers 
		RSTC => RSTC, -- 1-bit reset input for C pipeline registers 
		RSTCTRL => RSTCTRL, -- 1-bit reset input for OPMODE pipeline registers 
		RSTM => RSTM, -- 1-bit reset input for multiplier registers 
		RSTP => RSTP -- 1-bit reset input for P pipeline registers 
	);
-- End of DSP48E_inst instantiation

После включения данного шаблона в состав VHDL–описания разрабатываемого компонента ЦОС следует указать требуемые значения настраиваемых параметров примитива dsp48e, которые представлены в разделе generic map, и осуществить подключение интерфейсных портов.

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

  • A[29:0] — входная 30–разрядная шина данных, на которую поступает код операнда A
  • ACIN[29:0] — входная 30–разрядная шина, предназначенная для подключения выходной шины ACOUT предыдущей секции DSP48E при каскадном сопряжении аппаратных модулей ЦОС;
  • B[17:0] — входная 18–разрядная шина данных, на которую поступает код операнда B;
  • BCIN[17:0] — входная 18–разрядная шина, предназначенная для подключения выходной шины BCOUT предшествующей секции DSP48E при каскадном соединении аппаратных модулей ЦОС;
  • C[47:0] — дополнительная 48–разрядная входная шина данных C арифметическологического блока;
  • PCIN — входная 48–разрядная шина, предназначенная для подключения выходной шины PCOUT предыдущей секции DSP48E при каскадном наращивании аппаратных модулей ЦОС;
  • CARRYIN — вход сигнала переноса;
  • CARRYCASCIN — вход сигнала переноса, формируемого предыдущим аппаратным модулем ЦОС при каскадном соединении секций DSP48E;
  • CARRYINSEL[2:0] — входная 3–разрядная шина управления выбором источника сигнала переноса;
  • ALUMODE[3:0] — входная 4–разрядная шина управления выбором функции, выполняемой арифметическо–логическим блоком;
  • OPMODE[6:0] — входная 7–разрядная шина управления выбором источников входных данных для арифметическо–логического блока;
  • CEA1 и CEA2 — входы сигнала разрешения синхронизации для первого и второго конвейерных регистров, устанавливаемых на входе данных A аппаратного умножителя и арифметическо–логического блока;
  • CEB1 и CEB2 — входы сигнала разрешения синхронизации для первого и второго конвейерных регистров, устанавливаемых на входе данных B аппаратного умножителя и арифметическо–логического блока;
  • CEC — вход сигнала разрешения синхронизации для входного регистра, подключаемого к дополнительной шине данных C арифметическо–логического блока;
  • CEALUMODE — вход сигнала разрешения синхронизации для регистра управления арифметическо–логического блока, в который заносится код выполняемой функции;
  • CECTRL — вход сигнала разрешения синхронизации регистров, предназначенных для хранения кода источников входных данных в арифметическо–логическом блоке и сигналов входного переноса;
  • CECARRYIN — вход сигнала разрешения синхронизации для буферного регистра, устанавливаемого в цепи внешнего сигнала входного переноса;
  • CEMULTCARRYIN — вход сигнала разрешения синхронизации для буферного регистра, устанавливаемого в цепи внутреннего сигнала входного переноса для аппаратного умножителя;
  • CEM — вход сигнала разрешения синхронизации для конвейерного регистра, устанавливаемого на выходе аппаратного умножителя;
  • CEP — вход сигнала разрешения синхронизации для выходного регистра;
  • CLK — вход тактового сигнала;
  • MULTSIGNIN — вход сигнала знакового разряда результата умножения, формируемого предшествующей секцией ЦОС при каскадном соединении модулей DSP48E;
  • RSTA — вход сигнала сброса конвейерных регистров, устанавливаемых на входе данных A аппаратного умножителя и арифметическо–логического блока;
  • RSTALLCARRYIN — вход сигнала сброса конвейерных регистров, применяемых в цепях входного переноса;
  • RSTALUMODE — вход сигнала сброса для регистра управления арифметическо–логического блока;
  • RSTB — вход сигнала сброса конвейерных регистров, устанавливаемых на входе данных B аппаратного умножителя и арифметическо–логического блока;
  • RSTC — вход сигнала сброса входного регистра, подключаемого к дополнительной шине данных C арифметическо–логического блока;
  • RSTCTRL — вход сигнала сброса регистров, предназначенных для хранения кода источников входных данных в арифметическо–логическом блоке и сигналов входного переноса;
  • RSTM — вход сигнала сброса конвейерного регистра, устанавливаемого на выходе аппаратного умножителя;
  • RSTP — вход сигнала сброса выходного регистра;
  • P[47:0] — выходная 48–разрядная шина данных, на которую поступают значения результата обработки входных данных;
  • PCOUT[47:0] — выходная 48–разрядная шина данных, используемая при каскадном соединении секций DSP48E;
  • ACOUT [29:0] — выходная 30–разрядная шина, предназначенная для подключения к входной шине ACIN следующей секции DSP48E при каскадном сопряжении аппаратных модулей ЦОС;
  • BCOUT — выходная 18–разрядная шина, предназначенная для подключения к входной шине BCIN следующей секции DSP48E при каскадном сопряжении аппаратных модулей ЦОС;
  • CARRYCASCOUT — выход сигнала переноса, используемый при каскадном наращивании секции DSP48E;
  • CARRYOUT[3:0] — выходная 4–разрядная шина, на которую подаются сигналы переноса, формируемые 12–разрядными секциями арифметическо–логического блока;
  • MULTSIGNOUT — выход знакового разряда результата умножения, предназначенного для подключения к входу MULTSIGNIN следующей секции DSP48E при каскадном соединении аппаратных модулей ЦОС;
  • PATTERNBDETECT — выход сигнала, информирующего о совпадении данных на выходной шине P и заданной строки;
  • PATTERNDETECT — выход сигнала, информирующего о совпадении кода на выходной шине P и заданного значения;
  • OVERFLOW — выход сигнала переполнения;
  • UNDERFLOW — выход сигнала исчезновения значащих разрядов.

Наиболее наглядным и эффективным способом разработки компонентов высокоскоростных устройств ЦОС, реализуемых на базе аппаратных модулей DSP48E в ПЛИС семейств Virtex–5 LX, Virtex–5 LXT, Virtex–5 SXT и Virtex–5 FXT, является использование «мастера» Architecture Wizard. Применение данного инструмента позволяет минимизировать суммарное время разработки, а также избежать возможных ошибок при выборе параметров конфигурации примитива dsp48e. «Мастер» Architecture Wizard можно использовать как автономно, так и в среде управляющей оболочки САПР серии Xilinx ISE Навигатора проекта (Project Navigator). Автономный режим работы рассматриваемого «мастера» целесообразно применять для генерации описаний компонентов ЦОС, которые можно включать в состав различных проектов. При подготовке описаний компонентов, предназначенных для конкретного проекта, запуск «мастера» Architecture Wizard лучше производить непосредственно под управлением Навигатора проекта (Project Navigator).

Использование «мастера» Architecture Wizard в автономном режиме

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

Рис. 4. Вид стартовой диалоговой панели 'мастера' Architecture Wizard
Рис. 4. Вид стартовой диалоговой панели «мастера»
Architecture Wizard

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

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

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

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

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

Рис. 5. Вид диалоговой панели выбора ПЛИС для реализации формируемого элемента ЦОС
Рис. 5. Вид диалоговой панели выбора ПЛИС
для реализации формируемого элемента ЦОС

В этой панели следует с помощью соответствующих полей выбора последовательно указать категорию, семейство, тип, корпус и класс быстродействия кристалла FPGA, на базе которого проектируется устройство ЦОС, в состав которого должен входить формируемый компонент. Для определения категории ПЛИС, к которой относится кристалл, выбираемый для реализации разрабатываемого элемента, нужно воспользоваться полем выбора Product Category. Выпадающий список этого поля включает в себя пять возможных вариантов: All, General Purpose, Automotive, Military/Hi–Reliability и Radiation Hardened. По умолчанию для параметра Product Category предлагается значение All, которое позволяет при выборе семейства ПЛИС отобразить список всех доступных серий кристаллов, поддерживаемых «мастером» Architecture Wizard. При выборе варианта General Purpose в этом списке будут представлены только семейства ПЛИС общего назначения. Если указывается значение Automotive, то данный список будет содержать только семейства кристаллов, ориентированные на применение в автомобильной электронике. Чтобы получить список семейств ПЛИС военного назначения, следует выбрать вариант Military/Hi–Reliability. Для отображения списка радиационно–стойких кристаллов в поле выбора Product Category нужно указать вариант Radiation Hardened. При создании компонентов высокоскоростных устройств ЦОС, реализуемых на базе ПЛИС семейств Virtex–5 LX, Virtex–5 LXT, Virtex–5 SXT и Virtex–5 FXT, в данном поле выбора нужно указать один из первых двух вариантов, рассмотренных выше. Затем в выпадающем списке поля выбора значения параметра Family нужно выделить строку Virtex–5.

После конкретизации семейства ПЛИС в поле выбора типа кристалла Device автоматически отображается тип ПЛИС с минимальным объемом логических ресурсов. Чтобы изменить предлагаемый вариант, необходимо в выпадающем списке поля выбора значения параметра Device выделить строку, содержащую условное обозначение требуемого типа кристалла. После этого в поле выбора Package нужно указать тип корпуса для выбранной ПЛИС. Выпадающий список значений этого поля содержит условные обозначения только тех типов корпусов, в которых выпускается данный кристалл.

В завершение процесса ввода информации о кристалле, используемом для реализации создаваемого элемента ЦОС, следует определить категорию быстродействия выбранной ПЛИС. Для этого нужно воспользоваться полем выбора Speed, в выпадающем списке которого представлен выпускаемый ряд градации по быстродействию для кристалла, указанного в поле выбора параметра Device.

Для подтверждения выбранных значений всех перечисленных выше параметров в диалоговой панели Select Part следует нажать клавишу OK. После этого в поле редактирования Part стартовой диалоговой панели Setup (рис. 4) автоматически отображаются сведения о выбранном кристалле для реализации разрабатываемого устройства ЦОС, в составе которого предполагается применить формируемый элемент. При нажатии клавиши OK в этой панели на экран выводится вторая диалоговая панель «мастера» Architecture Wizard с заголовком Selection, вид которой представлен на рис. 6.

Рис. 6. Вид диалоговой панели выбора типа элемента ЦОС, реализуемого на базе аппаратного модуля DSP48E
Рис. 6. Вид диалоговой панели
выбора типа элемента ЦОС,
реализуемого на базе аппаратного модуля DSP48E

В данной диалоговой панели нужно открыть раздел XtremeDSP Slice Wizard и выбрать конкретный тип генерируемого элемента. Средства Architecture Wizard предоставляют возможность генерации следующих компонентов устройств ЦОС:

  • аккумуляторов (Accumulator);
  • сумматоров/вычитающих устройств (Adder/ Subtractor);
  • умножителей (Multiplier);
  • элементов, выполняющих операции умножения с накоплением (Multiplier and Adder/ Accumulator).

После выбора одного из представленных вариантов автоматически стартует «мастер» настройки параметров соответствующего элемента.

Применение «мастера» Architecture Wizard при разработке проектов в среде управляющей оболочки САПР серии Xilinx ISE

Для активизации «мастера» Architecture Wizard непосредственно в рамках проекта разрабатываемого устройства ЦОС, созданного или открытого в САПР серии Xilinx ISE, нужно инициировать процедуру формирования нового модуля исходного описания проекта, используя команду New Source из раздела Project основного меню Навигатора проекта (Project Navigator) или кнопку 'кнопка' на оперативной панели управления. После этого на экран выводится диалоговая панель с заголовком Select Source Type, предназначенная для выбора типа нового исходного модуля проекта, вид которой приведен на рис. 7.

Рис. 7. Вид диалоговой панели Select Source Type,<br />предназначенной для выбора типа нового исходного модуля проекта<br />в САПР серии Xilinx ISE
Рис. 7. Вид диалоговой панели Select Source Type, предназначенной для выбора типа нового исходного модуля проекта в САПР серии Xilinx ISE

В этой диалоговой панели при определении типа создаваемого модуля исходного описания нужно установить режим генерации компонентов устройств ЦОС с помощью «мастера» Architecture Wizard, для чего следует в предложенном списке (рис. 7) выделить строку IP (CORE Generator & Architecture Wizard), щелкнув на ней левой кнопкой мыши. Затем в поле редактирования File Name необходимо с помощью клавиатуры указать название формируемого элемента. Расширение имени создаваемого файла устанавливается автоматически в соответствии с выбранным типом исходного модуля. Место расположения создаваемых файлов описания на диске определяется в поле редактирования Location диалоговой панели Select Source Type (рис. 7). По умолчанию для записи генерируемых файлов предлагается рабочий каталог текущего открытого проекта САПР серии Xilinx ISE. Для компонентов устройств ЦОС, предназначенных для применения в составе данного проекта, нужно использовать именно этот каталог. Чтобы создаваемый модуль исходного описания автоматически включался в состав данного проекта, необходимо установить индикатор Add to project в состояние «Включено».

Переход к следующему шагу активизации «мастера» Architecture Wizard осуществляется нажатием клавиши Далее (Next), которая находится в нижней части диалоговой панели Select Source Type (рис. 7). После этого на экран выводится диалоговая панель с заголовком Select IP, предназначенная для выбора типа IP–ядра, в которой в форме папок отображаются все категории (функциональные группы) элементов, формируемых с помощью «мастера» Architecture Wizard и генератора параметризированных модулей Core Generator. Вид этой диалоговой панели показан на рис. 8.

Рис. 8. Вид диалоговой панели Select IP, открывающей доступ ко всем категориям параметризированных модулей, формируемых с помощью 'мастера' Architecture Wizard и генератора параметризированных модулей Core Generator
Рис. 8. Вид диалоговой панели Select IP,
открывающей доступ ко всем категориям параметризированных модулей,
формируемых с помощью «мастера» Architecture Wizard
и генератора параметризированных модулей Core Generator

В данной панели следует открыть папку с названием FPGA Features and Design, поместив курсор на пиктограмму в виде знака +, расположенную слева от изображения данной папки, и щелкнув левой кнопкой мыши. Затем аналогичным образом нужно открыть папку XtremeDSP Slice, соответствующую подгруппе параметризированных модулей, поддерживаемых «мастером» Architecture Wizard. В появившемся списке отображаются названия тех же базовых элементов устройств ЦОС, что и в диалоговой панели с заголовком Selection (рис. 6), рассмотренной в предыдущем разделе. В этом списке необходимо выделить строку, содержащую идентификатор параметризированного модуля, используемого для генерации требуемого элемента, после чего нажать кнопку Далее (Next), которая находится в нижней части диалоговой панели Select IP (рис. 8). В результате этого появляется информационная панель с заголовком Summary, вид которой представлен на рис. 9.

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

В этой панели отображаются сведения о типе создаваемого модуля исходного описания проекта и название раздела, в который помещаются генерируемые файлы. При необходимости можно изменить название или тип формируемого элемента ЦОС, а также место его размещения на диске, воспользовавшись кнопкой Назад (Back), расположенной в нижней части информационной панели Summary, и вернувшись к предыдущей диалоговой панели. Для перехода непосредственно к фазе определения параметров создаваемого элемента следует нажать кнопку Готово (Finish) в нижней части информационной панели Summary (рис. 9). После этого автоматически запускается «мастер» настройки конфигурации выбранного параметризированного модуля.

При успешном завершении процесса генерации HDL–описания разрабатываемого элемента устройства ЦОС в окне исходных модулей Навигатора проекта (Project Navigator) САПР серии Xilinx ISE появляется строка с пиктограммой 'кнопка' и названием сформированного модуля (рис. 10).

Рис. 10. Вид рабочей области Навигатора проекта (Project Navigator) САПР серии Xilinx ISE после завершения процесса генерации HDL описания разрабатываемого элемента устройства ЦОС
Рис. 10. Вид рабочей области
Навигатора проекта (Project Navigator) САПР серии
Xilinx ISE после завершения процесса генерации HDL
описания разрабатываемого элемента устройства ЦОС

Компоненты ЦОС, сформированные с помощью «мастера» Architecture Wizard в составе проекта САПР серии Xilinx ISE, как и элементы ЦОС, добавленные из других проектов, могут быть модифицированы и повторно сгенерированы непосредственно под управлением Навигатора проекта (Project Navigator). Повторная генерация может потребоваться, в частности, при смене типа кристалла, предназначенного для реализации проектируемого устройства ЦОС. Для выполнения указанных операций следует поместить курсор на строку с названием сгенерированного элемента, представленную в окне исходных модулей Навигатора проекта (Project Navigator), и дважды щелкнуть левой кнопкой мыши. После этого автоматически запускается «мастер» настройки генерируемого элемента, в диалоговых панелях которого отображаются установленные ранее значения параметров.

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

Литература

  1. Кузелин М. О., Кнышев Д. А., Зотов В. Ю. Современные семейства ПЛИС фирмы Xilinx / Справочное пособие. М.: Горячая линия — Телеком, 2004.
  2. Зотов В. Инструментальный модуль компании Avnet для отладки проектов встраиваемых систем, разрабатываемых на базе нового семейства ПЛИС FPGA фирмы Xilinx Virtex–5 FXT // Компоненты и технологии. 2008. № 9.
  3. Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия — Телеком, 2003.
  4. Зотов В. Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком, 2006.
  5. Virtex–5 Family Overview. Xilinx, 2008.
  6. Virtex–5 FXT Family: Data Sheet. Xilinx, 2008.
  7. Virtex–5 FPGA User Guide. Xilinx, 2008.
  8. Virtex–5 FPGA XtremeDSP Design Considerations. Xilinx, 2008.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке