Новые возможности САПР Xilinx версии 12.3

№ 12’2010
PDF версия
Анонс FPGA серии 7, состоявшийся в 2010 году, вызвал большой интерес среди российских разработчиков цифровых систем. С учетом того, что в настоящее время известны только предварительные сроки начала выпуска серийных изделий этого типа, необходимо определить перспективы деятельности на 2011 год и спланировать порядок перехода на новые семейства. В статье рассматриваются особенности САПР ISE версии 12.3, которая не предоставляет возможности разработки с использованием FPGA серии 7, однако открывает доступ к ряду алгоритмов и инструментов разработки, актуальных как для существующих ПЛИС, так и для семейств, планируемых к выпуску.

Введение

Активная на момент подготовки статьи
версия САПР ISE 12.3 не привносит революционных изменений, связанных с поддержкой новых семейств FPGA серии 7.
Информация об этих семействах, по замечаниям Xilinx, является предварительной,
поэтому на 2011 год следует планировать
мероприятия по освоению унифицированной архитектуры ПЛИС существующих
семейств, которая не претерпит существенных изменений при переходе к серии 7.
Наиболее заметными нововведениями
в САПР 12.3 стали алгоритмы управления
тактовыми сигналами и частичной реконфигурации, а что касается микропроцессорных систем — введение протокола AXI4, являющегося частью архитектуры AMBA для
процессоров ARM.

Новые возможности САПР  ISE 12.3 — управление
тактовыми сигналами
и частичная реконфигурация

В новой версии САПР ISE улучшено
управление сигналами разрешения счета
(clock enable), которые имеются в достаточном количестве в ПЛИС Virtex-6/Spartan-6.
Отключение сигналов clock enable в процессе
работы приводит к снижению потребляемой
мощности, что особенно актуально для микросхем большого объема.

Другое важное нововведение ISE 12.3 —
это улучшение работы с частичной реконфигурацией.

Частичная реконфигурация решает проблему инициализации FPGA большого объема, использующих интерфейс PCI Express.
Спецификация PCIe требует ответа устройства на запрос от контроллера в течение
определенного времени, которое оказывается меньше, чем время загрузки полной
конфигурации в некоторые FPGA. В этом
случае можно загрузить часть проекта, содержащую контроллер PCI Express, что даст
возможность корректно инициализировать
устройство, а затем догрузить необходимые
компоненты в режиме частичной реконфигурации, без потери работоспособности PCI
Express. На рис. 1 представлен такой порядок
загрузки.

Рис. 1. Использование частичной реконфигурации FPGA большого объема
для ускорения инициализации контроллера PCI Express

Другим примером эффективного использования частичной реконфигурации
является динамическая смена функций, исполняемых отдельными частями ПЛИС.
На рис. 2 показан пример схемы многопортового коммутатора, каждый из портов
которого может работать в одном из трех
режимов. При этом использование ПЛИС
оказывается нерациональным, поскольку
в конкретный момент времени каждый порт
работает только в одном из режимов, и приблизительно 2/3 микросхемы не задействовано. Альтернативный вариант реализации
такого устройства показан на рис. 3, где объем ПЛИС существенно меньше, что позволяет в каждый момент времени поддерживать
только один режим на каждом из портов.
При этом частичные конфигурации хранятся на внешнем носителе и перезагружаются
по мере необходимости без прерывания работы других портов. Подробная информация об использовании частичной реконфигурации представлена в документе [2].

Рис. 2. Многопортовый коммутатор, реализующий переключение режимов работы портов
на основе одной конфигурации FPGA

Рис. 3. Многопортовый коммутатор с динамически перезагружаемыми режимами работы отдельных портов

Протокол AXI

Для процессорных систем, предназначенных для реализации в FPGA Virtex-6/Spartan-6,
компания Xilinx адаптировала протокол
Advanced eXtensible Interface (AXI), представляющий собой часть Advanced Microcontroller
Bus Architecture (AMBA), используемой в системах на базе процессоров ARM. Согласно
сделанным ранее анонсам, будущие поколения
FPGA Xilinx будут содержать аппаратные ядра
процессоров ARM Cortex-A. Таким образом,
намечается переход от процессорных шин, совместимых с PowerPC (OPB, PLB), к шинам,
совместимым с ядром ARM. Начиная с версии ISE 12.3, наряду с шиной PLB для IP-ядер,
используемых в процессорных системах,
предлагается протокол AXI4.
AXI4 имеет три разновидности интерфейса:

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

Основные различия заключаются в типах транзакций: AXI4 допускает пакетную
передачу до 256 циклов передачи данных,
AXI4-Lite не предполагает пакетную передачу (что упрощает контроллер), а AXI4-Stream
не предполагает передачу адреса, поэтому
длина пакета данных не ограничена (однако
в этом случае потоковый вариант AXI4 не может располагаться в адресном пространстве
памяти).

На рис. 4 показан порядок обмена данными
по протоколу AXI4 в режимах чтения и записи. Можно видеть, что AXI4 подразумевает
наличие отдельной фазы адреса, во время которой передаются и сигналы управления.

Рис. 4. Обмен данными по протоколу AXI4 в режимах чтения и записи

Интерфейсы AXI4 предлагаются для замены существующих интерфейсов процессорных систем, как показано в таблице.

Таблица. Предполагаемая замена интерфейсов
процессорных систем на интерфейсы AXI4

Новый
интерфейс
Основные особенности Заменяемые
интерфейсы
AXI4 Традиционный интерфейс устройств,
отображаемых на адресное
пространство памяти.
Поддержка пакетной передачи
PLBv3.4/v4.6
OPB
NPI
XCL
AXI4-Lite Традиционный интерфейс устройств,
отображаемых на адресное
пространство памяти.
Нет поддержки пакетной передачи
PLBv4.6
(без пакетной
передачи)
DCR
DRP
AXI4-Stream Только пакетная передача данных Local-Link
DSP
FSL

Протокол AXI предлагает заметные улучшения по сравнению с ранее использовавшимися интерфейсами PLB. Например, для
многопроцессорных систем, интенсивно
использующих периферийные устройства,
наблюдается снижение производительности
обмена данными из-за совместного использования шины. Интерфейс PLB предусматривает арбитраж с фиксированным приоритетом, таким образом, увеличение числа процессоров на шине увеличивает и вероятность
их простоев. Для протокола AXI4 предлагаются варианты шинных коммутаторов, позволяющие разграничить доступ к периферийным устройствам, используя различные
слои шины AXI4. Подробная информация
о возможностях и порядке использования
протокола AXI4 представлена в [1].

Заключение

Несмотря на то, что в течение ближайшего времени FPGA серии 7 не будут доступны
для заказа, уже сейчас Xilinx начинает работу по подготовке инструментов разработки
и инфраструктуры. Унификация архитектуры FPGA будущих семейств и ее схожесть
с архитектурой доступных в настоящее время Virtex-6 и Spartan-6 позволяет разработчикам уже сейчас приложить усилия для создания IP-ядер, основанных на HDL-описаниях,
при наличии которых можно будет впоследствии максимально просто произвести
перенос проектов на ПЛИС новых семейств.
Точно так же, с учетом последующей миграции, можно проводить разработку систем
на базе процессорного ядра MicroBlaze, применяя интерфейсы AXI4.

Литература

  1. Xilinx AXI Reference Guide — http://www.xilinx.com/support/documentation/ip_documentation/ug761_axi_reference_guide.pdf
  2. Partial Reconfiguration User Guide — http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_1/ug702.pdf

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

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