Основные особенности процессорной подсистемы ARM в ПЛИС Zynq UltraScale+

ПЛИС Xilinx семейства UltraScale+ и перспективы их применения

PDF версия
В феврале 2015 года компания Xilinx опубликовала предварительные технические сведения о новой аппаратной платформе FPGA и программируемых системах на кристалле. Новое семейство, названное UltraScale+, будет производиться с соблюдением 16 нм технологических норм на базе технологии FinFET компании TSMC. Особый интерес представляют микросхемы семейства Zynq, в которых существенно улучшена процессорная составляющая системы.

Введение

Ранние анонсы характеристик ПЛИС теперь считаются обычной практикой для производителей этой элементной базы. Освоение новых технологических процессов становится все более затратным мероприятием в связи с переходом к меньшим нормам, и изготовители элементной базы стремятся заранее привлекать внимание к новой продукции, на ранних стадиях ее жизненного цикла. В настоящее время технологический узел 14–16 нм для контрактного производства освоен компаниями Intel и TSMC. На мощностях TSMC и выпускается продукция Xilinx, причем по мере появления очередных поколений технологических процессов они используются для выпуска новых семейств ПЛИС.

В конце февраля 2015 года на сайте Xilinx опубликованы предварительные сведения о новом поколении программируемых микросхем, названном UltraScale+. Предыдущее поколение, первые образцы которого уже выпущены с применением норм 20 нм, именуется UltraScale, и название очередного семейства призвано отразить преемственность архитектуры, что и наблюдается в описании. Текущее состояние продукции Xilinx показано на рис. 1. Следует особо отметить, что появление технической документации на ПЛИС не означает возможности заказа данной продукции или даже гарантированных сроков возможности такого заказа, поскольку начало серийного выпуска столь высокотехнологичной продукции в большой степени зависит от мощностей контрактного производителя — компании TSMC. В настоящий момент Xilinx предоставляет все заявленные ПЛИС серии 7 (28 нм). Принимаются заявки на поставки образцов отдельных наименований ПЛИС UltraScale (20 нм). Соответственно, рассчитывать даже на инженерные образцы UltraScale+ в ближайшее время не следует, и планирование применения данной элементной базы в проектах необходимо отложить до появления официального подтверждения о возможностях поставки таких ПЛИС в гарантированные сроки.

Современные ПЛИС компании Xilinx

Рис. 1. Современные ПЛИС компании Xilinx

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

 

Основные характеристики ПЛИС UltraScale+

Семейство UltraScale+ следует назвать скорее эволюционным развитием предыдущего семейства UltraScale. Архитектура основных компонентов ПЛИС не изменилась, а максимальный логический объем даже уменьшился, если сравнивать с ПЛИС Virtex UltraScale объемом 4,4 млн логических ячеек, которая явно предназначена для прототипирования микросхем. В технических публикациях Xilinx [1] обращается внимание на существенное улучшение соотношения производительность/потребление, а также на дальнейшее увеличение количества трассировочных ресурсов, что должно помочь в достижении высоких показателей тактовой частоты проектов и коэффициента заполнения кристалла. Что касается цены на новые ПЛИС, можно указать, что на протяжении всей истории развития этих микросхем относительные показатели производительность/цена и объем/цена постоянно улучшались, а потому при переходе к новому поколению ПЛИС нужно ожидать и снижения общей стоимости изделий, хотя говорить о конкретных уровнях цен на данном этапе совершенно преждевременно.

Несколько слов стоит сказать об анализе того, что тактовые частоты основных компонентов в последнее время существенно не улучшаются. Является ли это недостатком микросхем Xilinx или же, возможно, объективным пределом частоты, который наметился в области программируемой логики? Обращаясь к разъяснениям Xilinx, выделим тот факт, что в процессе проектирования разработчик неминуемо ухудшает показатели проекта относительно предельно достижимых, которые и указаны в документации, как, например, «системная тактовая частота». Поэтому такие привлекательные «маркетинговые» числа, которые можно получить, умножив системную тактовую частоту на количество ресурсов, являются завышенными в несколько раз. Прежде всего, в реальных проектах обычно не удается добиться трассировки кристалла со 100%-ным или близким к этому заполнением, а тактовая частота оказывается ниже системной частоты в несколько раз, причем для этого есть совершенно объективные основания. В качестве близкой аналогии можно привести программы для настольных компьютеров, которые, разумеется, не выполняются с частотой, равной частоте процессора, умноженной на количество ядер. Поэтому разработчик систем на базе ПЛИС, по сути, добивается в первую очередь минимизации потерь частоты для своего проекта. Если сделать акцент на повышение системной тактовой частоты (от нее и происходит уход вниз), то большой кристалл и недостаточные трассировочные ресурсы быстро ликвидируют этот положительный эффект. Вот почему важнее сделать упор на развитие трассировочных ресурсов, а также алгоритмов размещения и трассировки. Именно на это обращает внимание Xilinx, в том числе применяя в новой САПР Vivado специальные алгоритмы оптимизации размещения, учитывающие возможности новых поколений FPGA.

