Програмний мікропроцесор (англ. soft microprocessor) — ядро мікропроцесора, що може бути повністю імплементоване за допомогою синтезу логіки. Фізичним втіленням програмного процесора можуть бути різні програмовані логічні пристрої, такі як ASIC, FPGA, CPLD).
У більшості апаратних реалізацій синтезується лише одне процесорне ядро — втім, спроби вмістити у один FPGA багато ядер також здійснюються.[1] У таких мультиядерних процесорах ресурси плати можуть спільно використовуватися усіма ядрами і синтезованими пристроями. У деяких дизайнах на одному FPGA може налічуватися сотні ядер.[2]
Порівняння деяких програмних ядер
Процесор
|
Розробник
|
Відкритий код?
|
Шини
|
Примітки
|
Домашня сторінка
|
Мова опису
|
Засновані на архітектурі ARM
|
Amber
|
Conor Santifort
|
LGPLv2.1
|
Wishbone
|
ARMv2a, 3-стадійний або 5-стадійний конвеєр
|
Сторінка проекту на Opencores
|
Verilog
|
ARM Cortex-M1[en]
|
ARM
|
Ні
|
?
|
70–200 МГц, 32-біт RISC
|
[1]
|
Verilog
|
Засновані на архітектурі AVR
|
Navré
|
Sébastien Bourdeauducq
|
Так
|
Direct SRAM
|
8-біт RISC, сумісний з Atmel AVR
|
Project page at Opencores
|
Verilog
|
pAVR
|
Doru Cuturela
|
Так
|
|
8-біт RISC, сумісний з Atmel AVR
|
Project page at Opencores
|
VHDL
|
Засновані на архітектурі MicroBlaze
|
AEMB
|
Shawn Tan
|
Так
|
Wishbone
|
Сумісний з MicroBlaze EDK 3.2
|
AEMB
|
Verilog
|
MicroBlaze
|
Xilinx
|
Ні
|
PLB, OPB, FSL, LMB, AXI4
|
|
Xilinx MicroBlaze
|
|
OpenFire
|
Virginia Tech CCM Lab
|
Так
|
OPB, FSL
|
Сумісний на рівні машинних кодів з MicroBlaze
|
[2][3]
|
Verilog
|
SecretBlaze
|
LIRMM, University of Montpellier / CNRS
|
Так
|
Wishbone
|
Сумісний з MicroBlaze
|
SecretBlaze
|
VHDL
|
Засновані на архітектурі MCS-51
|
MCL51
|
MicroCore Labs
|
Ні
|
?
|
Наднизькі вимоги до ресурсів (312 таблиць LUT Artix-7; чотириядерна версія 8051 використовує 1227 таблиць), мікросеквенсер, ядро сумісне з 8051
|
MCL51 Core
|
|
TSK51/52
|
Altium
|
Royalty-free
|
Wishbone / Intel 8051
|
Сумісний з набором команд 8-розрядного мікроконтролера Intel 8051. Є альтернатива з нижчим clock cycle[уточнити]
|
Embedded Design on Altium Wiki
|
|
Засновані на архітектурі MIPS
|
BERI
|
University of Cambridge
|
BSD
|
|
MIPS
|
Project page
|
Bluespec
|
Dossmatik
|
René Doss
|
CC BY-NC 3.0, except commercial applicants have to pay a licence fee.
|
Pipelined bus
|
Набір команд MIPS I, конвеєр
|
Dossmatik
|
VHDL
|
TSK3000A
|
Altium
|
Royalty-free
|
Wishbone
|
32-bit R3000-style RISC modified Harvard-architecture CPU
|
Embedded Design on Altium Wiki
|
|
Засновані на архітектурі PicoBlaze
|
PacoBlaze
|
Pablo Bleyer
|
Так
|
|
PicoBlaze-сумісний
|
PacoBlaze
|
Verilog
|
PicoBlaze
|
Xilinx
|
Ні
|
|
|
Xilinx PicoBlaze
|
VHDL, Verilog
|
Засновані на архітектурі RISC-V
|
f32c
|
Університет Загреба
|
BSD
|
AXI, SDRAM, SRAM
|
32-розрядний, підмножини наборів команд RISC-V або MIPS (змінювана архітектура), інструментарій GCC
|
f32c
|
VHDL
|
VexRiscv
|
SpinalHDL
|
Так
|
AXI4 / Avalon
|
32-bit, RISC-V, up to 340 MHz on Artix 7. Up to 1.44 DMIPS/MHz.
|
https://github.com/SpinalHDL/VexRiscv
|
SpinalHDL
|
Засновані на архітектурі SPARC
|
LEON2(-FT)
|
ESA
|
Так
|
AMBA2
|
SPARC V8
|
ESA
|
VHDL
|
LEON3/4
|
Aeroflex Gaisler
|
Так
|
AMBA2
|
SPARC V8
|
Aeroflex Gaisler
|
VHDL
|
OpenPiton
|
Princeton Parallel Group
|
Так
|
|
Manycore SPARC V9
|
OpenPiton
|
Verilog
|
OpenSPARC T1
|
Sun
|
Так
|
|
64-bit
|
OpenSPARC.net
|
Verilog
|
Tacus/PIPE5
|
TemLib
|
Так
|
Pipelined bus
|
SPARC V8
|
TEMLIB
|
VHDL
|
Засновані на архітектурі x86
|
CPU86
|
HT-Lab
|
Так
|
|
8088-сумісний
|
cpu86
|
VHDL
|
MCL86
|
MicroCore Labs
|
Ні
|
?
|
Точна емуляція циклів команд 8088/8086; реалізація з мікросеквенсером. Використовує менше 2% Kintex-7.
|
MCL86 Core
|
|
s80x86
|
Jamie Iles
|
GPLv3
|
Custom
|
80186-compatible GPLv3 core
|
s80x86
|
SystemVerilog
|
Zet
|
Zeus Gómez Marmolejo
|
Так
|
Wishbone
|
Повний клон IBM PC з процесором 8088/8086/80186
|
Zet
|
Verilog
|
Other architectures
|
ARC
|
ARC International, Synopsys
|
Ні
|
|
16/32-розрядний RISC
|
DesignWare ARC
|
Verilog
|
ERIC5
|
Entner Electronics
|
Ні
|
|
9-розрядний RISC, малі розміри, компілятор C
|
ERIC5
|
VHDL
|
H2 CPU
|
Richard James Howe
|
MIT
|
Custom
|
16-розрядна стекова машина для прямого виконання програм на Forth
|
H2 CPU
|
VHDL
|
Instant SoC
|
FPGA Cores
|
Ні
|
Custom
|
32-розрядний, RISC-V M Extension, SoC описано на C++
|
Instant SoC
|
VHDL
|
JOP
|
Martin Schoeberl
|
Так
|
SimpCon / Wishbone (extension)
|
Стекова машина, жорсткий реальний час, пряме виконання байт-коду Java
|
Jop
|
VHDL
|
LatticeMico8
|
Lattice
|
Так
|
Wishbone
|
|
LatticeMico8
|
Verilog
|
LatticeMico32
|
Lattice
|
Так
|
Wishbone
|
|
LatticeMico32
|
Verilog
|
LXP32
|
Alex Kuznetsov
|
MIT
|
Wishbone
|
32-bit, 3-стадійний конвеєр
|
lxp32
|
VHDL
|
MCL65
|
MicroCore Labs
|
Так
|
?
|
Ядро, сумісне з 6502 за циклами команд, з мікросеквенсером. Потребує 252 таблиці LUT у Spartan-7
|
MCL65 Core
|
|
MRISC32-A1
|
Marcus Geelnard
|
Так
|
Wishbone, B4/pipelined
|
32-розрядний RISC і векторний процесор
|
MRISC32
|
VHDL
|
NEO430
|
Stephan Nolting
|
Так
|
Wishbone (Avalon, AXI4-Lite)
|
16-розрядний, сумісний з MSP430
|
NEO430
|
VHDL
|
Nios, Nios II
|
Altera
|
Ні
|
Avalon
|
|
Altera Nios II
|
Verilog
|
OpenRISC
|
OpenCores
|
Так
|
Wishbone
|
32-розрядний, реалізований у ASIC, а також FPGA Actel, Altera, Xilinx
|
[3]
|
Verilog
|
SpartanMC
|
TU Darmstadt / TU Dresden
|
Так
|
Custom (AXI support in development)
|
18-розрядна архітектура
|
SpartanMC
|
Verilog
|
SYNPIC12
|
Miguel Angel Ajo Pelayo
|
MIT
|
|
Сумісний з PIC12F
|
nbee.es
|
VHDL
|
xr16
|
Jan Gray
|
Ні
|
XSOC abstract bus
|
16-bit RISC CPU and SoC featured in Circuit Cellar Magazine #116-118
|
XSOC/xr16
|
Schematic
|
YASEP
|
Yann Guidon
|
AGPLv3
|
Direct SRAM
|
16 or 32 bits, RTL in VHDL & asm in JS, microcontroller subset : ready
|
yasep.org (Firefox required)
|
VHDL
|
ZipCPU
|
Gisselquist Technology
|
GPLv3
|
Wishbone, B4/pipelined
|
32-розрядний процесор, спроектований для мінімального використання ресурсів FPGA
|
zipcpu.com
|
Verilog
|
ZPU
|
Zylin AS
|
Так
|
Wishbone
|
Стекова машина, 16/32-розрядні дані, підтримка ОС eCos
|
Zylin CPU
|
VHDL
|
Див. також
Джерела
Помилка цитування: Тег <ref> з назвою "zet86", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "MicroBlaze", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Vassanyi", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Wang", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Kent", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Eaton", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "DeLaere", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "Swan", визначений у <references> , не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "eweekly", визначений у <references> , не використовується в попередньому тексті.
|