Soft-Mikroprozessor - Soft microprocessor
Ein Soft-Mikroprozessor (auch Softcore-Mikroprozessor oder Soft-Prozessor genannt ) ist ein Mikroprozessorkern , der vollständig unter Verwendung von Logiksynthese implementiert werden kann . Sie kann über verschiedene Halbleiterbauelemente implementiert werden, die programmierbare Logik enthalten (z. B. ASIC , FPGA , CPLD ), einschließlich sowohl High-End- als auch Massenvariationen.
Die meisten Systeme verwenden, wenn sie überhaupt einen Softprozessor verwenden, nur einen einzigen Softprozessor. Einige Designer kacheln jedoch so viele Softcores auf ein FPGA, wie es passt. In diesen Multi-Core- Systemen können selten genutzte Ressourcen von allen Kernen in einem Cluster gemeinsam genutzt werden.
Während viele Leute genau einen Soft-Mikroprozessor auf einem FPGA platzieren, kann ein ausreichend großer FPGA zwei oder mehr Soft-Mikroprozessoren aufnehmen, was zu einem Mehrkernprozessor führt . Die Anzahl der Softprozessoren auf einem einzelnen FPGA ist nur durch die Größe des FPGA begrenzt. Manche Leute haben Dutzende oder Hunderte von Soft-Mikroprozessoren auf einem einzigen FPGA installiert. Dies ist eine Möglichkeit, massive Parallelität im Computing zu implementieren und kann ebenso auf In-Memory-Computing angewendet werden .
Ein Soft-Mikroprozessor und seine umgebenden Peripheriegeräte, die in einem FPGA implementiert sind, sind weniger anfällig für Obsoleszenz als ein diskreter Prozessor.
Kernvergleich
Prozessor | Entwickler | Open Source | Busunterstützung | Anmerkungen | Projekthaus | Beschreibungssprache |
---|---|---|---|---|---|---|
basierend auf der ARM- Befehlssatzarchitektur | ||||||
Bernstein | Conor Santifort | LGPLv2.1 | Querlenker | ARMv2a 3-stufige oder 5-stufige Pipeline | Projektseite bei Opencores | Verilog |
Kortex-M1 | ARM | Nein | [6] | 70–200 MHz, 32-Bit-RISC | [7] | Verilog |
basierend auf der AVR- Befehlssatzarchitektur | ||||||
Navré | Sébastien Bourdeauducq | Jawohl | Direkter SRAM | Atmel AVR -kompatibler 8-Bit-RISC | Projektseite bei Opencores | Verilog |
pAVR | Doru Cuturela | Jawohl | Atmel AVR -kompatibler 8-Bit-RISC | Projektseite bei Opencores | VHDL | |
basierend auf der MicroBlaze- Befehlssatzarchitektur | ||||||
AEMB | Shawn Tan | Jawohl | Querlenker | MicroBlaze EDK 3.2 kompatibel | AEMB | Verilog |
MicroBlaze | Xilinx | Nein | PLB, OPB, FSL, LMB, AXI4 | Xilinx MicroBlaze | ||
Offenes Feuer | Virginia Tech CCM-Labor | Jawohl | OPB, FSL | Binärkompatibel mit dem MicroBlaze | [8] | Verilog |
SecretBlaze | LIRMM, Universität Montpellier / CNRS | Jawohl | Querlenker | MicroBlaze ISA, VHDL | SecretBlaze | VHDL |
basierend auf der MCS-51- Befehlssatzarchitektur | ||||||
MCL51 | MicroCore Labs | Jawohl | Mikrosequenzer-basierter 8051-Kern mit extrem kleinem Footprint | 312 Artix-7-LUTs. Die Quad-Core-8051-Version ist 1227 LUTs. | MCL51-Kern | |
TSK51/52 | Altium | Gebührenfrei | Querlenker / Intel 8051 | 8-Bit Intel 8051 Befehlssatz kompatibel, Alternative mit niedrigerem Taktzyklus | Eingebettetes Design im Altium Wiki | |
basierend auf der MIPS- Befehlssatzarchitektur | ||||||
BERI | Universität von Cambridge | BSD | MIPS | Projektseite | Bluespec | |
Dossmatik | René Doss | CC BY-NC 3.0, außer kommerzielle Bewerber müssen eine Lizenzgebühr zahlen . | Pipeline-Bus | MIPS I-Befehlssatz-Pipeline-Stufen | Dossmatik | VHDL |
TSK3000A | Altium | Gebührenfrei | Querlenker | 32-Bit- R3000 -CPU im RISC-Stil mit modifizierter Harvard-Architektur | Eingebettetes Design im Altium Wiki | |
basierend auf der PicoBlaze- Befehlssatzarchitektur | ||||||
PacoBlaze | Pablo Bleyer | Jawohl | Kompatibel mit den PicoBlaze-Prozessoren | PacoBlaze | Verilog | |
PicoBlaze | Xilinx | Nein | Xilinx PicoBlaze | VHDL, Verilog | ||
basierend auf der RISC-V- Befehlssatzarchitektur | ||||||
f32c | Universität Zagreb | BSD | AXI, SDRAM, SRAM | 32-Bit, RISC-V / MIPS ISA-Subsets (retargetable), GCC-Toolchain | f32c | VHDL |
NEORV32 | Stephan Nolting | BSD | Querlenker b4, AXI4 | rv32[i/e] [m] [a] [c] [b] [u] [Zfinx] [Zicsr] [Zifencei], RISC-V-kompatibel, CPU & SoC verfügbar, hochgradig anpassbar, GCC-Toolchain | GitHub OpenCores | VHDL |
VexRiscv | WirbelsäuleHDL | Jawohl | AXI4 / Avalon | 32-Bit, RISC-V, bis zu 340 MHz auf Artix 7. Bis zu 1,44 DMIPS/MHz. | https://github.com/SpinalHDL/VexRiscv | VHDLVerilog (SpinalHDL) |
basierend auf der SPARC- Befehlssatzarchitektur | ||||||
LEON2(-FT) | ESA | Jawohl | AMBA2 | SPARC V8 | ESA | VHDL |
LEON3/4 | Aeroflex Gaisler | Jawohl | AMBA2 | SPARC V8 | Aeroflex Gaisler | VHDL |
OpenPiton | Princeton-Parallelgruppe | Jawohl | Manycore SPARC V9 | OpenPiton | Verilog | |
OpenSPARC T1 | Sonne | Jawohl | 64-Bit | OpenSPARC.net | Verilog | |
Tacus/PIPE5 | TemLib | Jawohl | Pipeline-Bus | SPARC V8 | TEMLIB | VHDL |
basierend auf der x86- Befehlssatzarchitektur | ||||||
CPU86 | HT-Labor | Jawohl | 8088-kompatible CPU in VHDL | cpu86 | VHDL | |
MCL86 | MicroCore Labs | Jawohl | 8088 BIU bereitgestellt. Andere einfach zu erstellen. | Zyklusgenauer 8088/8086 implementiert mit einem Mikrosequenzer. Weniger als 2% Auslastung von Kintex-7. | MCL86-Kern | |
s80x86 | Jamie Iles | GPLv3 | Benutzerdefiniert | 80186-kompatibler GPLv3-Kern | s80x86 | SystemVerilog |
Zet | Zeus Gómez Marmolejo | Jawohl | Querlenker | x86 PC-Klon | Zet | Verilog |
ao486 | Aleksander Osman | 3-Klausel BSD | Avalon | i486 SX-kompatibler Kern | ao486 | Verilog |
basierend auf der PowerPC/Power Befehlssatzarchitektur | ||||||
PowerPC 405S | IBM | Nein | CoreConnect | 32-Bit-PowerPC v.2.03 Buch E | IBM | Verilog |
PowerPC 440S | IBM | Nein | CoreConnect | 32-Bit-PowerPC v.2.03 Buch E | IBM | Verilog |
PowerPC 470S | IBM | Nein | CoreConnect | 32-Bit-PowerPC v.2.05 Book E | IBM | Verilog |
Mikrowatt | IBM/OpenPOWER | CC-BY 4.0 | Querlenker | 64-Bit PowerISA 3.0 Machbarkeitsnachweis | Microwatt @ Github | VHDL |
Meißelwatt | IBM/OpenPOWER | CC-BY 4.0 | Querlenker | 64-Bit-PowerISA 3.0 | Meißelwatt @ Github | Meißel |
Libre-SOC | Libre-SoC.org | BSD/LGPLv2+ | Querlenker | 64-Bit-PowerISA 3.0. CPU/GPU/VPU-Implementierung und benutzerdefinierte Vektoranweisungen | Libre-SoC.org | Python/nMigen |
A2I | IBM/OpenPOWER | CC-BY 4.0 | Benutzerdefinierter PBus | 64-Bit PowerPC 2.6 Book E. In Ordnung Kern | A2I @ Github | VHDL |
A2O | IBM/OpenPOWER | CC-BY 4.0 | Benutzerdefinierter PBus | 64-Bit PowerPC 2.7 Book E. Kern ausgefallen | A2O @ Github | Verilog |
Andere Architekturen | ||||||
BOGEN | ARC International , Inhaltsangabe | Nein | 16/32/64-Bit-ISA-RISC | DesignWare ARC | Verilog | |
ERIC5 | Enter Elektronik | Nein | 9-Bit-RISC, sehr klein, C-programmierbar | ERIC5 | VHDL | |
H2-CPU | Richard James Howe | MIT | Benutzerdefiniert | 16-Bit-Stack-Maschine, entworfen, um Forth direkt auszuführen, klein | H2-CPU | VHDL |
Instant-SoC | FPGA-Kerne | Nein | Benutzerdefiniert | 32-Bit-RISC-VM-Erweiterung, SoC definiert von C++ | Instant-SoC | VHDL |
JOP | Martin Schöberl | Jawohl | SimpCon / Querlenker (Erweiterung) | Stack-orientierter, harter Echtzeit-Support, der Java-Bytecode direkt ausführt | Jop | VHDL |
GitterMico8 | Gitter | Jawohl | Querlenker | GitterMico8 | Verilog | |
GitterMico32 | Gitter | Jawohl | Querlenker | GitterMico32 | Verilog | |
LXP32 | Alex Kuznetsov | MIT | Querlenker | 32-Bit, 3-Stufen-Pipeline, Registerdatei basierend auf Block-RAM | lxp32 | VHDL |
MCL65 | MicroCore Labs | Jawohl | Mikrosequenzer-basierter 6502-Core mit extrem kleinem Footprint | 252 Spartan-7-LUTs. Taktzyklus-genau. | MCL65-Kern | |
MRISC32-A1 | Marcus Geelnard | Jawohl | Querlenker , B4/pipelined | 32-Bit-RISC/Vektor-CPU mit einem benutzerdefinierten ISA | MRISC32 | VHDL |
NEO430 | Stephan Nolting | Jawohl | Querlenker (Avalon, AXI4-Lite) | 16-Bit MSP430 ISA-kompatibel, sehr kleine Größe, viele Peripheriegeräte, hochgradig anpassbar | NEO430 | VHDL |
Nios , Nios II | Altera | Nein | Avalon | Altera Nios II | Verilog | |
OpenRISC | OpenCores | Jawohl | Querlenker | 32-Bit; erfolgt in ASIC, Actel, Altera, Xilinx FPGA. | [9] | Verilog |
SpartanMC | TU Darmstadt / TU Dresden | Jawohl | Individuell ( AXI- Unterstützung in der Entwicklung) | 18-Bit-ISA (GNU Binutils / GCC-Unterstützung in Entwicklung) | SpartanMC | Verilog |
SYNPIC12 | Miguel Angel Ajo Pelayo | MIT | PIC12F-kompatibel, in Gates synthetisiertes Programm | nbee.es | VHDL | |
xr16 | Jan Grau | Nein | XSOC abstrakter Bus | 16-Bit-RISC-CPU und -SoC im Circuit Cellar Magazine #116-118 | XSOC/xr16 | Schaltplan |
YASEP | Yann Guidon | AGPLv3 | Direkter SRAM | 16 oder 32 Bit, RTL in VHDL & asm in JS , Mikrocontroller-Untermenge: fertig | yasep.org ( Firefox erforderlich) | VHDL |
ZipCPU | Gisselquist-Technologie | GPLv3 | Querlenker, B4/pipelined | 32-Bit-CPU für minimalen FPGA-Ressourcenverbrauch | zipcpu.com | Verilog |
ZPU | Zylin AS | Jawohl | Querlenker | Stack-basierte CPU, konfigurierbarer 16/32-Bit-Datenpfad, eCos- Unterstützung | Zylin-CPU | VHDL |
RISC5 | Niklaus Wirth | Jawohl | Benutzerdefiniert | Ausführen eines vollständigen grafischen Oberon-Systems einschließlich eines Editors und Compilers. Software kann auf demselben FPGA-Board entwickelt und ausgeführt werden. | www.projectoberon.com/ | Verilog |
Siehe auch
-
System-on-a-Chip (SoC)
- Network-on-a-Chip (NoC)
- Rekonfigurierbares Computing
- VHDL
- Verilog
- Hardware-Beschleunigung
Verweise
Externe Links
- Soft-CPU-Kerne für FPGA
- Detaillierter Vergleich von 12 Soft-Mikroprozessoren
- FPGA-CPU-Neuigkeiten
- Freedom CPU-Website
- Mikroprozessorkerne auf Opencores.org (Erweitern Sie die Registerkarte "Prozessor")
- NikTech 32-Bit-RISC-Mikroprozessor MANIK.