2 Тенденции развития логических ресурсов ПЛИС Virtex-6

advertisement
Государственное образовательное учреждение высшего
профессионального образования
«Московский государственный технический
университет имени Н.Э. Баумана»
(МГТУ им. Н.Э. Баумана)
ФАКУЛЬТЕТ «ИНФОРМАТИКИ И СИСТЕМ УПРАВЛЕНИЯ»
КАФЕДРА ИУ4 «ПРОЕКТИРОВАНИЕ И ТЕХНОЛОГИЯ ПРОИЗВОДСТВА ЭВС»
РЕФЕРАТ на тему:
Архитектура и тенденции развития логических ресурсов ПЛИС Xilinx
семейства Virtex
по курсу: Схемотехника ЭВС, комплексы и сети_
Студент:
__________________ _Кочетов А.С. ИУ4-103__
(Подпись, дата)
(И.О.Фамилия)
Рейтинговая оценка:
Руководитель:
__________________ _Шпиев В.А.___
(Подпись, дата)
Москва, 2012
(И.О.Фамилия)
Аннотация
Данный реферат содержит информацию по архитектуре ПЛИС, а также тенденциям
развития логических ресурсов данных интегральных схем. В первой части рассказывается
об архитектуре устройства на примере ПЛИС серии Virtex. Рассматривается структура
таких устройств, входящих в интегральную схему как: программируемые логические
генераторы, блочная память, аппаратные умножители, блоки формирования тактовых
сигналов. Отдельно уделяется особое внимание производительности ПЛИС и отладочным
средствам, необходимым для теста ПЛИС.Во второй части данного реферата речь идет об
тенденциях развития логических ресурсов ПЛИС на примере Virtex-6. Рассказывается о
новых улучшения в архитектуре интегральной схемы.
Annotation
This essay provides information on the architecture of the FPGA, as well as trends in the
development of logical data resources integrated circuits. The first part describes the architecture
of the FPGA device on the example of a series of Virtex. The structure of such devices in an
integrated circuit such as: programmable logic generators, block memory, hardware multipliers,
blocks the formation of clock signals. Separately paid particular attention to performance and
FPGA debugging tools needed to test FPGA. In second part of this essay we are talking about
trends in FPGA logic resources on the example of Virtex-6. Tells about the new improvements
in the architecture of the integrated circuit.
2
СОДЕРЖАНИЕ
СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СОКРАЩЕНИЙ И ТЕРМИНОВ .............................................. 4
ВВЕДЕНИЕ ................................................................................................................................................................. 5
1 АРХИТЕКТУРА ПЛИС НА ПРИМЕРЕ VIRTEX 5 ......................................................................................... 6
1.1 ПРОГРАММИРУЕМЫЕ ЛОГИЧЕСКИЕ ГЕНЕРАТОРЫ ......................................................................... 6
1.2 БЛОЧНАЯ ПАМЯТЬ........................................................................................................................................ 11
1.3 АППАРАТНЫЕ УМНОЖИТЕЛИ — БЛОКИ DSP48E ............................................................................. 13
1.4 ТРАССИРОВОЧНЫЕ РЕСУРСЫ ................................................................................................................. 14
1.5 БЛОКИ ФОРМИРОВАНИЯ ТАКТОВОГО СИГНАЛА ............................................................................ 16
1.6 СОСТАВ СЕМЕЙСТВА ................................................................................................................................... 17
1.7 ПРОИЗВОДИТЕЛЬНОСТЬ ............................................................................................................................ 18
1.8 ПОДДЕРЖКА САПР И ОТЛАДОЧНЫЕ ПЛАТЫ ..................................................................................... 19
2 ТЕНДЕНЦИИ РАЗВИТИЯ ЛОГИЧЕСКИХ РЕСУРСОВ ПЛИС VIRTEX-6 ........................................... 21
2.1 СОСТАВ СЕМЕЙСТВ ...................................................................................................................................... 22
2.2 АНАЛИЗ ХАРАКТЕРИСТИК НОВЫХ СЕМЕЙСТВ ................................................................................ 23
2.3 АРХИТЕКТУРА ЛОГИЧЕСКИХ ЯЧЕЕК .................................................................................................... 23
2.4 АРХИТЕКТУРА CLB VIRTEX-6 .................................................................................................................... 26
2.5 БЛОЧНАЯ ПАМЯТЬ........................................................................................................................................ 28
2.6 БЛОКИ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ XTREMEDSP ........................................................... 29
2.7 БЛОКИ ВВОДА/ВЫВОДА .............................................................................................................................. 32
2.8 СКОРОСТНЫЕ И ПОСЛЕДОВАТЕЛЬНЫЕ ИНТЕРФЕЙСЫ ............................................................... 33
2.9 ПРОЦЕССОРНЫЕ СИСТЕМЫ ..................................................................................................................... 33
2.10 СРЕДСТВА РАЗРАБОТКИ ........................................................................................................................... 34
ЗАКЛЮЧЕНИЕ ....................................................................................................................................................... 36
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .......................................................................................... 37
3
СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СОКРАЩЕНИЙ И
ТЕРМИНОВ
ЭВМ
- электронная вычислительная машина
ЦП
- центральный процессор
АЛУ
- арифметическое логическое устройство
ОЗУ
- оперативное запоминающее устройство
ПЗУ
- постоянное запоминающее устройство
СБИС
- сверхбольшая интегральная схема
ПЛИС - программируемая логическая интегральная схема
САПР
- Система Автоматического Проектирования
PC
- Personal Computer ( персональный компьютер)
GUI
- Graphical User Interface (графический интерфейс пользователя)
CLB
- Configurable Logic Block
LUT
- Look-Up Table
FIFO
- First In, First Out
DSP
- Digital Signal Processing
DLL
- Delay Locked Loop
DCM
- Digital Clock Manager
PLL
- Phase Locked Loop
CMT
- Clock Manager Tile
4
Введение
Устройства программируемой логики с архитектурой FPGA были впервые
представлены американской фирмой Xilinx (рис. 1) в 1985 году. За почти 20 лет своего
существования эти микросхемы прошли длительный путь развития, превратившись в
итоге из экзотического и редкого инструмента в мощное средство быстрой разработки
оригинальных цифровых устройств.
Рисунок 1 – Логотип компании Xilinx
Производители ПЛИС (в первую очередь Xilinx) в последнее время весьма
оперативно осваивают новые технологические процессы. Достаточно небольшое число
производителей полупроводниковых устройств имеет в своем активе подобные
технологии, и тот факт, что ПЛИС практически не отстают от заказных микросхем класса
high-end, весьма показателен. Во-вторых, после того пакета оригинальных архитектурных
решений, который появился в семействе Virtex-4 (архитектура ASMBL, разделение на
подсемейства, аппаратные блоки Ethernet, блоки цифровой обработки сигналов DSP48), от
65-нанометрового техпроцесса можно было ожидать скорее некоторого улучшения
характеристик уже существующей архитектуры. Однако изменения оказались не просто
достойными внимания, а весьма существенными.
Итак, напомним еще раз устройство ПЛИС с архитектурой FPGA. Основой этих
микросхем является матрица логических ячеек (Configurable Logic Block, CLB), каждая из
которых состоит из логического генератора (таблицы истинности, Look-Up Table, LUT) и
триггера. Логические ячейки окружены блоками ввода/вывода, непосредственно
подключаемыми к выводам ПЛИС. С учетом современных тенденций в данной области на
кристалл помещаются также аппаратные блоки, которые часто используются в
практических проектах, но весьма дороги для реализации на базе логических ячеек.
Cегодня это блочная память с синхронным интерфейсом и аппаратные умножители
независимых целочисленных операндов (часто используемые в алгоритмах цифровой
обработки сигналов).
5
1 Архитектура ПЛИС на примере Virtex 5
В то время как семейство, выполненное с использованием более современных технологий, привлекательно уже по причине чисто экстенсивного совершенствования характеристик (повышение тактовой частоты, уменьшение размеров и цены), Xilinx регулярно добавляла в свои FPGA интересные решения, улучшавшие отдельные аспекты
проектирования. Введение «колоночной» архитектуры ASMBL в Virtex-4, 6-входовых
LUT и диагональной трассировки в Virtex-5, переход в том же Virtex-5 к умножителям
формата 25x18, регулярное добавление новых аппаратных ядер — вот краткий перечень
знаменательных событий в мире ПЛИС, инициированных именно фирмой Xilinx.
Анонсированные в феврале 2009 г. семейства Virtex-6, выполненные с применением
технологических норм 40 и 45 нм соответственно, позволяют предполагать качественные
изменения в характеристиках проектов на базе ПЛИС. Прежде всего, уже обозначение
новых продуктов позволяет дать некоторые комментарии. Ранее Xilinx выпустила
продукты семейства Virtex-5 в сегменте высокопроизводительных FPGA (65 нм). Также
по 90-нм технологическому процессу было произведено семейство Virtex-4.
1.1 Программируемые логические генераторы
Практически стандартным решением для логического генератора являлась 4входовая таблица истинности. Ее очевидная реализация — блок памяти 16×1,
непосредственно хранящий все возможные варианты состояния выхода в зависимости от
комбинаций входных сигналов. Отличительной особенностью FPGA Xilinx является
возможность конфигурирования этого блока как обычной синхронной памяти с
организацией 16×1, или в виде 16-разрядного сдвигового регистра. Такое решение
несколько увеличивает задержки распространения сигналов, и в последних семействах
возможностью подобного универсального конфигурирования обладает только половина
логических генераторов. Собственно говоря, какие-то изменения в LUT автором статьи
ожидались чуть ли не в последнюю очередь. Однако взглянем на рис. 1.1
6
Рисунок 1.1 - Структура логической ячейки ПЛИС Virtex-5
Итак, главное изменение более чем кардинально. Логический генератор теперь
представляет
собой
6-входовую
таблицу
истинности!
Соответственно,
она
конфигурируется как 32-разрядный сдвиговый регистр или блок памяти с организацией
64×1. То есть добавление новых входов произошло действительно за счет увеличения
объема конфигурационной памяти для таблиц истинности (причем в 4 раза!), а не за счет
добавления мультиплексоров, что в ряде случаев позволяет получать в пределах
логической ячейки устройства комбинаторной логики с числом входов до 8. Однако
комбинация «генератор + мультиплексоры» позволяет реализовать не всякую логическую
функцию, в отличие от физически увеличенного объема памяти для хранения таблиц
истинности.
Значение данного нововведения трудно переоценить. Прежде всего, для сложных
проектов существенно уменьшается число последовательно соединяемых логических
ячеек, реализующих функцию для большого числа входов. Экономия ячеек при этом не
так важна, как важен тот факт, что в цепях комбинаторной логики оказывается в среднем
в полтора раза меньше ячеек, что соответственно во столько же раз уменьшает задержку
распространения
сигнала.
Поскольку
период
7
тактового
сигнала
определяется
максимальной задержкой внутри кристалла, очевидно, что уменьшение задержки
распространения позволяет увеличить тактовую частоту проекта. Разумеется, данный
вопрос требует дополнительного исследования и проведения тестов для типичных
цифровых узлов, но уже сейчас становится ясно, что имеют место и количественное (65
нм вместо 90), и качественное улучшение (меньшее число последовательно включенных
ячеек в цепях распространения сигнала).
Что касается увеличения числа входов, то здесь важно обратить внимание на
следующий факт. Добавление одного входа увеличивает объем памяти логического
генератора в 2 раза. Тем не менее, рост производительности далеко не всегда
пропорционален числу входов (многим цифровым узлам достаточно 4 входов), тем более
он не пропорционален объему памяти, который возрастает в геометрической прогрессии,
а не в арифметической. Соответственно, существует оптимальное число входов, которое
при
приемлемых
затратах
на
реализацию
LUT
обеспечивает
достаточную
их
функциональность. Долгое время стандартным значением было 4 входа, и переход к 6
входам заслуживает самого пристального внимания. Достаточно сравнить такое решение,
к примеру, с 5-входовыми таблицами истинности, которые требуют в 2 раза меньше
памяти, но имеют всего на один вход меньше.
Насколько значимым окажется выигрыш от добавления одного входа? Будут ли
цифровые узлы, в полной мере задействующими возможности новых ПЛИС, достаточно
эффективными и востребованными в практических проектах, чтобы 6-входовые таблицы
истинности оправдали свое применение? Можно подчеркнуть, однако, что серия Virtex в
последнее время концентрирует в себе наиболее производительные решения в области
цифровой схемотехники и системной архитектуры, поэтому решение конструкторов
Xilinx остановиться именно на 6-входовых LUT вполне оправданно. Кроме того, FPGA
состоит не только из конфигурационной памяти таблиц истинности, поэтому удельный
вес дополнительных ресурсов в конечном итоге не так уж велик. Достаточно посмотреть
на соотношение распределенной памяти (ее объем соответствует значениям, хранящимся
в LUT) и общего объема конфигурационного потока, загружаемого в ПЛИС. Нетрудно
убедиться, что «учетверение» коснулось относительно небольшого участка кристалла.
Какие конкретно выгоды получает разработчик от 6-входовой LUT? Обратим
внимание на то, что базовая организация блочной памяти соответствует 18-разрядным
данным. Такую же разрядность входных операндов имеют и выделенные умножители
современных FPGA. Соответственно, программируемые логические ресурсы часто
решают задачи управления высокопроизводительными блоками DSP путем формирования
8
вспомогательных сигналов, включающих и выключающих счет, переключающих режимы
и т. п. Часто это происходит именно на основании анализа значений операндов,
циркулирующих в блочных ресурсах. Итого, для вычисления некоторой логической
функции от 18-разрядного числа требуется не менее пяти 4-входовых LUT, или всего три
6-входовых! Для сравнения: три 5-входовые LUT имеют только 15 входов.
Таким образом, новая организация логических генераторов вполне обоснована. К
этому можно добавить, что для объединения выходов пяти 4-входовых LUT в общем
случае недостаточно еще одной 4-входовой ячейки (!), и в ряде случаев это может
приводить к формированию чрезмерно длинных цепочек из логических ячеек и цепей
трассировки. Данная проблема не фатальна (к тому же в большинстве случаев САПР
удается
решить
задачу
объединения
выходов
LUT
с
помощью
встроенных
мультиплексоров логических ячеек), но тем не менее 6-входовые LUT даже формально
могут сформировать результат вычисления комбинаторного выражения с помощью
меньшего числа уровней.
Работа с семейством Virtex-5 стала возможной в САПР ISE 8.2, которая уже
выпущена (несмотря на то, что сами ПЛИС пока недоступны). Для иллюстрации
рассуждений, приведенных выше, рассмотрим пример реализации 18-разрядного
компаратора двоичного значения (устройство, выдающее на выходе логическую единицу,
если комбинация на входе равна некоторой константе). Подобные устройства достаточно
характерны для целого ряда цифровых устройств, в том числе для цифровой обработки
сигналов и конфигурируемых процессоров. Оба этих класса устройств способны
эффективно использовать 18-разрядную память, и уменьшение задержек при операциях с
числами такой разрядности весьма положительно сказывается на их характеристиках.
Итак, тестирование 18-разрядного устройства сравнения с константой дает
предсказуемые результаты: ПЛИС Virtex-4 требует для его реализации 6 LUT, тогда как
Virtex-5 — всего 4. Кроме того, задержка распространения сигнала (maximum pin delay)
также существенно уменьшилась: с более чем 3 нс у Virtex-4 до 1,075 нс у Virtex-5. Как
уже отмечалось, этот эффект достигается не только за счет экстенсивных мер (перехода к
65-нанометровому техпроцессу), но и за счет более компактной реализации логических
функций. Тестирование возможностей Virtex-5 в более сложных проектах с большим
числом сложных логических выражений также подтверждает, что наблюдается 25–30%ное уменьшение числа логических уровней.
9
На рис. 1.2 проиллюстрирована проблема, связанная с увеличением числа уровней
логики. Показано распространение сигнала от выхода первого триггера к входу второго.
При этом сигнал последовательно проходит через 2 LUT, получая в каждой задержку t π.
Кроме того, при прохождении по трассировочным цепям добавляется задержка tтр.
Чем большее число LUT будет вовлечено в процесс обработки, тем больше времени
придется выделить на распространение сигнала до входа следующего триггера. Время
распространения сигнала в самой длинной цепи определяет минимально допустимый
период тактового сигнала, следовательно, даже для ПЛИС с высокой максимальной
тактовой частотой возможна ситуация, когда слишком сложные логические выражения
приведут к использованию большого числа последовательно соединяемых LUT, что
сильно снизит реальную частоту проекта.
Рисунок 1.2 - Иллюстрация к проблеме увеличения числа уровней логики
Можно также обратить внимание на материалы сайта Xilinx, иллюстрирующие
переход к памяти, состоящей из 64 ячеек вместо 16. Для предыдущих семейств
требовалось 4 блока, объединяемых к тому же двумя уровнями мультиплексоров (что
вносило
дополнительную
задержку
и
вызывало
необходимость
использования
дополнительных мультиплексоров). В семействе Virtex-5 блок памяти 64×1 реализуется в
единственной LUT, что исключает проблемы, связанные с объединением блоков. Таким
образом, «минимальный размер» распределенной памяти увеличился ровно в 4 раза.
10
1.2 Блочная память
Изменения коснулись не только распределенной (рис. 1.3), но и блочной памяти
(рис. 1.4). Объем базового блока увеличен ровно в 2 раза и составляет теперь 36 Кбит. Тем
не менее, каждый блок может быть использован как два независимых блока по 18 Кбит.
Дополнительно в составе блока присутствуют цепи, облегчающие построение модулей
FIFO (очередей) и устройства коррекции ошибок. Логика FIFO обеспечивает флаги «FIFO
полон», «FIFO пуст», а также флаги «FIFO почти полон» и «FIFO почти пуст» с
программируемыми порогами срабатывания. Память может использоваться с шириной
данных от 1 до 72 разрядов. В 72-разрядном варианте доступен только так называемый
«простой двухпортовый режим», в котором один порт используется для чтения, а другой
— для записи. В остальных вариантах доступен «истинный двухпортовый режим», при
котором оба порта могут использоваться как для чтения, так и для записи. Частота работы
блочной памяти достигает 550 МГц, а ее объем10 Мбит.
Рисунок 1.3 - Изменения в реализации распределенной памяти
11
Рисунок 1.4 - Блочная память
Качественные изменения, произошедшие в способе организации блочной памяти,
соответствуют
общей
тенденции
увеличения
пиковой
пропускной
способности
интерфейсов обмена между памятью и арифметическими устройствами. Не секрет, что в
микропроцессорной технике пропускная способность подсистемы памяти является одной
из важнейших характеристик, и слишком низкое ее значение может существенно
ухудшить показатели системы даже при наличии высокопроизводительного процессора. В
этой связи устройства на базе ПЛИС находятся в достаточно выгодной ситуации,
поскольку каждый из блоков внутренней памяти доступен независимо, к тому же большое
количество программируемых выводов позволяет реализовать параллельный доступ к
нескольким устройствам внешней памяти.
По некоторым оценкам, суммарная пропускная способность устройств Virtex-5
составляет 389 Гбит/с! Это весьма впечатляющая цифра, позволяющая позиционировать
ПЛИС этого семейства в качестве аппаратной платформы для высокопроизводительных
параллельных вычислений. Вообще говоря, в подобном качестве успешно выступали и
ПЛИС Virtex-4, однако по оценке производителя они имеют в 4,4 раза меньшую
пропускную способность памяти.
12
1.3 Аппаратные умножители — блоки DSP48E
С блочной памятью обычно ассоциированы аппаратные умножители. Точнее говоря,
такое соответствие наблюдалось в семействах Virtex-II/II Pro, где число блоков памяти
было строго
равно числу умножителей. Подразумевалось,
что
память
хранит
коэффициенты цифровых фильтров. Однако с увеличением уровня интеграции и
распространением софтпроцессоров появилась возможность реализовать на том же
кристалле не только блоки цифровой обработки сигналов, но и управляющий процессор
(например, MicroBlaze), который также требует памяти для хранения программы и
данных. Поэтому по мере увеличения общей емкости ПЛИС количество блоков памяти
растет быстрее, чем количество блоков DSP.
Структурная схема блока цифровой обработки сигналов показана на рис. 1.5. В этом
блоке также были сделаны изменения.
Рисунок 1.5 - Блок DSP48E
Кроме того, возможно каскадирование блоков DSP с применением выделенных
трассировочных ресурсов в пределах одной колонки. Наконец, добавлен независимый 48разрядный вход и возможность суммирования трех операндов в пределах одного блока.
Остается упомянуть повышение тактовой частоты до 550 МГц (500 МГц у Virtex-4) и
примерно 40%-ное снижение потребляемой мощности по сравнению с тем же Virtex-4.
Таким образом, можно сказать, что кроме очевидных преимуществ современного
технологического процесса имеют место качественные улучшения, связанные с
применением новой архитектуры блока.
13
1.4 Трассировочные ресурсы
Программируемые соединения различных типов, имеющиеся в составе любой
ПЛИС, на первый взгляд могут казаться сугубо вспомогательными устройствами.
Действительно, все оценки производителей, касающиеся программируемых устройств,
используют в основном сведения о числе логических ячеек, реже уточняется объем
блочной памяти и прочих выделенных ресурсов. Программируемые соединения при этом
упоминаются редко, и считается, что их количество вполне достаточно для формирования
на кристалле различных цифровых узлов. Отчасти ситуация обстоит именно так, хотя
можно отметить, что практически никогда не удается получить 100%-ного заполнения
кристалла FPGA ввиду невозможности провести соединения со всеми без исключения
логическими ячейками (не хватит именно свободных трассировочных ресурсов).
Сравнительные
характеристики
высокопроизводительной
качественный
состав
Virtex
проектов
также
трассировочных
на
базе
дешевой
подтверждают,
линий
что
оказывают
серии
Spartan
и
количественный
и
прямое
влияние
на
характеристики проектов.
В публикациях, посвященных архитектуре семейства Virtex и сравнительному
анализу архитектур основных семейств ПЛИС Xilinx, рассматривались вопросы
организации трассировочных ресурсов и типов этих ресурсов. В частности, одним из
наиболее эффективных видов трассировочных линий являются короткие локальные связи,
соединяющие соседние ячейки. Очевидно, что соединить близко расположенные ячейки
по принципу «каждый с каждым» невозможно, и соединения в пределах некоей области
могут выполняться путем последовательной передачи сигнала от ячейки к ячейке. В
англо-язычной документации для такого элементарного шага используется термин hop. На
рис. 1.6 показана схема соединений базовой ячейки (показана в центре) с соседними,
причем цветами выделены ячейки, достижимые за 1, 2 и 3 шага (hops) локальных
соединений.
14
Рисунок 1.6 - Схема расположения логических ячеек, доступных за различное число
шагов
Изменения в схеме трассировочных ресурсов поясняются достаточно простой
формулировкой: diagonal routing. Иными словами, в дополнение к вертикальным и
горизонтальным трассировочным линиям, в Virtex-5 предусмотрены диагональные
соединения между логическими ячейками. Это весьма интересное решение, которое к
тому же обеспечивает существенно лучшие характеристики компактных цифровых узлов
(до сотни ячеек). В табл. 1.1 приведено количество CLB, доступных за 1, 2 и 3 шага
трассировки для ПЛИС Virtex-4 и Virtex-5. Видно, что основной выигрыш Virtex-5
получил для двух шагов: вместо 68 ячеек доступно 96 — почти в полтора раза больше.
Такое решение существенно повышает привлекательность нового семейства в реальных
проектах среднего и большого размера, поскольку в синтетических тестах, обычно
имеющих небольшой объем, проблемы трассировки ресурсов зачастую в явном виде не
проявляются.
Таблица 1.1 - Число логических ячеек, доступных за фиксированное число шагов в
матрице локальных соединений
15
1.5 Блоки формирования тактового сигнала
При работе на высоких частотах формирование тактового сигнала становится весьма
ответственной задачей. Кроме задачи быстрого и одновременного распространения
тактового сигнала по всему кристаллу требуется решить задачу устранения джиттера,
который при таких небольших временах должен измеряться уже сотнями пикосекунд и
менее. Даже ранние семейства Virtex имели на кристалле модули цифровой
автоподстройки тактового сигнала (DLL — Delay Locked Loop). В семействе Virtex-4 эти
модули были заменены на более мощные DCM (Digital Clock Manager) с функциями
умножения и деления частоты, сдвига фазы и синхронизации как с внутренним, так и с
внешним источниками сигнала обратной связи. Альтернативой DLL является фазовая
подстройка частоты (PLL — Phase Locked Loop), обладающая рядом преимуществ.
Именно модули PLL и стали добавлением к существующим ресурсам формирования
тактового сигнала (рис. 1.7).
Рисунок 1.7 - Формирование тактового сигнала в ПЛИС Virtex-5
Новый вариант модуля формирования тактового сигнала носит название Clock
Manager Tile (CMT). На одном кристалле расположено 6 таких блоков, в каждом из
которых имеется два устройства DCM (цифровых) и одно устройство PLL (аналоговое). В
комбинации с глобальными трассировочными ресурсами для распространения тактового
сигнала проекты на базе Virtex-5 могут достигать тактовой частоты 550 МГц.
16
1.6 Состав семейства
ПЛИС Virtex-5, так же как и Virtex-4, разбиты на подсемейства (табл. 1.2),
отличающиеся соотношением логических ресурсов, памяти, блоков DSP, наличием
процессорных ядер и высокоскоростных приемопередатчиков.
Таблица 1.2 - Ресурсы ПЛИС семейства Virtex-5LX
Примечание: каждая секция Virtex-5 содержит 4 LUT и 4 триггера (в Virtex-4 — 2
LUT и 2 триггера)
Можно заметить, что в связи с «укрупнением» секции действительное число
триггеров и LUT в кристалле можно получить, умножив количество секций на 4 (а не на
2). Таким образом, наибольшее количество триггеров, доступное в семействе, — 207 360.
Тем не менее, в обозначение ПЛИС входит число 330, которое призвано соответствовать
числу логических ячеек.
Налицо некоторая путаница, для прояснения которой необходимо обратиться к
понятию «стандартная логическая ячейка» и вспомнить архитектуру LUT в Virtex-5. Дело
в том, что за понятием «стандартная логическая ячейка» стоит 1 триггер и 4-входовая
LUT. Очевидно, что такое же количество связок «триггер + 6-входовая LUT» сможет
обеспечить существенно большую функциональность.
Для отражения данного факта Xilinx предлагает некую собственную методику
пересчета имеющихся 6-входовых LUT в «эквивалентные ресурсы». При этом физически
реализованные 207 тыс. ячеек в сочетании с выделенными аппаратными ресурсами
рассматриваются как 330 тыс. «эквивалентных». Разумеется, такой подход выглядит
неоднозначно и дает повод для критики, поскольку формально число «физических»
триггеров в полтора раза меньше числа в обозначении ПЛИС. Однако следует еще раз
подчеркнуть, что оценка современных high-end FPGA является достаточно сложным и
длительным процессом, где требуется учесть множество факторов.
17
С учетом достаточно высокой цены высокопроизводительных ПЛИС изучение их
технических характеристик попросту не может ограничиваться изучением таблицы со
сводной информацией. Перед выполнением сложных и высокоскоростных проектов
рекомендуется
проводить
предварительные
исследования
при
помощи
пакетов
моделирования цифровых устройств (таких как ModelSim) и всесторонне изучить
характеристики выбранной ПЛИС до ее непосредственного приобретения.
1.7 Производительность
Для оценки производительности ПЛИС Virtex-5 воспользуемся тем же набором
синтетических тестов, который был приведен автором в одной из предыдущих
публикаций [1] для оценки производительности ПЛИС Virtex предыдущих семейств.
Набор тестов состоит из простого 16-разрядного счетчика, 16-разрядного АЛУ,
выполняющего элементарные арифметические и логические операции над двумя
операндами, и блока цифровой обработки, выполняющего перемножение 18-разрядных
операндов с накоплением в 48-разрядном аккумуляторе. Результаты работы САПР
приведены после этапа Translate, который дает верхнюю оценку тактовой частоты без
учета задержек на трассировочных линиях. ПЛИС Virtex-5, как и прочие FPGA Xilinx,
имеют так называемую speed grade, которая представляет собой интегральную оценку
скорости микросхемы. ПЛИС с большим классом допускает большие тактовые частоты.
Можно отметить, что счетчик на Virtex-5 перешагнул барьер в 500 МГц (хотя и всего
на 1 МГц), а операции «умножение с накоплением» можно выполнять на частотах 300–
400 МГц. В данном тесте использовалась схема синхронного сброса аккумулятора,
которая несколько снизила тактовую частоту по сравнению с заявленной производителем
частотой 550 МГц, теоретически достижимой на выделенных умножителях (рис. 1.8).
18
Рисунок 1.8 - Тактовая частота проектов в ПЛИС семейства Virtex-5 (МГц) для различных
классов скорости
При практической работе с высокопроизводительными ПЛИС имеет смысл уделять
серьезное
внимание
алгоритмам
трассировки
и
соответствующему
размещению
отдельных блоков на кристалле. Хорошие результаты получаются при использовании
САПР PlanAhead, которая представляет собой один из новых продуктов Xilinx.
1.8 Поддержка САПР и отладочные платы
Для быстрого освоения ПЛИС нового семейства фирмой Xilinx выпущена плата ML501. Платы серии ML-x0x представляют собой удобные средства для начала работы с
ПЛИС Virtex. Достаточно обратиться к линейке ML-401/402/403, которая представляет
собой весьма удобную платформу для освоения ПЛИС Virtex-4. Платы такого типа имеют
большое количество разнообразных периферийных устройств и, что весьма удобно,
допускают подключение устройств пользователя с помощью широко распространенных
разъемов с шагом 2,5 мм. Внешний вид платы ML-501 показан на рис. 1.9.
19
Рисунок 1.9 - Внешний вид платы ML-501

