Microprocesor moale - Soft microprocessor

Un microprocesor soft (numit și microprocesor softcore sau procesor soft ) este un nucleu de microprocesor care poate fi implementat în totalitate utilizând sinteza logică . Poate fi implementat prin diferite dispozitive semiconductoare care conțin logică programabilă (de exemplu, ASIC , FPGA , CPLD ), incluzând atât variații high-end, cât și variații ale mărfurilor.

Majoritatea sistemelor, dacă utilizează un procesor soft, folosesc doar un singur procesor soft. Cu toate acestea, câțiva designeri acoperă pe un FPGA cât mai multe nuclee moi pe măsură. În aceste sisteme multi-core , resursele utilizate rar pot fi partajate între toate nucleele dintr-un cluster.

În timp ce mulți oameni pun exact un microprocesor soft pe un FPGA, un FPGA suficient de mare poate conține două sau mai multe microprocesoare soft, rezultând un procesor multi-core . Numărul de procesoare soft pe un singur FPGA este limitat doar de dimensiunea FPGA. Unii oameni au pus zeci sau sute de microprocesoare moi pe un singur FPGA. Aceasta este o modalitate de a implementa paralelism masiv în calcul și poate fi aplicată, de asemenea, la calculul în memorie .

Un microprocesor moale și perifericele sale înconjurătoare implementate într-un FPGA este mai puțin vulnerabil la învechire decât un procesor discret.

Comparație de bază

