Часть 1. Мир Xilinx
Часть 2. Мир Intel (Altera)

В опубликованном ранее переводе обзора 98 «хакерских» плат немалый интерес аудитории вызвали платы на базе SoC, сочетающих в себе ядра ARM и FPGA, такие, как Parallella. И это неудивительно, ведь такая комбинация даёт воистину потрясающие возможности по сравнению с «просто» процессором или «просто» FPGA. На таких SoC можно строить системы, сочетающие в себе алгоритмичски сложные задачи, поддержку сетевых стеков, GUI и прочих вещей, проще поддающихся реализации на процессоре, и задачи, требующие жесткого реального времени, обработки сигналов, обработки изображений и другие задачи, для реализации которых удобны FPGA. Разумеется, для многих задач можно использовать простые FPGA (возможно, включив в них IP-ядро процессора типа NIOS II или MicroBlaze), многие задачи можно решить на процессоре достаточной мощности, используя операционные системы реального времени (типа RTEMS), но всё же, SoC являются в настоящее время очень привлекательным вариантом для решения множества задач, как в профессиональных областях, так и для хобби.



В настоящее время существует множество SoC, сочетающих в себе FPGA и процессорные ядра, они имеют разную стоимость, и мы из всего множества выделим два семейчтва, относительно недорогих микросхем: Cyclone V компании Intel (Altera), и Zynq-7000 компании Xilinx. Оба семейства содержат двухъядерный ARM Cortex A9 + FPGA. Zynq также бывают одноядерные Zynq-7000S и четырёхядерные UltraScale+. Все подобные микросхемы поставляются в корпусах BGA, поэтому не стоит рассчитывать на то, что вы легко и просто спаяете такую плату дома (хотя теоретически это возможно). Но многие платы имеют вид SOM (система-на-модуле), что делает их удобными для встраивания в свои изделия, единичные или серийные.

Другими представителями SoC являются семейства Arria V, Arria 10, Stratix 10 (Intel) и Virtex 7 (Xilinx). В чипах Xilinx Virtex также встраивались процессорные ядра PowerPC до семейства Virtex 6 включительно. Однако стоимость плат на этих чипах может быть весьма высока.

Стоит также отметить, что в среднем цены на платы с SoC такого типа гораздо выше, чем на платы типа Raspberry Pi, это плата за гораздо большие возможности, которые вы получаете. Цены на платы начинаются примерно от 100 долларов и могут достигать нескольких тысяч долларов, и последние, очевидно, выходят за рамки, приемлемые для хобби (хотя, для кого-то, возможно, и нет). Я не стал включать в обзор такие дорогие платы, ограничившись платами максимум за несколько сотен долларов.

Итак, Cyclone V и Zynq-7000, чем они отличаются? Аппаратно это весьма близкие системы, имеющие два ядра Cortex A9 и некоторое количество ячеек FPGA. В программном обеспечении разница есть.

Для Intel средой разработки проектов FPGA служит Quartus Prime, а средой разработки программного обеспечения — DS-5 Altera Edition. Она позволяет (в бесплатном варианте) разрабатывать приложения под Linux, однако если вы захотите разрабатывать приложения, работающие в режиме Bare Metal (без ОС), то вам понадобится коммерческая версия DS-5. И Quartus Prime, и DS-5 существуют в версиях под Windows и под Linux. Следует понимать также, что установка и настройка этих программ под Linux потребует от вас определённых скиллов и поиска решений в интернете. В Windows всё ставится «из коробки».

Для Xilinx Zynq-7000 (и других FPGA «седьмого» поколения) средой разработки проектов FPGA является Vivado, средой разработки ПО — Xilinx Software Development Kit (SDK). Он бесплатен и не имеет многих ограничений, которые есть у DS-5 Altera Edition. Оба продукта также доступны в версиях для Linux и для Windows, однако следует знать, что Vivado для Linux устанавливается не на любую Linux. Я успешно устанавливал его в Ubuntu, но в Debian он не заработал. Под Windows проблем возникнуть не должно. Для того, чтобы начать работать со средами разработки Xilinx, можно использовать замечательные книги — «The Zynq Book» (L. Crockett, R. Elliot и др), которая содержит «теоретическую» часть и «The Zynq Book Tutorials for Zybo and ZedBoard» (тех же авторов) для «лабораторных работ». Обе книги доступны для скачивания официально и бесплатно.



В целом, для начинающих Xilinx Zynq является (на мой субъективный взгляд) гораздо более простым вариантом в плане изучения, с меньшими трудностями, чем в случае Intel Cyclone V. Повторюсь, однако, что это мой субъективный взгляд, основанный на моём личном опыте с той и другой системой. Если вы имеете другое мнение по этому вопросу, напишите в комментариях, будет интересно узнать и об опыте других людей.

Для обзора я выбирал платы на основе Cyclone V и Zynq-7000, имеющиеся в продаже на текущий момент. Некоторые из них являются одиночными платами, содержащими в себе всё необходимое для подключения и работы с платой, другие состоят из базовой платы и мезонинного модуля (платы, устанавливаемой на базовую плату). Во втором случае будет указана стоимость как модуля, так и базовой платы. Возможно, я пропустил какие-то платы, если вы знаете о платах, не вошедших в обзор, прошу в комментарии.

На что следует обращать внимание при покупке платы, кроме цены?

Во-первых, есть ли JTAG на плате. Если его нет, то вам понадобится внешний JTAG-адаптер, который нужно будет приобретать отдельно. И в этом случае вам нужно проверить, что все сигналы JTAG выведены на разъём и доступны для использования. Без JTAG теоретически тоже можно работать, но всё же лучше, чтобы он был.


Отдельно адаптер JTAG можно купить на aliexpress от $22,5 (разумеется, не оригинальный).

Во-вторых, разъёмы. Разъёмы на плате могут быть «стандартные» IDC, с шагом 2,54 мм или высокоскоростные разъёмы типа FMC (Xilinx) или HSMC (Altera), или другие. Для подключения чего-либо низкоскоростного (светодиодов, кнопок, разных внешних устройств) IDC удобен, но АЦП на 125 МГц, например, через него не подключить, нужен high-speed разъём. В то же время, если у вас есть плата только с high-speed соединителем, вы попадёте в затруднительное положение, если захотите подключить к нему что-либо своё, т.к. такие разъёмы дороги, и требуют для разводки скоростных сигналов многослойную плату. Имеющиеся в продаже платы переходников HSMC-IDC также пугающе дорого стоят.

Некоторые платы имеют разъёмы для шилдов Arduino. Уж не знаю, насколько это важно для вас, но вдруг кому-то важно. Платы производства Digilent имеют разъёмы для модулей PMOD, и, соответственно, эти модули также имеются в продаже в большом количестве. Конечно, никто не запрещает вам подключать к этим разъёмам любые свои устройства.

В-третьих, периферия. Вам нужен не голый процессор, ведь так? Нужна поддержка сети, нужен выход видео (а, возможно, и вход видео), нужны входы и выходы аудио, иная периферия. Составьте список тех устройств, которые вам нужны или могут понадобиться, и выбирайте плату, исходя из него.

В-четвёртых. Уровень поддержки. Плата должна иметь открытую принципиальную схему, доступные для скачивания образы Linux, документацию. Желательно наличие большого сообщества, книг, статей, роликов на youtube, которые помогут вам разобраться с неизбежными проблемами. Также уточните, есть ли для платы готовые файлы BSP (board support package), так как без них вы даже не сможете собрать проект, чтобы помигать светодиодиком.

Также следует сказать, что все цены в обзоре приведены без учёта доставки.

На некоторые платы цены довольно высоки, однако, на ebay можно купить (если повезёт) б/у плату с большой скидкой, хотя их, возможно, придётся ловить, полагаясь на удачу.

Большая часть плат в этом обзоре построена на базе SoC Zynq 7010 и 7020 (также обозначаемых как XC7Z010 и XC7Z020). Для понимания места этих чипов в продуктовой линейке Xilinx Zynq-7000 см. картинку ниже. Все эти SoC имеют 2 процессорных ядра, но также существуют семейства Xilinx Zynq-7000S с одним ядром и Xilinx Zynq UktraScale с 4 ядрами.



А сейчас приступим к обзору.

Платы Digilent


ZedBoard




Производитель: Digilent
SoC: XC7Z020 (Dual-core ARM Cortex-A9 )
RAM: 512 MB DDR3
Flash: 256 MB Quad-SPI
Размеры: 160х135 мм
Ethernet: 10/100/1000
JTAG: On-board USB-JTAG
Другие расширения:
  • SD card
  • USB OTG 2.0 and USB-UART
  • Analog Devices ADAU1761 SigmaDSP Stereo, Low Power, 96 kHz, 24-Bit Audio Codec
  • Analog Devices ADV7511 High Performance 225 MHz HDMI Transmitter (1080p HDMI, 8-bit VGA) 128x32 OLED
  • PS & PL I/O expansion (FMC, Pmod, XADC)

Цена: $495 (академическая цена по запросу)

Структурная схема платы


Одна из самых дорогих плат в обзоре, хотя ничего особенного, кажется, на ней нет.

Из плюсов: есть JTAG, есть разъем расширения FMC для high-speed и «простые» низкоскоростные разъёмы PMOD.

Также большим плюсом для начинающих является то, что плату можно изучать по книге «The Zynq Book Tutorials for Zybo and ZedBoard».

Zybo




Производитель: Digilent
SoC: XC7Z010 (Dual-core ARM Cortex-A9 ) 667 MHz
RAM: 512 MB x32 DDR3 w/ 1050Mbps bandwidth
Flash: 128 Mb Serial Flash w/ QSPI interface
Размеры: 122 * 84 мм
Ethernet: 10/100/1000
JTAG: On-board USB-JTAG
Другие расширения:

  • microSD slot (supports Linux file system)
  • High-bandwith peripheral controllers: 1G Ethernet, USB 2.0, SDIO
  • Low-bandwidth peripheral controller: SPI, UART, I2C
  • HDMI вход/выход
  • VGA выход 16 бит/пискел
  • OTG USB 2.0 PHY (host и device)
  • EEPROM, содержащая уникальный 48-битный идентификатор
  • Аудиокодек, выход на наушники, вход микрофона, линейный вход
  • GPIO: 6 кнопок, 4 переключателя, 5 LEDs
  • 6 портов PMOD

Цена: $189 (академическая цена по запросу)

Структурная схема платы


«Уменьшенный» вариант ZedBoard. Установлен SoC XC7Z010, и нет FMC. В остальном плата аналогична Zedboard. Интересно то, что высокоскоростные сигналы в виде 100-омных дифференциальных пар выведены на разъём PMOD (подробности см. в документации). При изучении также можно руководствоваться книжкой «The Zynq Book Tutorials» при изучении.

Arty Z7-10, Arty Z7-20




SoC: Arty Z7-10 — Zynq 7010, Arty Z7-20 — Zynq 7020
RAM: 512MB DDR3 with 16-bit bus @ 1050Mbps
Flash: 16MB Quad-SPI Flash
Ethernet: Gigabit Ethernet PHY
Размеры: 88 * 109 мм
JTAG: USB-JTAG
Цена: $149 (Arty Z7-10), $209 (Arty Z7-20)

Другие возможности:

  • USB UART
  • USB OTG
  • 4 push-buttons
  • 2 slide switches
  • 4 LEDs
  • 2 RGB LEDs
  • Up to 49 Total FPGA I/O
  • HDMI вход и выход

Маленькая плата с богатыми возможностями. Есть вход и выход HDMI, аудиовыход, два разъёма PMOD. В принципе, всё, что нужно для начала работы с Zynq. Очень хороший вариант для начинающих. На github доступны разные файлы примеров, BSP и прочее.

PYNQ-Z1




SoC: Zynq 7020
RAM: 512MB DDR3 with 16-bit bus @ 1050Mbps
Flash: 16MB Quad-SPI Flash
Ethernet: Gigabit Ethernet PHY
Размеры: 88 * 124 мм
JTAG: USB-JTAG
Цена: $229 (академическая цена по запросу)

Другие возможности:

  • USB UART
  • USB OTG
  • 4 push-buttons
  • 2 slide switches
  • 4 LEDs
  • 2 RGB LEDs
  • Up to 49 Total FPGA I/O
  • HDMI вход и выход

Плата предназначена для демонстрации возможностей проекта Pynq (Python на Zynq).

Аппаратно плата является почти полным аналогом Arty Z7-20, отличаясь от неё только наличием микрофона и выключателя питания. К ней, соответственно, подходит всё ПО для Arty Z7-20, включая файлы BSP.

Платы Avnet


MicroZed




Структурная схема платы



Производитель: Avnet
SoC: Zynq 7010 или Zynq 7020
RAM: 1 GB of DDR3 SDRAM
Flash: 128 Mb of QSPI Flash
Ethernet: 10/100/1000
JTAG: нет
Размеры: 102x57 мм
Цена: Zynq 7010 — $178, Zynq 7020 — $213 (в варианте Commertial Grade)

Другие возможности:

  • USB-UART
  • 2x6 Digilent Pmod
  • User LED and push switch

Эта плата является модулем для установки на базовую плату.

Плюсом платы является то, что про неё написана целая книга: «The MicroZed Chronicles — Using the Zynq 101» (Adam Taylor), даже целых две части. Эта книга основана на материале из блога автора книги. Все эти материалы доступны в сети бесплатно, или вы можете купить книгу по $8,85 за каждую часть (Kindle edition).

Базовых плат к MicroZed три.

Первая — MicroZed Breakout Carrier Card



Самая простая плата, содержит только разъёмы и цепи питания.
Цена: $59

Вторая — MicroZed I/O Carrier Card



Цена: $149
Плата большего размера, имеет разъёмы PMOD и переключатели.

Третья — MicroZed Carrier Card Kit for Arduino



Отличается от второй наличием разъёмов Arduino и меньшим количеством разъёмов PMOD.
Цена: $89.00

PicoZed




Структурная схема


Производитель: Avnet
SoC: Zynq 7010, Zynq 7015, Zynq 7020, Zynq 7030
RAM: 1 GB of DDR3 SDRAM
Flash: 128 Mb of QSPI Flash, 4 GB eMMC
Ethernet: 10/100/1000
JTAG: нет
Размеры: 102x57 мм
Цена: Zynq 7010 — $178, Zynq 7015 — $265, Zynq 7020 — $213, Zynq 7030 — $375

Другие возможности:

  • USB 2.0 PHY

Плата выпускается в множестве вариантов с разными чипами Zynq, в коммерческом и индустриальном исполнениях. Приведены цены для коммерческого исполнения.

Модуль без каких-либо внешних разъемов, и без базовой платы его использовать нельзя.
На данный момент единственной базовой платой является PicoZed FMC Carrier Card V2:



Цена: $349

PicoZed (SDR) Development Kit/ADRV9361




Структурная схема


Производитель: Avnet, Analog Devices
SoC: Zynq 7035
RAM: 1 GB of DDR3L DRAM
Flash: 256 Mb of QSPI Flash
Ethernet: 10/100/1000
JTAG: нет
Размеры: 100x62 мм
SOM выпускается в вариантах 1x1 (один приемный канал и один передающий канал) и 2х2 (так называемый режим MIMO).
Цена SOM: $549 (1x1), $1095 (2x2) (в настоящее время отсутствует в продаже, см. подробности ниже)
Цена базовой платы ADRV1CRR-BOB: $199
Цена базовой платы ADRV1CRR-FMC: $599

Другие возможности:

  • USB 2.0 OTG ULPI PHY
  • Analog Devices AD9361-BBCZ Integrated RF Agile Transceiver
  • Miniature RF connectors – 4 TX, 4 RX, 2 TX monitor

Не следует путать эту плату с PicoZed, это совершенно разные вещи. Плата PicoZed SDR предназначена для построения SDR (software defined radio) трансивера, и имеет для этого микросхему аналогового фронтенда AD9361. Сама по себе эта микросхема очень недешевая (оптовая цена производителя $175 для партии от 100 шт.), что сказалось на стоимости платы. К тому же эта плата фактически является SOM-модулем, и для неё нужна базовая плата (PicoZed SDR Breakout Carrier). Базовые платы для PicoZed SDR выпускались в двух вариантах, один из которых вы можете видеть на фотографии ниже.



А теперь плохая новость: Оба варианта платы PicoZed SDR Breakout Carrier, как и сама PicoZed SDR, сняты с производства компанией Avnet, но компания Analog Devices предлагает эти платы под названием ADRV9361. В настоящее время плата от AD находится в состоянии Pre-Release, и купить её пока нельзя. Цена, указанная в описании, это последняя известная цена Avnet на эту плату.

UltraZed-EG


Всё-таки я решил включить в обзор одну плату на Zynq UltraScale.



Структурная схема


Производитель: Avnet
SoC: Zynq UltraScale+ MPSoC XCZU3EG-SFVA625
RAM: 2GB DDR4 SDRAM
Flash: 64MB Dual QSPI Flash
Размер: 51x89 мм
Ethernet: 10/100/1000
JTAG: нет
Цена: $535

Самая мощная плата из приведённых в обзоре, основана на четырёхядерном Zynq UltraScale+. Требует для работы установку на базовую плату.

Базовые платы:

UltraZed IO Carrier Card



Цена: $499

UltraZed PCIe Carrier Card



Цена: $499

MiniZed




Структурная схема


Производитель: Avnet
SoC: Zynq 7Z007S
RAM: 512 MB DDR3L
Flash: 128 Mb QSPI flash, 8 GB eMMC
Размеры: 71x76мм
Ethernet: нет
JTAG: USB JTAG на плате
Цена: $89

Другие возможности:

  • Wi-Fi 802.11b/g/n
  • Bluetooth 4.1 plus EDR and BLE (Bluetooth Low Energy)
  • USB 2.0 Host
  • USB UART
  • Термодатчик и акселерометр
  • 2 х PMOD

Простая и относительно дешевая плата на одноядерном 7Z007S. Неплохой вариант за свою цену. Огорчает отсутствие Ethernet, но зато есть Wi-Fi и Bluetooth, а с ним всё становится лучше.

Платы MYIR Tech Limited


Теперь будут платы от компании MYIR Tech Limited (http://myirtech.com/). Эта компания производит множество плат, не только на Xilinx Zynq, и устанавливает на свою продукцию относительно невысокие цены.

Z-turn Lite




Структурная схема платы


SoC: Zynq 7007S или Zynq-7010
RAM: 512MB DDR3 SDRAM
Flash: 4GB eMMC Flash, 16MB QSPI Flash
Размер: 91 x 63 мм
Ethernet: 10/100/1000M Ethernet
USB: USB2.0 OTG
JTAG: нет
Цена: $69 (7007S), $75 (7010)

Самая дешевая плата в обзоре, тем не менее, выглядит вполне достойно. Может устанавливаться на базовые платы, доступные для Z-turn Board (см. далее). Некоторым недостатком можно считать то, что большая часть пинов I/O выведена на специальный разъём снизу платы, но никаких базовых плат не предлагается.

Z-turn Board




Структурная схема платы



SoC: Zynq 7010 или Zynq 7020
RAM: 1GB DDR3 SDRAM
Flash: 16MB QSPI Flash
Размер: 102х63 мм
Ethernet: 10/100/1000
JTAG — нет, разъем доступен на плате.
Цена: $99 (Zynq 7010), $139 (Zynq 7020)

Другие возможности:

  • USB_UART, USB2.0 OTG, CAN, HDMI, TF, …
  • Three-axis Acceleration Sensor and Temperature Sensor

На хабре уже был обзор этой платы.
Недорогая плата, может использоваться самостоятельно, но лучше сразу купить базовую плату.
Также в продаже есть LCD — дисплей к этой плате, модуль камеры, модуль Wi-Fi.
Можно также приобрести базовую плату Z-turn IO Cape:



Цена $35

MYD-C7Z010/15/20 Development Board




Структурная схема


SoC: Zynq 7010, Zynq 7015 или Zynq 7020
RAM: 1GB DDR3 SDRAM
Flash: 4GB eMMC, 32MB QSPI
Размер: 190х110 мм
Ethernet: 10/100/1000
JTAG: нет
Цена: $309 (Zynq 7010), $369 (Zynq 7015), $329 (Zynq 7020)

Другие возможности:

  • 4 x USB2.0 Host, CAN, HDMI, LCD, TF
  • 1 x XADC, 3 x PMoD, 1 x FMC
  • Optional 4.3 or 7 inch LCD/TSP

Самая богато оснащённая из плат в обзоре. Предлагается сразу комплект из базовой платы и SoM-модуля, цена указана за комплект. Цена может показаться высокой, однако за такой набор возможностей это довольно умеренная цена. Плату стоит приобрести, если вы хотите делать серьёзные проекты, с применением FMC и большим количеством другой периферии. Но следует помнить, что на этой плате, как и на других платах этой фирмы, нет USB-JTAG.

Trenz Electronic


Немецкая компания Trenz Electronic (trenz-electronic.de) предлагает множество плат на Zynq-7000 и Zynq UltraScale, но явная ориентированность на рынок промышленных SOM и довольно высокие цены делают эти платы не очень привлекательными для наших целей. Однако я включил в обзор три платы от Trenz, просто для порядка.

DIPFORTy1 «Soft Propeller»


SoC: Zynq-7010
Flash: 16 MByte
RAM: нет
JTAG: нет
Ethernet: нет
Цена: €59.00
Размер: 18*51 мм

Другие возможности:

  • RGB LED (PL I/O connected)
  • «Done» LED (inverted polarity)
  • User LED (ARM CPU MIO GPIO)
  • MicroSD Card socket (MIO, ZYNQ secondary boot media)
  • Sil1143 Proximity and ambient light sensor

Когда-то компания Parallax выпустила «многоядерный микроконтроллер» Propeller. Компания Trenz сделала совместимую с ним плату под панель DIP-40 с чипом Zynq.



Структурная схема


Памяти нет, флеш 16Mb. Запустить Linux на этой плате не получится, т.к. нет памяти, и в целом, смысла в приобретении этой платы практически нет.

ZynqBerry



Плата на Zynq в формате Raspberry Pi

SOC: Zynq 7007S, Zynq 7010
RAM: 512 MByte DDR3L SDRAM
Flash: 16 MByte
Ethernet 10/100
USB: 4 x USB with power switches
HDMI: есть
JTAG: On-board USB JTAG
Цена: €99 (Z-7007S), €119 (Z 7010)

Неплохая плата за свою цену. Обратите внимание, что Ethernet на 100 Мбит, тогда как у других плат обычно установлен гигабитный Ethernet.

ArduZynq




SoC: Zynq 7007S, Zynq-7010
RAM: 512 MByte DDR3L
Flash: 16 MByte SPI Flash
Ethernet: нет
JTAG: On-board USB JTAG
USB: USB OTG, USB UART
HDMI: нет
Цена: €89 (Z 7007S), €99 (Z 7010)

Другие возможности:

  • 12 MHz MEMS Oscillator low power consumption
  • 23 FPGA I/O's available on board-to-board connectors
  • MicroSD Card socket
  • RGB LED (PL I/O connected)
  • «Done» LED (inverted polarity)

Плата на Zynq в формате Arduino. Есть два варианта: на Zynq XC7Z007S (одноядерный) и на Zynq-7010 (два ядра). Довольно слабая плата, но и цена не высокая по сравнению с другими.

Теперь рассмотрим платы различных других производителей.

Parallella




Структурная схема


Выпускается в трёх вариантах: Parallella Microserver (P1600), Parallella Desktop (P1601), Parallella Embedded (P1602)

SoC: Parallella Microserver — Z7010, Parallella Desktop — Z7010, Parallella Embedded — Z7020
RAM: 1 GB DDR3
Flash: нет
JTAG: нет
Ethernet: 10/100/1000
USB: нет (Microserver), есть (Desktop, Embedded)
HDMI: нет (Microserver), есть (Desktop, Embedded)
Размер: 90 х 53
Цена: Parallella Microserver — Z7010 — $126, Parallella Desktop — $149, Parallella Embedded — нет в продаже

Другие возможности: сопроцессор Epiphany

Эта плата уже рассматривалась в обзоре ранее. Отличительной особенностью данной платы является чип «Epiphany» компании Adapteva, 16-ядерный процессор, который может взаимодействовать с ядром ARM в SoC Zynq. Именно поэтому плату в рекламе называют 18-ядерной, т.е. 2 ядра ARM + 16 ядер Epiphany.

Практических применений я здесь не вижу, но поиграться можно очень хорошо. Теперь немного печальных известий. Компания Adapteva планировала выпуск также 64-ядерной и 1024-ядерной версии чипа, однако основатель компании Андреас Олофсон признал, что компания не добилась коммерческого успеха, несмотря на хорошие технические характеристики чипов. Он ушёл на работу в DARPA, и продолжения истории не будет (http://www.adapteva.com/andreas-blog/adapteva-status/).

Для того, чтобы подключать к плате какие-либо устройства, вам понадобится базовая плата Porcupine Breakout Board, вот такая:



Цена платы: $45.
Плата Parallella оснащена hi-speed разъёмами, на которые выведены все линии ввода-вывода. Минус такого решения в том, что подключить к ней что-то без Breakout-платы очень затруднительно.

Встроенный адаптер JTAG на плате отсутствует, линии JTAG выведены на разъём платы. Поэтому, если вы планируете работу с платой через JTAG, сразу приобретите Breakout-плату и отдельный JTAG-адаптер.

Snickerdoodle




Структурная схема


Выпускается в трёх вариантах: Snickerdoodle One, Snickerdoodle Prime LE, Snickerdoodle Black

SoC: One — Zynq 7010, Prime LE, Black — Zynq 7020
RAM: One, Prime LE — 512MB LPDDR2, Black — 1Gb LPDDR2
Flash: 16 MB XIP NOR
Размер: 51 x 89 мм
Ethernet: на базовых платах
JTAG: нет
HDMI: на базовых платах
USB: USB UART + USB Host на базовых платах
Цена: One — $95, Prime LE — $145, Black — $195
Другие возможности:

  • One, Prime LE — 2.4GHz 802.11n Wi-Fi
  • Black — 2.4GHz + 5GHz 802.11n 2x2 MIMO Wi-Fi, Bluetooth Classic & BLE, copperHead heat sink, free SDSoC license

Базовые платы


piSmasher SBC



Плата piSmasher SBC. Цена — $195

breakyBreaky



Плата breakyBreaky. Цена — $45

Болльшой плюс платы в том, что разработчики написали целую книгу для начинающих пользователей: Snickerdoodle book. Она не такая объёмная и фундаментальная, как «Zynq Book» или «MicroZed Chronicles», но многие другие производители не предоставляют никакой информации, кроме самого элементарного минимума, и это следует учитывать, особенно если вы начинающий разработчик.

Zedboard (клон китайского производства)




Основные характеристики и структурная схема платы такие же, как у платы Zedboard.
Цена: $260

Клон Zedboard, сделанный в Китае. Нет FMC разъёма, вместо него просто штыревые разъёмы. Процессор и его обвязка смонтированы на SoM-модуле, который снимается с базовой платы и может быть установлен в ваше изделие.

Учитывая цену почти в два раза меньше оригинальной Zedboard, очень неплохой вариант.

Red Pitaya




SoC: Zynq-7010
RAM: 256MB DDR3
Flash: нет
Ethernet: 10/100/1000
USB: OTG, MicroUSB (console)
JTAG: нет
Размер: 107 x 60 мм
Цена:
от €199 за 10-битные ЦАП/АЦП
от €259 за 14-битные ЦАП/АЦП
Также есть различные варианты комплектации и скидки для студентов

Другие возможности:

2 канала ADC 125 MSPSx14bit или 10 bit
2 канала DAC 125 MSPSx14bit или 10 bit
4 канала ADC 100 kSPSx12bit
4 канала DAC 100 kSPSx12bit

Плата стоит несколько особняком от остальных, т.к. позиционировалась разработчиками не столько как девборда, сколько как замена целом ряду измерительных приборов: осциллографу, генератору, анализатору спектра и т.п. Конечно, полноценных профессиональных приборов (даже самого начального уровня) она не заменит, потому что приборы не состоят из одного АЦП, там нужно ещё много всякого.

Тем не менее, плата интересная. Главный минус в том, что это closed source hardware, т.е. схемы в открытом доступе нет. Будьте внимательны.

OZoM: Open Source Zynq on Module




SoC: Zynq 7010
RAM: нет
Flash: 32Mbyte
Ethernet: нет
USB: нет
JTAG: нет
Размер: 75x40 мм
Цена: €250 (ожидаемая цена, выпуск платы не состоялся)

В начале статьи я написал, что, хотя собрать самому устройство на Zynq весьма сложно, тем не менее, теоретически, это возможно. Проект OZoM задумывался как Open Hardware проект такого модуля. Он выставлялся на Indiegogo, но не собрал достаточно средств. Этого можно было ожидать, впрочем, крайне маленькие возможности при сильно завышенной цене делают покупку платы бессмысленной. В настоящее время документация по нему доступна тут.

К сожалению, высокими характеристиками плата похвастаться не может. Памяти нет, Linux запустить нельзя. Большой пользы в такой плате нет.

В следующей части будут рассмотрены девборды на базе SoC Intel(Altera) Cyclone V.

Комментарии (26)


  1. VBKesha
    19.09.2017 19:17

    Долго пытался вспомнить что такое производила Intel доступное людям, и удивлялся почему не планируется обзора на Altera, потом вспомнил что Intel купил Altera и теперь она тоже Intel.


    1. 32bit_me Автор
      19.09.2017 19:26
      +1

      Немного поправил название, чтобы не запутывать людей.


  1. AlexanderS
    19.09.2017 20:02
    +1

    Жаль Xilinx не стала развивать схематик в Vivado. В ISE он был хоть и не фонтан, но я приноровился и топ уровень проекта любил рисовать в нем. И кто бы что ни говорил — это реально удобно в плане наглядности! Открываешь проект многолетней давности — и все понятно что с чем и как соединено без всякой докоментации, которая еще и не факт что актуальна.


    1. Mogwaika
      19.09.2017 21:51
      +1

      Меня больше бесит, что тот же цинк сложно использовать как просто ПЛИС, т.к. он не ПЛИС с процессором, а процессор с ПЛИС.
      А в виваде они много чего ещё поубивали…


      1. old_bear
        19.09.2017 22:36
        +3

        Самое главное, что убили в Виваде — это возможность писать код в hdl-е на уровне примитивов и назначать (там же, в hdl-коде) этим примитивам иерархические атрибуты placement-а. С этого момента КПД запихивания больших регулярных структур в кристалл трагически упал, как по занимаемым ресурсам, так и по достижимой частоте.
        Я уже не говорю про волшебный атрибут ROUTE, при помощи которого (а также низкоуровневого редактора, пива и такой-то матери) можно было в этих регулярных структурах ещё и развести руками критические локальные цепи у блоков нижнего уровня и не ждать потом часами, пока роутер пытается сделать то же самое (безуспешно, причём).


        1. AlexanderS
          20.09.2017 00:42

          Да я смотрю не только у нас на работе на неё плюются все кому не лень. Зато в виваде сколько няшек стало: при синтезе или разводке и в верхнем углу что-то крутится, и внизу, и прогресс-бар переливается — ну прямо красота сплошная! А если открыть дебаггер, то вообще попадаешь в пульт управления космическим кораблём — куда уж тут старому и дряхлому чипскопу ;)

          Нет, плюсы-то тоже есть. TCL полноценный. В HLC можно из Си сделать HDL описание — не сказать что бы оно хорошо, но когда надо сделать быстро, то, например, фильтры делаются довольно быстро и даже работают. Правда если нужна скорость, я чую, всё равно руками придётся всё описывать. Но как-то… всё равно создаётся ощущения что писали САПР индусы для менеджеров, а инженеров, как всегда, спросить забыли)


  1. wuba
    20.09.2017 08:37

    Можете рассказать о примерах практического использования подобных плат, именно в использовании fpga-части?


    1. 32bit_me Автор
      20.09.2017 08:39

      Например, на fpga делается обработка сигналов в осциллографах и других приборах.


    1. AlexanderS
      20.09.2017 11:04

      Реализация сложной математики — это будет не очень интересно. Есть квадратурный аналоговый сигнал на входе. Его надо принят с АЦП, отфильтровать, фазовую подстройку сделать если надо, демодулировать, накопить и скореллировать для выделения какого-нибудь синхросигнала. Всё это реально можно слелать именно в ПЛИСе на хороших скоростях. Для разработки и оценки вполне может пригодиться какая-то макетная плата.

      Для новичков есть интересный проект — марсоход. Там в блоге много чего доступно расписано. У меня статья есть, где я с этой платкой поигрался немного — вот простой и понятный практический пример именно ПЛИСовой части.


    1. QwertyOFF
      20.09.2017 18:12

      Во-первых это платы, предназначенные для обучения, т.е. практического применения от них ожидать некорректно, но сделать можно многое, лишь бы позволяла периферия. Во-вторых, если речь о самих системах на чипе, ардуинщику-любителю такие девайсы не актуальны. Чуть более актуальны для радиолюбителей, которые хотят собрать свой SDR-трансивер (тысячи их, уже готовых и продающихся). Для каких еще "домашних" хобби это может понадобиться я не знаю. На работе занимаюсь парой проектов на ПЛИС, там и SDR и демодуляторы. До SoC пока не докатились, хотя отладочная плата с цинком есть, и, похоже, все к ним и движется. Ну и еще одно — для вашего домашнего использования может оказаться оправданным использование отдельных микроконтроллера и ПЛИС, это сделает проект дешевле, проще в сборке и снизит временные затраты на изучение всего этого барахла.


  1. Fagot63
    20.09.2017 12:01
    +5

    Что то я совсем перестал понимать аудиторию ГТ. Эта публикация «весит» всего 7мб, но автор не поленился поставить предупреждение про трафик.
    Публикация же про 4G интернет в тьмутаракани весит в три раза больше и никаких предупреждений нет, но стоило этим возмутится, как меня дружно заминусовали, причем даже карму загадить не поленились.
    Люди что с вами не так?


    1. igruh
      20.09.2017 16:44
      +2

      Несправедливость. Но вместо жалоб стоит не полениться и написать годную статью на ресурс — и плюсы подтянутся, и минусы будут реже раздавать.


  1. Strijar
    21.09.2017 17:40
    +1

    Спасибо! Цены порадовали. По другому стал смотреть на Zynq. Остался только вопрос — на многих платах нет JTAG. А как без него прошивку в FPGA заливать? Через ARM?


    1. 32bit_me Автор
      21.09.2017 17:41
      +1

      Имеется в виду, что там нет моста USB-JTAG. Физические линии JTAG есть везде.
      Но можно и через ARM. Можно даже поднять ftp, и кидать файл прошивки туда.


      1. rPman
        22.09.2017 02:51

        кстати, а какие накладные расходы по заливки кода FPGA? есть ли какие то лимиты? возможно ли обновление на лету только части?


        1. 32bit_me Автор
          22.09.2017 05:01
          +1

          Не понял вопрос. В каком смысле накладные расходы?
          Я не уверен насчёт части, может быть, и можно. Я не пробовал. Заливка прошивки полностью делается довольно просто.


          1. rPman
            22.09.2017 23:38

            Может быть количество перепрошивок ограничено?
            Или процесс прошивки очень длинный?


            1. 32bit_me Автор
              23.09.2017 04:20
              +1

              нет, не оганичено, и не длинный


              1. rPman
                23.09.2017 14:32

                Быстро, длинно — это не ответ, все же относительно.

                Cкажем так, возможна технология, по аналогией с jit компиляцией, на лету, оптимизирующая куски кода в виде fpga прошивки? имеет ли она смысл?


                1. 32bit_me Автор
                  23.09.2017 16:23

                  Я не слышал про такие технологии, и не думаю, что это имеет смысл.


        1. yuklimov
          22.09.2017 16:21
          +1

          Из-под Linux, работающий на ARM, заливается на ура. Я тоже не занимался прошивкой по частям: FPGA маленькая, чтобы таким заниматься.
          P.S. Из интересных особенностей (если про них вопрос). Можно ресетить FPGA или прошивать FPGA только когда нет передачи данных (и нет неотвеченных запросов) по AXI-шине (внутренние шины от ARM к FPGA и обратно), а то может нарушиться протокол AXI и ARM зависнет.


  1. Nebeluz
    22.09.2017 04:58

    Спасибо за отличный обзор! Последние дня 4 как раз искал devkit: adc+fpga+arm (заказал red pitaya).


  1. yuklimov
    22.09.2017 16:20

    1) Наверное, стоило бы добавить в обзор и Xilinx ZC702 Evaluation Kit, хотя он и стоит заметно дороже.
    2) SDK работает у меня на Debian с XFCE отлично, если перед запуском сказать export SWT_GTK3=0.
    3) Хотелось бы еще увидеть в статье ссылки на ресурсы (кроме сайтов самих плат). Например, мне очень помог www.wiki.xilinx.com.


    1. 32bit_me Автор
      22.09.2017 16:29

      Спасибо за ваш комментарий.
      Я смотрел информацию по Xilinx ZC702 Evaluation Kit, и решил не добавлять, т.к. эта плата ничем особым не лучше, чем, например, Zedboard, при большей цене.
      Ресурсы, согласен, надо добавить. Добавлю во вторую часть обзора. В качестве ресурса также рекомендую Adam Taylor’s MicroZed Chronicles (https://forums.xilinx.com/t5/Xcell-Daily-Blog/bg-p/Xcell/label-name/zynq).


  1. acronis2015
    22.09.2017 18:12
    +1

    Отличный обзор!
    Как скоро ожидать Часть 2. Мир Intel (Altera)?


    1. 32bit_me Автор
      22.09.2017 18:13
      +1

      Спасибо!
      На следующей неделе, более точно пока не могу сказать.