Системы на кристалле на базе FPGA Xilinx

Новые возможности построения кристаллических систем

на базе FPGA Xilinx

Объем новостей о ПЛИС Xilinx за прошедший год несколько меньше, чем в прошлом году. С появлением платформ семейства Virtex-5 открывается перспектива для создания разновидностей ПЛИС, подсемейств, добавления аппаратных узлов. В сфере дешевых ПЛИС семейства Spartan-3 кардинальных изменений не наблюдалось, однако появившиеся продукты, с незначительными на первый взгляд изменениями, в действительности представляют существенный интерес для практической разработки цифровых систем.

Илья ТАРАСОВ, к. т. н.

tile@kc.ru

Новые FPGA

В течение 2007 года появились платформа Virtex-5 SXT, ориентированная на цифровую обработку сигналов (возможности которой уже были рассмотрены в КиТ № 5/2007), и семейство Spartan-3AN — разновидность Spartan-3A — с встроенной в корпус микросхемы конфигурационной памятью, делающей возможными одночиповые решения на базе архитектуры FPGA, что ранее было доступно только для устройств с энергонезависимой памятью фирмы Actel.

Дополнительно в начале декабря выпущена ПЛИС Virtex-5LX155, которая стала промежуточным звеном в ряду LX110 — LX220. Характеристики нового устройства (и двух смежных) приведены в таблице 1.

Новая ПЛИС имеет аналог с последовательными приемопередатчиками — XC5VLX155T. Факт добавления новой микросхемы к семейству Virtex-5 демонстрирует преимущества архитектуры ASMBL (Advanced Silicon Modular Blocks): при необходимости получения нового устройства оно было «набрано» из стандартных модулей. Из документации можно увидеть, что устройство LX110 содержит 54 колонки по 160 секций, а новая ПЛИС LX155 — 76 колонок такого же размера, т. е. LX155 можно рассматривать как LX110 с добавленными колонками блоков. Таким образом, новый подход Xilinx к построению высокопроизводительных FPGA позволил выпустить новую микросхему «на ходу», при уже

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

Возможности семейства Spartan-3AN

В последнее время Xilinx не показывает явного стремления форсировать технологическую гонку в области FPGA низкой стоимости, продолжая выпускать разновидности семейства Spartan-3, выполняемого по 90-нм технологическому процессу. В настоящий момент кроме базового Spartan-3 имеются Spartan-3L, Spartan-3E, Spartan-3A, Spartan-3A DSP и новейшая Spartan-3AN. Для удобства перечислим их основные особенности в таблице 2.

Последняя из перечисленных разновидностей весьма интересна в плане технологии производства электронной аппаратуры. Практически впервые в истории развития архитектуры FPGA конфигурационная флэш-память выполнена внутри корпуса ПЛИС. Она аналогична микросхемам AT45DB и размещена в ПЛИС по принципу микросборки (т. е. с выполнением на отдельной кремниевой подложке). Таким образом, речь идет не о кардинально ином принципе построения логической ячейки, а о технологическом объединении в одном корпусе двух кремниевых кристаллов — FPGA и соответствующей ей по объему конфигурационной флэш-ПЗУ. Как минимум, такое решение упрощает печатную

плату, экономит ее площадь и уменьшает стоимость (цена 8ра1!ап-3АЫ оказывается ниже, чем цена «комплекта» из врайап-ЗА и флэш-ПЗУ семейства ХСБ). Дополнительно из номенклатуры приобретаемых компонентов исключается микросхема флэш-памяти.

Рассматривая варианты исполнения кристаллических систем на базе ПЛИС без флэш-памяти, можно оценить общий объем блочной памяти как 32-64 кб (для БРОА 8раг1ап-3 малого и среднего объема). Этот объем необходимо пропорционально поделить между памятью команд и данных, и становится очевидным, что большинство микроконтроллеров, присутствующих на рынке, способны обеспечить сопоставимый, а в большинстве случаев превосходящий, суммарный объем памяти. Действительно, можно найти МК с 64-256 кб накристальной флэш-памяти программ и 4-16 кб памяти данных. Тот факт, что в БРОА в качестве памяти программ используется блочная статическая память, малосущественен. Она инициализируется из конфигурационного потока, так что после загрузки БРОА сразу получает процессор с программой, однако возможности блочной памяти используются несколько ограниченно — по сути как разновидности ПЗУ.

