Обзор архитектуры ПЛИС UltraScale

В статье рассматриваются характеристики ПЛИС компании Xilinx, относящихся к новому поколению FPGA, выполненному с соблюдением 20-нм норм технологического процесса. Новое поколение UltraScale состоит из двух семейств и предназначено, прежде всего, для построения высокопроизводительных систем цифровой обработки сигналов и телекоммуникационного оборудования.

ВВЕДЕНИЕ
Технические характеристики FPGA UltraScale были опубликованы компанией Xilinx в декабре 2013 г. Тогда же было объявлено об отгрузке первого образца микросхемы семейства Kintex UltraScale заказчику. Новые семейства выполнены по 20-нм технологическому процессу, обеспечиваемому компанией TSMC.

Из таблицы видно, что по сравнению с предыдущим поколением — FPGA серии 7 — Xilinx несколько корректирует позиционирование двух семейств, принадлежащих к высокопроизводительному сегменту. В серии 7 семейство Kintex выступало в качестве ПЛИС среднего ценового сегмента, однако при этом снижение стоимости было достигнуто преимущественно за счет отказа от большого количества высокоскоростных последовательных приемопередатчиков, а не за счет снижения производительности основных программируемых ресурсов. Однако при этом максимальная абсолютная производительность в задачах цифровой обработки сигналов (ЦОС), определяемая количеством блоков ЦОС, достигалась все равно в семействе Virtex-7.

Для UltraScale состав семейств был скорректирован с учетом того, что Kintex предназначается для решения задач, не предусматривающих достижения максимальной производительности без учета стоимости элементной базы. Для подобных задач (а это, прежде всего, прототипирование заказных микросхем и магистральное телекоммуникационное оборудование) предназначено семейство Virtex UltraScale. Именно оно содержит до 104 приемопередатчиков, до 52 из которых могут работать со скоростями 33 Гбит/с, делая возможным реализацию коммуникационного оборудования класса 400G. Семейство Kintex UltraScale содержит больше блоков ЦОС, чем Virtex UltraScale, поэтому лучше подходит для разработки систем ЦОС.

НОВЫЙ ПОДХОД К ТАКТОВЫМ И ТРАССИРОВОЧНЫМ РЕСУРСАМ В ULTRASCALE
Важнейшим изменением в UltraScale стала новая архитектура тактовых сетей и трассировочных ресурсов. Впервые для FPGA применена структура тактовых линий, подобная используемым в заказных микросхемах (т.н. ASIC-like clocking). Каждый из тактовых регионов ПЛИС имеет собственный формирователь тактового сигнала (в отличие от центрально расположенных глобальных тактовых буферов в предыдущих поколениях). Это позволяет снизить задержки распространения тактового сигнала в пределах каждого региона. Общее количество глобальных тактовых буферов, очевидно, существенно возрастает — с 32 в серии 7 до нескольких сотен (в зависимости от логического объема микросхемы) в UltraScale.

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

ЛОГИЧЕСКИЕ ЯЧЕЙКИ
Логические ячейки UltraScale основаны на логических ячейках предыдущего поколения — FPGA серии 7. Архитектура, которая хорошо зарекомендовала себя в FPGA, подвергается эволюционным изменениям, начиная с семейства Virtex-5. В этом семействе Xilinx впервые видоизменила понятие логической ячейки, как совокупности 4-входового логического генератора (LUT — look-up table) и триггера. В Virtex-5 логический генератор получил 6 входов (это потребовало четырехкратного увеличения объема памяти — с 16 до 64 бит), далее был добавлен второй триггер. Логические ячейки собираются в секции (slice), которые имеют вспомогательные компоненты, предназначенные для объединения ячеек и формирования более сложных схемотехнических узлов.

Несколько секций (обычно 2 или 4 для различных семейств FPGA) объединяются, в свою очередь, в конфигурируемый логический блок (КЛБ). Прежде всего, для UltraScale упразднено понятие секции. Вместо этого конфигурируемые логические блоки собираются непосредственно из 6-вхо-довых логических генераторов и триггеров с добавлением общих для всего блока дополнительных компонентов. Можно говорить, что секции и КЛБ теперь совпадают.

Выходы LUT могут быть независимо поданы на выход КЛБ. Таким образом, LUT и триггеры могут использоваться независимо. Триггеры могут быть как D-триггерами, так и защелками (latch).

