Введение
Программируемые логические интегральные схемы, появившиеся в середине 1980х годов, в настоящее время сформировали области применения с характерными подходами к проектированию и особенностями разрабатываемых устройств. Номенклатура микросхем ПЛИС с наиболее развитой и популярной архитектурой FPGA, выпускаемых компаниями Xilinx и Altera, регулярно обновляется на базе актуального технологического процесса.
Программируемые микросхемы с архитектурой FPGA (Field Programmable Gate Array, программируемые пользователем вентильные матрицы) содержат набор конфигурируемых блоков (логических ячеек), образованных базовыми компонентами цифровой логики – логическими элементами и триггерами. Отдельные ячейки соединяются друг с другом с помощью программируемых трассировочных линий, как показано на рисунке 1.
На рисунке 1 видно, что две ячейки массива запрограммированы для выполнения определённой логической функции. Поскольку для реализации всей схемы одной ячейки оказалось недостаточно, её выход был подключён ко входу другой ячейки, для чего были задействованы трассировочные линии FPGA. Чтобы реализовать такую схему, необходимо задать режимы работы отдельных компонентов внутри ячеек, а также активировать цифровые ключи, соединяющие отдельные сегменты трассировочных линий. Настройки компонентов и информация о включенных и выключенных коммутаторах хранится в специальной памяти внутри FPGA. Эта память выполнена по технологии SRAM, поэтому имеет неограниченное число циклов перезаписи, но теряет информацию при отключении питания. Поэтому микросхему FPGA необходимо запрограммировать при включении – передать через специальный интерфейс содержимое файла конфигурации.
На практике программирование ячеек и формирование трассировочных линий выполняется с помощью САПР. Структура файла конфигурации является строго конфиденциальной информацией, и формирование такого файла может быть выполнено только с помощью программных средств производителя ПЛИС.
Проектирование на микросхемах FPGA имеет некоторые особенности. Вопервых, эти ПЛИС подразумевают неоднородность схемы. Это означает, что сложные схемы с неравномерным использованием компонентов необходимо приводить к базовым логическим ячейкам, причём весьма вероятно, что какието возможности ячеек останутся незадействованными. Вовторых, программируемые трассировочные линии имеют бо льшую задержку распространения сигнала по сравнению с металлическими соединениями интегральных микросхем. Поэтому рабочие частоты ПЛИС меньше, чем частоты стандартных цифровых микросхем.
Таким образом, проекты на базе ПЛИС оказываются дороже и медленнее решений на базе стандартных (Standard Product) или специализированных микросхем (ASIC, ASSP). Тем не менее, в процессе развития цифровой микроэлектроники производство ПЛИС демонстрировало устойчивый рост. Это связано с тем, что стоимость подготовки производства интегральных схем постоянно возрастает и, например, для 32нм технологического процесса может достигать 200 млн долл. США (по данным 2012 г.). Поэтому разработка специализированной микросхемы оказывается экономически целесообразной только для массового производства, а ПЛИС являются подходящей элементной базой для цифровых устройств с уникальной архитектурой, выпускаемых небольшими партиями.
Другими преимуществами ПЛИС являются возможность реализации параллельных вычислительных структур и достижение высокой степени интеграции компонентов на основе небольших блоков, реализующих простые операции. ПЛИС с архитектурой FPGA традиционно используются в задачах цифровой обработки сигналов, поскольку обеспечивают очень высокие показатели производительности (до 5,8 TMAC/с). Другим крупным потребителем FPGA являются коммуникационные устройства, прежде всего, магистральное оборудование проводной связи.
Характеристики ПЛИС
серии 7
Компания Xilinx с 1985 г. выпускает ПЛИС, представляющие основные архитектуры – CPLD (Complex Programmable Logic Device, сложная программируемая логическая схема) и FPGA. С развитием полупроводниковой технологии микросхемы с архитектурой FPGA совершенствовались более активно, так как возможности их масштабирования позволяют создавать кристаллы с миллионами логических ячеек. В настоящее время именно FPGA являются наиболее универсальными и мощными программируемыми микросхемами, позволяющими реализовать широкий спектр цифровых устройств. Микросхемы CPLD в основном используются для замены дискретных цифровых компонентов.
Компания Xilinx, как и большинст
во разработчиков ПЛИС, не имеет собственного производства, а заказывает изготовление микросхем на стороне. Соответственно, по мере освоения новых технологических процессов мировыми производителями, Xilinx выпускает новое поколение ПЛИС.
В конце 1990х годов основной линейкой FPGA компании Xilinx была серия XC4000 (семейства XC4000E, XC4000XL и XC4000XLA). Архитектура XC4000 оказалась довольно удачной, однако в ряде проектов возможности стандартной логической ячейки ПЛИС использовались далеко не полностью. Возникла естественная альтернатива: дорогие устройства с максимальной производительностью и полным набором функциональных возможностей и дешёвые ПЛИС, обеспечивающие базовые функции, достаточные для большинства типовых проектов. В результате в номенклатуре изделий компании Xilinx появились различные серии FPGA, соответствующие этим направлениям. Стандартное недорогое решение предоставляла серия Spartan, на смену которой пришли серии Artix (минимальная стоимость) и Kintex (умеренная стоимость при высокой производительности в задачах ЦОС). Наилучшие технические характеристики обеспечивала серия Virtex. На данный момент компания предлагает семейства ПЛИС серии 7 – Artix7, Kintex7 и Virtex7. На рисунке 2 представлено соответствие поколений микросхем FPGA компании Xilinx технологическим процессам.
Отдельной разновидностью микросхем ПЛИС, анонсированных в 2011 г., являются микросхемы класса All Programmable SoC (полностью программируемые системы на кристалле). Начиная с семейства Zynq7000, они содержат процессорное ядро ARM и матрицу программируемых логических ячеек, аналогичных используемым в семействах Artix или Kintex.
Характеристики современных микросхем FPGA в большой степени определяются дополнительными аппаратными блоками. Довольно часто блоки памяти и аппаратные умножители неэффективны при их реализации с помощью стандартных ячеек, а высокоскоростные приёмопередатчики просто нереализуемы. Поэтому на кристаллах FPGA серии 7 в большом количестве размещены специализированные аппаратные блоки, в их числе:
● блочная память BRAM в виде блоков по 36 Кбит;
● секции ЦОС (DSP48E1) – блоки МАСС, выполняющие умножение 18 и 25битного операнда с накоплением результата в 48битном аккумуляторе;
● высокоскоростные последовательные приёмопередатчики;
● контроллеры шины PCI Express;
● блоки XADC (сдвоенные 12разрядные АЦП).
В таблице 1 приведены сводные характеристики трёх новых семейств [1]. Семейство Zynq 7000 состоит из четырёх микросхем, имеющих процессорную подсистему на основе двухъядерного процессора ARM. Основные характеристики ядра ARM в составе Zynq7000:
● сдвоенное ядро CortexA9 с тактовой частотой 667/773/800/1000 МГц (в зависимости от группы);
● расширения ядра NEON с плавающей точкой одинарной и двойной точности;
● кэшпамять первого уровня включает 32 Кб инструкций и 32 Кб данных на каждое ядро;
● разделяемая кэшпамять второго уровня 512 Кб;
● поддержка внешней памяти DDR2, DDR3 и LPDDR2;
● 8 каналов ПДП;
● по два порта USB 2.0 (OTG) и трёхрежимного (10/100/1000) Etnernet
c ПДП;
● по два порта SD/SDIO с ПДП, UART, CAN 2.0B, I2C и SPI;
● 32битный порт GPIO;
● шифрование AES и SHA (до 256 бит);
● 54 мультиплексируемых линий памяти и вводавывода;
● интерфейсы к программируемым ресурсам: два 32битных AXI Mas
ter, два 32битных AXI Slave, четыре 64/32битных AXI 64/32, 64битный AXI ACP;
● 16 линий прерываний.
Характеристики программируемой логики ПЛИС Zynq 7000 приведены в таблице 2. Микросхемы Zynq7010 и Zynq7020 выполнены на базе программируемых ресурсов семейства Artix, а Zynq7030 и Zynq7045 – на базе Kintex. Это отражается на пиковой производительности подсистемы цифровой обработки сигналов – в младших ПЛИС тактовая частота блока ниже. Кроме того, в Zynq7030 и Zynq7045 отсутствуют блоки PCI Express и высокоскоростные приёмопередатчики.
Несмотря на схожесть языков описания аппаратуры и языков программирования, разработка систем на базе FPGA существенно отличается от проектирования программных продуктов и по сути является сферой деятельности специалистов в области проектирования цифровой электроники. Кроме того, не следует рассматривать микросхемы FPGA как стандартные наборы однотипных базовых компонентов, поскольку характеристики современных FPGA во многом определяются аппаратными ядрами. На рисунке 3 показана структура блока DSP48E1A, размещённого в FPGA серии 7.
В этом блоке имеется не только аппаратный умножитель, но и 48разрядный аккумулятор с функциями АЛУ, набор регистров и мультиплексоров и специальный модуль «предварительный сумматор». Дополнительные компоненты упрощают построение многих узлов цифровой обработки сигналов, таких как КИХ и БИХфильтры, ядра БПФ, модули работы с комплексной арифметикой и т.д. Предварительный сумматор позволяет обрабатывать в одном DSP48E1A два отвода КИХфильтра с симметричными коэффициентами. Таким образом, разработка эффективных систем цифровой обработки сигналов в определённой степени зависит от квалификации инженера, который должен не только представлять аппаратные возможности применяемой элементной базы, но и в полной мере владеть средствами проектирования ПЛИС.
Сферы применения
В настоящее время микросхемы FPGA применяются в ряде областей, в каждой из которых востребован определённый набор их свойств:
● Проводные коммуникации. Традиционным заказчиком FPGA Xilinx является компания Cisco. По данным за 2011 г., примерно 50% продукции
Xilinx (в стоимостном выражении) было приобретено именно Cisco. Ключевой особенностью FPGA серии 7, привлекательной для построения проводных коммуникаций, являются аппаратные высокоскоростные приёмопередатчики (до 96 в Virtex7) с суммарной пропускной способностью до 2,7 Тбайт/с. Это позволяет обеспечить очень высокую плотность компоновки микросхем для магистрального оборудования волоконнооптической связи следующего поколения;
● Беспроводные коммуникации. Большое число блоков DSP48 позволя
ет реализовывать базовые станции «программного» радио (SoftwareDefined Radio). Возможность перепрограммирования FPGA делает возможной смену конфигурации цифровой части системы в процессе эксплуатации, с реализацией новых протоколов передачи без замены аппаратной части. Микросхемы FPGA достаточно дороги для абонентского оборудования беспроводных сетей, однако получают всё большее распространение в качестве аппаратной платформы базовых станций. Например, существует однокристальное решение для базовой станции LTE на основе ПЛИС Virtex6;
● Автомобильная электроника. В автомобильных системах микросхемы FPGA используются в основном в качестве многоканальных устройств мультимедиа, а также в системах класса Driver Assistant, которые не призваны заменить водителя, однако за счёт анализа изображения с внешних видеокамер в реальном времени способны обнаруживать и распознавать дорожные знаки, быст
ро приближающиеся объекты, препятствия и т.п. Для таких задач требуется большая производительность подсистемы цифровой обработки сигналов, которая обеспечивается независимыми блоками DSP48;
● ISM (Industrial/Scientific/Medical) – системы обработки данных и управления в промышленности, науке и медицине, для которых нехарактерна оптимизация электронного оборудования по стоимости. Небольшие партии изделий и изменяющиеся требования в процессе разработки делают предпочтительным применение элементной базы, которая обеспечивает запас ресурсов, продлевающих жизненный цикл изделия. Здесь стоимость прочего оборудования может существенно превышать стоимость ПЛИС, и естественным стремлением разработчика является применение наиболее мощной аппаратной платформы из доступных;
● Потребительская электроника. Несмотря на достаточно высокую степень унификации задач, решаемых в потребительской электронике, и большие тиражи изделий (что даёт возможность использовать более дешёвые ASIC/ASSP), ПЛИС находят применение в устройствах класса
hiend, например в профессиональных видеокамерах, плоскопанельных дисплеях и устройствах видеонаблюдения. Кроме высокой производительности подсистемы цифровой обработки данных, микросхемы FPGA обеспечивают минимизацию габаритов устройства за счёт высокой степени интеграции компонентов электронной системы. Кроме обработки видео, на кристалле FPGA размещают высокоскоростные интерфейсы на базе приёмопередатчиков (HDMI, Display Link, Ethernet, FireWire и пр.), для чего в противном случае потребовались бы отдельные микросхемы. Такие системы часто работают под управлением софтпроцессора (т.е. процессора, создаваемого путём конфигурирования части ПЛИС) MicroBlaze, возможностей которого достаточно для интеграции компонентов и обеспечения взаимодействия с пользователем. Выпуск All Programmable SOC Zynq7000 с аппаратным двухъядерным ARM CortexA9 открывает новые возможности построения устройств потребительской электроники, поскольку конфигурируемая часть таких микросхем может быть использована в качестве аппаратного ускорителя для широко распространённого и известного потребителям ARM;
● Суперкомпьютеры и центры обработки данных. Использование FPGA высокой степени интеграции в качестве аппаратной платформы суперкомпьютеров имеет большое преимущество в части достижения очень высоких показателей производительности в пределах одного кристалла, однако существенным препятствием на пути широкого использования такого подхода является высокий порог вхождения в технологию. Суперкомпьютер на базе FPGA не может быть запрограммирован подобно системам на базе x86/64, поскольку его возможности
в полной мере раскрываются при создании специализированных вычислительных узлов с применением языков описания аппаратуры. В [2] приведены примеры реализации элементной базы суперкомпьютерных систем, демонстрирующие очень высокий потенциал FPGA в подобных наукоёмких задачах;
● Прототипирование микросхем. Разработка прототипов СБИС является традиционным применением FPGA. Для FPGA высокой степени интеграции последних поколений часто приводятся эквивалентные ёмкости в «ASICвентилях» (плотность компоновки проекта на базе FPGA обычно меньше за счёт того, что не все элементы программируемых ячеек задействованы в конечном продукте).
Заключение
Микросхемы FPGA серии 7 компании Xilinx поддерживают тенденции постоянного увеличения логической ёмкости микросхем, повышения общей производительности, степени интеграции и расширения функциональных возможностей. Гибкость этой
элементной базы представляет определённый интерес при разработ
ке сложной, наукоёмкой продукции, обеспечивая программные и аппаратные решения при умеренных материальных затратах. Однако эффективная разработка на базе ПЛИС возможна только при высокой квалификации специалистов.
Литература
2. http://fpga.parallel.ru/family.html.
© СТА-ПРЕСС
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

