軟核微處理器

軟核微處理器（英文：Soft microprocessor），也稱為軟微處理器、軟核處理器或軟核，是可以完全使用邏輯綜合實現的微處理器核心。軟核處理器可以通過含有可編程邏輯器件（如ASIC、FPGA、CPLD）的不同半導體器件來實做。

對於大多數系統，如果使用了軟核處理器，那它們往往僅使用單個軟處理器。但是，仍有一些設計人員將儘可能多的軟核平鋪到 FPGA 上。在多核系統中，較少使用的資源可以在多個核心間共享。

儘管許多人在 FPGA 中只放置了一個軟核處理器，但 FPGA 在資源足夠多的情況下可以容納更多的軟核處理器，從而構成多核處理器。單個 FPGA 上的軟核處理器的數量僅受 FPGA 資源數量的限制。有的人在單個 FPGA 上放置了數十或數百個軟核處理器。這是一種實現大規模並行計算的方法，並且同樣可以應用於內存內計算。

與分立處理器相比，由於 FPGA 的可重新編程的特點，FPGA 中實現的軟核處理器及其外圍設備不容易過時。

## 核心比較

處理器｜開發者｜是否開源｜總線支持｜備註｜項目名稱｜描述語言

基於 ARM 指令集架構

Amber｜Conor Santifort｜LGPLv2.1｜Wishbone總線｜ARMv2a 三級或五級流水線｜Opencores 上的項目主頁｜Verilog

Cortex-M1｜ARM｜否｜70–200 MHz, 32位 RISC｜Verilog

基於 AVR 指令集架構

Navré｜Sébastien Bourdeauducq｜是｜Direct SRAM｜兼容 Atmel AVR 的8位 RISC｜Opencores 上的項目主頁｜Verilog

pAVR｜Doru Cuturela｜是｜兼容 Atmel AVR 的8位 RISC｜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 二進位兼容｜Verilog

SecretBlaze｜LIRMM, 蒙彼利埃大學 / CNRS｜是｜Wishbone總線｜MicroBlaze 指令集架構, VHDL｜SecretBlaze｜VHDL

基於 MCS-51 指令集架構

MCL51｜MicroCore Labs｜是｜基於 Ultra-small-footprint 微定序器的 8051 核心｜312 個 Artix-7 查找表. 四核的 8051 版本則有 1227 個｜MCL51 Core

TSK51/52｜Altium｜免版稅｜Wishbone總線 / 英特爾 8051｜兼容8位 英特爾 8051 指令集，更低時鐘周期的替代｜Altium Wiki 上的 Embedded Design

基於 MIPS 指令集架構

BERI｜劍橋大學｜BSD｜MIPS｜項目主頁｜Bluespec

Dossmatik｜René Doss｜CC BY-NC 3.0 授權, 但商業使用需要付授權費｜流水線總線｜MIPS I 指令集，多級流水線｜Dossmatik｜VHDL

TSK3000A｜Altium｜免版稅｜Wishbone總線｜32位 R3000 風格的 RISC 修正哈佛架構 CPU｜Altium Wiki 上的 Embedded Design

基於 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|SpinalHDL｜是｜AXI4 / Avalon｜32位, RISC-V, 在 Artix 7 上最高 340 MHz. 最高 1.44 DMIPS/MHz.｜GitHub｜VHDLVerilog (SpinalHDL)

基於 SPARC 指令集架構

LEON2(-FT)｜ESA｜是｜AMBA2｜SPARC V8｜ESA｜VHDL

LEON3/4｜Aeroflex Gaisler｜是｜AMBA2｜SPARC V8｜Aeroflex Gaisler｜VHDL

OpenPiton｜普林斯頓並行研究組｜是｜Manycore SPARC V9｜OpenPiton｜Verilog

OpenSPARC T1｜Sun｜是｜64位｜OpenSPARC.net｜Verilog

Tacus/PIPE5｜TemLib｜是｜流水線總線｜SPARC V8｜TEMLIB｜VHDL

基於 x86 指令集架構

CPU86｜HT-Lab｜是｜兼容 8088 CPU｜cpu86｜VHDL

MCL86｜MicroCore Labs｜是｜提供了8088的總線接口單元，其他易於創建｜帶有微定序器的精準周期8088/8086，在 Kintex-7 上資源利用率小於2%｜MCL86 Core

s80x86｜Jamie Iles｜GPLv3｜自定義｜兼容 80186 內核｜s80x86｜SystemVerilog

Zet｜Zeus Gómez Marmolejo｜是｜Wishbone總線｜x86 PC 的複製｜Zet｜Verilog

ao486｜Aleksander Osman｜3-Clause BSD｜Avalon｜兼容 i486 SX 核心｜ao486｜Verilog

其他架構

ARC｜ARC International, Synopsys｜否｜16/32位指令集架構 RISC｜DesignWare ARC｜Verilog

ERIC5｜Entner Electronics｜否｜9位 RISC, 非常小型, 與C語言兼容｜ERIC5｜VHDL

H2 CPU｜Richard James Howe｜MIT｜自定義｜16位堆疊結構機器，為直接執行 Forth 語言而設計，較小｜H2 CPU｜VHDL

Instant SoC｜FPGA Cores｜否｜自定義｜32位 RISC-V M 拓展，C++定義的 SoC｜Instant SoC｜VHDL

Java優化處理器｜Martin Schoeberl｜是｜SimpCon / Wishbone總線 (拓展)｜面向堆棧，硬實時支持，能直接執行 Java 字節碼｜Jop｜VHDL

LatticeMico8｜Lattice｜是｜Wishbone總線｜LatticeMico8｜Verilog

LatticeMico32｜Lattice｜是｜Wishbone總線｜LatticeMico32｜Verilog

LXP32｜Alex Kuznetsov｜MIT｜Wishbone總線｜32位，三級流水線，基於塊狀 RAM 的寄存器堆｜lxp32｜VHDL

MCL65｜MicroCore Labs｜是｜基於 Ultra-small-footprint 微定序器的 6502 核心｜252 個 Spartan-7 查找表，精確的時鐘周期｜MCL65 Core

MRISC32-A1｜Marcus Geelnard｜是｜Wishbone總線, B4/流水線｜32位 RISC/Vector CPU，自定義指令集架構｜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、Actel、Altera、Xilinx FPGA 上實現｜Verilog

SpartanMC｜TU Darmstadt / TU Dresden｜是｜自定義 (AXI 支持正處於開發中)｜18位 ISA (GNU Binutils / GCC 的支持正在開發中)｜SpartanMC｜Verilog

SYNPIC12｜Miguel Angel Ajo Pelayo｜MIT｜兼容 PIC12F，程序用邏輯門合成｜nbee.es｜VHDL

xr16｜Jan Gray｜否｜XSOC 抽象總線｜在 Circuit Cellar 雜誌的116-118期中提供了16位的 RISC CPU 和 SoC｜XSOC/xr16｜Schematic

YASEP｜Yann Guidon｜AGPLv3｜Direct SRAM｜16位或32位, RTL 使用 VHDL & 彙編 使用 JavaScript｜yasep.org (需要 火狐 瀏覽器)｜VHDL

ZipCPU｜Gisselquist Technology｜GPLv3｜Wishbone總線, B4/流水線｜32位 CPU，目標是最少的 FPGA 資源利用｜zipcpu.com｜Verilog

ZPU｜Zylin AS｜是｜Wishbone總線｜基於棧的 CPU，可配置的 16/32位數據路徑, 支持 eCos｜Zylin CPU｜VHDL