Cet article est uneébauche concernant l’électronique.
Unprocesseur softcore est unprocesseur (CPU) implémenté sur un système reprogrammable comme unFPGA. On parle alors de « système sur puce programmable » (System on Programmable Chip ou SoPC).
Le motsoftcore est une contraction des mots anglaissoftware (« logiciel ») etcore (« cœur d'exécution d'unmicroprocesseur »). En effet, un softcore est une implémentation deprocesseur disponible sous forme de description bas niveau, dans un langage de description matérielle comme leVHDL ou leVerilog, ou directement sous la forme de fichier de configuration pour éviter la diffusion des sources. Architecture très flexible par nature, on les utilise surtout dans desFPGA. Unsoftcore peut donc être reconfiguré pour s'adapter aux contraintes de chaque utilisation (périphériques, performances, ressources, consommation, fonctions, etc.).
Cela s'oppose aux « hard macros » disponibles sous forme de fichier très bas niveau, optimisé pour un seul processus de fabrication (par exemple le 0.18 µm de TSMC). Un telhardcore (par exemple de la familleARM) est habituellement standard et ne peut être modifié, mais il est vendu validé (sans bogue) et optimisé en taille et en vitesse (plus rapide et moins gros qu'unsoftcore).
Un processeursoftcore est en contrepartie plus facile à maintenir et peut être porté vers unASIC (Application Specific Integrated Circuit).
Les processeurssoftcore suivants sont des clones (plus ou moins complets) de processeurs propriétaires :
| Processeur | Developpeur | Open Source | Bus Supporté | Notes | Page Web |
|---|---|---|---|---|---|
| OpenSPARC T1 | Sun | 64-bit | OpenSPARC.net | ||
| MicroBlaze | Xilinx | OPB, FSL, LMB | « Xilinx MicroBlaze »(Archive.org •Wikiwix •Archive.is •Google •Que faire ?) | ||
| PicoBlaze | Xilinx | « Xilinx PicoBlaze »(Archive.org •Wikiwix •Archive.is •Google •Que faire ?) | |||
| NIOS, Nios II | Altera | Altera Nios II | |||
| Cortex-M1 | Arm | [1] | |||
| Mico32 | Lattice | LatticeMico32 | |||
| LEON 3 | ESA | AMBA | 25k portes, compatible SPARC V8 | Gaisler | |
| H2 CPU | Richard James Howe | 16-bit, Forth, VHDL | Forth CPU | ||
| LowRISC | Université de Cambridge | 64-bit, compatibleRISC-V | lowrisc.org | ||
| OpenRISC | OpenCores | 32-bit; validé sur cible ASIC, Altera, Xilinx | OR1K | ||
| AEMB | Shawn Tan | Wishbone | Core écrit en verilog compatible avec le MicroBlaze EDK 3.2 | AEMB | |
| OpenFire | Virginia Tech CCM Lab | OPB, FSL | Compatibilité binaire avec le MicroBlaze | VT OpenFire | |
| SecretBlaze | LIRMM, Université de Montpellier 2 / CNRS | Wishbone | Compatible MicroBlaze, VHDL | SecretBlaze | |
| PacoBlaze | Pablo Bleyer | Compatible avec le processeur PicoBlaze | PacoBlaze | ||
| CQPIC | Sumio Morioka (Japon) | Compatible avec le processeur PIC16F84 (8-bit) | Embarquer un PIC 16F84 | ||
| ATMega8 | Dr. Juergen Sauermann (Allemagne) | Compatible avec le processeur Atmel ATMega8 (8-bit) | Embarquer un ATMega8 etCPU lecture |
Sur les autres projets Wikimedia :