Структурная схема 32-разрядного сдвигового регистра, конфигурируемого на основе LUT секции SLICEM

Расширение семейства программируемых систем на кристалле Zynq-7000 AP SoC-2

PDF версия
В статье приведены основные характеристики и рассмотрена архитектура программируемых систем на кристалле семейства Zynq‑7000 AP SoC, которые компания Xilinx производит сейчас серийно, а также запланировала к выпуску в ближайшем году.

Начало

Стандартные конфигурируемые ресурсы программируемой логики 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.

Обобщенная структура конфигурируемых логических блоков CLB

Рис. 23. Обобщенная структура конфигурируемых логических блоков CLB

Полная функциональная схема секций SLICEM и SLICEL изображена на рис. 24.

Функциональная схема секций конфигурируемых логических блоков CLB

Рис. 24. Функциональная схема секций конфигурируемых логических блоков CLB:
а) SLICEM;
б) SLICEL

Каждая из этих секций (SLICEM или SLICEL) включает в себя четыре реальные шестивходовые таблицы преобразования Look-Up Table (LUT), которые позволяют реализовать функции соответствующего числа переменных без применения дополнительных логических ресурсов и тем самым повысить быстродействие разрабатываемых устройств и систем. Для реализации функциональных генераторов, содержащих более шести входов, на базе комбинации нескольких таблиц преобразования в структуре секций конфигурируемых логических блоков предусмотрены специальные мультиплексоры, которые позволяют коммутировать выходы этих LUT соответствующим образом. В частности, указанные мультиплексоры предоставляют возможность конфигурирования 13-входовых функциональных генераторов на основе двух таблицы преобразования и 27-входовых — на базе четырех LUT, входящих в состав одной секции.

Для организации быстрого выполнения арифметических операций (сложения и вычитания) в составе секций SLICEM и SLICEL представлена логика ускоренного переноса, структурная схема которой показана на рис. 25.

Структурная схема логики ускоренного переноса, представленной в секциях SLICEL и SLICEM

Рис. 25. Структурная схема логики ускоренного переноса, представленной в секциях SLICEL и SLICEM

С выходами каждой 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 Dual-Port Distributed RAM);
  • четырехпортовые ОЗУ(Quad Port Distributed RAM).

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

Кроме того, любая LUT предоставляет возможность реализации постоянного запоминающего устройства (ПЗУ) с информационной емкостью 64 бита и организацией 64×1 разряд. Подробные сведения о возможных вариантах организации портов элементов ОЗУ и ПЗУ, конфигурируемых на базе LUT, содержатся в [5].

Каждая LUT секций SLICEM может быть сконфигурирована также в виде одного 32-разрядного регистра сдвига или двух 16-разрядных сдвиговых регистров с общими входами управления. При реализации регистров сдвига на базе таблиц преобразования в общем случае триггеры секций SLICEM не используются. Но при необходимости триггеры могут быть установлены на выходах сдвиговых регистров для реализации операций синхронного чтения записанных данных. Структурная схема 32-разрядного сдвигового регистра, конфигурируемого на основе LUT, приведена на рис. 26.

Структурная схема 32-разрядного сдвигового регистра, конфигурируемого на основе LUT секции SLICEM

Рис. 26. Структурная схема 32-разрядного сдвигового регистра, конфигурируемого на основе LUT секции SLICEM

В рассматриваемых регистрах сдвига предусмотрены два выхода — фиксированный и мультиплексируемый. На фиксированном выходе SHIFTOUT(Q31) отображается содержимое последнего разряда сдвигового регистра (Q31). Мультиплексируемый выход Q предоставляет доступ к содержимому требуемого разряда регистра сдвига, номер которого задается с помощью соответствующей комбинации значений сигналов на адресных входах A[4:0].

 

Ресурсы блочной памяти программируемой логики PL кристаллов расширяемых процессорных платформ

Блочная память (Block RAM) в кристаллах расширяемых процессорных платформ семейства Zynq-7000 AP SoC организована в виде массива двухпортовых модулей, информационная емкость каждого из которых составляет 36 кбит. Обобщенная структурная схема модулей блочной памяти представлена на рис. 27. Основу этой структурной схемы образуют массив оперативной памяти и два полностью независимых канала записи и чтения данных.

