ПЛИС Xilinx: итоги 2006 года и тенденции развития

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

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

Аппаратная платформа ПЛИС Xilinx

CPLD

Устройства с архитектурой Complex Programmable Logic Devices (CPLD) по сравнению с «визитной карточкой» ПЛИС — FPGA — обладают худшими характеристиками в абсолютном выражении. Максимальный объем CPLD Xilinx составляет лишь 512 макроячеек (то есть 512 триггеров), что на фоне сотен тысяч триггеров в FPGA выглядит весьма скромно. Однако у CPLD есть существенное преимущество: возможность построения на их основе одночиповых решений, так как эти устройства не требуют внешней микросхемы для загрузки конфигурации, а являются энергонезависимыми. Поэтому CPLD широко применяются для замены рассыпной логики, а также в качестве системных и периферийных контроллеров несложных микропроцессорных устройств. До сих пор представляет интерес семейство XC9500, которое использует одно питание 5 В, а младшие устройства (объемом вплоть до 108 макроячеек) выпускаются и в корпусах PLCC с шагом 1,27 мм, что делает их пригодными даже в радиолюбительской практике. В настоящее время наиболее современным семейством FPGA Xilinx считается CoolRunner-II, который имеет уже достаточно длительную историю. Активное развитие архитектуры FPGA отводит устройствам CPLD вспомогательную роль. Тем не менее данные микросхемы поддерживаются всеми версиями САПР Xilinx. Более того, алгоритмы трансляции подвергаются периодическому пересмотру и улучшению.

FPGA

Микросхемы FPGA (Field Programmable Gate Array) обладают существенно большими логическими объемами — вплоть до сотен тысяч логических ячеек, что соответствует десяткам миллионов эквивалентных логических вентилей. Традиционной нишей их применения являлось прототипирование цифровых устройств и изготовление мелких партий изделий, где высокая стоимость электронных компонентов не была слишком важным фактором. Действительно, при прочих равных условиях решение на базе ПЛИС в несколько раз дороже, поэтому при первой же возможности производители стараются переходить к заказным микросхемам. Однако в последние несколько лет четко прослеживается ориентация на выпуск ПЛИС низкой стоимости, сохраняющих основные функциональные возможности и неограниченную реконфигурируемость. Для Xilinx такой дешевой серией является Spartan, а наиболее производительные архитектурные решения фокусируются в серии Virtex.

Сегодня каждое новое семейство FPGA обладает значительно лучшими характеристиками как в плане архитектуры, так и в плане логического объема, производительности, цены и их соотношения. Наименования семейств ПЛИС основных серий приведены в таблице 1.

Таблица 1. Серии ПЛИС Xilinx по состоянию на конец 2006 года
Выделены зеленым цветом — недавно появившиеся семейства.
Выделены красным цветом — семейства, объявленные к производству в 2007 году.

Как следует из таблицы, основные семейства — это Virtex-4 и Spartan-3 во всех их разновидностях. С 2007 года можно ожидать начала поставок следующего поколения высокопроизводительных ПЛИС Virtex-5 (см. КиТ № 9 ‘2006), выполненных уже по 65-нм техпроцессу и предлагающих целый ряд интересных архитектурных нововведений. Данное семейство, так же как и его предшественник Virtex-4, использует технологию Advanced Silicon Modular Blocks (ASMBL), которая представляет собой удобный способ набора топологии кристалла из «колонок» ресурсов. Среди таких колонок есть чисто логические, колонки с модулями DSP, процессорами, ресурсами формирования тактового сигнала, блоками Ethernet и т. д. Комбинируя нужное число колонок каждого типа, Xilinx может быстро разрабатывать ПЛИС с требуемым соотношением ресурсов. Такой подход распространен и на Virtex-5, в составе которого планируется уже четыре подсемейства: LX (Logic), LXT (Logic+Transcievers), SXT (Signal processing+Transcievers), FXT (Full-featured+Transcievers). Как можно видеть, скоростные приемопередатчики (Transcievers) кроме полнофункционального подсемейства с аппаратными ядрами PowerPC были добавлены и в подсемейство, ориентированное на цифровую обработку сигналов, и в «логическое» подсемейство LXT. Это произошло потому, что для весьма больших логических объемов ПЛИС требовалась передача соответствующих объемов данных в/из ПЛИС. В частности, для Virtex-4SX55, содержащего 512 блоков умножения, каждый из которых способен формировать 36-битные результаты с частотой 500 МГц, общий объем данных, формируемых этими блоками, формально превышает 1 Тбайт в секунду! В этом случае мы не рассматриваем вопросы функционирования алгоритмов обработки и целесообразности использования подобного объема данных, но факт остается фактом — получаемые огромные объемы данных необходимо эффективно передать из ПЛИС. Для решения проблемы и были введены высокоскоростные приемопередатчики, способные реализовать целый ряд скоростных интерфейсов: Ethernet (Virtex-4), SATA и SATA-II, PCI-E в Virtex-5. Таким образом, для всех высокопроизводительных ПЛИС семейства Virtex-5 существует возможность простой организации скоростного интерфейса для удобного обмена с массивом логических ячеек. Подсемейство LX (без приемопередатчиков) предназначается для прототипирования, когда ПЛИС большого объема выступает просто как массив программируемых логических ячеек.