Установлена ПЛИС XC5VLX50FFG676.

DDR2 SODIMM (256 MB).

ZBT SRAM (1 MB).

Flash-ПЗУ (32 MB).

Контроллер System ACE CF (Compact Flash) для загрузки ПЛИС и работы в
качестве твердотельного диска.

Platform Flash для загрузки ПЛИС.

SPI Flash.

Интерфейс JTAG.

USB.

PS/2 — клавиатура, мышь.

Разъем RJ-45 и контроллер локальной сети на 10/100 Мбит/с.

Порт RS-232.

2 аудиовхода — линейный и микрофонный.

2 аудиовыхода.

Выход DVI/VGA.

Single-Ended and Differential I/O Expansion.

Набор переключателей (8), кнопок (5) и светодиодов (8).
20
2 Тенденции развития логических ресурсов ПЛИС Virtex-6
С
освоением
мировой
электронной
промышленностью
выпуска
цифровых
микросхем с технологическими нормами 45/40 нм вполне естественно было ожидать
перехода основных производителей FPGA на эту технологию. Фирма Xilinx анонсировала
новые семейства, выполненные с указанными нормами, в феврале 2009 г., и теперь, с
началом поставок
этих
устройств,
можно провести
характеристик.
21
сравнительный
анализ их
2.1 Состав семейств
Рассмотрим характеристики следующих платформах табл. 2.1.
Таблица 2.1 – Характеристики ПЛИС семейства Virtex 6
•
Virtex-6 LX/LXT — платформа с большим объемом логики;
•
Virtex-6 SXT — платформа, предназначенная для цифровой обработки сигналов;
•
Virtex-6 HXT — платформа, предназначенная для построения скоростных теле-
коммуникационных устройств на основе приемопередатчиков GTH с пропускной
способностью до 11,2 Гбит/с;
22
2.2 Анализ характеристик новых семейств
Возрастание сложности ПЛИС приводит к тому, что ознакомление только с технической документацией не всегда позволяет дать развернутую картину того, как именно
производить выбор ПЛИС для конкретного проекта с учетом особенностей архитектуры и
характеристик установленных на кристалле элементов. Поэтому в рамках настоящей
статьи будет сделана попытка указать на наиболее значимые новые свойства и те следствия, которые важны для практического конструирования.
2.3 Архитектура логических ячеек
Внесены ли в новые семейства принципиальные улучшения, которые позволяют
ожидать качественного роста характеристик проектов? На этот вопрос можно с уверенностью дать утвердительный ответ. В новых семействах в очередной раз изменена сама
структура логической ячейки: вместо конфигурации «LUT6 + триггер» (которая впервые
появилась в Virtex-5) введена «LUT6 + 2 триггера» (рис. 2.1).
Рисунок 2.1 – Эволюция архитектуры логической ячейки в различных поколениях FPGA
Virtex
С уменьшением технологических норм площадь логической ячейки стала уменьшаться. Вместе с тем возросли удельный вес и значимость трассировочных ресурсов и
выделенных аппаратных ядер. Экономия площади путем уменьшения размеров ячейки
перестала быть актуальной, и вместе с тем одна более мощная ячейка позволяла уменьшить общее количество ячеек, требуемых для реализации проекта.
23
Долгое время стандартным решением для комбинаторной логики в FPGA была 4входовая таблица истинности (LUT4), представляющая собой статическую память 16x1.
Добавление каждого нового входа к этой таблице удваивало требуемый размер памяти,
что вызывало рост площади ПЛИС в геометрической прогрессии. 4-входовая таблица
истинности долгое время была общепринятым компромиссом между занимаемой на
кристалле площадью и сложностью реализуемых функций, однако с развитием
архитектуры FPGA появлялось все больше и больше возможностей увеличения числа
входов комбинаторного выражения путем привлечения к его реализации дополнительных
ресурсов логической ячейки.
Такие конструкции с дополнительными входами могли реализовывать только
ограниченные классы комбинаторных схем; правда, в их числе такие широко распространенные узлы, как мультиплексоры. Однако с уменьшением площади кристалла,
требуемой для реализации логических генераторов, увеличение числа их входов
перестало быть настолько сложной задачей, чтобы сложность перевешивала получаемые
выгоды. Поэтому с переходом на 65-нм семейство Virtex-5 Xilinx добавляет два входа к
LUT, используя для этого статическую память 64x1. Такое решение снимало ограничения
на вид реализуемых комбинаторных выражений (оставляя при этом возможность
привлекать дополнительные ресурсы логической ячейки для дальнейшего наращивания
числа входов), а рост площади кристалла с учетом более плотной упаковки ресурсов
оказался не настолько существенным, чтобы неоправданно увеличить стоимость. Можно
заметить, что серия Virtex имеет больший удельный вес выделенных аппаратных ресурсов, на которые увеличение площади LUT никак не повлияло.
Устройства Virtex-5, по сведениям Xilinx, заняли 97% рынка 65-нм high-end FPGA,
что, несомненно, подтверждает правильность выбора архитектурных решений. Однако
при эксплуатации этих FPGA выявились интересные нюансы, проистекающие не из
технической, а скорее из организационной стороны проектирования на ПЛИС. Для
сложных проектов, особенно на таких емких устройствах, как Virtex-5, весьма эффективно использование IP-ядер (soft-IP), доступных через Core Generator. Однако ряд
таких ядер был тщательно оптимизирован для эффективной реализации в ПЛИС со старой
архитектурой, основанной на LUT4, и переход к 6-входовым LUT не позволил в полной
мере задействовать новые возможности Virtex-5. Рассмотрим простейший пример.
24
Допустим, что комбинаторная схема имеет 24 входа. Для простоты анализа примем
так
же, что
дополнительные ресурсы
ячеек
не
применимы, и
используются
исключительно LUT. Для реализации такой схемы требуется 6 LUT4 и только 4 LUT6. На
втором уровне будут, соответственно, 6 и 4 сигналов, и в общем случае потребуются две
LUT4 для объединения 6 сигналов второго уровня (а следовательно, еще и третий уровень
LUT из одной ячейки) и только одна LUT6. Если мы сориентируемся на максимальную
производительность и решим применить глубокую конвейеризацию, потребуются три
уровня триггеров для LUT4 (6 после первого уровня LUT и 2 после второго), а для LUT6
будет достаточно всего 4 триггеров.
Если жестко установить структуру такого узла с трехступенчатой конвейеризацией,
будет
не
только
неоправданно
увеличена
латентность,
но
и
задействованы
дополнительные триггеры. При этом необходимо иметь ввиду, что для Virtex-5 оценка
емкости выполнена в эквивалентных ячейках, приведенных к виду LUT4 + триггер.
Например, в V5LX330 имеется только 207 тысяч триггеров, которых, в принципе, может
оказаться вполне достаточно для схемы, ориентированной на LUT6. Однако жесткая
фиксация схемы с принудительным использованием LUT6 как LUT4 может исчерпать
триггеры ПЛИС, особенно в сложных проектах с глубокой конвейеризацией, которые
очень привлекательны для реализации в ПЛИС большого объема. Именно этот эффект и
наблюдался для ряда IP-ядер — в Virtex-5 быстро заканчивались триггеры, хотя
возможности логических генераторов использовались совершенно нерационально, и
число ядер, помещавшихся в ПЛИС, оказывалось заниженным. Для получения решения,
оптимального для Virtex-5, следовало провести повторный синтез ядер, отталкиваясь от
их поведенческого, а не структурного описания.
Семейства Virtex-6 выполнены по еще более тонкому технологическому процессу,
что дает основания предполагать возможность размещения еще большего количества
ресурсов в рамках одной логической ячейки. Именно это и можно наблюдать, анализируя
соотношение ресурсов: в новых семействах применена архитектура LUT6 + 2 триггера.
Второй триггер может быть использован как для более глубокой конвейеризации,
так и для реализации режима, в котором логический генератор используется как два 5входовых генератора. Естественно, они должны выбирать из 6 общих входов, но выходы
могут быть индивидуальными. При этом каждый выход таких LUT5 может быть
запомнен в собственном триггере. Это обеспечивает разработчикам (и алгоритмам
синтеза) большую гибкость, чем при использовании FPGA предыдущих поколений.
25
В целом, новая ячейка представляет собой вид ресурса ПЛИС, который улучшает характеристики проектов без необходимости специального вмешательства разработчика
(что требуется, например, для правильной настройки некоторых IP-ядер). Средства синтеза автоматически реализуют конструкции HDL на новых ячейках, эффективно используя и 6-входовые логические генераторы, и второй триггер. В то же время разработчик
может дополнительно обратить внимание на состав аппаратных ресурсов, реализуя такие
узлы, которые обеспечат «наиболее плотное прилегание к аппаратуре».
2.4 Архитектура CLB Virtex-6
CLB Virtex-6 включает в себя одну секцию SliceM и три секции SliceL (рис. 2.2).
Таким образом, уменьшения функциональности в серии Virtex не наблюдается. Более
того, Virtex-6 в каждой секции имеет две цепи ускоренного переноса, что облегчает,
например, построение сумматора трех операндов.
Рисунок 2.2 – Состав CLB семейства Virtex-6
Распределенная память строится на базе LUT в секциях SliceM, как и в предыдущих
поколениях FPGA, и может работать в режимах Single port, simple dual port, dual port и
quad port (один порт чтения/записи, три порта только для чтения). 6-входовая логическая
ячейка соответствует 64 битам памяти в одной LUT.
26
Между CLB семейства Virtex-6, как Virtex-5, проложены как вертикальные и
горизонтальные, так и диагональные трассировочные линии. Это позволяет охватить
короткими (и быстрыми) связями большее количество CLB, чем в предыдущих
поколениях FPGA (рис. 2.3). На рисунке цветами выделены CLB, трассировка до которых
может быть выполнена за 1, 2 и 3 шага соответственно. Количество ячеек, трассировка до
которых может быть выполнена за 2 шага, увеличивается — по сравнению с Virtex-4 —
примерно в полтора раза. Этот ресурс также применяется средствами трассировки
автоматически и не требует отдельного внимания со стороны разработчиков.
Рисунок 2.3 – Локальные соединения между CLB, выполняемые с применением
диагональной трассировки в семействах Virtex-5 и Virtex-6
В целом, характеристики ячейки семейства Virtex-6 схожи с характеристиками
ячейки Virtex-5 в плане дополнительных возможностей. Основным отличием, как уже
упоминалось выше, является наличие второго триггера, что позволяет реализовывать схемы с большим количеством этих элементов при меньших затратах логических ячеек.
27
2.5 Блочная память
Блочная память является показательным примером встроенного аппаратного ресурса, повышающего эффективность ПЛИС при решении типовых задач схемотехники.
Действительно, блок памяти занимает гораздо меньше места, чем аналогичный по емкости блок, выполненный на распределенной памяти логических ячеек, и к тому же он обладает предсказуемо высокими характеристиками производительности.
Память не претерпела революционных изменений и по-прежнему размещается блоками по 36 кбит в Virtex. Для ПЛИС нового поколения увеличен удельный вес блочной
памяти, что и показано на рис. 2.4.
Рисунок 2.4 – Зависимость объема блочной памяти от числа логических ячеек
Интересно заметить, что ПЛИС Virtex-6 LX/LXT имеют в 2 раза больший удельный
вес памяти, чем Virtex-5 LX, и такой же, как и в Virtex-5 SXT, хотя для цифровой обработки в целом требуется большой объем памяти для хранения коэффициентов и цифровых отсчетов. Для объемов свыше 220 тысяч ячеек темпы роста несколько замедляются, но Virtex-6 SXT, в свою очередь, удваивает показатель «объем памяти на единицу
логики».
28
2.6 Блоки цифровой обработки сигналов XtremeDSP
Количество блоков DSP в ПЛИС нового поколения также существенно увеличено.
Более того, преодолен рубеж в 2000 таких блоков, а с учетом максимальной тактовой
частоты — и рубеж пиковой производительности в 1 TMAC/s (рис. 2.5). Кроме того, платформа SXT, предназначенная для цифровой обработки, по объему ресурсов превосходит
Virtex-5 SXT, не перекрываясь, то есть младшая ПЛИС Virtex-6 SXT имеет больше логических ячеек и блоков XtremeDSP, чем любая из микросхем Virtex-5 SXT.
Рисунок 2.5 – Зависимость числа блоков DSP48 от числа логических ячеек
Virtex-6, имеют в своем составе блоки XtremeDSP, то есть устройства, способные
выполнять умножение с накоплением на системной тактовой частоте (600 МГц для Virtex6 и 325 МГц для Spartan-6). Для накопления используется 48-разрядный аппаратный
аккумулятор, который в семействе Spartan до этого существовал только в достаточно
дорогом подсемействе Spartan-3A DSP.
Блоки цифровой обработки в семействах Virtex-6 имеют существенное отличие:
блок DSP48E1 в Virtex-6 способен умножать 25- и 18-битные числа, а блок DSP48A1 в
Spartan-6 ограничивается двумя 18-разрядными операндами. Увеличение разрядности
одного из операндов до 25 бит не только способствует увеличению динамического диапазона представляемых значений, но и помогает с помощью всего двух умножителей 25x18
выполнять перемножение чисел с плавающей точкой с одинарной точностью (в формате
short float).
29
В предыдущих поколениях FPGA для этого потребовалось бы 4 умножителя, так что
новая архитектура блока XtremeDSP способствует эффективной реализации цифровых
фильтров, использующих более точное представление чисел.
Нововведением
—
по
сравнению
с
семейством
Virtex-5
—
является
предварительный сумматор (pre-adder), показанный на рис. 2.6.
Рисунок 2.6 – Предварительный сумматор в блоке XtremeDSP48E1
На первый взгляд, его функции существенно ограничены, а применение очень узко.
Однако такой модуль является хорошим примером технического решения, которое при
небольших аппаратных затратах позволяет получить существенный выигрыш при
реализации определенного класса алгоритмов. В данном случае речь идет о цифровых
фильтрах с симметричными коэффициентами (рис. 2.7).
H
Рисунок 2.7 – Пример симметричных коэффициентов цифрового фильтра
30
При прямом вычислении суммы произведений оказывается, что математически
выражение k13xx13+k17xx17 при равенстве k13 и k17 может быть представлено как
k13x(x13+x17). Для Virtex-6 операция суммирования цифровых отсчетов x13+x17 может
быть выполнена как раз добавленным предварительным сумматором. Можно обратить
внимание, что сумматор стоит в цепи 18-разрядного операнда, который предполагается
источником данных (25-разрядный операнд с большим динамическим диапазоном
предпочтительнее для передачи коэффициентов фильтра). В конечном итоге для фильтров
с симметричными коэффициентами мы имеем двукратное уменьшение количества требуемых для реализации блоков XtremeDSP. Разумеется, для этого необходимо, чтобы алгоритм обработки подразумевал использование симметричных коэффициентов, но это не
такой уж узкий класс алгоритмов цифровой обработки.
В табл. 2.2 показаны сводные характеристики производительности для FPGA
семейств Virtex разных поколений. Из таблицы видно, что пиковая производительность
возрастает в 2 раза при переходе к каждому новому семейству, что достигается прежде
всего соответствующим двукратным ростом количества блоков цифровой обработки
сигналов. Тактовая частота при этом возрастает приблизительно на 10% относительно
предыдущего семейства. Это означает, что получение максимальной отдачи от FPGA
серии SX возможно при глубоком распараллеливании процессов обработки, например при
реализации многоканальных фильтров высоких порядков.
Таблица 2.2 – Сводная таблица производительности FPGA Xilinx в задачах цифровой
обработки сигналов
31
2.7 Блоки ввода/вывода
Блоки ввода/вывода для семейства Virtex-6 претерпели в основном эволюционные
улучшения. Если для семейства Virtex-5 максимальная скорость обмена составляла 1,2
Гбит/с, то для Virtex-6 она оказалась увеличена до 1,4.
Тем не менее, в новом семействе можно наблюдать интересное добавление —
динамическое управление входным импедансом, что позволяет реализовать интерфейс
HSLVDCI — High-Speed Low Voltage Dynamically Controlled Impedance. Этот интерфейс
отличается пониженным потреблением энергии, поскольку позволяет отключать
терминаторы динамически, это показано на рис. 2.8.
Рисунок 2.8 – Динамическое отключение терминаторв при работе с двунаправленными
шинами
В данном случае показан пример реализации скоростной двунаправленной шины.
При чтении данных требуется установка резисторов pull-up и pull-down, что и реализуется
с помощью соответствующей настройки блока ввода/вывода. При записи данных терминаторы уже не требуются, однако в предыдущих поколениях FPGA они оставались бы
подключенными к выходному буферу, обуславливая повышенное потребление тока.
Динамическое управление импедансом позволяет отключать терминаторы, когда соответствующий вывод переключается в режим выхода.
32
2.8 Скоростные и последовательные интерфейсы
В части последовательных интерфейсов можно отметить анонс платформы Virtex-6
HXT с приемопередатчиками GTH, способными работать на скоростях до 11,2 Гбит/с. Это
событие дает богатый материал для переосмысления роли ПЛИС в практике
конструирования, по-скольку появляется реальная возможность создания недорогих
устройств, содержащих такие интерфейсы, как Gigabit Ethernet, SATA и PCI Express,
создаваемые на базе гигабитных приемопередатчиков.
Верхнего предела в 3,125 Гбит/с не хватает для реализации интерфейса PCI Express
2.0, который работает на скорости до 5 Гбит/с, однако достаточно для реализации первого
поколения этого интерфейса. Ядро PCI Express 2.0 доступно в составе Core Generator,
однако характеристики, касающиеся поддержки режима 8 lane, рекомендуется уточнять в
регулярно обновляемой Xilinx документации на данное IP-ядро.
Для ядра PCI Express доступна также функция Root Port, которая позволяет
соединять несколько ПЛИС с помощью этого интерфейса (без наличия компьютера).
2.9 Процессорные системы
С точки зрения создания процессорных систем Virtex-6 пока не предлагают
революционных решений. Для семейства доступны версии софт-процессора MicroBlaze,
получившие соответствующий прирост тактовой частоты; сборка системы на базе этого
процессора может быть проведена с помощью программного продукта Embedded
Development Kit.
Компанией Xilinx опубликован пресс-релиз, где объявлялось о начале совместной
работы компаний Xilinx и ARM по реализации процессорного ядра ARM Cortex и шины
AMBA в будущих поколениях FPGA Xilinx. Данное заявление открывает весьма широкие
перспективы
для
создания
систем
среднего
класса
(относительно,
например,
высокопроизводительных и дорогих систем на базе Virtex), поскольку процессоры ARM
имеют весьма обширную экосистему, как в плане
IP-ядер, так и в плане
инструментального программного обеспечения, библиотек и приложений.
33
2.10 Средства разработки
Поддержка новых семейств появилась в САПР ISE 11.2, которая претерпела
некоторые достаточно заметные изменения по сравнению с предыдущими версиями. В
версии 11 изменился порядок регистрации программного обеспечения — теперь вместо
ввода серийного номера используется привязка к сетевой карте или диску C: с генерацией
лицензионного файла. Лицензионный файл генерируется и для бесплатной версии ISE
WebPACK.
Далее, поставляемые наборы ПО разделены на Logic Edition, Embedded Edition и
DSP Edition. Полная версия называется System Edition. Отличия в комплектности
поставляемого программного обеспечения приведены в таблице 2.3.
Таблица 2.3 – Комплектность поставляемого программного обеспечения в различных
версиях САПР Xilinx
Из приведенных данных (табл. 2.3) можно видеть, что Embedded edition и DSP
edition отличаются наличием в своем составе САПР EDK/SDK и System Generator for DSP
соответственно. В каждой из платных версий имеется приложение ChipScopePro, позволяющее отлаживать ПЛИС в реальном времени.
34
Важным изменением является включение в состав бесплатной версии САПР
приложения PlanAhead, и более того — его интеграция в маршрут разработки ПЛИС. С
помощью PlanAhead выполняется не только планирование размещения компонентов на
кристалле, но и назначение выводов.
Полезные изменения произошли также в утилите Technology Viewer, которая предназначена для просмотра схемотехнического представления созданного блока или
проекта. Этот инструмент существовал и в предыдущих версиях, но для простых
проектов его использование было малоактуальным, а для сложных оказывалось, что
генерируемое изображение получается чересчур громоздким (для его отображения
используется до 10-15 закладок в интерфейсе). Даже найти критичные цепи, не говоря
уже об идентификации проблем, оказывается достаточно сложно. В 11-й же версии
Technology Viewer позволяет создать графическое изображение схемы для определенных
портов или сигналов. Получившееся изображение является интерактивным: можно по
желанию расширить его, показав источники и/или получатели сигналов любого из
блоков.
35
Заключение
В целом, можно сделать вывод, что новое поколение FPGA Xilinx предоставило
разработчикам мощную и разностороннюю аппаратную платформу для реализации
цифровых систем. Компания Xilinx не останавливается на достигнутом и постоянно
совершенствует свою продукцию.
Компания Xilinx разработала программируемую матрицу типа FPGA для
комплексных приложений, имеющая 6,8 миллиардов транзисторов и 2 миллиона
логических вентилей или 10 миллионов специализированных микросхем логических
вентилей. Элемент, называемый Virtex-7 2000T (рис.1), базируется на технологии,
называемой Stacked Silicon Interconnect. 2,5-D-IC-комплект (Stacking) реализует высокую
плотность логики в монолитном 28нм-FPGA.
Рисунок 1 – ПЛИС Virtex 7
За счет этого можно исключить интерфейсы ввода-вывода между различными
микросхемами на печатной плате и снизить суммарную мощность потерь системы. Так
как кристаллы расположены на кремниевой укладке бок о бок, то при этой технологии
отсутствуют проблемы, возникающие при отводе мощности потерь и в отношении
надежности, когда отдельные чипы накладываются друг на друга.
Интерпозер содержит свыше 10.000 быстрых соединений между всеми кристаллами,
что обеспечивает интеграцию с высокой производительностью. FPGA обеспечивает ту же
плотность логики, производительность, а также малую мощность потерь, что и
специализированная ИС – но обладает преимуществом, свойством репрограммируемости.
Все 28-нм-элемены Xilinx (Artix-7, Kintex-7, Virtex-7 и Zynq-7000 EPP) имеют единую
архитектуру. Они производятся по 28-нм-HPL-технологии компании ,TSMC. В настоящее
время поставляются первые опытные образцы Virtex-7 2000T. Пользователи могут уже
начинать свои разработки.
36
Список использованных источников
1.
Кузелин М. О., Кнышев Д. А., Зотов В. Ю. Современные семейства ПЛИС фирмы
Xilinx. Справочное пособие. М.: Горячая линия — Телеком. 2008.
2.
The Programmable Logic Data Book. Xilinx Inc. 2008.
3.
Virtex-4 Family Overview. Advance Product Specification. Xilinx Inc. 2009.
4.
Тарасов И. Эволюция ПЛИС серии Virtex // Компоненты и технологии. 2010. № 1.
37
Download