Обобщенная структурная схема модуля блочной памяти Block RAM

Рис. 27. Обобщенная структурная схема модуля блочной памяти Block RAM

Каждый модуль двухпортовой блочной памяти 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

Рис. 28. Структурная схема каскадного соединения двух смежных модулей Block RAM

Элементы оперативной памяти, реализуемые на основе модулей Block RAM, с 16- и 32-разрядными портами поддерживают использование режима побайтной записи. В этом режиме при выполнении операций записи в ячейку с указанным адресом могут заноситься не все разряды данных, представленных на входной информационной шине ОЗУ, а только требуемые байты. Для организации режима побайтной записи в элементах блочной оперативной памяти вместо одиночного входа разрешения записи применяется входная шина с соответствующей разрядностью. Уровень сигнала на каждом входе этой шины определяет возможность записи конкретного байта информационных данных. Временные диаграммы сигналов, показанные на рис. 29, в наглядной форме поясняют осуществление режима побайтной записи в ОЗУ, конфигурируемых на основе модулей блочной памяти Block RAM.

Временные диаграммы сигналов, демонстрирующие режим побайтной записи в ОЗУ, конфигурируемых на основе модулей блочной памяти Block RAM

Рис. 29. Временные диаграммы сигналов, демонстрирующие режим побайтной записи в ОЗУ, конфигурируемых на основе модулей блочной памяти Block RAM

В каждом модуле двухпортовой блочной памяти предусмотрена специальная схема управления, необходимая для организации запоминающих устройств, функционирующих по принципу «первым вошел – первым вышел». Эта схема позволяет формировать элементы FIFO-памяти с общим и раздельным тактированием портов записи и чтения данных. Тем самым предоставляется возможность реализации как синхронных, так и асинхронных запоминающих устройств FIFO. В синхронных элементах FIFO-памяти используется один общий тактовый сигнал для портов записи и чтения информации. В асинхронных элементах запоминающих устройств, функционирующих по принципу «первым вошел – первым вышел», порты записи и чтения данных тактируются двумя разными сигналами синхронизации с различными значениями частоты. На рис. 30 изображены обобщенные структурные схемы соответственно синхронных и асинхронных запоминающих устройств FIFO, реализуемых на основе модулей двухпортовой блочной памяти Block RAM. Схема управления обеспечивает не только требуемый порядок записи и чтения данных, но и формирование сигналов состояния, которые информируют о степени заполнения и опустошения элемента FIFO-памяти.

Обобщенная структурная схема запоминающих устройств FIFO, реализуемых на основе модулей двухпортовой блочной памяти Block RAM

Рис. 30. Обобщенная структурная схема запоминающих устройств FIFO, реализуемых на основе модулей двухпортовой блочной памяти Block RAM:
а) синхронных;
б) асинхронных

Для увеличения информационной емкости формируемых элементов FIFO-памяти используется каскадное соединение запоминающих устройств, функционирующих по принципу «первым вошел – первым вышел», каждое из которых конфигурируется на базе отдельного модуля Block RAM. При необходимости создания элементов FIFO с более высокой разрядностью входного и выходного портов применяется параллельное соединение нескольких запоминающих устройств с FIFO-организацией.

Все модули блочной памяти кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC оснащены встроенной системой обнаружения и коррекции ошибок (Error Correction Checking, ECC). Эта система предоставляет возможность обнаружения двух ошибочных разрядов информационных данных, а также исправления одного модифицированного бита. Интегрированную схему ECC можно задействовать в элементах оперативной памяти, включающих в себя как выходные регистры с динамическим управлением, так и регистры-защелки. Структура элемента оперативной памяти со встроенной схемой контроля и коррекции ошибок, конфигурируемого на базе модулей Block RAM, приведена на рис. 31.

Структура элемента ОЗУ со встроенной схемой контроля и коррекции ошибок, реализуемого на основе модулей двухпортовой блочной памяти Block RAM

Рис. 31. Структура элемента ОЗУ со встроенной схемой контроля и коррекции ошибок, реализуемого на основе модулей двухпортовой блочной памяти Block RAM

 

Аппаратные секции цифровой обработки сигналов, представленные в составе программируемой логики PL кристаллов расширяемых процессорных платформ

Модифицированные аппаратные секции цифровой обработки сигналов (ЦОС) DSP48E1, представленные в составе программируемой логики PL кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, обладают полной совместимостью с предыдущим вариантом этих специализированных модулей и, в то же время, имеют несколько преимуществ по сравнению с базовой версией — DSP48E. В состав архитектуры модернизированных секций ЦОС включены дополнительный (предварительный) сумматор, который расположен перед умножителем 25×18, и соответствующая входная 25-разрядная шина данных. Кроме того, на входе дополнительного сумматора, как и на входах умножителя, установлены по два буферных регистра с раздельными входами разрешения синхронизации. Подробная структурная схема модернизированной аппаратной секции ЦОС DSP48E1, применяемой в составе архитектуры программируемых систем на кристалле семейства Zynq-7000 AP SoC, показана на рис. 32.

Структурная схема модернизированной аппаратной секции ЦОС DSP48E1, применяемой в программируемых системах на кристалле

Рис. 32. Структурная схема модернизированной аппаратной секции ЦОС DSP48E1, применяемой в программируемых системах на кристалле

Основными элементами представленной структурной схемы являются:

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

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

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

В аппаратных модулях DSP48E1 предусмотрена также поддержка каскадного наращивания разрядности основных функциональных блоков. Секции цифровой обработки сигналов, применяемые в составе архитектуры программируемой логики кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, характеризуются сочетанием высокого быстродействия и низким уровнем потребляемой мощности.

 

Структура и основные характеристики аналого-цифрового модуля XADC, используемого в составе программируемых систем на кристалле

Аналого-цифровой модуль XADC, входящий в состав программируемых систем на кристалле семейства Zynq-7000 AP SoC, предоставляет возможность преобразования в цифровую форму до 17 внешних аналоговых сигналов, а также мониторинга уровня напряжения питания и значений температуры кристаллов. Обобщенная структурная схема модуля XADC, применяемого в кристаллах расширяемых процессорных платформ указанного семейства, изображена на рис. 33.

Обобщенная структурная схема аналого-цифрового модуля XADC, представленного в кристаллах расширяемых процессорных платформ

Рис. 33. Обобщенная структурная схема аналого-цифрового модуля XADC, представленного в кристаллах расширяемых процессорных платформ

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

  • блок аналого-цифрового преобразования сигналов;
  • входной мультиплексор внешних аналоговых сигналов;
  • интегрированный датчик температуры;
  • встроенные датчики питающих напряжений;
  • регистры состояния (Status Registers);
  • регистры управления (Control Registers);
  • порт динамического реконфигурирования (Dynamic Reconfiguration Port, DRP);
  • встроенный источник опорного напряжения.

Блок АЦП, образующий основу аналого-цифрового модуля XADC, позволяет выполнять преобразование двух аналоговых сигналов в цифровую форму с максимальной частотой дискретизации, достигающей 1 Мвыб./с, и 12-разрядным разрешением. В его состав входят два аналого-цифровых преобразователя, каждый из которых обеспечивает выполнение операций оцифровки входного аналогового сигнала с точностью 0,1%. Эти АЦП поддерживают возможность аналого-цифрового преобразования однополярных входных сигналов в диапазоне от 0 до 1 В и двухполярных сигналов в диапазоне от –500 до 500 мВ. Кроме того, предусмотрена возможность оцифровки входных сигналов, представленных в дифференциальном виде. Таким образом, модуль XADC позволяет полностью реализовать законченную систему цифровой обработки низкочастотных сигналов на базе одного кристалла расширяемой процессорной платформы семейства Zynq-7000 AP SoC без использования внешних АЦП. Передаточные характеристики аналого-цифровых преобразователей модуля XADC для одно- и двухполярных входных сигналов представлены на рис. 34.

Передаточная характеристика АЦП аналого-цифрового модуля XADC

Рис. 34. Передаточная характеристика АЦП аналого-цифрового модуля XADC для:
а) однополярных входных сигналов;
б) двухполярных входных сигналов

Входной мультиплексор, входящий в состав аналого-цифрового модуля, осуществляет коммутацию внешних аналоговых сигналов на входы АЦП. Этот мультиплексор обеспечивает поддержку 17 внешних аналоговых каналов.

