Новые возможности САПР Xilinx версии 12.3
Введение
Активная на момент подготовки статьи
версия САПР 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 представлен такой порядок
загрузки.
Другим примером эффективного использования частичной реконфигурации
является динамическая смена функций, исполняемых отдельными частями ПЛИС.
На рис. 2 показан пример схемы многопортового коммутатора, каждый из портов
которого может работать в одном из трех
режимов. При этом использование ПЛИС
оказывается нерациональным, поскольку
в конкретный момент времени каждый порт
работает только в одном из режимов, и приблизительно 2/3 микросхемы не задействовано. Альтернативный вариант реализации
такого устройства показан на рис. 3, где объем ПЛИС существенно меньше, что позволяет в каждый момент времени поддерживать
только один режим на каждом из портов.
При этом частичные конфигурации хранятся на внешнем носителе и перезагружаются
по мере необходимости без прерывания работы других портов. Подробная информация об использовании частичной реконфигурации представлена в документе [2].
Протокол 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 подразумевает
наличие отдельной фазы адреса, во время которой передаются и сигналы управления.
Интерфейсы 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.
Литература
- Xilinx AXI Reference Guide — http://www.xilinx.com/support/documentation/ip_documentation/ug761_axi_reference_guide.pdf
- Partial Reconfiguration User Guide — http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_1/ug702.pdf