Мягкий микропроцессор - Soft microprocessor

Программный микропроцессор (также называемый программным микропроцессором или программным процессором ) - это ядро микропроцессора, которое может быть полностью реализовано с использованием логического синтеза . Он может быть реализован с помощью различных полупроводниковых устройств, содержащих программируемую логику (например, ASIC , FPGA , CPLD ), включая как высококачественные, так и массовые варианты.

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

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

Программный микропроцессор и окружающие его периферийные устройства, реализованные в ПЛИС, менее уязвимы к устареванию, чем дискретный процессор.

Основное сравнение

Процессор Разработчик Открытый исходный код Автобусная поддержка Примечания Проект дома Язык описания
на основе архитектуры набора инструкций ARM
Янтарь Конор Сантифорт LGPLv2.1 Wishbone ARMv2a 3-ступенчатый или 5-ступенчатый конвейер Страница проекта на Opencores Verilog
Кортекс-М1 РУКА Нет [6] 70–200  МГц, 32-битный RISC [7] Verilog
на основе архитектуры набора команд AVR
Навре Себастьян Бурдодак да Прямая SRAM Atmel AVR- совместимый 8-битный RISC Страница проекта на Opencores Verilog
ПАВР Дору Кутурела да Atmel AVR- совместимый 8-битный RISC Страница проекта на Opencores VHDL
на основе архитектуры набора команд MicroBlaze
AEMB Шон Тан да Wishbone Совместимость с MicroBlaze EDK 3.2 AEMB Verilog
MicroBlaze Xilinx Нет PLB, OPB, FSL, LMB, AXI4 Xilinx MicroBlaze
Открытый огонь Лаборатория CCM Вирджинии да OPB, FSL Двоичный, совместимый с MicroBlaze [8] Verilog
SecretBlaze LIRMM, Университет Монпелье / CNRS да Wishbone MicroBlaze ISA, VHDL SecretBlaze VHDL
на основе архитектуры набора команд MCS-51
MCL51 Лаборатории MicroCore да Ультракомпактное ядро ​​8051 на базе микросеквенсора 312 таблиц Artix-7. Четырехъядерная версия 8051 - это 1227 LUT. Ядро MCL51
TSK51 / 52 Altium Бесплатно Wishbone / Intel 8051 Совместимость с 8-битным набором инструкций Intel 8051 , альтернатива с более низким тактовым циклом Встроенный дизайн на Altium Wiki
на основе архитектуры набора инструкций MIPS
БЕРИ Кембриджский университет BSD MIPS Страница проекта Bluespec
Досматик Рене Досс CC BY-NC 3.0, за исключением коммерческих заявителей, которые должны платить лицензионный сбор . Конвейерный автобус Этапы конвейера набора инструкций MIPS I Досматик VHDL
TSK3000A Altium Бесплатно Wishbone 32-битный R3000- стиль модифицированный RISC-процессор с гарвардской архитектурой Встроенный дизайн на Altium Wiki
на основе архитектуры набора команд PicoBlaze
PacoBlaze Пабло Блейер да Совместим с процессорами PicoBlaze PacoBlaze Verilog
PicoBlaze Xilinx Нет Xilinx PicoBlaze VHDL, Verilog
на основе архитектуры набора команд RISC-V
f32c Загребский университет BSD AXI, SDRAM, SRAM 32-битные, RISC-V / MIPS подмножества ISA (с возможностью перенастройки), набор инструментов GCC f32c VHDL
NEORV32 Стефан Нолтинг BSD Поперечный рычаг b4, AXI4 rv32 [i / e] [m] [a] [c] [b] [u] [Zfinx] [Zicsr] [Zifencei] », совместим с RISC-V, доступны ЦП и SoC, широкие возможности настройки, набор инструментов GCC GitHub OpenCores VHDL
VexRiscv СпинальныйЛВП да AXI4 / Авалон 32-битный, RISC-V, до 340  МГц на Artix 7. До 1,44  DMIPS / МГц. https://github.com/SpinalHDL/VexRiscv VHDLVerilog (СпинальныйЛВП)
на основе архитектуры набора команд SPARC
ЛЕОН2 (-FT) ЕКА да AMBA2 SPARC V8 ЕКА VHDL
ЛЕОН3 / 4 Аэрофлекс Гайслер да AMBA2 SPARC V8 Аэрофлекс Гайслер VHDL
OpenPiton Princeton Parallel Group да Manycore SPARC V9 OpenPiton Verilog
OpenSPARC T1 солнце да 64-битный OpenSPARC.net Verilog
Такус / PIPE5 TemLib да Конвейерный автобус SPARC V8 ТЕМЛИБ VHDL
на основе архитектуры набора инструкций x86
CPU86 HT-Lab да 8088-совместимый процессор в VHDL cpu86 VHDL
MCL86 Лаборатории MicroCore да Предоставлено 8088 BIU. Остальные создать легко. Точный цикл 8088/8086 реализован с помощью микросеквенсора. Использование Кинтекс-7 менее 2%. Ядро MCL86
s80x86 Джейми Айлз GPLv3 Обычай 80186-совместимое ядро ​​GPLv3 s80x86 SystemVerilog
Зет Зевс Гомес Мармолехо да Wishbone клон ПК x86 Зет Verilog
ao486 Александр Осман 3-пункт BSD Авалон i486 SX совместимое ядро ao486 Verilog
на основе архитектуры набора команд PowerPC / Power
PowerPC 405S IBM Нет CoreConnect 32-битный PowerPC v.2.03 Book E IBM Verilog
PowerPC 440S IBM Нет CoreConnect 32-битный PowerPC v.2.03 Book E IBM Verilog
PowerPC 470S IBM Нет CoreConnect 32-битный PowerPC v.2.05 Book E IBM Verilog
Микроватт IBM / OpenPOWER CC-BY 4.0 Wishbone Проверка концепции 64-битной PowerISA 3.0 Микроватт @ Github VHDL
Chiselwatt IBM / OpenPOWER CC-BY 4.0 Wishbone 64-битная PowerISA 3.0 Chiselwatt @ Github Долото
Libre-SOC Libre-SoC.org BSD / LGPLv2 + Wishbone 64-битная PowerISA 3.0. Реализация CPU / GPU / VPU и пользовательские векторные инструкции Libre-SoC.org python / nMigen
A2I IBM / OpenPOWER CC-BY 4.0 Пользовательский PBus 64-битный PowerPC 2.6 Book E. В порядке ядра A2I @ Github VHDL
A2O IBM / OpenPOWER CC-BY 4.0 Пользовательский PBus 64-битный PowerPC 2.7 Book E. Вышло из строя ядро A2O @ Github Verilog
Другие архитектуры
ARC ARC International , Synopsys Нет 16/32/64-битный ISA RISC DesignWare ARC Verilog
ERIC5 Entner Electronics Нет 9-битный RISC, очень маленький размер, C-программирование ERIC5 VHDL
H2 CPU Ричард Джеймс Хау Массачусетский технологический институт Обычай 16-битная стековая машина, предназначенная для непосредственного выполнения форта, малая H2 CPU VHDL
Мгновенный SoC Ядра ПЛИС Нет Обычай 32-разрядное расширение RISC-V M, SoC определено C ++ Мгновенный SoC VHDL
JOP Мартин Шоберл да SimpCon / Wishbone (расширение) Стек-ориентированная, жесткая поддержка в реальном времени, прямое выполнение байт-кода Java Джоп VHDL
Решетка Решетка да Wishbone Решетка Verilog
Решетка Решетка да Wishbone Решетка Verilog
LXP32 Алексей Кузнецов Массачусетский технологический институт Wishbone 32-битный, трехступенчатый конвейер, регистровый файл на основе блочного ОЗУ lxp32 VHDL
MCL65 Лаборатории MicroCore да Ультракомпактное ядро ​​6502 на базе микросеквенсора 252 ЛУТ Спартан-7. Точный цикл часов. Ядро MCL65
MRISC32-A1 Маркус Гилнард да Поперечный рычаг , B4 / конвейерный 32-битный RISC / векторный процессор с настраиваемым ISA MRISC32 VHDL
NEO430 Стефан Нолтинг да Wishbone (Авалон, AXI4-Lite) 16-битный MSP430, совместимый с ISA, очень маленький размер, множество периферийных устройств, широкие возможности настройки NEO430 VHDL
Ниос , Ниос II Альтера Нет Авалон Альтера Ниос II Verilog
OpenRISC OpenCores да Wishbone 32-битный; сделано на ASIC, Actel, Altera, Xilinx FPGA. [9] Verilog
SpartanMC Технический университет Дармштадт / Технический университет Дрезден да Custom ( поддержка AXI в разработке) 18-битный ISA (поддержка GNU Binutils / GCC в разработке) SpartanMC Verilog
SYNPIC12 Мигель Анхель Ахо Пелайо Массачусетский технологический институт Совместимость с PIC12F, программа синтезирована в гейтах nbee.es VHDL
xr16 Ян Грей Нет Абстрактный автобус XSOC 16-битный процессор RISC и SoC, представленные в журнале Circuit Cellar Magazine № 116-118 XSOC / xr16 Схема
ЯСЕП Ян Гвидон AGPLv3 Прямая SRAM 16 или 32 бита, RTL в VHDL и asm в JS , подмножество микроконтроллеров: готово yasep.org ( требуется Firefox ) VHDL
ZipCPU Технология Gisselquist GPLv3 Поперечный рычаг, B4 / конвейерный 32-битный ЦП, ориентированный на минимальное использование ресурсов FPGA zipcpu.com Verilog
ЗПУ Зылин А.С. да Wishbone ЦП на основе стека, настраиваемый 16/32 битный канал данных, поддержка eCos Зилин ЦП VHDL
RISC5 Никлаус Вирт да Обычай Запуск полной графической системы Oberon, включая редактор и компилятор. Программное обеспечение можно разрабатывать и запускать на одной плате FPGA. www.projectoberon.com/ Verilog

Смотрите также

использованная литература

внешние ссылки