Примечательно, что семейство Virtex-5 внесло изменения и в архитектуру логических ячеек, которые у ведущих производителей ПЛИС долгое время представляли собой комбинацию 4-входовых логических генераторов и триггеров. Увеличение числа независимых входов (обеспеченных соответствующим объемом памяти для хранения таблицы истинности, а не эмулируемых с помощью мультиплексоров) свидетельствует о том, что в ближайшее время в области архитектуры логических ячеек можно ожидать множество интересных решений поискового характера. С одной стороны, увеличение количества входов делает схемы более компактными, а это, в свою очередь, влечет за собой повышение тактовой частоты. С другой стороны, объем памяти для таблицы истинности растет в два раза с добавлением каждого входа. В данном случае разработчики Xilinx нашли компромисс в виде 6-входовой таблицы истинности. По всей видимости, это не окончательное решение.

Позитивные сдвиги произошли и в составе выделенных ресурсов. Вместо блоков памяти по 18 кбит появились блоки удвоенного размера (36 кбит). Модули цифровой обработки сигналов также улучшились: 25×18 вместо 18×18. Переход к обработке операндов большей разрядности позволяет говорить о движении в сторону высокопроизводительных вычислений над данными с большим динамическим диапазоном. Можно отметить, что 25 бит достаточно для представления мантиссы числа с плавающей точкой в формате short float (материалы, посвященные организации на кристалле ПЛИС сопроцессоров с плавающей точкой, в последнее время регулярно публикуются в Xcell journal).

Достаточно оперативно появляется поддержка внешней памяти практически всех распространенных типов. В частности, доступны интерфейсы к DDR-II-667, а суммарная пропускная способность ПЛИС при организации максимального числа интерфейсов достигла 389 Гбит/с! Рост по отношению к Virtex-4 составил 4,4 раза (по оценкам Xilinx). В то же время появление и своевременное обновление бесплатной утилиты Memory Interface Generator (MIG) освобождает разработчиков от необходимости самостоятельно разрабатывать или приобретать модули интерфейсов памяти. Таким образом, на базе высокопроизводительных ПЛИС можно достаточно оперативно и с минимальными дополнительными затратами создать систему, сочетающую массивно-параллельную обработку на кристалле, интерфейсы к внешней памяти большого объема и популярные интерфейсы, такие как Ethernet и PCI-E.

Наконец, завершающий штрих в описании высокопроизводительных FPGA — наличие в них аппаратного ядра процессора PowerPC. На сегодняшний день это наиболее мощное процессорное ядро, размещаемое на программируемом кристалле, к тому же хорошо поддержанное системным и прикладным программным обеспечением. В сочетании с аппаратными модулями Ethernet это позволяет быстро реализовать на одном кристалле микропроцессорную систему, работающую в локальной сети. Пример такого проекта можно увидеть среди Application notes, предоставляемых Xilinx. В частности, имеется пример web-сервера на кристалле, поддерживающего протокол TCP/IP (в урезанном варианте). Интересно, что при этом занято всего 16 (!) логических ячеек (для организации очереди), в остальном же проект состоит из аппаратных ядер: процессора, Ethernet и блочной памяти, хранящей программу.

Недавно появилась информация, что Xilinx поставил уже 26 млн ПЛИС, выполненных по техпроцессу 90 нм. Основную часть поставок составили дешевые устройства семейств Spartan-3 и 3E. В чем же привлекательность этих ПЛИС и причины их широкого распространения? Нелишним было бы также узнать, в каких именно отраслях данные микросхемы используются наиболее широко.