С появлением в корпусе БРОА загрузочной флэш-памяти ситуация кардинально

Таблица 2. Основные особенности семейства Spartan-3

Семейство Отличительная характеристика

Spartan-3 Базовое семейство

Spartan-3L Режимы пониженного энергопотребления

Spartan-3E Увеличенное соотношение объема логики к числу выводов корпуса

Spartan-3A Увеличенное соотношение числа выводов корпуса к объему логики

Spartan-3A DSP Встроенные блоки DSP48A (аппаратное умножение с накоплением), аналогичные используемым в Virtex-4/5

Spartan-3AN Конфигурационная флэш-память в корпусе FPGA

Таблица 1. Характеристики ПЛИС Virtex-5LX155

Название Кол-во ячеек Распределенная память, кбит Секции DSP48E Блоки памяти (х36 кбит) Блочная память всего, кбит Макс. кол-во программируемых выводов

XC5VLX110 69 120 1120 64 128 4608 800

XC5VLX155 97 280 1640 128 192 6912 800

XC5VLX220 138240 2280 128 192 6912 800

меняется. Ее объем, как уже было сказано, определяется возможностью хранить два несжатых конфигурационных потока (чтобы FPGA можно было загружать в режиме Multiboot, выбирая один из двух). Даже в этом случае пользователю остается некоторый объем для хранения данных. А если рассмотреть, к примеру, старшее устройство XC3S1400AN, то для него требуется около 5 Мбит для хранения конфигурации и, соответственно, минимум 10 Мбит для хранения двух копий. При выборе объема флэш-ПЗУ минимально подходящим является устройство объемом 16 Мбит — следовательно, 6 Мбит остаются свободными. Отказавшись от режима Multiboot (далеко не всегда он жизненно необходим), можно поднять эту планку до 11 Мбит, что составляет уже почти полтора мегабайта! В итоге рассматриваемое устройство предоставляет разработчику ~1,4 Мбайт флэш-памяти для хранения программы и 72 кбайт статической блочной памяти для хранения данных. Это объемы, позволяющие подойти к проектированию системы на принципиально ином уровне. Для самого младшего устройства в семействе объем памяти, разумеется, существенно меньше и составляет около 75 кбайт свободной флэш-памяти и чуть меньше 8 кбайт статического ОЗУ.

Конечно, всегда можно рассмотреть вопрос об установке на плату дополнительной внешней памяти, кардинально решающей проблему хранения программы и данных. При этом следует обратиться к некоторым свойствам кристаллической системы на базе FPGA:

• Память в FPGA не требует тщательной трассировки печатной платы, поскольку соединения выполняются средствами САПР. Это существеннейшим образом повышает надежность системы, так как целостность сигналов перестает зависеть от конструктора печатной платы или качества монтажа. В то же время для достижения тех высоких характеристик производительности, которые приводятся в справочных сведениях на микросхемы памяти, необходимо выполнить все условия и ограничения по взаимному размещению компонентов и трассировке печатных проводников.

• Память может быть запрограммирована унифицированным образом штатными средствами САПР через интерфейс JTAG. Для внешней флэш-памяти потребуется специальный программатор, выполняемый в виде отдельного модуля в FPGA, и обеспечение связи для передачи данных.

• Производительность накристальной блочной памяти существенно выше, чем внешней памяти. Повышение достигается как за счет достаточно высокой тактовой частоты (около 300 МГц для всех семейств Spartan-3, 550 — для Virtex-5), так и благодаря наличию на кристалле нескольких независимых блоков, работающих параллельно. Флэш-память представлена в ПЛИС

блоком с интерфейсом SPI и максимальной тактовой частотой 66 МГц.

• Размещение конфигурационной памяти внутри ПЛИС существенно затрудняет клонирование устройства путем перехвата конфигурационного потока. Если для прочих FPGA имеется возможность подключения к печатным проводникам и захват конфигурационной последовательности, то для копирования конфигурации устройства на базе Spartan-3AN требуется вскрыть корпус микросхемы. Однако копия может оказаться совершенно бесполезной, так как каждый экземпляр FPGA Spartan-3AN имеет уникальный 57-битный номер (Device DNA), который может быть использован разработчиком для создания системы защиты от копирования. С учетом того, что восстановление структуры проекта по конфигурационному файлу практически нереально, несанкционированное клонирование устройств с проектами, защищенными на базе Device DNA, становится сложной технической задачей. Аппаратный Device DNA есть не только в Spartan-3AN, но и в схожих семействах Spartan-3A и Spartan-3A DSP.