Интегрированный датчик температуры модуля XADC предоставляет возможность измерения соответствующего параметра кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC в диапазоне от –40 до +125 °C с точностью ±4 °C. На рис. 35а приведена передаточная характеристика блока измерения температуры, включающего в себя датчик и АЦП.

Передаточная характеристика блоков модуля XADC

Рис. 35. Передаточная характеристика блоков модуля XADC:
а) измерения температуры:
б) измерения напряжения питания

Встроенные датчики напряжения модуля XADC позволяют осуществлять мониторинг уровней различных напряжений питания кристаллов расширяемых процессорных платформ, включая напряжения VCCINT, VCCAUX, VCCBRAM, VCCPINT, VCCPAUX и VCCO_DDR. Эти датчики обеспечивают возможность измерения уровней питающих напряжений в диапазоне от 0 до 3 В с точностью ±1%. Передаточная характеристика блока измерения напряжений питания аналого-цифрового модуля, в состав которого входят интегрированные датчики напряжения и АЦП, показана на рис. 35б.

Регистры состояния и управления образуют основу интерфейса передачи результатов измерений и установки требуемых режимов работы модуля XADC. Доступ к этим регистрам осуществляется через порт динамического реконфигурирования DRP. Регистры состояния (Status Registers) предназначены для хранения результатов аналого-цифрового преобразования входных сигналов, а также результатов измерения значений температуры и уровней напряжений питания. Эти регистры доступны только для чтения соответствующих информационных данных.

Регистры управления (Control Registers) используются для выбора необходимого режима работы модуля XADC и выполняемых операций, установки требуемой последовательности подключения аналоговых входов и встроенных датчиков ко входам АЦП, определения предельных значений температуры и питающих напряжений. Эти регистры доступны для чтения и записи команд и данных.

Встроенный источник опорного напряжения формирует уровень напряжения 1,25 В, который необходим для работы аналого-цифровых преобразователей рассматриваемого модуля. При этом для повышения точности результатов оцифровки входных аналоговых сигналов предусмотрена возможность подключения внешнего высокостабильного источника опорного напряжения. Типовые схемы подключения питания аналого-цифрового модуля XADC с применением встроенного и внешнего источника опорного напряжения изображены на рис. 36.

Схема подключения питания аналого-цифрового модуля XADC с использованием

Рис. 36. Схема подключения питания аналого-цифрового модуля XADC с использованием:
а) встроенного источника опорного напряжения;
б) внешнего источника опорного напряжения

Аналого-цифровой модуль программируемых систем на кристалле семейства Zynq-7000 AP SoC поддерживает возможность коммутации входных аналоговых сигналов с помощью внешних мультиплексоров. Для этой цели в модуле XADC предусмотрена дополнительная выходная адресная шина, с ее помощью можно выбрать входной канал внешнего мультиплексора. Такой вариант коммутации входных аналоговых сигналов позволяет существенно сократить количество соответствующих выводов кристаллов расширяемых процессорных платформ. В качестве примера, поясняющего применение внешних мультиплексоров для организации многоканального подключения входных сигналов аналого-цифрового модуля, на рис. 37 представлена структурная схема 16-канального варианта устройства преобразования аналоговых сигналов.

Схема подключения внешнего мультиплексора входных сигналов к аналого-цифровому модулю XADC

Рис. 37. Схема подключения внешнего мультиплексора входных сигналов к аналого-цифровому модулю XADC

Для реализации режима одновременной (параллельной) выборки в аналого-цифровых преобразователях модуля XADC может применяться схема, включающая в себя два внешних мультиплексора входных аналоговых сигналов. Пример организации такого режима показан на рис. 38.

Схема организации режима одновременной выборки в АЦП модуля XADC с помощью двух внешних мультиплексоров входных сигналов

Рис. 38. Схема организации режима одновременной выборки в АЦП модуля XADC с помощью двух внешних мультиплексоров входных сигналов

В схемах, представленных на рис. 37 и 38, дополнительная выходная адресная шина аналого-цифрового модуля используется для автоматического выбора текущего внешнего канала. Процесс формирования сигналов на этой шине поясняют временные диаграммы входных и выходных сигналов модуля XADC, показанные на рис. 39, которые соответствуют режиму непрерывной выборки.

Временные диаграммы сигналов модуля XADC, соответствующие режиму непрерывной выборки

Рис. 39. Временные диаграммы сигналов модуля XADC, соответствующие режиму непрерывной выборки