Для начала обратимся к процессу выбора между заказными кристаллами и ПЛИС. В технической литературе неоднократно упоминалось, что с переходом к новому техпроцессу (с меньшими проектными нормами) стоимость технологической подготовки производства растет в геометрической прогрессии. Таким образом, если раньше речь шла об организации производства заказной микросхемы при объеме партии в несколько десятков тысяч штук (в 2005 году называлась цифра 50 тыс.), то сейчас эта планка поднялась до 300 тыс. Лишь при таком объеме выпуска стоимость подготовки производства, равномерно распределенная по всей партии заказных микросхем, сделает итоговую цену меньше, чем цена аналогичной по функциональности ПЛИС. Необходимо заметить, что все возрастающая динамика рынка микроэлектроники оставляет не так уж много областей, в которых могут существовать миллионные тиражи изделий, основанных на одной и той же заказной микросхеме. Например, очень бурно развивается направление ЖК-мониторов, причем со сменой поколения панелей весьма вероятна смена требований к микросхеме, управляющей этой панелью. А потому разработка заказной микросхемы для управления ЖК-панелями содержит определенный риск получить кристалл, который морально устареет через несколько месяцев. На рис. 1 приведены некоторые области применения ПЛИС семейства Spartan-3, для них характерна высокая динамика и объемы поставок, исчисляемые десятками и сотнями тысяч штук (имеется в виду не общий объем рынка, а количество однотипных кристаллов, поставленных для решения конкретной задачи).

Рис. 1. Области применения ПЛИС Spartan-3

Согласно материалам Xilinx в этих областях проявляются следующие основные требования к управляющим устройствам, а ПЛИС обеспечивают определенный набор функциональных возможностей (табл. 2).

Таблица 2. Требования к цифровым устройствам и соответствующие задаче особенности ПЛИС Spartan-3

Можно добавить, что в настоящее время стоимость ПЛИС семейства Spartan-3 упала до весьма низкой отметки. Розничные цены на младшие устройства находятся в пределах 10 у. е., тогда как при поставках от 100 тыс. штук цена на Spartan-3E-100 составляет всего 2 у. е. Это вплотную приближает данные ПЛИС к ценовому диапазону микроконтроллеров среднего уровня. Кроме того, целый ряд технических нововведений еще больше облегчает построение недорогих систем с минимальным количеством компонентов на базе ПЛИС:

  • В семействе Spartan-3 наблюдается дифференциация на подсемейства (несколько иным образом, чем в Virtex). В настоящее время существуют три основных разновидности ПЛИС данного типа: Spartan-3, Spartan-3E и Spartan-3A, объявленное в декабре 2006 года. Все эти линейки продуктов выполнены по одинаковому 90-нм техпроцессу и обладают практически идентичным набором ресурсов. Однако соотношение компонентов, размещенных на кристалле, для этих продуктов различно: Spartan-3 считается подсемейством «IO oriented», то есть ориентированным на ввод-вывод, а Spartan-3E — «gate oriented» (ориентированным на интенсивное использование логических ячеек). В Spartan-3A наблюдается несколько меньшее количество блочной памяти на тот же объем логических ресурсов. Иными словами, для одного и того же корпуса максимальный объем ресурсов можно найти в ПЛИС семейства Spartan-3E. Отдельно рассматриваются ПЛИС Spartan-3L, представляющие собой разновидность Spartan-3 с возможностью ухода в спящий режим (потребление энергии падает на 98%). ПЛИС этого семейства имеют объем в 1–2 млн логических вентилей, соответственно, области их применения несколько специфичны.
  • С появлением ПЛИС Spartan-3E сделаны шаги в сторону снижения «скрытой стоимости» проекта. В частности, кроме конфигурационных флэш-ПЗУ производства Xilinx можно использовать стандартные микросхемы флэш-памяти с SPI-интерфейсом или самые обычные NOR-флэш с параллельным 8- или 16-битным интерфейсом. ПЛИС содержит генератор, выполняющий перебор адресов внешней флэш-ПЗУ и загрузку конфигурации. Затем линии адреса и данных превращаются в обычные программируемые выводы, и оставшаяся часть ПЗУ доступна проекту пользователя. С учетом того, что NOR или SPI-флэш так или иначе требуются в различных проектах, становится возможным исключить специализированную микросхему флэш-ПЗУ производства Xilinx. Дополнительно конфигурационная последовательность может находиться как в младших, так и в старших адресах ПЗУ. И в одной микросхеме, следовательно, может одновременно находиться два варианта конфигурации (режим MultiBoot).
  • В ПЛИС Spartan-3A появилась возможность отказаться от использования вспомогательного источника питания 2,5 В. Напомним, что ПЛИС требуют в общем случае трех источников питания: для ядра (1,2 В для Spartan-3), интерфейсов ввода-вывода (максимум 3,3 В, которые и используются как самый распространенный стандарт), а также вспомогательный источник в 2,5 В. Теперь для Spartan-3A можно применять вспомогательное напряжение в 2,5 или 3,3 В, что, в сущности, означает возможность отказа от третьего стабилизатора питания в малогабаритных системах.
  • С точки зрения системной архитектуры ПЛИС Spartan-3 обладают свойствами значительно более дорогих ПЛИС Virtex: блочная память, аппаратные умножители, блоки формирования тактового сигнала. Такой набор ресурсов позволяет при низкой стоимости микросхемы реализовать распределенную вычислительную систему цифровой обработки сигналов, или микропроцессорную систему на кристалле (см. раздел, посвященный САПР EDK).

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

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