Procesor Dezvoltator Sursa deschisa Suport autobuz Note Proiect acasă Limbajul descrierii
bazat pe arhitectura setului de instrucțiuni ARM
Chihlimbar Conor Santifort LGPLv2.1 Osă ARMv2a conductă în 3 sau 5 etape Pagina proiectului la Opencores Verilog
Cortex-M1 BRAŢ Nu [6] 70–200  MHz, RISC pe 32 de biți [7] Verilog
bazat pe arhitectura setului de instrucțiuni AVR
Navré Sébastien Bourdeauducq da SRAM direct Atmel AVR - RISC pe 8 biți compatibil Pagina proiectului la Opencores Verilog
pAVR Doru Cuturela da Atmel AVR - RISC pe 8 biți compatibil Pagina proiectului la Opencores VHDL
bazat pe arhitectura setului de instrucțiuni MicroBlaze
AEMB Shawn Tan da Osă Compatibil cu MicroBlaze EDK 3.2 AEMB Verilog
MicroBlaze Xilinx Nu PLB, OPB, FSL, LMB, AXI4 Xilinx MicroBlaze
Foc deschis Virginia Tech CCM Lab da OPB, FSL Binar compatibil cu MicroBlaze [8] Verilog
SecretBlaze LIRMM, Universitatea din Montpellier / CNRS da Osă MicroBlaze ISA, VHDL SecretBlaze VHDL
bazat pe arhitectura setului de instrucțiuni MCS-51
MCL51 Laboratoare MicroCore da Nucleu 8051 bazat pe microsequencer cu amprentă foarte mică 312 Artix-7 LUT-uri. Versiunea quad-core 8051 este de 1227 LUT. MCL51 Core
TSK51 / 52 Altium Fără drepturi de autor Wishbone / Intel 8051 Set de instrucțiuni Intel 8051 pe 8 biți compatibil, alternativ cu ciclu de ceas mai mic Design încorporat pe Altium Wiki
bazat pe arhitectura setului de instrucțiuni MIPS
BERI Universitatea Cambridge BSD MIPS Pagina proiectului Bluespec
Dossmatik René Doss CC BY-NC 3.0, cu excepția solicitanților comerciali, trebuie să plătească o taxă de licență . Autobuz cu conducte Instrucțiunile MIPS I stabilesc etapele conductelor Dossmatik VHDL
TSK3000A Altium Fără drepturi de autor Osă 32-bit R3000 stil RISC modificat la Harvard arhitectura CPU Design încorporat pe Altium Wiki
bazat pe arhitectura setului de instrucțiuni PicoBlaze
PacoBlaze Pablo Bleyer da Compatibil cu procesoarele PicoBlaze PacoBlaze Verilog
PicoBlaze Xilinx Nu Xilinx PicoBlaze VHDL, Verilog
bazat pe arhitectura setului de instrucțiuni RISC-V
f32c Universitatea din Zagreb BSD AXI, SDRAM, SRAM Subseturi ISA RISC-V / MIPS pe 32 de biți (retargetable), lanț de instrumente GCC f32c VHDL
NEORV32 Stephan Nolting BSD Wishbone b4, AXI4 rv32 [i / e] [m] [a] [c] [b] [u] [Zfinx] [Zicsr] [Zifencei], compatibil RISC-V, CPU și SoC disponibile, foarte personalizabile, lanț de instrumente GCC GitHub OpenCores VHDL
VexRiscv SpinalHDL da AXI4 / Avalon 32 de biți, RISC-V, până la 340  MHz pe Artix 7. Până la 1,44  DMIPS / MHz. https://github.com/SpinalHDL/VexRiscv VHDLVerilog (SpinalHDL)
bazat pe arhitectura setului de instrucțiuni SPARC
LEON2 (-FT) ESA da AMBA2 SPARC V8 ESA VHDL
LEON3 / 4 Aeroflex Gaisler da AMBA2 SPARC V8 Aeroflex Gaisler VHDL
OpenPiton Princeton Parallel Group da Manycore SPARC V9 OpenPiton Verilog
OpenSPARC T1 Soare da Pe 64 de biți OpenSPARC.net Verilog
Tacus / PIPE5 TemLib da Autobuz cu conducte SPARC V8 TEMLIB VHDL
bazat pe arhitectura setului de instrucțiuni x86
CPU86 HT-Lab da CPU compatibil 8088 în VHDL cpu86 VHDL
MCL86 Laboratoare MicroCore da 8088 BIU furnizat. Alții ușor de creat. Ciclu precis 8088/8086 implementat cu un microsequencer. Utilizarea mai puțin de 2% a Kintex-7. MCL86 Core
s80x86 Jamie Iles GPLv3 Personalizat Miez GPLv3 compatibil 80186 s80x86 SystemVerilog
Zet Zeus Gómez Marmolejo da Osă clonare PC x86 Zet Verilog
ao486 Aleksander Osman 3-Clauză BSD Avalon Nucleu compatibil i486 SX ao486 Verilog
bazat pe arhitectura setului de instrucțiuni PowerPC / Power
PowerPC 405S IBM Nu CoreConnect PowerPC pe 32 de biți v.2.03 Cartea E IBM Verilog
PowerPC 440S IBM Nu CoreConnect PowerPC pe 32 de biți v.2.03 Cartea E IBM Verilog
PowerPC 470S IBM Nu CoreConnect PowerPC pe 32 de biți v.2.05 Cartea E IBM Verilog
Microwatt IBM / OpenPOWER CC-BY 4.0 Osă Dovada conceptului PowerISA 3.0 pe 64 de biți Microwatt @ Github VHDL
Chiselwatt IBM / OpenPOWER CC-BY 4.0 Osă PowerISA 3.0 pe 64 de biți Chiselwatt @ Github Daltă
Libre-SOC Libre-SoC.org BSD / LGPLv2 + Osă PowerISA 3.0 pe 64 de biți. Implementare CPU / GPU / VPU și instrucțiuni vectoriale personalizate Libre-SoC.org python / nMigen
A2I IBM / OpenPOWER CC-BY 4.0 PBus personalizat 64-bit PowerPC 2.6 Cartea E. În bază de comandă A2I @ Github VHDL
A2O IBM / OpenPOWER CC-BY 4.0 PBus personalizat PowerPC 2.7 pe 64 de biți Cartea E. Mie în afara comenzii A2O @ Github Verilog
Alte arhitecturi
ARC ARC International , Synopsys Nu 16/32/64-bit ISA RISC DesignWare ARC Verilog
ERIC5 Entner Electronics Nu RISC pe 9 biți, de dimensiuni foarte mici, programabil C ERIC5 VHDL
Procesor H2 Richard James Howe MIT Personalizat Mașină Stack de 16 biți, concepută pentru a executa Forth direct, mic Procesor H2 VHDL
SoC instantaneu FPGA Cores Nu Personalizat Extensie RISC-V M pe 32 de biți, SoC definită de C ++ SoC instantaneu VHDL
JOP Martin Schoeberl da SimpCon / Wishbone (extensie) Suport în timp real, orientat spre stivă, executând direct codul secundar Java Jop VHDL
LatticeMico8 Zăbrele da Osă LatticeMico8 Verilog
LatticeMico32 Zăbrele da Osă LatticeMico32 Verilog
LXP32 Alex Kuznetsov MIT Osă 32-bit, 3-etapă conductă, fișier de înregistrare bazat pe bloc RAM lxp32 VHDL
MCL65 Laboratoare MicroCore da Nucleu 6502 bazat pe microsequencer cu amprentă foarte mică 252 LUT-uri Spartan-7. Ciclul exact al ciclului. MCL65 Core
MRISC32-A1 Marcus Geelnard da Wishbone , B4 / conductat CPU RISC / Vector pe 32 de biți cu un ISA personalizat MRISC32 VHDL
NEO430 Stephan Nolting da Wishbone (Avalon, AXI4-Lite) Compatibil cu 16 biți MSP430 ISA, dimensiuni foarte mici, multe periferice, foarte personalizabile NEO430 VHDL
Nios , Nios II Altera Nu Avalon Altera Nios II Verilog
OpenRISC OpenCores da Osă Pe 32 de biți; realizat în ASIC, Actel, Altera, Xilinx FPGA. [9] Verilog
SpartanMC TU Darmstadt / TU Dresda da Personalizat ( suport AXI în dezvoltare) ISA pe 18 biți (suport GNU Binutils / GCC în dezvoltare) SpartanMC Verilog
SYNPIC12 Miguel Angel Ajo Pelayo MIT Compatibil PIC12F, program sintetizat în porți nbee.es VHDL
xr16 Jan Grey Nu Autobuz abstract XSOC CPU RISC pe 16 biți și SoC prezentate în revista Circuit Cellar # 116-118 XSOC / xr16 Schematic
YASEP Yann Guidon AGPLv3 SRAM direct 16 sau 32 de biți, RTL în VHDL și asm în JS , subset microcontroler: gata yasep.org ( este necesar Firefox ) VHDL
ZipCPU Tehnologie Gisselquist GPLv3 Wishbone, B4 / conductat CPU pe 32 de biți vizat pentru utilizarea minimă a resurselor FPGA zipcpu.com Verilog
ZPU Zylin AS da Osă CPU bazat pe stivă, cale de date 16/32 biți configurabilă, suport eCos CPU Zylin VHDL
RISC5 Niklaus Wirth da Personalizat Rularea unui sistem grafic complet Oberon, care include un editor și un compilator. Software-ul poate fi dezvoltat și rulat pe aceeași placă FPGA. www.projectoberon.com/ Verilog

Vezi si

Referințe

linkuri externe