Первые SoC на основе RISC-V с открытым исходным кодом работают под управлением Linux

SiFive представила первые встроенные SoC, основанные на платформе RISC-V с открытым исходным кодом: готовый для Linux восьмиъядерный процессор Freedom U500 и основанный на FreeRTOS Freedom E300.

Запуск с поддержкой VC, тесно связанный с проектом RISC-V, объявил о первых реализациях системы на кристалле процессорной платформы с открытым исходным кодом RISC-V.
На этой неделе в RISC-V 4thWorkshop в Массачусетском технологическом институте SiFive анонсировал два встроенных семейства SoC.
Семейство Freedom Unleashed дебютирует с 28-нм процессором Freedom U500 SoC с восемью ядрами 1,6 ГГц, работающими под Linux, предназначенными для машинного обучения, хранения и сетевых приложений.
Подобное MCU семейство Freedom Everywhere для Интернета вещей начинается с 180-нм модели Freedom E300, которая работает под управлением FreeRTOS.

Как и RISC-V, оба проекта полностью открыты, но компания также планирует продавать готовые SoC с помощью партнера по производству TSMC.
Платформа «обратит непомерно растущие затраты на лицензирование, проектирование и внедрение в отрасли», - говорит SiFive.

Компания из Сан-Франциско выпустила полные спецификации для образцов, которые, похоже, являются образцами.
Неясно, когда планируется массовое производство, но разработчики теперь могут запускать «полные модели FPGA» любого SoC на плате разработки Microsemi SF2 +, построенной на базе SmartFusion2 SoC FPGA на базе Cortex-M3 от Microsemi .
U500 также поддерживается платами разработки FPGA от Xilinx и Digilent (см. Ниже).


Блок-схема Microsemi SmartFusion2 SoC FPGA

(щелкните изображение, чтобы увеличить)

64-разрядная архитектура RISC-V была представлена ​​в Калифорнийском университете несколько лет назад и с тех пор получила дальнейшее развитие.
RISC-V является альтернативой проприетарным архитектурам, таким как Intel x86, ARM, PowerPC и MIPS.

SiFive - одна из нескольких компаний, работающих над SoC RISC-V.
Два года назад дополнительный филиал Кембриджского университета под названием lowRISC объявил о планах разработки SoC на основе Linux и платы для разработки на основе RISC-V ISA.
Сайт lowRISC теперь заявляет, что «выпустит наш первый объемный чип в этом году».

Среди других участников RISC-V Platinum - SiFive, а также широкий спектр стартапов и технических тяжеловесов.
К ним относятся, помимо прочего, Draper, Google, Hewlett Packard Enterprise, IBM, Microsemi, Oracle, Microsoft, Nvidia и Qualcomm.
Среди участников Gold - AMD, Espressif, Intrinsix и другие участники Silver - ETH Zurich, Gray Research, Lattice, MIT CSAIL и многие другие, включая lowRISC.

По данным Forbes , SiFive была основана изобретателями RISC-V, в том числе Юнсупом Ли, Эндрю Уотерманом и Крсте Асановичем, и финансировалась Sutter Hill Ventures.
В 2014 году Асанович и его коллега, профессор Калифорнийского университета в Беркли Дэвид Паттерсон, который первоначально придумал термин RISC (компьютер с сокращенным набором инструкций), опубликовали официальный документ по RISC-V.

В официальном документе утверждается, что полностью открытая ISA, такая как RISC-V, будет стимулировать рост конкуренции и инноваций на свободном рынке, ускорение выхода на рынок с помощью методологии открытого исходного кода и более доступные процессоры.
RISC-V основывается на двух предыдущих ISA RISC с открытым исходным кодом - SPARC и OpenRISC - и, похоже, в значительной степени затмил обе эти попытки.

Помимо открытого исходного кода, одним из главных преимуществ RISC-V является то, что он полностью современный, специально созданный и не обремененный устаревшим кодом.
«У нас была роскошь начать в 2010 году», - сказал Forbes технический директор SiFive Юнсуп Ли.
«RISC-V чист, современен и очень прост в реализации».


Справочная карта RISC-V ISA (части 1 и 2)

(нажмите на картинку, чтобы насладиться)

Изначально RISC-V был разработан как конкурент Cortex-A5 для IoT, ориентированный на Linux.
Однако, судя по проектам SiFive, спектр расширился гораздо шире, чем от высокотехнологичного встроенного Linux Freedom U500 до MCU-подобного IoT-ориентированного Freedom E300.

Широкая основа платформы с открытым исходным кодом предоставляет множество преимуществ, но также может подорвать платформу из-за фрагментации и неполной совместимости, отмечает Чарли Демерджян в SemiAccurate .
Ответ SiFive на это, писал он, заключается в том, что производители SoC, использующие проекты, в полной мере осознают эту опасность и, соответственно, самостоятельно контролируют ситуацию, чтобы ограничить фрагментацию.

Freedom U500

Freedom U500 может интегрировать до восьми 64-битных, согласованных с кэшем ядер «R5C-V U5 Coreplex» с тактовой частотой сегодня 1,6 ГГц и, возможно, выше в будущем.
U5 Coreplex поддерживает вариант RV64GC RISC-V


Блок-схемы: U5 Coreplex (слева) и Freedom U500 SoC

(нажмите на картинку, чтобы увеличить)

Каждое ядро ​​U5 имеет 64-разрядный конвейер исполнения с единым выпуском с максимальной устойчивой скоростью выполнения, равной одной команде за такт.
Ядра включают в себя схему динамического предсказания ветвления, включая BTB, BHT и стеки обратных адресов, говорит SiFive.
Конструкция включает в себя частные кэши L1 и общий кэш L2 в различных конфигурациях.

Freedom U500 может принимать различные пользовательские ускорители и доступен с дополнительным ядром монитора «RV64IMACN» для безопасной загрузки.
SoC могут поддерживать до четырех 72-битных каналов DDR3 / 4 DRAM с полной поддержкой ECC, обеспечивая пропускную способность памяти до 68 ГБ / с.

U500 поддерживает высокоскоростные интерфейсы, включая Gigabit Ethernet, расширение Dual Mode PCIe Gen 3.0 и USB 3.0, включая OTG.
По словам SiFive, эти интерфейсы могут быть встроены непосредственно в систему кэш-когерентной памяти и, при желании, могут размещать данные непосредственно в кэш-памяти второго уровня

Периферийная поддержка включает в себя счетчики / таймеры, сторожевые таймеры, ШИМ, GPIO, UART, I2C, SPI, АЦП, ЦАП и SD / eMMC flash.
Кроме того, сторонние периферийные IP-адреса могут быть подключены через стандартные шины SoC или TileLink, сообщает SiFive.
Конструкция включает настраиваемый контроллер прерываний на уровне платформы, а также управление питанием с помощью блока Always-On (AON) для режима ожидания с низким энергопотреблением.

Freedom U500 предоставляет функции отладки на уровне платформы, включая аппаратные точки останова, точки наблюдения и одношаговое выполнение, доступ к которым осуществляется через JTAG, в комплекте с инструментами отладки с открытым исходным кодом.
Набор инструментов для разработки программного обеспечения с открытым исходным кодом RISC-V доступен через Linux BSP с драйверами устройств, компиляторами C и C ++, стандартными библиотеками, ассемблерами и компоновщиками.

Разработчики могут настроить дизайн SoC самостоятельно или нанять SiFive, чтобы сделать это.
К настройкам относятся настраиваемые расширения набора команд, сопроцессоры, ускорители, операции ввода-вывода и AON.
SiFive также предлагает различные платы для разработки для U500 (см. Ниже).

Freedom E300

Freedom E300 построен на 180-нм микроконтроллерном ядре «E31 Coreplex».
E31 Coreplex поддерживает варианты ISA RISC-V, включая RV32E (16 пользовательских регистров) и RV32I (32 пользовательских регистра).
Ядро имеет 32-битный конвейер выполнения с единым выпуском с максимальной устойчивой скоростью выполнения, равной одной команде за такт.
Он может дополнительно реализовывать буферы предварительной выборки, а также кэш команд для ускорения выборки команд.
Несколько статических и динамических схем предсказания ветвления также доступны.


Блок-схемы: E31 Coreplex и Freedom E300 SoC

(нажмите на картинку, чтобы увеличить)

По словам SiFive, E31 Coreplex может быть дополнен новыми пользовательскими инструкциями, которые работают с существующими пользовательскими регистрами, или с пользовательскими сопроцессорами.
Пользовательские ускорители могут напрямую обращаться к встроенной памяти и периферийным устройствам, а также генерировать и получать прерывания от управления прерываниями на уровне платформы.

Система памяти E300 SoC поддерживает ROM, OTP, eFlashy, NVM / EEPROM и SRAM.
Периферийная поддержка включает в себя счетчики / таймеры, сторожевые таймеры, ШИМ, GPIO, UART, I2C, SPI, АЦП, ЦАП, SD / eMMC и USB 1.1 / 2.0 OTG.
Доступен центральный автономный механизм прямого доступа к памяти для снижения нагрузки на процессор во время операций ввода-вывода.

Другие функции включают настраиваемый контроллер прерываний на уровне платформы, управление питанием с помощью AON и различные средства отладки, включая JTAG.
Набор инструментов с открытым исходным кодом, основанный на FreeRTOS, включает в себя почти те же возможности, что и U500.

Советы по развитию

В сообщении SiFive отмечается только наличие платформы для разработки на базе MicroSmi SmartFusion 2 SoC FPGA.
Однако на веб-сайте SiFive перечислены платы на базе SmartFusion 2 только для Freedom E300, а U500 поддерживается платами на основе FPGA от Xilinx и Digilent.


Платы разработчика Freedom E300: SF2 + от Arrow (слева) и M2S060 от EmCraft

(нажмите на картинку, чтобы увеличить)

Для Freedom E300 основной платформой является набор разработчика Arrow за 125 $ SF2 + .
В качестве опции указан EmCraft стоимостью $ 165 SOM-M2S060-FG484I .
Обе платы построены на базе SmartFusion 2 SoC от Microsemi.


Платы Freedom U500: Xilinx Virtex-7 VC707 (слева) и Arty Board от Digilent Artix-7

(нажмите на картинку, чтобы увеличить)

Freedom U500 доступен либо с комплектом разработчика Xilinx Virtex-7 VC707 за 3,495 долл. США, либо с платой разработки Digilent Arty Board Artix-7 на 99 долл. США.
В последнем, который в большей степени ориентирован на разработку приложений, чем на проектирование аппаратного обеспечения, в VC707 отсутствует поддержка «высокоскоростных последовательных интерфейсов или высокоскоростного прототипирования», - говорит SiFive.
Xilinx VC707 доступен с дополнительными модулями PCIe FMC и коммутаторами.

Дальнейшая информация

Полная документация и регистрация для плат разработки теперь доступны для платформ RISC-V Freedom U500 (Linux) и Freedom E300 (FreeRTOS).
Более подробную информацию можно найти на сайте разработчиков SiFive .