Тем не менее нельзя не отметить целый ряд новых аппаратных блоков, существенно улучшающих функциональные возможности проектов. Самым заметным аппаратным нововведением стала память UltraRAM, представляющая собой совершенно новый тип компонента, ранее не встречавшийся в FPGA Xilinx. Это блоки синхронной статической двупортовой памяти с организацией 4096×72 бита (то есть в 8 раз большего объема по сравнению с Block RAM). Порты для доступа имеют, однако, общий вход тактового сигнала, а потому с помощью UltraRAM невозможно построить схему для передачи данных между тактовыми регионами. Однако от нового типа памяти этого и не требуется. На рис. 2 показаны основные типы памяти, используемые в ПЛИС Xilinx (включая и внешнюю память в качестве сравнения).

Типы памяти в UltraScale+

Рис. 2. Типы памяти в UltraScale+

На рис. 2 можно видеть, что память UltraRAM предлагает самый большой объем среди всех типов памяти, находящихся на кристалле ПЛИС. При работе с проектами часто оказывается, что блочная память, обладая прекрасными характеристиками производительности, имеет все же недостаточный объем для целого ряда задач. В проектах малого размера ее удобно использовать в качестве памяти процессорных ядер, а в ПЛИС объемом сотни тысяч логических ячеек — для буферизации видео или многоканальных цифровых потоков. В подобных случаях при всей полезности применения и очень высокой суммарной пропускной способности блочная память располагает довольно малым объемом, что не всегда позволяет в полной мере задействовать возможности вычислительных ресурсов ПЛИС. Вот почему для хранения больших объемов данных добавлен совершенно новый тип памяти, пригодный для создания более крупных массивов путем объединения и каскадирования нескольких модулей UltraRAM. Объем этой памяти находится в пределах от 18 до 432 Мбит, что позволяет полностью размещать на кристалле ПЛИС такие объекты, как, например, содержимое экрана с разрешением Full HD (1920×1080) или 4K2K (3940×2160). Причем данные распределены по множеству отдельных модулей, а значит, можно организовать параллельную цифровую обработку для фрагментов изображения.

Основные характеристики микросхем UltraScale+ приведены в таблицах 1, 2.

Таблица 1. Основные характеристики Kintex UltraScale+

 

ПЛИС общего назначения

ПЛИС, оптимизированные
для цифровой обработки сигналов

XCKU3P

XCKU7P

XCKU11P

XCKU15P

XCKU5P

XCKU9P

XCKU13P

Логические ячейки, тыс.

205

403

523

915

380

477

597

Память UltraRAM, Мбайт

18

27

22,5

36

18

0

31,5

Блочная память, Мбайт

5,1

11

21,1

34,6

16,9

32,1

26,2

Секции DSP

1056

1728

2928

1968

1824

2520

3528

PCI Express

2

2

4

5

1

0

0

GTH 16,3 Гбит/с

16

24

32

44

0

28

28

GTY 32,75 Гбит/с

0

0

20

32

16

0

0

Макс. кол-во выводов

208

416

416

572

208

208

208

Таблица 2. Основные характеристики Virtex UltraScale+

 

XCVU3P

XCVU5P

XCVU7P

XCVU9P

XCVU11P

XCVU13P

Логические ячейки, тыс.

690

1051

1379

2069

2147

2863

Память UltraRAM, Мбайт

90

132,2

180

270

324

432

Блочная память, Мбайт

25,3

36

50,6

75,9

70,9

94,5

Секции DSP

2280

3474

4560

6840

8928

11 904

PCI Express

2

4

4

6

3

4

150G Interlaken

3

4

6

9

9

12

100G Ethernet

3

4

6

9

6

8

GTY 32,75 Гбит/с

40

80

80

120

96

128

Макс. кол-во выводов

520

832

832

832

624

832

По данным таблиц 1 и 2 можно сделать некоторые замечания. Соотношение основных ресурсов семейств KintexUS+ и VirtexUS+ таково, что Kintex, как и в предыдущих семействах, выглядит привлекательным для задач цифровой обработки сигналов, имея больше секций DSP на одну логическую ячейку. Семейство VirtexUS+ ориентировано на коммуникационные приложения с высокой суммарной пропускной способностью аппаратных приемо-
передатчиков, а также на прототипирование (поскольку именно в Virtex наблюдается максимальное абсолютное количество ресурсов). В новом поколении FPGA поставлен очередной рекорд по количеству секций DSP (11904) и приемопередатчиков (128) — в микросхеме XCVU13P. На рис. 3 показано соотношение между секциями DSP и логическими ячейками для KintexUS+ и VirtexUS+.

Соотношение между логическими ячейками и секциями DSP в семействе UltraScale+

Рис. 3. Соотношение между логическими ячейками и секциями DSP в семействе UltraScale+

 

Семейство Zynq UltraScale+

Кроме собственно FPGA, по технологии 16 нм будет выпускаться и новое поколение семейства Zynq, в терминологии Xilinx называемое «полностью программируемая система на кристалле», отражая тот факт, что эти ПЛИС представляют собой не просто процессоры с программируемой периферией, а полноценную FPGA, которая среди аппаратных ядер имеет и аппаратную процессорную подсистему ARM-класса.

Микросхемы Zynq не были выпущены для поколения ПЛИС по 20‑нм техпроцессу. Предыдущий вариант, Zynq‑7000, относится к 28‑нм серии 7. В нем использовалось аппаратное ядро ARM Cortex-A9 с двумя 32‑разрядными ядрами. Новые продукты отнесены к классу МПСнК (многопроцессорная система на кристалле). Различие между терминами «мультипроцессорная» (multi-core) и «многопроцессорная» (many-core), принятое в микроэлектронной отрасли, заключается в том, что в первом случае имеется в виду набор одинаковых ядер, объединенных на кристалле тем или иным образом (локальными связями, общей шиной и т. д.). Примером мультипроцессорных систем являются современные процессоры Intel Core или ARM Cortex-A. Следующий шаг, many-core, означает, что в системе находятся процессоры с различными архитектурами, оптимизированные для выполнения соответствующих задач. Это усложняет вопросы проектирования, однако позволяет добиться большей эффективности в использовании вычислительных ресурсов.

Многопроцессорная система в ZynqUS+ состоит из следующих компонентов:

  • 4‑ядерный 64‑битный процессор общего назначения ARM Cortex-A53;
  • 2‑ядерный 32‑битный процессор для задач реального времени ARM Cortex-R5;
  • графический процессор ARM Mali‑400MP;
  • видеокодек H.265, способный обрабатывать потоки Full HD (60 кадров/с) или 4K2K (15 кадров/с).

Основные особенности процессорной системы ARM в ПЛИС Zynq UltraScale+ показаны на рис. 4. В следующем поколении МПСнК поддерживается подход «свой процессор для каждого класса задач». Действительно, набор из процессоров общего назначения для прикладных программ, процессоров реального времени для ответственных применений и графического сопроцессора является практически стандартным для современных вычислительных систем (например, высокопроизводительных планшетов). В случае ZynqUS+ к этому набору можно добавить матрицу программируемых ячеек, которые способны выступать в качестве программируемых ускорителей. Важно, что пиковая производительность такого ускорителя достигает единиц TMAC/s (триллионов операций «умножение с накоплением»), что на несколько порядков превосходит возможности даже 4‑ядерного ARM.

Основные особенности процессорной подсистемы ARM в ПЛИС Zynq UltraScale+

Рис. 4. Основные особенности процессорной подсистемы ARM в ПЛИС Zynq UltraScale+

Основные характеристики МПСнК Zynq UltraScale+ приведены в таблицах 3–5. Семейство разделено на три платформы, ориентированные на задачи управления (Control), обработки видео (Vision) и работы с сетью (Network). Платформы различаются соотношением и самим набором основных ресурсов — так, у микросхем, ориентированных на работу с сетью, отсутствует видеокодек, однако имеются аппаратные ядра Interlaken и 100G Ethernet.

Таблица 3. Основные характеристики Zynq UltraScale+ МПСнК

 

Zynq UltraScale+ МПСнК

Zynq-7000

Техпроцесс

16 нм FinFET+ TSMC

28 нм

Процессорное ядро общего назначения

4-ядерный ARM Cortex-A53 MPCor.

Частота до 1,3 ГГц

2-ядерный ARM Cortex-A9 MPCore.
Частота до 1 ГГц

Процессорное ядро для задач реального времени

2-ядерный ARM Cortex-R5 MPCore.

Частота до 600 МГц

Графический процессор

Mali-400MP до 466 МГц

Управление питанием

Несколько доменов питания. Индивидуально контролируемые области

Поддержка памяти

DDR4, LPDDR4, DDR3, DDR3L, LPDDR3, 2×Quad-SPI, NAND

DDR3, DDR3L, DDR2, LPDDR2,
2×Quad-SPI, NAND, NOR

Высокоскоростные интерфейсы

2×USB 3.0, SATA 3.0, DisplayPort, 4×Tri-mode Gigabit Ethernet,

PCIe Gen2×4

Интерфейсы общего назначения

2×USB 2.0, 2×SD/SDIO, 2×UART, 2×CAN 2 B, 2×I2C, 2×SPI, 4×32 bit GPIO

2×USB 2.0 (OTG), 2×Tri-mode Gigabit Ethernet, 2×SD/SDIO

Системный монитор

10-бит, 1 МГц — контроль напряжения, тока и температуры

Характеристики матрицы логических ячеек

 

Управление (Smarter Control)

Видео
(Smarter Vision)

Сеть
(Smarter Network)

На базе
Artix

На базе
Kintex

Логические ячейки, тыс.

155

405

920

85

444

Секции DSP

728

1728

3528

220

2020

Распределенная память

3,6 Мбит

6,2 Мбит

11 Мбит

 

 

Блочная память

7,7 Мбит

11,2 Мбит

35,4 Мбит

560 кбайт

3020 кбайт

Блоки UltraRAM

13,5 Мбит

27 Мбит

128 Мбит

Интерфейсы PCI Express

Gen4×8; Gen3×16

Gen2×4

Gen2×8

Видеокодеки

1

1

150G Interlaken

4

100G Ethernet MAC

4

Приемопередатчики MGT

20 при 16 Гбит/с

28 при 16 Гбит/с

76 при 33 Гбит/с

4 при 6,6 Гбит/с

16 при 12,5 Гбит/с

Блоки AMS (Analog Mixed Signal)

Системный монитор — 10 бит, 1 МГц АЦП, 17 дифференциальных входов

XADC — 2×12 бит, 1 МГц АЦП, 17 дифференциальных входов

Таблица 4. Характеристики микросхем Zynq US+, предназначенных для управления и обработки видео

 

ZU2EG

ZU3EG

ZU4EV

ZU5EV

ZU7EV

Логические ячейки, тыс.

83

103

153

204

403

Триггеры, тыс.

94

118

176

234

461

Распределенная память, Мбит

1,3

1,7

2,7

3,6

6,2

Блочная память, Мбит

5,3

7,6

4,5

5,1

10,9

Память UltraRAM, Мбит

13,5

18

27

Секции DSP

240

360

728

1056

1728

Видеокодек

1

1

1

PCI Express

2

2

2

Таблица 5. Характеристики микросхем Zynq US+, предназначенных для работы с сетью

 

ZU6EG

ZU9EG

ZU15EG

ZU11EG

ZU17EG

ZU19EG

Логические ячейки, тыс.

375

480

597

522

740

914

Триггеры, тыс.

429

548

682

597

847

1045

Распределенная память, Мбит

6,9

8,8

11

8,9

7,8

9,6

Блочная память, Мбит

25

32

26,1

21,1

28

34,6

Память UltraRAM, Мбит

31,5

22,5

28,7

36

Секции DSP

1972

2520

3528

2928

1590

1968

Видеокодек

PCI Express

4

4

5

150G Interlaken

2

2

4

100G Ethernet

1

2

4

В целом эволюция платформы Zynq проиллюстрирована на рис. 5. Можно видеть, что процессорная часть существенно усилена: от двухъядерного 32‑разрядного процессора произведен переход к 4‑ядерному 64‑разрядному. Добавленный графический сопроцессор и видеокодек однозначно ориентируют новое поколение Zynq на работу с видеопотоками. В сочетании с программируемыми ресурсами на базе этих микросхем можно построить высокопроизводительную систему обработки видео, включающую не только его захват и воспроизведение, но и анализ изображения в реальном времени (например, для систем безопасности, автомобильной электроники и мобильных роботов различного назначения).

Эволюция платформы Zynq от серии 7 к UltraScale+

Рис. 5. Эволюция платформы Zynq от серии 7 к UltraScale+

 

Заключение

Компания Xilinx в очередной раз продемонстрировала своевременное освоение новых технологических процессов для выпуска нового поколения ПЛИС. Новые семейства представляют интерес ввиду наличия новых аппаратных ядер, что особенно заметно на примере Zynq.

Литература
  1. Santarini M. Xilinx 16nm UltraScale+ Devices Yield 2-5X Performance/Watt Advantage.
  2. UltraScale Architecture

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

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