Окончание. Начало в № 12 2013
Валерий ЗОТОВ
Расширение семейства
программируемых систем на кристалле Zynq-7000 AP SoC
Стандартные конфигурируемые ресурсы программируемой логики PL кристаллов расширяемых процессорных платформ
Основу архитектуры программируемой логики PL кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC составляет массив конфигурируемых логических блоков (Configurable Logic Block, CLB), каждый из которых включает в себя две секции (SLICE). В структуре стандартных конфигурируемых логических ресурсов программируемых систем на кристалле этого семейства представлены секции двух типов — SLICEM и SLICEL. При этом секции SLICEM составляют приблизительно одну треть от объема логических ресурсов кристалла, а секции SLICEL — соответственно две трети. В состав конфигурируемого логического блока CLB могут входить секции двух различных типов (CLB_LM) или только одного типа — SLICEL (CLB_LL). На рис. 23 приведена структура двух разновидностей конфигурируемых логических блоков CLB, представленных в архитектуре программируемой логики PL кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC.
Полная функциональная схема секций SLICEM и SLICEL изображена на рис. 24.
Каждая из этих секций (SLICEM или SLICEL) включает в себя четыре реальные шестивходовые таблицы преобразования Look-Up Table (LUT), которые позволяют реализовать функции соответствующего числа переменных без применения дополнительных логических ресурсов и тем самым повысить быстродействие разрабатываемых устройств и систем. Для реализации функциональных генераторов,
Конфигурируемый логический блок CLB
Slice L
Slice L
CLB LL
Конфигурируемый логический
блок CLB
Slice_L
Slice_ M
CLB LM
Рис. 23. Обобщенная структура конфигурируемых логических блоков CLB
COUT (к следующей секции Slice)
Carry Chain Block (CARRY4)
d> DMUX/DQ
05 LUTD DX
d>DMUX
05 LUTD DX
05 LUTD DX
05 LUTD DX
SI
CIN (от предыдущей секции Slice)
Рис. 25. Структурная схема логики ускоренного переноса, представленной в секциях SLICEL и SLICEM
содержащих более шести входов, на базе комбинации нескольких таблиц преобразования в структуре секций конфигурируемых логических блоков предусмотрены специальные мультиплексоры, которые позволяют коммутировать выходы этих LUT соответствующим образом. В частности, указанные мультиплексоры предоставляют возможность конфигурирования 13-входовых функциональных генераторов на основе двух таблиц преобразования и 27-входовых — на базе четырех LUT, входящих в состав одной секции.
Для организации быстрого выполнения арифметических операций (сложения и вычитания) в составе секций SLICEM и SLICEL представлена логика ускоренного переноса, структурная схема которой показана на рис. 25.
С выходами каждой LUT сопряжено два триггера. Двукратное увеличение количества триггеров, подключенных к выходам LUT, не только обеспечивает значительное расширение возможностей реализации конвейерной организации обработки данных в проектируемых устройствах и системах, но и позволяет конфигурировать шестивходовые LUT в виде двойных пятивходовых функциональных генераторов с общими входами и раздельными выходами. При этом следует учитывать, что один из двух триггеров, сопряженных с выходом таблицы преобразования, может функционировать только как триггер с динамическим управлением (D-триггер, flip-flop). Условные графические образы таких триггеров в функциональных схемах, приведенных на рис. 24, имеют обозначения FF. В то же время триггерные элементы, обозначенные на схемах как FF/LAT, могут быть сконфигурированы как триггеры с динамическим или потенциальным управлением (защелки, latch).
Основным принципиальным отличием секций SLICEM от секций SLICEL является возможность конфигурирования LUT как элементов распределенной памяти с информационной емкостью 64 бита или как сдвиговых регистров различной разрядности (до 32 разрядов). Для формирования запоминающих устройств необходимого объ-
ема и регистров сдвига с более высокой разрядностью используются различные комбинации нескольких таблиц преобразования, выходы которых коммутируются соответствующим образом специальными мультиплексорами. На базе LUT секций SLICEM могут быть реализованы следующие разновидности элементов оперативной памяти:
• однопортовые ОЗУ (Single-Port Distributed RAM);
• двухпортовые ОЗУ (Dual-Port Distributed RAM);
• ОЗУ с раздельными портами записи и чтения данных (Simple DualPort Distributed RAM);
• четырехпортовые ОЗУ (Quad Port Distributed RAM).
Элементы однопортовой распределенной оперативной памяти имеют общие адресные входы для выполнения операций синхронной записи и асинхронного чтения данных. В двухпортовых ОЗУ один из портов предназначен для осуществления операций синхронной записи и асинхронного чтения данных, а второй — только операций асинхронного чтения данных. В элементах распределенной оперативной памяти с раздельными портами один из портов используется только для выполнения функций синхронной записи информации, а второй — только для осуществления функций асинхронного чтения данных. Элементы четырехпортовых ОЗУ обладают одним портом, предназначенным для выполнения операций синхронной записи и асинхронного чтения данных, и тремя портами, которые могут применяться только для асинхронного чтения записанной информации.
Кроме того, любая LUT предоставляет возможность реализации постоянного запоминающего устройства (ПЗУ) с информационной емкостью 64 бита и организацией 64x1 разряд. Подробные сведения о возможных вариантах организации портов элементов ОЗУ и ПЗУ, конфигурируемых на базе LUT, содержатся в [5].
Каждая LUT секций SLICEM может быть сконфигурирована также в виде одного 32-разрядного регистра сдвига или двух 16-разрядных сдвиговых регистров с общими входами управления. При реализации регистров сдвига на базе таблиц преобразования в общем случае триггеры секций SLICEM не используются. Но при необходимости триггеры могут быть установлены на выходах сдвиговых регистров для реализации операций синхронного чтения записанных данных. Структурная схема 32-разрядного сдвигового регистра, конфигурируемого на основе LUT, приведена на рис. 26.
SHIFTIN (D)-WE-CLK-
32-разрядный сдвиговый регистр
- SHIFTOUT (Q31)
Address (A[4:0])^v-
MUX
Рис. 26. Структурная схема 32-разрядного сдвигового регистра, конфигурируемого на основе LUT секции SLICEM
В рассматриваемых регистрах сдвига предусмотрены два выхода — фиксированный и мультиплексируемый. На фиксированном выходе SHIFTOUT(Q31) отображается содержимое последнего разряда сдвигового регистра (Q31). Мультиплексируемый выход Q предоставляет доступ к содержимому требуемого разряда регистра сдвига, номер которого задается с помощью соответствующей комбинации значений сигналов на адресных входах A[4:0].
Ресурсы блочной памяти программируемой логики PL кристаллов расширяемых процессорных платформ
Блочная память (Block RAM) в кристаллах расширяемых процессорных платформ семейства Zynq-7000 AP SoC организована в виде массива двухпортовых модулей, информационная емкость каждого
CLKA Инвертор
WEA ENA
Схема управления
ADDRB
WEB ENB
CLKB Инвертор
Входные регистры
оперативной
> D Q Регистр-защелка D Q Выходные регистры >
Входные регистры
D Q Регистр-
Схема управления
D Q Выходные
регистры
>
Рис. 27. Обобщенная структурная схема модуля блочной памяти Block RAM
CASCADEOUT
Выходной регистр |
f___J
Выходной 1 регистр |
р"___j
о
CASCADEIN of Тор CASCADEOUT of Bottom
WE[3:0] -
CASCADEIN
Рис. 28. Структурная схема каскадного соединения двух смежных модулей Block RAM
из которых составляет 36 кбит. Обобщенная структурная схема модулей блочной памяти представлена на рис. 27. Основу этой структурной схемы образуют массив оперативной памяти и два полностью независимых канала записи и чтения данных.
Каждый модуль двухпортовой блочной памяти Block RAM можно конфигурировать как одно запоминающее устройство объемом 36 кбит или в виде двух независимых элементов ОЗУ с информационной емкостью 18 кбит каждый, а также в виде запоминающих устройств, функционирующих по принципу «первым вошел - первым вышел» (first-in first-out, FIFO). Модули блочной памяти предоставляют возможность реализации следующих вариантов элементов оперативной памяти:
• однопортовых ОЗУ (Single-Port Block
RAM);
полнофункциональных двухпортовых ОЗУ (True Dual-Port Block RAM); ОЗУ с раздельными портами записи и чтения данных (Simple Dual-Port Block RAM).
В различных элементах оперативной памяти, конфигурируемых на базе модулей Block RAM, все порты поддерживают операции синхронной записи и синхронного чтения данных. В двухпортовых элементах блочных ОЗУ тактирование портов может осуществляться одним или двумя различными сигналами синхронизации. Разрядность каждого порта элементов блочной оперативной памяти можно устанавливать индивидуально, независимо от других портов. Полный список поддерживаемых вариантов организации портов ОЗУ, реализуемых на основе модулей Block RAM, представлен в [4]. При необходимости в состав запоминающих устройств, конфигурируемых на базе ресурсов блочной памяти, можно включить выходные регистры с динамическим управлением или регистры-защелки.
Два смежных модуля Block RAM можно объединять без привлечения внешних логических ресурсов для формирования элемента двухпортового ОЗУ с информационной емкостью 64 кбит. Для этой цели в каждом модуле Block RAM предусмотрены две пары входов и выходов, предназначенные для подключения к смежному модулю. Структурная схема каскадного соединения двух смежных модулей блочной памяти кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC изображена на рис. 28.
Элементы оперативной памяти, реализуемые на основе модулей Block RAM, с 16-и 32-разрядными портами поддерживают использование режима побайтной записи. В этом режиме при выполнении операций записи в ячейку с указанным адресом могут заноситься не все разряды данных, представленных на входной информационной шине ОЗУ, а только требуемые байты. Для организации режима побайтной записи в элементах блочной оперативной памяти вместо одиночного входа разрешения записи применяется входная шина с соответствующей разрядностью. Уровень сигнала на каждом входе этой шины определяет возможность записи конкретного байта информационных данных. Временные диаграммы сигналов, показанные на рис. 29, в наглядной форме поясняют осуществление режима побайтной
I I I !
CLK WE DI
\DDR
DO
1111 у 0011— X
ХХХХ X 1111 X 2222 X ХХХХ
X - 3d - х ьь X сс
0000 X МЕМ(аа) X 1111 X '►1122 X МЕМ(сс)
Чтение данных Запись данных по адресу bb Побайтная запись данных по адресу bb Чтение данных
MEM(bb)=1111
MEM(bb)=1122
Рис. 29. Временные диаграммы сигналов, демонстрирующие режим побайтной записи в ОЗУ, конфигурируемых на основе модулей блочной памяти Block RAM
WRCOUNT-
Счетчик записи данных
Модуль блочной
Счетчик чтения данных
►RDCOUNT
* DO
CLK-WREN-RST-
Схема формирования сигналов состояния (флагов)
ТШТ
-л m > > л s
г Н О О Л л -< л Л ■л m £ Ш
И
WRCOUNT-^-j—
Счетчик записи данных
CLK-WREN-RST-
Модуль блочной памяти Block RAM
3 о
3
Э
Схема формирования сигналов состояния (флагов)
Ш
■лш>> JS
цт!
< м w Л %
-л m
М
-RDCOUNT
- RDCLK
dip[7:ü1 eccparity[7:q1
injectsbiterr injectdbiterr dl[63:0]
rdaddrecc[8:0]
Рис. 30. Обобщенная структурная схема запоминающих устройств FIFO, реализуемых на основе модулей двухпортовой блочной памяти Block RAM: а) синхронных; б) асинхронных
записи в ОЗУ, конфигурируемых на основе модулей блочной памяти Block RAM.
В каждом модуле двухпортовой блочной памяти предусмотрена специальная схема управления, необходимая для организации запоминающих устройств, функционирующих по принципу «первым вошел - первым вышел». Эта схема позволяет формировать элементы FIFO-памяти с общим и раздельным тактированием портов записи и чтения данных. Тем самым предоставляется возможность реализации как синхронных, так и асинхронных запоминающих устройств FIFO. В синхронных элементах FIFO-памяти используется один общий тактовый сигнал для портов записи и чтения информации. В асинхронных элементах запоминающих устройств, функционирующих по принципу «первым вошел - первым вышел», порты записи и чтения данных тактируются двумя разными сигналами синхронизации с различными значениями частоты. На рис. 30 изображены обобщенные структурные схемы соответственно синхронных и асинхронных запоминающих устройств FIFO, реализуемых на основе модулей двухпортовой блочной памяти Block RAM. Схема управления обеспечивает не только требуемый порядок записи и чтения данных, но и формирование сигналов состояния, которые информируют о степени заполнения и опустошения элемента FIFO-памяти.
Для увеличения информационной емкости формируемых элементов FIFO-памяти используется каскадное соединение запоминающих устройств, функционирующих по принципу «первым вошел - первым вышел», каждое из которых конфигурируется на базе отдельного модуля Block RAM. При необходимости создания элементов
Рис. 31. Структура элемента ОЗУ со встроенной схемой контроля и коррекции ошибок, реализуемого на основе модулей двухпортовой блочной памяти Block RAM
FIFO с более высокой разрядностью входного и выходного портов применяется параллельное соединение нескольких запоминающих устройств с FIFO-организацией.
Все модули блочной памяти кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC оснащены встроенной системой обнаружения и коррекции ошибок (Error Correction Checking, ECC). Эта система предоставляет возможность обнаружения двух ошибочных разрядов информационных данных, а также исправления одного модифицированного бита. Интегрированную схему ECC можно задействовать в элементах оперативной памяти, включающих в себя как выходные регистры с динамическим управлением, так и регистры-защелки. Структура элемента оперативной памяти со встроенной схемой контроля и коррекции ошибок, конфигурируемого на базе модулей Block RAM, приведена на рис. 31.
Аппаратные секции цифровой обработки сигналов, представленные в составе программируемой логики PL кристаллов расширяемых процессорных платформ
Модифицированные аппаратные секции цифровой обработки сигналов (ЦОС) DSP48E1, представленные в составе программируемой логики PL кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, обладают полной совместимостью с предыдущим вариантом этих специализированных модулей и, в то же время, имеют несколько преимуществ по сравнению с базовой версией — DSP48E. В состав архитектуры модернизированных секций ЦОС включены дополнительный (предварительный) сумматор, который расположен перед умножителем 25x18, и соответствующая входная 25-разрядная шина данных. Кроме того, на входе дополнительного сумматора, как и на входах умножителя, установлены по два буферных регистра с раздельными входами разрешения синхронизации. Подробная структурная схема модернизированной аппаратной секции ЦОС DSP48E1, применяемой в составе архитектуры программируемых систем на кристалле семейства Zynq-7000 AP SoC, показана на рис. 32.
Основными элементами представленной структурной схемы являются:
• предварительный 25-разрядный сумматор;
Рис. 32. Структурная схема модернизированной аппаратной секции ЦОС DSP48E1, применяемой в программируемых системах на кристалле
• аппаратный умножитель 25x18;
• 48-разрядный арифметическо-логический блок;
• селекторы-мультиплексоры, осуществляющие коммутацию сигналов на входах аппаратного умножителя 25x18 и ариф-метическо-логического блока;
• регистры, предназначенные для реализации конвейерной организации выполнения операций.
Наличие дополнительного (предварительного) сумматора и буферных регистров позволяет оптимальным образом реализовать многозвенные устройства ЦОС, в частности симметричные цифровые фильтры. При этом требуется минимальное количество секций DSP48E1 и достигается максимальная производительность разрабатываемого устройства ЦОС. Двоичный код, представленный на дополнительной входной 25-разрядной шине данных секции DSP48E1, можно использовать не только как значение слагаемого в дополнительном сумматоре, но и в качестве значения одного из сомножителей в аппаратном умножителе 25x18. Выбор источников операндов и соответствующих буферных регистров осуществляется с помощью дополнительной пятиразрядной шины управления INMODE. Аппаратный умножитель обеспечивает возможность высокоскоростного вычисления произведения двух 25- и 18-разрядных значений входных данных.
Арифметическо-логический блок, включающий в себя аккумулятор, поддерживает свыше 40 различных режимов (реализуемых функций), выбираемых разработчиком. В частности, предусмотрена возможность реализации трехвходовых сумматоров и вычитающих устройств, а также осуществление поразрядных логических операций. Входные, буферные и выходные регистры предоставляют возможность применения многоступенчатой конвейерной организации выполнения операций, повышающей произ-
водительность разрабатываемых устройств цифровой обработки сигналов.
В аппаратных модулях DSP48E1 предусмотрена также поддержка каскадного наращивания разрядности основных функциональных блоков. Секции цифровой обработки сигналов, применяемые в составе архитектуры программируемой логики кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC, характеризуются сочетанием высокого быстродействия и низкого уровня потребляемой мощности.
Структура
и основные характеристики аналого-цифрового модуля XADC, используемого в составе программируемых систем на кристалле
Аналого-цифровой модуль XADC, входящий в состав программируемых систем на кристалле семейства Zynq-7000 АР SoC,
VAUXP[0] о VAUXN[0] О
VAUXP[12] о VAUXN[12] О VAUXP[13] о VAUXN[13] О VAUXP[14] о VAUXN[14] О VAUXP[15] о VAUXN[15] О
предоставляет возможность преобразования в цифровую форму до 17 внешних аналоговых сигналов, а также мониторинга уровня напряжения питания и значений температуры кристаллов. Обобщенная структурная схема модуля XADC, применяемого в кристаллах расширяемых процессорных платформ указанного семейства, изображена на рис. 33.
Основными функциональными блоками этой схемы являются:
• блок аналого-цифрового преобразования сигналов;
• входной мультиплексор внешних аналоговых сигналов;
• интегрированный датчик температуры;
• встроенные датчики питающих напряжений;
• регистры состояния (Status Registers);
• регистры управления (Control Registers);
• порт динамического реконфигурирования (Dynamic Reconfiguration Port, DRP);
• встроенный источник опорного напряжения. Блок АЦП, образующий основу аналого-
цифрового модуля XADC, позволяет выполнять преобразование двух аналоговых сигналов в цифровую форму с максимальной частотой дискретизации, достигающей 1 Мвыб./с, и 12-разрядным разрешением. В его состав входят два аналого-цифровых преобразователя, каждый из которых обеспечивает выполнение операций оцифровки входного аналогового сигнала с точностью 0,1%. Эти АЦП поддерживают возможность аналого-цифрового преобразования одно-полярных входных сигналов в диапазоне от 0 до 1 В и двухполярных сигналов в диапазоне от -500 до 500 мВ. Кроме того, предусмотрена возможность оцифровки входных сигналов, представленных в дифференциальном виде. Таким образом, модуль XADC позволяет полностью реализовать законченную систему цифровой обработки низкочастотных сигналов на базе одного кристалла расширяемой процессорной платформы семейства Zynq-7000 AP SoC без использования внешних АЦП. Передаточные характе-
Датчик Датчик
VREFPVREFN
_2_
Аналого-цифровой модуль XADC
Рис. 33. Обобщенная структурная схема аналого-цифрового модуля XADC, представленного в кристаллах расширяемых процессорных платформ
Входы внешних , аналоговых ситалов
Рис. 34. Передаточная характеристика АЦП аналого-цифрового модуля XADC для: а) однополярных входных сигналов; б) двухполярных входных сигналов
Рис. 35. Передаточная характеристика блоков модуля XADC: а) измерения температуры; б) измерения напряжения питания
ристики аналого-цифровых преобразователей модуля XADC для одно- и двухполярных входных сигналов представлены на рис. 34.
Входной мультиплексор, входящий в состав аналого-цифрового модуля, осуществляет коммутацию внешних аналоговых сигналов на входы АЦП. Этот мультиплексор обеспечивает поддержку 17 внешних аналоговых каналов.
Интегрированный датчик температуры модуля XADC предоставляет возможность измерения соответствующего параметра кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC в диапазоне от -40 до +125 °С с точностью ±4 °С. На рис. 35а приведена передаточная характеристика блока измерения температуры, включающего в себя датчик и АЦП.
Встроенные датчики напряжения модуля XADC позволяют осуществлять мониторинг уровней различных напряжений питания кристаллов расширяемых процессорных платформ, включая напряжения
"^селих, VCCBRAM, "^ССРМТ, "^ссрлих и VCCO_DDR. Эти датчики обеспечивают возможность из-
мерения уровней питающих напряжений в диапазоне от 0 до 3 В с точностью ±1%. Передаточная характеристика блока измерения напряжений питания аналого-цифрового модуля, в состав которого входят интегрированные датчики напряжения и АЦП, показана на рис. 35б.
Регистры состояния и управления образуют основу интерфейса передачи результатов измерений и установки требуемых режимов работы модуля XADC. Доступ к этим регистрам осуществляется через порт динамического реконфигурирования DRP. Регистры состояния (Status Registers) предназначены для хранения результатов аналого-цифрового преобразования входных сигналов, а также результатов измерения значений температуры и уровней напряжений питания. Эти регистры доступны только для чтения соответствующих информационных данных.
Регистры управления (Control Registers) используются для выбора необходимого режима работы модуля XADC и выполняемых операций, установки требуемой последовательности подключения аналоговых вхо-
дов и встроенных датчиков ко входам АЦП, определения предельных значений температуры и питающих напряжений. Эти регистры доступны для чтения и записи команд и данных.
Встроенный источник опорного напряжения формирует уровень напряжения 1,25 В, который необходим для работы аналого-цифровых преобразователей рассматриваемого модуля. При этом для повышения точности результатов оцифровки входных аналоговых сигналов предусмотрена возможность подключения внешнего высокостабильного источника опорного напряжения. Типовые схемы подключения питания аналого-цифрового модуля XADC с применением встроенного и внешнего источника опорного напряжения изображены на рис. 36.
Аналого-цифровой модуль программируемых систем на кристалле семейства Zynq-7000 АР SoC поддерживает возможность коммутации входных аналоговых сигналов с помощью внешних мультиплексоров. Для этой цели в модуле XADC предусмотрена дополнительная выходная адресная шина, с ее помощью можно выбрать входной канал внешнего мультиплексора. Такой вариант коммутации входных аналоговых сигналов позволяет существенно сократить количество соответствующих выводов кристаллов расширяемых процессорных платформ. В качестве примера, поясняющего применение внешних мультиплексоров для организации многоканального подключения входных сигналов аналого-цифрового модуля, на рис. 37 представлена структурная схема 16-канального варианта устройства преобразования аналоговых сигналов.
Внешний мультиплексор аналоговых сигналов
Внешние мультиплексоры аналоговых сигналов
Рис. 37. Схема подключения внешнего мультиплексора входных сигналов к аналого-цифровому модулю XADC
Рис. 38. Схема организации режима одновременной выборки в АЦП модуля XADC с помощью двух внешних мультиплексоров входных сигналов
I ^ Время преобразования канала N_^
^ЩЯЯМ t\F 11 » « * Я 2 3 4 !!
Время установления N
Время подготовки данных канала N-»¡1
Завершение -►! преобразования выборки канала N
Запуск рыборки канала N
"
MUXADDR[4:0]
Для реализации режима одновременной (параллельной) выборки в аналого-цифровых преобразователях модуля XADC может применяться схема, включающая в себя два внешних мультиплексора входных аналоговых сигналов. Пример организации такого режима показан на рис. 38.
В схемах, представленных на рис. 37 и 38, дополнительная выходная адресная шина аналого-цифрового модуля используется
для автоматического выбора текущего внешнего канала. Процесс формирования сигналов на этой шине поясняют временные диаграммы входных и выходных сигналов модуля XADC, показанные на рис. 39, которые соответствуют режиму непрерывной выборки.
Для эффективного использования аналого-цифрового модуля в составе встраиваемых систем, разрабатываемых на основе кристаллов расширяемых вычислительных
платформ семейства Zynq-7000 AP SoC, предусмотрена возможность непосредственного сопряжения модуля XADC с процессорной системой PS. Таким образом, управление режимами функционирования аналого-цифрового модуля и обработку оцифрованных данных можно осуществлять на программном уровне с помощью соответствующего ПО. Организацию взаимодействия процессорной системы PS и модуля XADC поясняет структурная схема, приведенная на рис. 40.
Программные средства процессорной системы могут осуществлять управление работой аналого-цифрового модуля одним из двух способов — посредством интерфейса PS-XADC или через AXI (Advanced extensible Interface) с помощью соответствующего IP-ядра, реализуемого на базе ресурсов программируемой логики PL. Структурная схема интерфейса PS-XADC показана на рис. 41. В состав этой схемы входят следующие элементы:
• блок FIFO-памяти команд;
• блок FIFO-памяти данных;
• регистры конфигурации, управления и состояния;
• параллельно-последовательный преобразователь кода команд;
• последовательно-параллельный преобразователь кода оцифрованных данных. Более детальная информация о применении интерфейса PS-XADC приведена в [16].
Ресурсы формирования и распределения сигналов синхронизации, представленные в составе программируемой логики кристаллов расширяемых процессорных платформ
Основу ресурсов формирования тактовых сигналов, входящих в состав программируемой логики (PL) кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, образуют блоки управления синхронизацией CMT и совокупность линий распределения тактовых сигналов
Процессорная система PS
FIFO-буфер команд
Параллельно-последовательный преобразователь
Регистры конфигурации, управления и состояния
1
Интерфейс АРВ 3.0
- "32 - "32 - " 32
FIFO-буфер данных
Последовательно-
параллельный преобразователь
ТГТТ-
XADC
ИХ
Рис. 41. Структурная схема интерфейса PS-XADC
различных типов, доступ к которым осуществляется через соответствующие буферные элементы. Структурная схема блоков управления синхронизацией, применяемых в программируемых системах на кристалле этого семейства, изображена на рис. 42.
Основными элементами этой структурной схемы являются модуль фазовой автоподстройки частоты PLL и комбинированный модуль управления синхронизацией MMCM, которые можно эффективно использовать для частотного синтеза и снижения уровня джиттера тактовых сигналов. Функциональная схема модулей фазовой автоподстройки частоты PLL, представленных в составе блоков управления синхронизацией CMT программируемых систем на кристалле семейства Zynq-7000 АР SoC, показана на рис. 43. В состав этой схемы входят следующие элементы:
Рис. 42. Структурная схема блоков управления синхронизацией CMT, представленных в составе программируемой логики
• блок выбора входного тактового сигнала,
• программируемый счетчик/делитель (Counter/Divider, С/D),
• фазо-частотный детектор (Phase-Frequency Detector, PFD),
• генератор, управляемый напряжением (Voltage-Controlled Oscillator, VCO), который формирует восемь сигналов с различными значениями фазы (0°, 45°, 90°, 135°, 180°, 225°, 270° и 315°),
• интегрирующий источник тока (Charge Pump, CP),
• петлевой фильтр (Loop Filter, LF),
• семь выходных счетчиков/делителей (00-05 и M).
Все сигналы, вырабатываемые генератором VCO, поступают на входы соответствующих выходных счетчиков/делителей, коэффициент деления каждого из которых программируется в соответствии с требованиями проектируемого устройства.
Комбинированные модули управления синхронизацией MMCM также построены на основе схемы фазовой автоподстройки частоты, поэтому основу их структуры образуют те же функциональные блоки, что используются в составе модулей PLL. Но при этом реализация отдельных блоков в комбинированных модулях управления син-
Перекпючатель тактового сигнала
CLKIN1 CLKIN2
Программируемый счетч ик/дел ител ь D
Детектор выхода из фазового синхронизма LD
Lock
Фазо- Генератор,
чатотныи Источник Петлевой управляемый
детектор тока фильтр напряжением
PFD CP LF VCO
Выходной счетчик/ делитель QQ
Выходной счетчик/ делитель 01
Выходной счетчик/ делитель 02
Выходной счетчик/ делитель 03
Выходной счетчик/ делитель 04
Выходной счетчик/ делитель Q5
Выходной счетчик/ делитель М
■ CLKOUT1
■ CLKOUT2
CLKOUT5
Рис. 43. Функциональная схема модулей фазовой автоподстройки частоты PLL, входящих в состав программируемой логики
Рис. 44. Функциональная схема комбинированных модулей управления синхронизацией 141^14, входящих в состав программируемой логики
хронизацией отличается от соответствующих блоков, применяемых в схеме фазовой автоподстройки частоты. Эти отличия обеспечивают дополнительные преимущества комбинированных модулей управления синхронизацией перед модулями PLL.
Модули ММСМ поддерживают широкий диапазон частот входных сигналов, который составляет от 10 до 800 МГц. Функции частотного синтеза и точного фазового сдвига, выполняемые комбинированными модулями управления синхронизацией, позволяют легко сформировать необходимую сетку тактовых сигналов для проектируемых систем различного уровня сложности. Функциональная схема модулей ММСМ, входящих в состав блоков управления синхронизацией СМТ кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC, представлена на рис. 44.
Основные отличия комбинированных модулей управления синхронизацией ММСМ от модулей фазовой автоподстройки частоты PLL:
• Применение модернизированного генератора, управляемого напряжением (УСО), формирующего, кроме восьми сигналов с постоянным значением фазы (0°, 45°, 90°, 135°, 180°, 225°, 270° и 315°), дополнительный выходной сигнал с переменным значением фазы, необходимый для реализации точного фазового сдвига вырабатываемых тактовых сигналов.
• Поддержка возможности осуществления динамического фазового сдвига генерируемых сигналов синхронизации.
• Увеличение числа выходных счетчиков/делителей до восьми (00-06 и М), что позволяет расширить количество формируемых тактовых сигналов с различными значениями частоты и фазы.
• Наличие счетчиков/делителей с дробным коэффициентом деления частоты (00 и М), предоставляющих возможность синтеза существенно большего количества значений частоты формируемых сигналов синхронизации.
• Присутствие дополнительных выходов инверсных тактовых сигналов (с фазовым сдвигом на 180°) в отдельных счетчиках/делителях (00-03), что расширяет число одновременно вырабатываемых тактовых сигналов с различным фазовым сдвигом.
• Поддержка возможности каскадного соединения выходных счетчиков/делителей 04 и 06, обеспечивающего реализацию значений коэффициентов деления, превышающих 128.
Система распределения тактовых сигналов в программируемой логике кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC представляет собой комплекс линий распространения сигналов синхронизации различного уровня. В составе ресурсов каждой программируемой системы на кристалле этого семейства имеется 32 линии глобальных тактовых сигналов
(Global Clocks), которые можно использовать для синхронизации любых логических и специализированных блоков программируемой логики. Эти линии сопряжены с глобальными буферными элементами (BUFG). Вся площадь кристалла разделена на несколько регионов тактирования, количество которых составляет от 8 до 24, в зависимости от объема ресурсов расширяемых процессорных платформ. Вертикальный размер каждого региона тактирования ограничен 50 конфигурируемыми логическими блоками (CLB), а горизонтальный — половиной ширины кристалла. В состав каждого региона входят 50 блоков ввода/вывода (один банк ввода/вывода). В каждом из этих регионов доступно 12 линий глобальных тактовых сигналов. Кроме того, в каждой из этих областей имеется совокупность цепей региональных сигналов синхронизации (Regional Clocks). Подключение к этим цепям осуществляется через региональные буферные элементы BUFR и мультирегиональные — BUFMR. Региональные сигналы синхронизации применяются в основном для тактирования элементов, расположенных в данном регионе, а также могут использоваться в ближайших соседних регионах, расположенных выше и ниже. В центре каждого региона проходят горизонтальные линии передачи тактовых сигналов (Horizontal Clock Row, HROW), доступ к которым предоставляют буферные элементы BUFH.
Логические ресурсы ввода/вывода программируемых систем на кристалле
В составе ресурсов ввода/вывода программируемой логики кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC предусмотрены дополнительные модули, позволяющие существенно упростить реализацию различных интерфейсов передачи данных. Набор этих модулей, представленных в логических ячейках ввода/вывода, различается для банков HP и HR. Структура логических ресурсов ввода/вывода, входящих в состав HP- и HR-банков, показана на рис. 45.
Логические ячейки ввода/вывода банков HP оптимизированы для достижения максимальной производительности и предназначены, в первую очередь, для реализации высокоскоростных интерфейсов памяти и передачи данных. В структуре этих блоков присутствуют программируемые модули IDELAYE2 и ODELAYE2, позволяющие осуществлять задержку входных и выходных сигналов на фиксированную или изменяемую величину.
В составе логических ячеек ввода/вывода HR-банков представлены только модули IDELAYE2, позволяющие осуществлять задержку сигналов, поступающих с выводов кристалла.
Логический уровень ввода/вывода
Программируемый модуль входной задержки
IDELAYE2
Программируемый модуль выходной задержки
ODELAYE2
Входная логика/ Поел едоватеп ьно-
параллельный преобразователь ILOGICE2/ ISERDESE2
Выходная логика/
Параллельно-посл едо вател ьн ы й преобразователь OLOGICE2/ OSERDESE2
Логический уровень ввода/вывода
Программируемый модуль входной задержки
IDELAYE2
Входная логика/ Поел одовател ьно-
параплельный преобразователь ILOGICE3/ ISERDESE2
Выходная логика/
Параллельно-последовательный преобразователь OLOGICE3/ OSERDESE2
Do
DDLY I >-
Селектор-мультиплексор входных данных
DYNCLKSEL | > CLKB
оськ^ф.
DYNCLKDIVSEL | >-CLKDIV
Блок последовательно-параллельного преобразования
RSTO-
BITSLIPI >-
SHIFTIN1/2
SHIFTOUT1/2
Q1:Q8
Рис. 45. Структура логических ресурсов ввода/вывода кристаллов расширяемых процессорных платформ: а) HP-банков, б) HR-банков
Рис. 46. Структура входного последовательно-параллельного преобразователя
Кроме программируемых модулей входной и выходной задержки, логические ячейки ввода/вывода кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC включают в себя модули последовательно-параллельного и параллельно-последовательного преобразователей данных. Разрядность выходного и соответственно входного параллельного кода в этих преобразователях можно выбирать в диапазоне от двух до восьми бит. Программируемые входные последовательно-параллельные и выходные параллельно-последовательные преобразователи, входящие в состав ресурсов ввода/вывода кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC, обладают оптимизированной архитектурой, которая максимально адаптирована для использования их при реализации высокоскоростных интерфейсов памяти (в том числе DDR3 и QDR) и различных сетевых интерфейсов.
0бобщенная структурная схема входных аппаратных модулей преобразования последовательного кода данных в параллельный ISERDESE2, применяемых в программируемых системах на кристалле рассматриваемого семейства, показана на рис. 46.
0сновными функциональными блоками этой схемы являются:
• блок последовательно-параллельного преобразования;
• селектор-мультиплексор, обеспечивающий возможность выбора источника входных данных для блока преобразования последовательного кода в параллельный;
• схема формирования сигнала разрешения синхронизации;
• блок В^Нр, предоставляющий возможность переупорядочивания поступающего потока входных данных.
0бобщенная структурная схема программируемых выходных модулей преобразования параллельного кода в последовательный OSERDESE2, входящих в состав логических ячеек ввода/вывода кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC, изображена на рис. 47.
В состав этой схемы входят следующие функциональные элементы:
• основной блок преобразования параллельного кода данных в последовательный;
• дополнительный блок преобразования параллельного кода в последовательный сигнал управления тристабильным выходом.
ТСЕ -TBYTEIN -Т1-Т4 -
CLK-CLKDIV -RST-
Блок преобразования параллельного кода управления в последовательный
— TFB
— TBYTEOUT
— TQ
ОСЕ-
D1-
D2- Основной блок
D3- преобразования
D4- параллельного
D5- кода данных
D6- в последовательный
D7-
D8-
OQ
- OFB
Рис. 47. Структура выходного параллельно-последовательного преобразователя
0сновной блок преобразования аппаратного модуля OSERDESE2 поддерживает возможность реализации выходного параллельно-последовательного преобразователя с максимальной разрядностью входного кода, достигающей восьми бит. Предельная разрядность дополнительного блока преобразования параллельного кода в последовательный сигнал управления тристабильным выходом ограничена четырьмя разрядами.
Последовательные высокоскоростные приемопередатчики кристаллов расширяемых процессорных платформ
Программируемая логика большинства кристаллов расширяемых процессорных платформ семейства Zynq-7000 АР SoC включает в себя последовательные высокоскоростные приемопередатчики RocketЮ GTX. Исключением является программируемая система на кристалле XC7Z015, в которой используются последовательные приемопередатчики RocketЮ GTP. Поэтому далее рассматриваются
Преобразователь параллельного кода в последовательный
Подуровень сопряжения с физической средой передающего канала
ТХРМА
2 III H? Блок ой коррекции RXEQ) фильтрации (DFE)
If ч >s а X s о s
Подуровень сопряжения с физической средой приемного канала
RXPMA
Подуровень N кодирования данных передающего канала
ТХ PCS
Генератор специальных поспедовател ьностей символов для PCIe
Генератор специальных поспедовател ьностей символов 00В для SATA
Генератор псевдослучайных поспедовательностей PRBS
Буфер FIFO
Блок управления полярностью
Блок реализации
протокола интерфейса PIPE
5 к
Блок контроля псевдослучайных последовательностей PRBS
Блок декодирования 8Ь/10Ь
Блок управления
Буфер FIFO
декодирования 64b/66b и 64Ь/67Ь
Подуровень кодирования данных приемного канала RX PCS
Рис. 48. Обобщенная структурная схема последовательных высокоскоростных приемопередатчиков RocketЮ GTX
особенности последовательных высокоскоростных приемопередатчиков RocketIO GTX.
Архитектура этих модулей соответствует физическому уровню PHY базовой модели взаимодействия открытых систем (Open System Interconnection, OSI) технологии Ethernet. Данный уровень модели OSI включает в себя несколько подуровней, в том числе подуровень сопряжения с физической средой передачи данных (Physical Medium Attachment, PMA) и подуровень кодирования данных (Physical Coding Sublayer, PCS).
Обобщенная структурная схема передающего и приемного каналов последовательных высокоскоростных приемопередатчиков RocketIO GTX приведена на рис. 48. На этой схеме подуровню сопряжения с физической средой трансляции данных PMA передающего канала соответствуют следующие модули: выходной драйвер (драйвер передаваемого сигнала), блок предварительной коррекции и преобразователь параллельного кода в последовательный.
Выходной драйвер приемопередатчиков RocketIO GTX выполнен в виде логической схемы с переключением тока Current Mode Logic (CML). Он обеспечивает совместимость передаваемого сигнала с уровнями различных цифровых дифференциальных сигнальных стандартов ввода/вывода. При этом формируемые сигналы характеризуются низким уровнем фазового шума (джиттера). Применение схемы с переключением тока CML позволяет не только программировать требуемые уровни выходных сигналов, но и добиться необходимого согласования с используемой линией передачи. Блок предварительной коррекции выполняет предварительную компенсацию затухания высокочастотных составляющих формируемого сигнала, вносимого линией передачи. Преобразователь параллельного кода в последовательный осуществляет трансформацию передаваемых данных из параллельной формы представления в последовательную.
К подуровню кодирования данных PCS передающего канала последовательных высокоскоростных приемопередатчиков RocketIO GTX относятся следующие блоки:
• внутренний интерфейс программируемой логики (PL),
• блоки кодирования 8b/10b, 64b/66b и 64B/67B,
• блок управления полярностью,
• генератор псевдослучайных последовательностей
(Pseudo-random bit sequences, PRBS),
• буфер FIFO,
• блок реализации протокола интерфейса PIPE (PHY Interface for the PCI Express).
Внутренний интерфейс программируемой логики передающего канала представляет собой шлюз между основными конфигурируемыми ресурсами кристалла и блоками кодирования передающего канала приемопередатчиков RocketIO GTX. Параллельные порты этого интерфейса можно конфигурировать с разрядностью 16, 20, 32, 40, 64 или 80 бит. Различные блоки кодирования и генератор псевдослучайных последовательностей (PRBS) обеспечивают поддержку наиболее распространенных протоколов передачи данных, применяемых в высокоскоростных сетях. Генераторы специальных последовательностей символов для PCI Express и OOB (Out-Of-Band) для Serial ATA (SATA) используются при реализации одноименных интерфейсов. Блок управления полярностью предоставляет возможность инвертирования сформированного кода передаваемых данных. Буфер FIFO обеспечивает согласованное функционирование различных блоков подуровня кодирования данных PCS, тактируемых разными сигналами синхронизации. Подуровню сопряжения с физической средой передачи данных PMA приемного канала соответствуют следующие модули:
• входной буфер с дифференциальными входами,
• блок линейной коррекции RX EQ,
• блок адаптивной фильтрации (Decision Feedback Equalization, DFE),
• блок восстановления данных и синхронизации (Clock Data Recovery, CDR),
• преобразователь последовательного кода в параллельный. Входной буфер обеспечивает возможность приема сигналов
с уровнями различных цифровых дифференциальных сигнальных стандартов ввода/вывода. Блок линейной коррекции выполняет адаптивную компенсацию затухания принимаемого сигнала, вносимого линией передачи. Блок адаптивной фильтрации предназначен для уменьшения уровня помех, возникающих в тракте передачи сигналов. Блок восстановления данных и синхронизации осуществляет выделение переданной информации и тактового сигнала из принятой смеси сигнала и шума. Процесс восстановления информационных данных и тактового сигнала основан на использовании системы фазовой автоподстройки частоты (ФАПЧ). Преобразователь последовательного кода в параллельный переводит принятые последовательности бит данных в параллельную форму представления с заданным количеством двоичных разрядов.
Подуровень кодирования данных PCS приемного канала последовательных сверхскоростных приемопередатчиков RocketIO GTX включает в себя следующие блоки:
• блок управления полярностью,
• схему обнаружения разделителей символов данных,
• блок контроля псевдослучайных последовательностей (PRBS),
• блоки декодирования 8b/10b, 64b/66b и 64B/67B,
• буфер FIFO,
• блок реализации протокола интерфейса PIPE,
• блок управления и внутренний интерфейс программируемой логики.
Блок управления полярностью предназначен для выбора требуемой формы представления параллельного кода принимаемых данных — прямой или инверсной. Блоки декодирования 8b/10b, 64b/66b и 64B/67B в совокупности с блоком контроля псевдослучайных последовательностей необходимы для реализации наиболее распространенных протоколов передачи данных, используемых в высокоскоростных сетях. Буфер FIFO применяется для согласования работы различных блоков подуровня кодирования данных PCS, тактируемых разными сигналами синхронизации. С помощью внутреннего интерфейса программируемой логики приемного канала осуществляется сопряжение блоков декодирования приемопередатчиков RocketIO GTX с основными конфигурируемыми ресурсами кристалла расширяемой процессорной платформы семейства Zynq-7000 AP SoC. Значение разрядности параллельных портов этого интерфейса можно выбирать при конфигурировании приемопередатчиков из той же совокупности вариантов, что и для внутреннего интерфейса программируемой логики передающего канала. Более подробная информация об архитектуре и применении последовательных высокоскоростных приемопередатчиков RocketIO GTX содержится в [7].
Заключительные рекомендации
В статье приведены основные характеристики и рассмотрена архитектура программируемых систем на кристалле семейства Zynq-7000 AP SoC, которые компания Xilinx производит сейчас серийно, а также запланировала к выпуску в ближайшем году. Поэтому при выборе конкретного типа кристалла для реализации проектируемой встраиваемой микропроцессорной системы рекомендуется уточнить информацию о сроках его доступности, которую можно найти на сайте www.xilinx.com. ■
Литература
1. Зотов В. Особенности архитектуры нового поколения ПЛИС с архитектурой FPGA фирмы Xilinx // Компоненты и технологии. 2010. № 12.
2. 7 Series FPGAs SelectIO Resources User Guide. Xilinx, 2012.
3. 7 Series FPGAs Clocking Resources User Guide. Xilinx, 2013.
4. 7 Series FPGAs Memory Resources User Guide. Xilinx, 2013.
5. 7 Series FPGAs Configurable Logic Block User Guide. Xilinx, 2012.
6. 7 Series FPGAs GTP Transceivers User Guide. Xilinx, 2013.
7. 7 Series FPGAs GTX/GTH Transceivers User Guide. Xilinx, 2013.
8. 7 Series FPGAs Integrated Block for PCIe User Guide. Xilinx, 2012.
9. 7 Series DSP48E1 Slice User Guide. Xilinx, 2013.
10. 7 Series FPGAs and Zynq-7000 All Programmable SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide. Xilinx, 2012.
11. Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия - Телеком, 2003.
12. Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия - Телеком, 2006.
13. Zynq-7000 All Programmable SoC Overview. Advance Product Specification. Xilinx, 2013.
14. Zynq-7000 All Programmable SoC (XC7Z010, XC7Z015, and XC7Z020): DC and AC Switching Characteristics. Xilinx, 2013.
15. Zynq-7000 All Programmable SoC (XC7Z030, XC7Z045, and XC7Z100): DC and AC Switching Characteristics. Xilinx, 2013.
16. Zynq-7000 All Programmable SoC Technical Reference Manual. Xilinx, 2013.
17. Zynq-7000 All Programmable SoC: Concepts, Tools, and Techniques (CTT) A Hands-On Guide to Effective Embedded System Design. Xilinx, 2013.
18. Zynq-7000 All Programmable SoC Software Developers Guide. Xilinx, 2013.
19. Zynq-7000 All Programmable SoC PCB Design and Pin Planning Guide. Xilinx, 2013.
20. Зотов В. Аппаратные средства разработки и отладки встраиваемых микропроцессорных систем, проектируемых на основе расширяемых вычислительных платформ фирмы Xilinx семейства Zynq-7000 AP SoC // Компоненты и технологии. 2013. № 1.
21. Зотов В. ZedBoard — эффективный инструмент разработки и отладки встраиваемых микропроцессорных систем, проектируемых на основе расширяемых вычислительных платформ фирмы Xilinx семейства Zynq-7000 AP SoC // Компоненты и технологии. 2013. № 6.
22. Зотов В. MicroZed—семейство унифицированных модулей, предназначенных для отладки и реализации встраиваемых микропроцессорных систем, проектируемых на основе расширяемых вычислительных платформ фирмы Xilinx серии Zynq-7000 AP SoC // Компоненты и технологии. 2013. № 11.
новости
блоки питания
Новые AC/DC-источники питания серии RSP-500
Компания Mean Well продолжает развитие линейки источников питания (ИП) серии RSP. В дополнение к существующим сериям мощностью 75/100/150/200/320/750 Вт производитель представляет новую серию преобразователей мощностью 500 Вт — RSP-500. Данная серия ИП является современным аналогом ранее существу-
ющей серии SP-480. В сравнении с SP-480 модели RSP-500 обладают меньшими размерами (высота ИП уменьшена до 40,5 мм), более высоким коэффициентом полезного действия и широким диапазоном рабочих температур (-30...+70 °С). Данная серия источников питания может быть особенно интересна пользователям, имеющим высокие требования к энергоэффективности и ограничения по свободному пространству для размещения ИП.
RSP-500 могут работать при температурах до +50 °С при полной нагрузке с применением встроенного вентилятора. Диапазон входных напряжений 85-264 В, выходные напряжения — 3,3-48 В. Технические характеристики:
• низкопрофильная конструкция под конструктив высотой 1и;
• встроенный активный корректор мощности;
• защита от короткого замыкания, перегрузки, перенапряжения, перегрева;
• КПД до 90,5%;
• искусственное охлаждение встроенным вентилятором с функцией контроля скорости;
• диапазон рабочих температур -30...+70 °С;
• функция обратной связи по напряжению на нагрузке;
• функция дистанционного отключения;
• светодиодный индикатор;
• сертификаты и1_/Си1_/^/СВ/СЕ;
• размеры (ДхШхВ) 230x127x40,5 мм. Основные области применения ИП серии
RSP-500 — промышленные системы управления,
электротехническая промышленность, машиностроение, светодиодные дисплеи и т. д.
www.aviton.spb.ru