Анализ предварительных характеристик FPGA «серии 7»
фирмы Xilinx
Илья ТАРАСОВ
В июне 2010 года фирма Хіііпх опубликовала предварительные характеристики FPGA 7-й серии, выполненных по технологическим нормам 28 нм. Как обычно, переход к новой технологии в мире ПЛИС сопровождается увеличением логической емкости, однако в приведенном анонсе объявлено о пересмотре линейки продуктов FPGA: в новом поколении предусмотрены три новых семейства — Virtex-7, Кі^ех-7 и Агйх-7. Выпуск инженерных образцов запланирован на I квартал 2011 года, поэтому в настоящий момент можно провести только предварительный анализ представленных семейств.
Введение
Ведущие производители ПЛИС, как правило, своевременно переходят к новым технологическим процессам, поэтому новые семейства FPGA появляются достаточно регулярно. Современная технология позволяет расширить функциональные возможности, увеличить логическую емкость и тактовую частоту. Соответственно, от каждого нового семейства FPGA разработчики ожидают улучшений по всем параметрам, включая появление новых возможностей, увеличение максимального логического объема, тактовой частоты, снижение потребляемой мощности и цены. Однако предварительный анонс характеристик семейств FPGA «серии 7» (англоязычное наименование новых продуктов — ‘7 series’) показал, что Xilinx в очередной раз корректирует подход к развитию ПЛИС как таковых.
На протяжении последних лет разработчики привыкли именно к количественным изменениям. Однако резкий рост тактовой частоты сменился плавным, к тому же возникла проблема сохранения высокого значения тактовой частоты для больших проектов. Архитектура логической ячейки претерпела принципиальное изменение в семействах Virtex-5 (с переходом к 6-входовым LUT), а затем в Virtex-6/Spartan-6 (с появлением второго триггера). Соответственно, от новых семейств, выполненных по 28-нм техпроцессу, можно было ожидать скорее небольших эволюционных изменений, чем революции, которая заставила бы в очередной раз пересмотреть подходы к проектированию цифровых систем и искать приемы эффективного использования аппаратных ресурсов.
Высокие эксплуатационные характеристики
VIRTEX7
KINTEX7
ARTIX7"
XILINX UNIFIED FPGA SERIES
Для новой 28-нм технологии Xilinx представляет три новых семейства FPGA. Из них только Virtex-7 является продолжением существующей линейки высокопроизводительных ПЛИС, а два других пришли на замену серии Spartan. Это семейства Artix-7 и Kintex-7, причем первое из них предназначено для приложений с высоким тиражом и отличается малым энергопотреблением и невысокой стоимостью, а Kintex представляет собой семейство с уклоном в сторону цифровой обработки сигналов. Действительно, серия Virtex традиционно использовалась и в приложениях, построенных вокруг высокоскоростных последовательных приемопередатчиков, и в проектах, основанных на цифровой обработке сигналов. Семейство Kintex-7 удачно вписывается в нишу, где требуется большое количество параллельно работающих блоков ЦОС по умеренной цене, а для систем с большим количеством аппаратных приемопередатчиков будут предназначены более дорогие Virtex-7.
В качестве ключевого свойства нового поколения FPGA отмечается унификация программируемых ресурсов новых семейств. Xilinx предполагает, что для нового поколения FPGA станет возможной быстрая миграция между семействами Virtex/Kintex/Artix. При сохранении архитектуры проекта разработчик сможет выбирать наиболее подходящее сочетание производительности и потребляемой мощности (рис. 1).
Состав семейств
На основании предварительной спецификации, опубликованной в документе [1], можно делать только предположения об окончательных характеристиках и точном составе семейств, предполагаемых к выпуску. Однако уже сейчас можно сопоставить характерные параметры семейств и определить предполагаемые сферы их применения.
В таблице приведены сводные характеристики трех новых семейств.
Таблица. Сводные характеристики семейств FPGA серии 7
Рис. 1. Характеристики производительности и потребляемой мощности семейств серии 7
Максимальное значение параметра Artix-7 Kintex-7 Virtex-7
Логические ячейки, тыс. 352 407 1955
Блочная память, Мбит 12 29 65
Секций DSP 700 1540 3960
Пиковая производительность цифровой обработки сигналов для фильтров с симметричными коэффициентами, ГМАС/с 504 1848 4752
Приемопередатчики 4 16 80
Пиковая скорость передачи, Гбит/с 30 330 1886
Интерфейсы PCI Express Gen1x4 Gen2x8 Gen3x8
Скорость обмена по интерфейсам памяти, Мбит/с 800 2133 2133
Внешние выводы 450 500 1200
Рис. 2. Отношение количества блоков памяти к логическим ячейкам
Рис. 3. Удельное отношение блоков XtremeDSP к логическим ячейкам
Логические ячейки
Логические ячейки новых семейств соответствуют предыдущему поколению — Virtex-6/Spartan-6. Унифицированные ячейки — основной, но не единственный фактор, упрощающий миграцию. В этом случае появляется возможность подобрать строго соответствующую задаче ПЛИС, изменяя не только ее логический объем, но и семейство.
Можно отметить, что существенной необходимости в увеличении функциональности логической ячейки пока не наблюдается. За время развития ПЛИС методы проектирования были достаточно сильно ориентированы на глубокую конвейеризацию при небольшой сложности комбинаторных выражений, и переход к 6-входовым логическим генераторам в Virtex-5 показал, что для использования новых возможностей может потребоваться пересмотр проектов. Действительно, IP-ядра, которые были спроектированы на структурном уровне с целью достижения максимальной производительности, не получают никаких преимуществ от более мощных логических ячеек, так как напрямую указывают режим их работы, совместимый с предыдущими поколениями FPGA.
Блочная память
Блочная память не имеет принципиальных отличий от блоков, примененных в семействе Virtex-6. Однако блочная память в Spartan-6 организована блоками размером 18 кбит, а в Virtex два таких блока дополняются схемой поддержки FIFO, так что формально память считается блоками в 36 кбит. В новых семействах все блоки унифицированы, имеют объем 36 кбит и аппаратную поддержку FIFO.
Отношение количества блоков памяти к логическим ячейкам показано на рис. 2.
Блоки XtremeDSP
Блоки XtremeDSP — так же, как и для блочной памяти, их количество и в абсолютном, и в относительном выражении увеличилось. Более важно, что все семейства получили одинаковые блоки DSP48E1, позволяющие умножать 18- и 25-разрядные операнды. Эти блоки имеют также предварительный сумматор (pre-adder), что позволяет удвоить производительность подсистемы цифровой обработки сигналов в случае использования фильтров с симметричными коэффициентами. Применение одинаковых блоков XtremeDSP позволяет использовать более дешевые семейства Kintex и Artix для разработки высокопроизводительных систем ЦОС. Более того, именно семейство Kintex-7 позиционируется Xilinx в качестве аппаратной платформы для построения систем беспроводной связи (например, LTE или WiMax), обработки видео в 3D-дисплеях и подобных приложениях, в которых требуется достаточно высокая про-
изводительность цифровой обработки сигналов.
Отношение блоков XtremeDSP к логическим ячейкам показано на рис. 3. Можно видеть, что серия Kintex схожа по этому параметру с Virtex-6 SXT, то есть подходит для ее замены, а графики для Virtex-7 и Virtex-6 LXT практически совпадают.
Ресурсы для формирования и трассировки тактового сигнала
Блоки формирования тактового сигнала состоят из MMCM-Mixed-Mode Clock Manager и PLL — Phase-Locked Loop. Количество блоков достигает 24 в Virtex-7, что позволяет получить широкий набор частот. В каждом семействе существуют 32 глобальные тактовые линии, причем в один тактовый регион могут быть поданы любые 12 из них. Такая унификация — шаг вперед по сравнению с Virtex-6/Spartan-6, в которых ПЛИС серии Virtex имели большее количество глобальных тактовых линий, чем Spartan. Потенциально это могло стать препятствием при переносе проекта на Spartan-6. Все семейства имеют одинаковый набор внутренних буферов для распространения тактовых сигналов — BUFG, BUFR, BUFIO, BUFH, BUFMR.
Блоки ввода/вывода
Блоки ввода/вывода (БВВ) сгруппированы в банки, по 50 выводов в каждом. В каждом банке также имеются два входа для подачи опорного напряжения Vref, четыре вывода могут быть входами для региональных так-
товых сигналов. Согласно предварительным данным, для части выводов допускается работа с напряжением 3,3 В, остальные ограничены напряжением 2,5 или 1,8 В. Ограничение актуально для семейств Virtex-7 и Kintex-7, причем Virtex-7 имеют наименьшее количество выводов, совместимых со стандартами 3,3 В.
В каждом БВВ имеются триггеры DDR, цифровое управление импедансом, а также сериализатор/десериализатор (SERDES) с преобразованием 8:1. Каскадирование позволяет увеличить это соотношение до 14:1. В семействах Virtex-7 и Kintex-7 добавлена аппаратная поддержка для построения интерфейсов памяти DDR3 со скоростью передачи данных до 2133 Мбит/с, ПЛИС Artix-7 ограничены скоростью 800 Мбит/с.
Высокоскоростные последовательные приемопередатчики
Приемопередатчики имеют следующие максимальные скорости передачи данных:
• Artix-7 — 3,75 Гбит/с;
• Kintex-7 — 10,3125 Гбит/с;
• Virtex-7 — 13,1 Гбит/с.
Ранее опубликованные анонсы сообщали о ведении разработки приемопередатчиков с максимальной скоростью 28 Гбит/с. Очевидно, такие приемопередатчики планируются к установке в будущие подсемейства Virtex-7.
Различные микросхемы имеют от 4 до 72 приемопередатчиков, причем они имеются и в самых младших представителях семейства Artix-7.
ПЛИС
Аппаратные ядра контроллеров PCI Express
С помощью высокоскоростных приемопередатчиков возможно построение широко распространенных последовательных интерфейсов — Ethernet, Serial ATA и PCI Express. Все ПЛИС серии 7, включая младшие модели Artix, имеют аппаратные блоки, которые конфигурируются как PCI Express endpoint или Root Port.
Доступны протоколы PCI Express Gen1x4 (2,5 Гбит/с) в Artix, Gen2x8 (5 Гбит/с) в Kintex и Gen3x8 в Virtex.
Конфигурирование
ПЛИС серии 7 поддерживают различные режимы загрузки конфигурации — SPI x1, x2 и x4, BPI x8 и x16. С учетом большого объема данных для конфигурирования (от 0,6 до 54 Мбайт) может оказаться удобным загружать ПЛИС с помощью внешнего процессора, имеющего доступ к устройству хранения данных большого объема.
ПЛИС семейства Artix с объемом более 100 000 ячеек, а также все ПЛИС Kintex и Virtex поддерживают шифрование конфигурационной последовательности по алгоритму AES c 256-битным ключом.
ПЛИС семейства Virtex-7 поддерживают частичную реконфигурацию.
Аналого-цифровые преобразователи XADC
Аналого-цифровые преобразователи XADC — новые блоки, представляющие
собой сдвоенные 12-разрядные многоканальные аналого-цифровые преобразователи с частотой выборок 1 МГц. Ранее можно было наблюдать 10-разрядные АЦП в FPGA Virtex, которые служили для мониторинга напряжения питания и температуры. В новых семействах АЦП могут служить для той же цели, однако размещены во всех FPGA с более 100 000 логических ячеек. АЦП с такими характеристиками вряд ли смогут полностью заменить внешние микросхемы, тем более что FPGA, в которых установлены АЦП, имеют избыточную производительность блоков цифровой обработки сигналов по сравнению с вводимым через АЦП потоком данных. Тем не менее для каких-то применений наличие подобных модулей позволит упростить процесс разработки. Кроме мониторинга питания, можно указать на возможность ввода аудиосигналов, координат касания сенсорных панелей и прочих сигналов, для которых достаточно небольшой частоты дискретизации. Эти задачи не представляются чрезмерно сложными с технической точки зрения, но отказ от внешнего корпуса является преимуществом при проектировании.
Заключение
С учетом того, что, по имеющейся информации, даже инженерные образцы появятся не ранее 2011 года, в настоящий момент вряд ли целесообразно производить тщательное исследование характеристик новых ПЛИС. Точный состав новых семейств и технические характеристики могут под-
вергнуться корректировке, поэтому приведенные в анонсе сведения имеют характер общего описания дальнейших путей развития FPGA Xilinx. Однако уже сейчас можно отметить, что архитектура основных ресурсов останется прежней, что даст возможность с минимальными изменениями перенести проекты, выполненные на базе современных семейств, — Virtex-6/Spartan-6.
В настоящее время возможность переноса проекта на более дешевые ПЛИС Spartan привлечет разработчиков. Однако некоторым препятствием к этому было формальное различие в аппаратном составе семейств Virtex-6 и Spartan-6. Унификация архитектуры и простота переноса проектов в ПЛИС серии 7, в сочетании с появлением дополнительного семейства Kintex-7, дают возможность быстро подобрать наиболее подходящую ПЛИС, обладающую минимальной стоимостью при выполнении технических требований к системе.
Широкие возможности выбора подходящей элементной базы делают предпочтительным переход к проектированию с использованием языков описания аппаратуры. Схожесть архитектуры будущих устройств с архитектурой существующих Virtex-6/Spartan-6 позволяет уже сейчас проводить разработку проектов на базе доступных ПЛИС. ■
Литература
1. http://www.xilinx.com/ support/documentation/
data_sheetsMs180_7Series_Overview.pdf