Processeur softcore

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}

{{#invoke:Bandeau|ébauche}} Un processeur softcore est un processeur (CPU) implémenté sur un système reprogrammable comme un FPGA. On parle alors de « système sur puce programmable » (Modèle:Lang ou SoPC).

Présentation

Le mot softcore est une contraction des mots anglais Modèle:Lang (« logiciel ») et Modèle:Lang (« cœur d'exécution d'un microprocesseur »). En effet, un softcore est une implémentation de processeur disponible sous forme de description bas niveau, dans un langage de description matérielle comme le VHDL ou le Verilog, 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 des FPGA. Un softcore 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 tel hardcore (par exemple de la famille ARM) 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'un softcore).

Un processeur softcore est en contrepartie plus facile à maintenir et peut être porté vers un ASIC (Application Specific Integrated Circuit).

Liste de processeurs softcore

Propriétaires

Open Source

Liste de clones (open-source)

Les processeurs softcore suivants sont des clones (plus ou moins complets) de processeurs propriétaires :

Tableau récapitulatif

Processeur Developpeur Open Source Bus Supporté Notes Page Web
OpenSPARC T1 Sun Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} 64-bit OpenSPARC.net
MicroBlaze Xilinx Fichier:OOjs UI icon close-ltr-destructive.svg{{#if:| {{{1}}}| Non}} OPB, FSL, LMB Modèle:Lien brisé
PicoBlaze Xilinx Fichier:OOjs UI icon close-ltr-destructive.svg{{#if:| {{{1}}}| Non}} Modèle:Lien brisé
NIOS, Nios II Altera Fichier:OOjs UI icon close-ltr-destructive.svg{{#if:| {{{1}}}| Non}} Altera Nios II
Cortex-M1 Arm Fichier:OOjs UI icon close-ltr-destructive.svg{{#if:| {{{1}}}| Non}} [1]
Mico32 Lattice Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} LatticeMico32
LEON 3 ESA Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} AMBA 25k portes, compatible SPARC V8 Gaisler
H2 CPU Richard James Howe Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} 16-bit, Forth, VHDL Forth CPU
LowRISC Université de Cambridge Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} 64-bit, compatible RISC-V lowrisc.org
OpenRISC OpenCores Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} 32-bit; validé sur cible ASIC, Altera, Xilinx OR1K
AEMB Shawn Tan Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} Wishbone Core écrit en verilog compatible avec le MicroBlaze EDK 3.2 AEMB
OpenFire Virginia Tech CCM Lab Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} OPB, FSL Compatibilité binaire avec le MicroBlaze VT OpenFire
SecretBlaze LIRMM, Université de Montpellier 2 / CNRS Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} Wishbone Compatible MicroBlaze, VHDL SecretBlaze
PacoBlaze Pablo Bleyer Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} Compatible avec le processeur PicoBlaze PacoBlaze
CQPIC Sumio Morioka (Japon) Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} Compatible avec le processeur PIC16F84 (8-bit) Embarquer un PIC 16F84
ATMega8 Dr. Juergen Sauermann (Allemagne) Fichier:OOjs UI icon check-constructive.svg{{#if:| {{{1}}}| Oui}} Compatible avec le processeur Atmel ATMega8 (8-bit) Embarquer un ATMega8 et CPU lecture

Voir aussi

Modèle:Autres projets

Articles connexes

Liens externes

Modèle:Palette Modèle:Portail