В КЛБ добавлен мультиплексор F9MUX. Можно напомнить назначение подобных мультиплексоров в КЛБ: выходы 6-входовых LUT могут быть объединены мультиплексором F7, а два таких мультиплексора объединяются, в свою очередь, мультиплексором F8. Этим функциональность КЛБ предыдущей серии 7 ограничивалась. В UltraScale выходы двух F8 поданы на мультиплексор F9, что позволяет объединять еще больше LUT для формирования более сложной комбинаторной схемы (или распределенной памяти 512?1). Наличие мультиплексоров автоматически учитывается синтезаторами, поэтому разработчик может иметь в виду их наличие в КЛБ, но не обязан постоянно следить за использованием таких компонентов. Как правило, использование в RTL-описаниях операторов case и with… select приводит к привлечению аппаратных мультиплексоров для реализации соответствующего цифрового узла.

Колонки КЛБ так же, как и в предыдущих сериях, связаны линиями ускоренного переноса для построения сумматоров/вычитателей (а также основанных на них узлах — счетчиках, аккумуляторах и т.д.).

БЛОКИ XTREMEDSP
Цифровая обработка сигналов — признанная область, в которой FPGA демонстрируют великолепные показатели как по абсолютной производительности, достигаемой на одном кристалле, так и по относительной стоимости одной операции «умножение с накоплением». Это достигается благодаря размещению в FPGA большого количества блоков DSP48, которые благодаря аппаратной реализации работают на высокой тактовой частоте при умеренной мощности потребления. В UltraScale хорошо зарекомендовавшая себя архитектура DSP48 получила очередной набор модификаций, блок теперь называется DSP48E2.

Основные особенности такого блока:

блоки объединены попарно в компонент DSP slice (секция DSP) с добавлением выделенных аппаратных ресурсов, облегчающих построение некоторых часто применяемых схем;
умножитель 27?18 (вместо 25?18) бит;
27-разрядный предварительный сумматор;
добавлены возможные операнды для АЛУ (например, обратная связь по сигналу P), что расширяет функциональность этого блока при выполнении математических операций;
добавлен блок XOR в АЛУ;
введена возможность программируемой инверсии сигнала сброса.
В целом блоки DSP48E2 полностью соответствуют возможностям блоков предыдущего поколения, что позволяет переносить проекты, разработанные для серии 7 и более ранних. Можно отметить, что расширение разрядности умножителя позволяет выполнять операции над числами с плавающей точкой с привлечением меньшего количества блоков DSP48E2.

ВЫСОКОСКОРОСТНЫЕ ПОСЛЕДОВАТЕЛЬНЫЕ ПРИЕМОПЕРЕДАТЧИКИ (MGT)
Высокоскоростные последовательные приемопередатчики (Multi-Gigabit Transceivers, MGT) — один из компонентов, определяющих современную сферу применения FPGA. Большое количество аппаратных ядер приемопередатчиков на одном кристалле обеспечивает высокую пропускную способность в коммуникационных приложениях. Размещение на том же кристалле достаточного количества программируемых ресурсов позволяет реализовать различные виды обработки передаваемых данных, что делает FPGA привлекательной аппаратной платформой для реализации высокотехнологичного коммуникационного оборудования. Семейство UltraScale нацелено на системы класса 100G и 400G.

По сравнению с приемопередатчиками серии 7 UltraScale получила аналогичные по функциональности модули с ожидаемым вследствие нового техпроцесса улучшением производительности.

PCI EXPRESS
Все FPGA UltraScale имеют, по крайней мере, один аппаратный контроллер PCI Express, соответствующий спецификации стандарта 3.0. Контроллеры PCI Express размещались и в предыдущих поколениях FPGA Xilinx, обеспечивая не столько экономию программируемых ресурсов (ядро контроллера PCI Express оценивается приблизительно в 5 тыс. ячеек), сколько гарантированные характеристики производительности, не зависящие от нюансов размещения проекта в кристалле.

Обычно аппаратное ядро PCI Express может быть дополнено программируемыми ресурсами для обеспечения совместимости с более поздним стандартом спецификации. Согласно текущей документации, ядро поддерживает 1, 2, 4 или 8 линий и может работать со скоростями передачи 2,5; 5 и 8 Гбит/с.

АППАРАТНЫЕ БЛОКИ 100G ETHERNET И INTERLAKEN
В UltraScale впервые добавлены аппаратные контроллеры 100G Ethernet и Interlaken. Как и для PCI Express, эти контроллеры облегчают построение соответствующих интерфейсов, освобождая разработчика от необходимости выполнять настройку конфигурируемых решений и следить в процессе проектирования за соблюдением требований к относительному размещению компонентов. Блок 100G Ethernet поддерживает конфигурации 10?10,3125 Гбит/с или 4?25,78125 Гбит/с. Актуальность следующего поколения интерфейса Ethernet, по всей видимости, не подлежит сомнению.

Интерфейс Interlaken представляет собой масштабируемый протокол обмена chip-to-chip, работающий на скоростях 10-150 Гбит/с. Так же, как и 100G Ethernet, Interlaken основан на использовании нескольких линий связи для достижения высокой суммарной скорости. Поддерживаются режимы: 1-12 линий на 10,3125 Гбит/с; 1-12 линий на 12,5 Гбит/с и 1-6 линий на 25,78125 Гбит/с.

ПРОЕКТИРОВАНИЕ СИСТЕМ НА БАЗЕ FPGA ULTRASCALE
Большой логический объем и богатые функциональные возможности аппаратных блоков UltraScale требуют пристального внимания к применяемой методологии проектирования цифровых устройств на базе современных FPGA. Можно отметить, что в последнее десятилетие разработчики столкнулись с двумя качественными изменениями в архитектуре цифровых микросхем, которые требуют пересмотра базовых подходов к проектированию, сформированных еще в эпоху дискретной цифровой схемотехники.

Первое серьезное изменение произошло на рубеже 130/90 нм, когда задержки распространения сигналов на трассировочных линиях стали сопоставимы с задержками на компонентах внутри интегральных микросхем (на протяжении развития полупроводниковой отрасли трассировочные линии становились все длиннее из-за роста площади микросхем, а компоненты — все быстрее). Кроме того, все больше возрастает нестабильность задержек, на которые оказывают влияние как разброс параметров микросхем при их производстве (process), так и температура (temperature) и напряжение питания микросхемы (voltage). Эти три фактора обычно сводятся в аббревиатуру PVT, которая призвана обратить внимание на то, что при проектировании цифрового устройства невозможно более ориентироваться на какое-то определенное время распространения сигналов по кристаллу.

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

Методы проектирования синхронных схем удачно дополняются такими эффективными инструментами как конечные автоматы, управляющие процессоры и конвейерные устройства ЦОС, поэтому переход к синхронному проектированию вряд ли можно рассматривать как существенное ограничение свободы разработчика. Вместе с тем именно синхронный подход позволил увеличивать тактовую частоту и после достижения 90-нм норм технологического процесса.

После 90-нм FPGA семейства Virtex-4 компанией Xilinx были выпущены весьма удачные Virtex-5 (65 нм), Virtex-6 (40 нм) и непосредственный предшественник UltraScale Virtex-7 (28 нм). Все эти семейства получали заметное увеличение тактовой частоты по сравнению с предыдущим поколением FPGA, однако для UltraScale этот рост практически остановился. Это произошло на фоне глобальной тенденции в полупроводниковой отрасли, которая заключается в переходе к параллельно работающим, многоядерным вычислительным системам. Задержки при передаче сигналов по кристаллу не просто не могут быть уменьшены путем улучшения характеристик отдельных компонентов, производителям приходится прилагать усилия для удержания их на прежнем уровне с учетом увеличения размеров кристалла. Так что, с учетом радикального изменения архитектуры трассировочных ресурсов, можно рассматривать следующий эволюционный шаг в методах проектирования.

Создание полностью синхронной системы в рамках большого кристалла сопряжено с существенными технологическими трудностями. С точки зрения разработчика устройства на базе FPGA, который уже не может повлиять на характеристики самого кристалла, частота такого устройства будет снижаться по мере увеличения размеров проекта. Вместе с тем, целый ряд систем, для которых целесообразно применение FPGA большого объема, не требуют обязательной синхронизации всех своих составляющих. Например, многоканальные системы ЦОС вполне допускают независимую обработку сигналов в каждом из каналов с последующей передачей результатов на постобработку в процессорную подсистему. При этом необходимо соблюдать правила синхронного проектирования для каждого из каналов, и использовать рекомендуемые производителем схемы ресинхронизации (т.е. передачи сигналов из одной тактовой подсети в другую). Такая архитектура обозначается аббревиатурой GALS (globally asynchronous, locally synchronous, т.е. глобально асинхронные, локально синхронные схемы).

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

ЗАКЛЮЧЕНИЕ
Несмотря на сделанный анонс, регулярные поставки FPGA семейства UltraScale ожидаются не ранее 2015 г., поэтому в настоящее время имеет смысл сфокусироваться на освоении новых инструментов и подходов к проектированию цифровых систем большого логического объема. Здесь можно обратить внимание на освоение САПР Vivado (предыдущее поколение ISE с маршрутом проектирования XST уже не поддерживает UltraScale), а также на привлечение инструментов проектирования и моделирования на системном уровне — Vivado HLS, System Generator for DSP, использование системных моделей на языках высокого уровня и преобразователей ЯВУ — HDL. Новые тактовые сети делают предпочтительным использование GALS-архитектуры, что, возможно, потребует от разработчиков пересмотра базовых подходов к проектированию систем. Можно отметить, что компания Xilinx предусматривает проведение официальных курсов повышения квалификации по освоению перечисленных инструментов, в т.ч. в российском учебном центре.

Понравилась статья? Поделиться с друзьями:
TRIAL NEWS