Средства загрузки конфигурации

В области средств загрузки ПЛИС также наблюдается снижение стоимости конфигурационных решений. Главное то, что своеобразная монополия на средства загрузки конфигурации сменилась гибкими вариантами, включающими возможность программирования ПЛИС с помощью дешевых и распространенных флэш-ПЗУ. Наиболее современная из стандартных линеек конфигурационных флэш-ПЗУ XCF фирмы Xilinx имеет значительно меньшую цену (примерно в три раза по сравнению с предыдущим решением XC18) и выпускается в удобных корпусах.

Интересным решением является и загрузка конфигурации со стандартных CF-карт. Для этого необходима специализированная микросхема Xilinx SystemACE, которая подключается к разъему флэш-карты с одной стороны и к программируемым ПЛИС — с другой. Большой объем CF-карт позволяет легко загружать ПЛИС большого логического объема, но самое интересное то, что после загрузки «остаток» CF-карты доступен ПЛИС в качестве внешней энергонезависимой памяти. Это предоставляет возможность строить на базе ПЛИС устройства с развитой функциональностью, например микропроцессорные системы (для них CF, по сути, будет выступать в качестве твердотельного диска).

САПР

ISE

САПР ISE (рис. 2) представляет собой интегрированную среду разработки со сквозным маршрутом проектирования ПЛИС — от ввода принципиальной электрической схемы до непосредственного программирования устройства.

Рис. 2. Внешний вид главного окна САПР ISE

Текущей версией этой САПР является версия 8.2, которая, как и все предыдущие, имеет бесплатную разновидность ISE Webpack. В ISE Webpack поддерживаются ПЛИС объемом до 1,5 млн логических вентилей включительно (что соответствует стоимости в сотни у. е.), а также младшие кристаллы во всех подсемействах Virtex-4. Начиная с 8.1 в бесплатных версиях были ликвидированы все функциональные ограничения, такие как редактор топологии соединений на кристалле, генератор IP-ядер (Core Generator). Последнее средство привлекательно не только тем, что позволяет быстро создавать стандартные компоненты широко распространенных интерфейсов и цифровых узлов, но и тем, что оно требуется для другого интересного продукта Xilinx — Embedded Development Kit (EDK).

EDK

Поскольку большие объемы ПЛИС одновременно с предоставлением широких возможностей по реализации цифровых устройств затруднили их быстрое заполнение, актуальным стало развитие средств проектирования сложных систем, в том числе встраиваемых процессоров. Например, аппаратное ядро PowerPC хоть и содержится на некоторых кристаллах, его практически невозможно использовать в рамках САПР ISE ввиду чрезмерной сложности его физических интерфейсов (графическое изображение библиотечного элемента PPC405 включает около сотни различных шин). В то же время построение систем на базе PowerPC, или софт-процессоров (процессоров, собранных на стандартных логических ячейках), становится весьма распространенной задачей, подлежащей автоматизации. Эта автоматизация выполняется САПР Embedded Development Kit, которая является надстройкой над ISE и использует ее для трансляции автоматически подготавливаемые описания процессорных систем (рис. 3).

Рис. 3. Внешний вид главного окна САПР EDK