Новые возможности систем автоматизированного проектирования для ПЛИС Xilinx

В области САПР изменения за текущий год являются скорее эволюционными. Новая версия САПР появляется в начале календарного года, с последующими обновлениями и сервис-паками. В настоящий момент активной является версия ISE 9.2 с обновлением SP4. При установке обновления библиотеки IP-ядер (IP update) в списке ядер появляется Memory Interface Generator (MIG), который раньше представлял собой отдельную утилиту. Однако важность выполняемой им функции достаточно интересна для целого ряда задач. Речь идет об автоматической генерации интерфейсов внешней памяти — DDR, DDR II. В последние версии ISE входит ядро MIG 2.0.

Создание интерфейсов внешней памяти в действительности является довольно ответственной задачей, которая не сводится только к обеспечению правильного порядка формирования сигналов для модулей динамической памяти. Для устройств, работающих

на высокой частоте, необходимо учитывать задержки, вносимые внешними печатными проводниками, температурные дрейфы и технологический разброс параметров ПЛИС и микросхем памяти, скорость нарастания тактового сигнала, джиттер и тому подобные факторы. В конечном итоге промежуток времени, в течение которого данные являются достоверными и могут быть прочитаны, весьма мал (рис. 1). Поэтому стандартное средство создания интерфейсов избавляет разработчика от кропотливой работы по запуску контроллера, в которой основную сложность представляет не операционное описание, а введение проектных ограничений, обеспечение компенсации задержек распространения сигналов и калибровки контроллера. Последний пункт выполняется контроллерами на устройствах Virtex-4/5 автоматически, с использованием встроенных в каждый блок ввода/вывода динамически реконфигурируемых линий задержки. Такие линии позволяют производить тонкую подстройку задержек в разных разрядах шины, что в конечном итоге позволяет FPGA Virtex-5 работать с памятью стандарта DDR2-800.

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

С учетом произошедших изменений к наиболее характерным примерам систем на базе современных FPGA Xilinx можно отнести одночиповые — удобные для встраиваемых применений, интеллектуальных датчиков и других малогабаритных устройств. Дополнительным плюсом является то, что для семейства Spartan-3AN достаточно двух источников питания — для ядра и для периферийных устройств (вспомогательное питание 2,5 В более не требуется).

Напротив, на базе семейства Virtex-5 можно развернуть полнофункциональную систему цифровой обработки, использующую многие современные технологии: скоростные приемопередатчики, внешнюю память DDR

Данные достоверны

___________________(<1/3 ns)\_____________ ___________________ ____________________

V данные V ^ i V V V-

_У\__________533Mbps A ,________________„I A___________________________A_____________________A_

Clock 267 МГц

\ Достоверность / \ /

не гарантирована \ /

Пример: интерфейс 533 Mbps DDR2 SDRAM

Рис. 1. Временные диаграммы при работе с высокоскоростной памятью DDR2

Рис. 2. Окно мастера (один из этапов) создания контроллера внешней памяти

или DDR2, встроенные процессорные ядра, загрузку конфигурации с карт Compact Flash

(и использование этих карт в качестве твердотельного накопителя с интерфейсом ГОЕ —

эти функции обеспечиваются микросхемой System ACE).

В последнее время, с учетом того, что производительные FPGA перестают быть просто «матрицей ячеек», интегрируя на кристалле аппаратные модули для выполнения широко распространенных операций, эффективная разработка проектов на базе ПЛИС возможна только с применением соответствующих методик. Разработчик должен знать, какие модули имеются на кристалле, чтобы параметры производительности ПЛИС в тех или иных задачах не становились абстрактной информацией.

В наступающем году наиболее ожидаемым продуктом Xilinx должны стать микросхемы семейства Virtex-5FXT (Full-featured with Transcievers). Улучшенные приемопередатчики, способные реализовать такие интерфейсы, как Gigabit Ethernet, Serial ATA, в сочетании с аппаратным ядром процессора PowerPC позволят создавать системы обработки данных и телекоммуникации. Кроме того, в пакете продуктов Xilinx пока отсутствуют дешевые FPGA, выполненные с соблюдением 65-нм технологических норм, и можно предполагать, что одним из следующих шагов станет выпуск устройств такого типа.