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 Soft Processador Hard Processador Previsió Menys Més Configuració Alt Baix Eines de software Menys Més Rapidesa baix Alt
Comparació de nuclis Processor Developer Open Source Bus Support Notes Project Home Description Language TSK3000A Altium Royalty-Free Wishbone 32-bit R3000 style RISC Modified Harvard Architecture CPU Embedded Design on Altium Wiki TSK51/52 Altium Royalty-Free Wishbone / Intel 8051 8-bit Intel 8051 instruction set compatible, lower clock cycle alternative Embedded Design on Altium Wiki OpenSPARC T1 Sun 64-bit OpenSPARC.net Verilog MicroBlaze Xilinx PLB, OPB, FSL, LMB, AXI4 Xilinx MicroBlaze PicoBlaze Xilinx Xilinx PicoBlaze VHDL, Verilog Nios, Nios II Altera Avalon Altera Nios II Verilog Cortex-M1 ARM 70-200 MHz, 32bit RISC Verilog eSi-RISC EnSilica AMBA AXI, AHB and APB Configurable as 16 or 32-bit. Supports ASIC and FPGA. EnSilica eSi-RISC Verilog LatticeMico32 Lattice Wishbone LatticeMico32 Verilog LEON2(-FT) ESA AMBA2 SPARC V8 ESA VHDL LEON3/4 Aeroflex Gaisler AMBA2 SPARC V8 Aeroflex Gaisler VHDL Navré Sébastien Bourdeauducq Direct SRAM Atmel AVR compatible 8-bit RISC Project page at Opencores Verilog OpenRISC OpenCores Wishbone 32-bit; Done in ASIC, Actel, Altera, Xilinx FPGA OR1K Verilog ARC ARC International, Synopsys 16/32-bit ISA RISC DesignWare ARC Verilog pAVR Doru Cuturela Atmel AVR compatible 8-bit RISC Project page at Opencores VHDL AEMB Shawn Tan Wishbone MicroBlaze EDK 3.2 compatible AEMB Verilog OpenFire Virginia Tech CCM Lab OPB, FSL Binary compatible with the MicroBlaze http://opencores.org/project,openfire_core,overview Verilog SecretBlaze LIRMM, University of Montpellier / CNRS Wishbone MicroBlaze ISA, VHDL SecretBlaze VHDL RISC-V UC Berkeley RISC-V ISA, Xilinx Zynq riscv.org Chisel SYNPIC12 Miguel Angel Ajo Pelayo MIT PIC12F compatible, program synthesised in gates nbee.es VHDL PacoBlaze Pablo Bleyer Compatible with the PicoBlaze processors PacoBlaze Verilog CPU86 HT-Lab 8088 compatible CPU in VHDL cpu86 VHDL xr16 Jan Gray XSOC abstract bus 16-bit RISC CPU + SoC featured in Circuit Cellar Magazine #116-118 XSOC/xr16 Schematic JOP Martin Schoeberl SimpCon / Wishbone (extension) Stack oriented, hard real-time support, executes Java bytecode directly Jop VHDL ERIC5 Entner Electronics 9-bit RISC, very small size, C-programmable ERIC5 VHDL YASEP Yann Guidon AGPLv3 Direct SRAM 16 or 32 bits, RTL in VHDL & asm in JS, microcontroller subset : ready yasep.org (Firefox required) VHDL Zet Zeus Gómez Marmolejo Wishbone x86 PC clone Zet Verilog ZPU Zylin AS Wishbone Stack based CPU, configurable 16/32 bit datapath, eCos support Zylin CPU VHDL ZPUino Álvaro Lopes Wishbone Zylin's ZPU based SoC, 32 bit, Linux support. ZPUino VHDL
Referències
Vegeu també SoC (System-on-a-chip) PSoC (Programmable System on a Chip) FPGA (Field Programmable Gate Array)
Enllaços externs Detailed Comparison of 12 Soft Microprocessors - broken link? FPGA CPU News Freedom CPU website Microprocessor cores on Opencores.org (Expand the "Processor" tab) NikTech 32 bit RISC Microprocessor MANIK.
Categoria:Microprocessadors