Для эффективного использования аналого-цифрового модуля в составе встраиваемых систем, разрабатываемых на основе кристаллов расширяемых вычислительных платформ семейства Zynq-7000 AP SoC, предусмотрена возможность непосредственного сопряжения модуля XADC с процессорной системой PS. Таким образом, управление режимами функционирования аналого-цифрового модуля и обработка оцифрованных данных можно осуществлять на программном уровне с помощью соответствующего ПО. Организацию взаимодействия процессорной системы PS и модуля XADC поясняет структурная схема, приведенная на рис. 40.

Схема сопряжения процессорной системы PS и аналого-цифрового модуля XADC

Рис. 40. Схема сопряжения процессорной системы PS и аналого-цифрового модуля XADC

Программные средства процессорной системы могут осуществлять управление работой аналого-цифрового модуля одним из двух способов — посредством интерфейса PS-XADC или через AXI (Advanced eXtensible Interface) с помощью соответствующего IP-ядра, реализуемого на базе ресурсов программируемой логики PL. Структурная схема интерфейса PS-XADC показана на рис. 41. В состав этой схемы входят следующие элементы:

  • блок FIFO-памяти команд;
  • блок FIFO-памяти данных;
  • регистры конфигурации, управления и состояния;
  • параллельно-последовательный преобразователь кода команд;
  • последовательно-параллельный преобразователь кода оцифрованных данных.

Более детальная информация о применении интерфейса PS-XADC приведена в [16].

Структурная схема интерфейса PS-XADC

Рис. 41. Структурная схема интерфейса PS-XADC

 

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

Основу ресурсов формирования тактовых сигналов, входящих в состав программируемой логики (PL) кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, образуют блоки управления синхронизацией CMT и совокупность линий распределения тактовых сигналов различных типов, доступ к которым осуществляется через соответствующие буферные элементы. Структурная схема блоков управления синхронизацией, применяемых в программируемых системах на кристалле этого семейства, изображена на рис. 42.

Структурная схема блоков управления синхронизацией CMT, представленных в составе программируемой логики

Рис. 42. Структурная схема блоков управления синхронизацией CMT, представленных в составе программируемой логики

Основными элементами этой структурной схемы являются модуль фазовой автоподстройки частоты PLL и комбинированный модуль управления синхронизацией MMCM, которые можно эффективно использовать для частотного синтеза и снижения уровня джиттера тактовых сигналов. Функциональная схема модулей фазовой автоподстройки частоты PLL, представленных в составе блоков управления синхронизацией CMT программируемых систем на кристалле семейства Zynq-7000 AP SoC, показана на рис. 43. В состав этой схемы входят следующие элементы:

  • блок выбора входного тактового сигнала,
  • программируемый счетчик/делитель (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),
  • семь выходных счетчиков/делителей (О0–О5 и M).

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

Функциональная схема модулей фазовой автоподстройки частоты PLL, входящих в состав программируемой логики

Рис. 43. Функциональная схема модулей фазовой автоподстройки частоты PLL, входящих в состав программируемой логики

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

Модули MMCM поддерживают широкий диапазон частот входных сигналов, который составляет от 10 до 800 МГц. Функции частотного синтеза и точного фазового сдвига, выполняемые комбинированными модулями управления синхронизацией, позволяют легко сформировать необходимую сетку тактовых сигналов для проектируемых систем различного уровня сложности. Функциональная схема модулей MMCM, входящих в состав блоков управления синхронизацией CMT кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, представлена на рис. 44.

Функциональная схема комбинированных модулей управления синхронизацией MMCM, входящих в состав программируемой логики (PL)

Рис. 44. Функциональная схема комбинированных модулей управления синхронизацией MMCM, входящих в состав программируемой логики (PL)

Основные отличия комбинированных модулей управления синхронизацией MMCM от модулей фазовой автоподстройки частоты PLL:

  • Применение модернизированного генератора, управляемого напряжением (VCO), формирующего кроме восьми сигналов с постоянным значением фазы (0°, 45°, 90°, 135°, 180°, 225°, 270° и 315°) дополнительный выходной сигнал с переменным значением фазы, необходимый для реализации точного фазового сдвига вырабатываемых тактовых сигналов.
  • Поддержка возможности осуществления динамического фазового сдвига генерируемых сигналов синхронизации.
  • Увеличение числа выходных счетчиков/делителей до восьми (О0–О6 и М), что позволяет расширить количество формируемых тактовых сигналов с различными значениями частоты и фазы.
  • Наличие счетчиков/делителей с дробным коэффициентом деления частоты (О0 и М), предоставляющих возможность синтеза существенно большего количества значений частоты формируемых сигналов синхронизации.
  • Присутствие дополнительных выходов инверсных тактовых сигналов (с фазовым сдвигом на 180°) в отдельных счетчиках/делителях (О0–О3), что расширяет число одновременно вырабатываемых тактовых сигналов с различным фазовым сдвигом.
  • Поддержка возможности каскадного соединения выходных счетчиков/делителей О4 и О6, обеспечивающего реализацию значений коэффициентов деления, превышающих 128.

Система распределения тактовых сигналов в программируемой логике кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP 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.

Структура логических ресурсов ввода/вывода кристаллов расширяемых процессорных платформ

Рис. 45. Структура логических ресурсов ввода/вывода кристаллов расширяемых процессорных платформ:
а) HP-банков,
б) HR-банков

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

В составе логических ячеек ввода/вывода HR-банков представлены только модули IDELAYE2, позволяющие осуществлять задержку сигналов, поступающих с выводов кристалла.

Кроме программируемых модулей входной и выходной задержки логические ячейки ввода/вывода кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC включают в себя модули последовательно-параллельного и параллельно-последовательного преобразователей данных. Разрядность выходного и соответственно входного параллельного кода в этих преобразователях можно выбирать в диапазоне от двух до восьми бит. Программируемые входные последовательно-параллельные и выходные параллельно-последовательные преобразователи, входящие в состав ресурсов ввода/вывода кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, обладают оптимизированной архитектурой, которая максимально адаптирована для использования их при реализации высокоскоростных интерфейсов памяти (в том числе DDR3 и QDR) и различных сетевых интерфейсов.

Обобщенная структурная схема входных аппаратных модулей преобразования последовательного кода данных в параллельный ISERDESE2, применяемых в программируемых системах на кристалле рассматриваемого семейства, показана на рис. 46.

Структура входного последовательно-параллельного преобразователя

Рис. 46. Структура входного последовательно-параллельного преобразователя

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

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

Обобщенная структурная схема программируемых выходных модулей преобразования параллельного кода в последовательный OSERDESE2, входящих в состав логических ячеек ввода/вывода кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC, изображена на рис. 47.

Структура выходного параллельно-последовательного преобразователя

Рис. 47. Структура выходного параллельно-последовательного преобразователя

В состав этой схемы входят следующие функциональные элементы:

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

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

 

Последовательные высокоскоростные приемопередатчики кристаллов расширяемых процессорных платформ

Программируемая логика большинства кристаллов расширяемых процессорных платформ семейства Zynq-7000 AP SoC включает в себя последовательные высокоскоростные приемопередатчики RocketIO GTX. Исключением является программируемая система на кристалле XC7Z015, в которой используются последовательные приемопередатчики RocketIO GTP. Поэтому далее рассматриваются особенности последовательных высокоскоростных приемопередатчиков RocketIO GTX.

Архитектура этих модулей соответствует физическому уровню PHY базовой модели взаимодействия открытых систем (Open System Interconnection, OSI) технологии Ethernet. Данный уровень модели OSI включает в себя несколько подуровней, в том числе подуровень сопряжения с физической средой передачи данных (Physical Medium Attachment, PMA) и подуровень кодирования данных (Physical Coding Sublayer, PCS).

Обобщенная структурная схема передающего и приемного каналов последовательных высокоскоростных приемопередатчиков RocketIO GTX приведена на рис. 48. На этой схеме подуровню сопряжения с физической средой трансляции данных PMA передающего канала соответствуют следующие модули: выходной драйвер (драйвер передаваемого сигнала), блок предварительной коррекции и преобразователь параллельного кода в последовательный.

Обобщенная структурная схема последовательных высокоскоростных приемопередатчиков RocketIO GTX

Рис. 48. Обобщенная структурная схема последовательных высокоскоростных приемопередатчиков RocketIO GTX

Выходной драйвер приемопередатчиков 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *