Програмний мікропроцесор

Програмний мікропроцесор (англ. 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

Див. також ред.

Джерела ред.

  1. Clive Maxfield (2006). FPGA Architectures from 'A' to 'Z' (англ.). Архів оригіналу за 8 жовтня 2007. Процитовано 18 серпня 2012. 
  2. Scientists Squeeze Over 1,000 Cores onto One Chip (англ.). 2011. Архів оригіналу за 5 березня 2012. 
  3. http://opencores.org/project,openfire_core,overview

Помилка цитування: Тег <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>, не використовується в попередньому тексті.