Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
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 » (System on Programmable Chip ou SoPC). 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 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). MicroBlaze (Xilinx) PicoBlaze (Xilinx) NIOS (Altera) Nios II (Altera) Mico8 (Lattice) Mico32 (Lattice) LEON (Gaisler Research) LowRISC (Université de Cambridge) OpenRISC (OpenCores.org) Les processeurs softcore suivants sont des clones (plus ou moins complets) de processeurs propriétaires : aeMB (OpenCores.org) (clone du MicroBlaze) OpenFire (clone du MicroBlaze) SecretBlaze (clone du MicroBlaze) SoPC SoC FPGA Page SoC et SoPC de P.
Mirjana Stojilovic, Stefan Nikolic, Shashwat Shrivastava
Mathias Josef Payer, Mirjana Stojilovic, Shashwat Shrivastava, Ognjen Glamocanin, Jinwei Yao, Nour Ardo