САПР имеет интуитивно понятный графический интерфейс и позволяет буквально в считанные минуты выполнить ввод функциональной схемы системы на базе PowerPC или MicroBlaze. Последний вариант представляет собой софт-процессор с архитектурой, похожей на PowerPC. Будучи софт-процессором, он может быть реализован в любых FPGA Xilinx, в том числе даже в таких, как Virtex и Spartan-II. Тем не менее и PowerPC, и MicroBlaze могут использовать периферийные ядра, разработанные для широко распространенной интерфейсной шины OPB (On-Chip Peripheral Bus). Точно так же оба процессора поддерживаются компилятором языка С, интегрированного в EDK (применяется gcc). Таким образом, данная САПР тоже предоставляет сквозной маршрут проектирования процессорных систем на базе ПЛИС, включая создание структуры системы, разработку программного обеспечения, отладку, моделирование и профилирование.

Версии, появившиеся в течение 2006 года, получили более развитый графический интерфейс и расширенный набор бесплатных IP-ядер для подключения широко распространенных интерфейсов и устройств. Кроме того, для stand-alone варианта (то есть без использования каких-либо операционных систем) доступны библиотеки поддержки стандартных функций С (libc), арифметики с плавающей точкой, сети и файловой системы FAT12/16/32. В последнем случае можно использовать как файловую систему в памяти, так и твердотельные диски в виде CF-карт, подключаемых с помощью микросхемы SystemACE. Для систем, создаваемых на базе EDK, предназначено множество распространенных операционных систем — Linux и uLinux, VxWorks, Nuclear RTOS и др.

System Generator for DSP

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

PlanAhead

Этот продукт представляет собой профессиональный редактор размещения отдельных цифровых узлов на кристалле ПЛИС. До появления PlanAhead выполнить настройку алгоритмов размещения и трассировки можно было двумя способами: заданием самых общих свойств данных алгоритмов в среде ISE (слишком общий и не всегда прозрачный способ управления) или прямым редактированием размещения отдельных компонентов на кристалле с помощью таких средств, как FloorPlanner и FPGA Editor (очень подробное и детальное управление, при котором детали закрывают общую стратегию трассировки). PlanAhead представляет собой промежуточный вариант, при котором можно разбить проект на иерархические блоки и выполнять размещение на кристалле этих блоков на любом уровне иерархии. При этом программный пакет обеспечивает исчерпывающую информацию по статистике использования ресурсов, соединениям, задержкам и т. д., позволяет проводить сравнительный анализ характеристик при различных вариантах размещения и трассировки, и анализ сценариев «что будет, если…». По оценкам Xilinx, в ряде случаев с помощью PlanAhead удавалось поднять производительность проекта на 30%! Это позволило для того же проекта использовать микросхему на одну или даже две градации скорости ниже, чем без применения PlanAhead, что для кристаллов большого объема означает весьма существенную экономию денег. Подробное описание возможностей PlanAhead будет приведено в последующих публикациях.

Заключение

Итак, на конец 2006 года видится следующая ситуация:

  • Быстрый старт в области ПЛИС обеспечивается наличием полностью бесплатной САПР, дешевых стартовых наборов и простого порядка проектирования, что позволяет в короткие сроки получить практические результаты.
  • Высокопроизводительные FPGA серии Virtex обеспечивают весьма высокую функциональность создаваемых проектов, предоставляя широкий спектр специализированных аппаратных ресурсов (процессоры PowerPC, контроллеры Ethernet и др.).
  • Дешевые FPGA серии Spartan-3 обеспечивают разнообразные варианты соотношений ресурсов на кристалле (три подсемейства Spartan-3/3E/3A), существенно сниженную за последний год стоимость и возможность построения компактных схем с использованием минимального числа компонентов.
  • Уникальные идентификационные номера микросхем в Spartan-3A, «автомобильный» температурный диапазон, возможность загрузки со стандартных NOR-флэш расширяют сферу применения недорогих ПЛИС.
  • Активно разрабатываются стандартные решения для подключения широко распространенных устройств и интерфейсов: память DDR, DDR-II, Ethernet, PCI-E, SATA.
  • Линейка программных продуктов для поддержки проектирования ПЛИС включает бесплатную версию полнофункциональной САПР ПЛИС и специализированные продукты для быстрой разработки микропроцессорных систем (EDK), систем цифровой обработки сигналов (System Generator for DSP), интерфейсов памяти (Memory Interface Generator), профессиональный редактор топологии кристалла PlanAhead.

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

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

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