Processeur softcore - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Un processeur softcore est un processeur implémenté sur un système reprogrammable comme un FPGA. On parle alors de système sur puce programmable (System on Programmable Chip ou SoPC).

Présentation

Le mot softcore est une contraction des mots anglais software (logiciel) et core (cœur d'exécution d'un microprocesseur). En effet, un softcore est une implémentation de CPU disponible sous forme de description haut niveau, dans un langage de description matérielle comme le VHDL ou le Verilog. 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 bug) 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).

Tableau récapitulatif

Processeur Developpeur Open Source Bus Supporté Notes Page Web
OpenSPARC T1 Sun Yes check.svg  Oui 64-bit OpenSPARC.net
MicroBlaze Xilinx Non  Non OPB, FSL, LMB Xilinx MicroBlaze
PicoBlaze Xilinx Non  Non Xilinx PicoBlaze
Nios, Nios II Altera Non  Non Altera Nios II
Cortex-M1 Arm Non  Non [1]
Mico32 Lattice Yes check.svg  Oui LatticeMico32
LEON 3 ESA Yes check.svg  Oui AMBA 25k portes, compatible SPARC V8 Gaisler
OpenRISC OpenCores Yes check.svg  Oui 32-bit; validé sur cible ASIC, Altera, Xilinx OR1K
AEMB Shawn Tan Yes check.svg  Oui Wishbone Core écrit en verilog compatible avec le MicroBlaze EDK 3.2 AEMB
OpenFire Virginia Tech CCM Lab Yes check.svg  Oui OPB, FSL Compatibilité binaire avec le MicroBlaze VT OpenFire
PacoBlaze Pablo Bleyer Yes check.svg  Oui Compatible avec le processeur PicoBlaze PacoBlaze

Liste de processeurs softcore

Propriétaires

  • MicroBlaze (Xilinx)
  • PicoBlaze (Xilinx)
  • NIOS (Altera)
  • NIOS II (Altera)

Open Source

  • Mico8 (Lattice)
  • Mico32 (Lattice)
  • LEON (Gaisler Research)
  • OpenRISC (OpenCores.org)

Liste de Clones (open-source)

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

  • aeMB (OpenCores.org) (clone du MicroBlaze)
  • OpenFire (clone du MicroBlaze)
Page générée en 0.112 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise