Soft microprocessor

De la Viquipèdia, l'enciclopèdia lliure

Un processador softcore és un processador (CPU) implementat en un sistema reprogramable com una FPGA. Es coneix com un sistema en un xip programable (System on a Programmable Chip o SOPC).

Es pot implementar utilitzant una síntesi lògica, fent servir diferents dispositius semiconductors lògics programables, com per exemple (ASIC, FPGA, CPLD,etc). La majoria dels sistemes utilitzant un únic microprocessador, no obstant, hi ha alguns dissenyadors que fan servir més d'un processador sobre una FPGA.
Té l'avantatge de la capacitat de configurar-se de forma òptima, eliminar les funcionalitats innecessàries, o fins i tot modificar el codi del compilador amb les seves característiques.
És improbable que cap proveïdor important de processadors d'alt rendiment com Intel o IBM ofereixi una versió soft dels seus processadors, ja que posaria a l'abast moltes propietats intel·lectuals.
El processador soft és específic per cada fabricant de FPGA, no obstant existeixen alguns soft processadors de tercers que poden executar FPGAs de diferents proveïdors amb suport d'unes eines de software.

Una comparació entre els avantatges i desavantatges de cada processador (com mostra la següent taula), a primera vista el Hard sembla més preferible que el soft processador, però malgrat això, el soft té més avantatges, ja que es pot configurar o eliminar qualsevol funcionalitat innecessària.

Taula d'avantatges[modifica]

Soft Processador Hard Processador
Previsió Menys Més
Configuració Alt Baix
Eines de software Menys Més
Rapidesa baix Alt

Comparació de nuclis[modifica]

Processor Developer Open Source Bus Support Notes Project Home Description Language
TSK3000A Altium No Royalty-Free Wishbone 32-bit R3000 style RISC Modified Harvard Architecture CPU Embedded Design on Altium Wiki
TSK51/52 Altium No Royalty-Free Wishbone / Intel 8051 8-bit Intel 8051 instruction set compatible, lower clock cycle alternative Embedded Design on Altium Wiki
OpenSPARC T1 Sun Yes 64-bit OpenSPARC.net Verilog
MicroBlaze Xilinx No PLB, OPB, FSL, LMB, AXI4 Xilinx MicroBlaze
PicoBlaze Xilinx Yes Xilinx PicoBlaze VHDL, Verilog
Nios, Nios II Altera No Avalon Altera Nios II Verilog
Cortex-M1 ARM No [1] 70-200 MHz, 32bit RISC [2] Verilog
eSi-RISC EnSilica No AMBA AXI, AHB and APB Configurable as 16 or 32-bit. Supports ASIC and FPGA. EnSilica eSi-RISC Arxivat 2010-11-07 a Wayback Machine. Verilog
LatticeMico32 Lattice Yes Wishbone LatticeMico32 Verilog
LEON2(-FT) ESA Yes AMBA2 SPARC V8 ESA VHDL
LEON3/4 Aeroflex Gaisler Yes AMBA2 SPARC V8 Aeroflex Gaisler VHDL
Navré Sébastien Bourdeauducq Yes Direct SRAM Atmel AVR compatible 8-bit RISC Project page at Opencores Verilog
OpenRISC OpenCores Yes Wishbone 32-bit; Done in ASIC, Actel, Altera, Xilinx FPGA OR1K Verilog
ARC ARC International, Synopsys No 16/32-bit ISA RISC DesignWare ARC Arxivat 2016-12-04 a Wayback Machine. Verilog
pAVR Doru Cuturela Yes Atmel AVR compatible 8-bit RISC Project page at Opencores VHDL
AEMB Shawn Tan Yes Wishbone MicroBlaze EDK 3.2 compatible AEMB Verilog
OpenFire Virginia Tech CCM Lab Yes OPB, FSL Binary compatible with the MicroBlaze [3] Arxivat 2009-07-24 a Wayback Machine. [1] Verilog
SecretBlaze LIRMM, University of Montpellier / CNRS Yes Wishbone MicroBlaze ISA, VHDL SecretBlaze VHDL
RISC-V UC Berkeley Yes RISC-V ISA, Xilinx Zynq riscv.org Chisel
SYNPIC12 Miguel Angel Ajo Pelayo Yes MIT PIC12F compatible, program synthesised in gates nbee.es VHDL
PacoBlaze Pablo Bleyer Yes Compatible with the PicoBlaze processors PacoBlaze Verilog
CPU86 HT-Lab Yes 8088 compatible CPU in VHDL cpu86 Arxivat 2015-05-16 a Wayback Machine. VHDL
xr16 Jan Gray No XSOC abstract bus 16-bit RISC CPU + SoC featured in Circuit Cellar Magazine #116-118 XSOC/xr16 Schematic
JOP Martin Schoeberl Yes SimpCon / Wishbone (extension) Stack oriented, hard real-time support, executes Java bytecode directly Jop VHDL
ERIC5 Entner Electronics No 9-bit RISC, very small size, C-programmable ERIC5 Arxivat 2016-03-05 a Wayback Machine. VHDL
YASEP Yann Guidon Yes AGPLv3 Direct SRAM 16 or 32 bits, RTL in VHDL Arxivat 2018-08-15 a Wayback Machine. & asm in JS, microcontroller subset : ready yasep.org (Firefox required) VHDL
Zet Zeus Gómez Marmolejo Yes Wishbone x86 PC clone Zet Arxivat 2013-01-12 at Archive.is Verilog
ZPU Zylin AS Yes Wishbone Stack based CPU, configurable 16/32 bit datapath, eCos support Zylin CPU VHDL
ZPUino Álvaro Lopes Yes Wishbone Zylin's ZPU based SoC, 32 bit, Linux support. ZPUino VHDL

Referències[modifica]

Vegeu també[modifica]

Enllaços externs[modifica]