L’OpenHW Group veut simplifier le développement et le test de logiciels pour l'architecture RISC-V

OpneHW Group Risc-V CVA6

Faire progresser le développement de designs logiciels bâtis sur l'architecture de processeur RISC-V à travers une collaboration ouverte et neutre vis-à-vis des fournisseurs, tel est l’objectif que s’est fixé l’OpenHW Group (Open Hardware Group) avec son projet de plate-forme CORE-V CVA6.

Il s’agit d’un environnement de développement et de test de logiciels open source pour plate-forme FPGA, destiné à être implanté par la suite sur des processeurs RISC-V et capable de suivre le rythme des standards RISC-V au fur et à mesure de leur publication. Selon ses promoteurs, cette initiative à destination de la communauté RISC-V pourrait accélérer l'innovation sur du matériel "ouvert".

Dans le cadre du projet, la plateforme CVA6 procurera des designs de processeurs open source aussi bien pour des environnements "client" que "serveur", une étape importante, selon l’OpenHW Group, vers la création d'un environnement plus standardisé et rationalisé. Dans un premier temps, la plate-forme ciblera les applications client, puis s'étendra aux applications serveur.

Dans le détail, la plate-forme CVA6 est construite à l'aide du réseau sur puce (NoC) pour environnements en grappe CV-Mesh, fondé sur le framework "manycore" OpenPiton et le protocole à cohérence de cache P-Mesh, technologies initialement développées à l'université de Princeton aux États-Unis. Le NoC CV-Mesh permet une mise à l'échelle cohérente de centaines de cœurs 64 bits RISC-V Core-V CVA6 et réutilise diverses interfaces de communication entre les cœurs, les caches et la mémoire, ce qui accélère et facilite l'intégration et les tests de diverses configurations de la plateforme.

Hébergées sur les cartes FPGA Genesys2 de Digilent, des démonstrations de la plate-forme CVA6 exécutant la distribution Fedora Linux de Red Hat sur des grappes CVA6 à double cœur ont d'ores et déjà été présentées au RISC-V Summit qui s’est déroulé à Santa Clara en Californie  les 7 et 8 novembre 2023.

Selon l’OpenHW Group, l'un des intérêts principaux de cette initiative est sa capacité d'évolution lui permettant de “coller” au paysage en constante transformation des spécifications RISC-V. Une approche dynamique qui favorise le potentiel de la co-conception matérielle et logicielle et garantit que la plate-forme CVA6 reste pertinente au fil du temps.

La mise en œuvre de la plate-forme CVA6 qui utilise une émulation matérielle sur FPGA fournit une équivalence logique (code RTL écrit en SystemVerilog) au niveau du silicium, par opposition à un simulateur logiciel interprété. Cette approche garantit que la plate-forme est ancrée dans le matériel, offrant aux équipes de développement de logiciels un environnement de test plus robuste.

Dans les mois qui viennent, une gamme de configurations FPGA sera disponible dans le cadre du projet CVA6 Platform, notamment pour sur les instances Amazon AWS EC2 F1, ce qui autorisera les tests logiciels sur un cluster de huit CVA6 dans le cloud. Pour les développeurs, les cartes Genesys 2 et Nexys Video de Digilent constituent un point d'entrée à faible coût pour les tests de base avec 1 ou 2 cœurs CVA6.

Au-delà, il sera aussi possible d’utiliser d’autres configurations comme les cartes VC707 de Xilinx/AMD qui prend en charge de 1 à 4 cœurs CVA6, les cartes VCU118 de Xilinx et XUPP3 de BittWare capables de prendre en charge de 8 à 10 cœurs CVA6 et enfin les cartes Alveo U200 et U250 de Xilinx qui peuvent supporter encore plus de cœurs CVA6, jusqu’à 15, afin de tester des logiciels parallèles et distribués de grande envergure.

Parmi les sociétés actives sur le projet, citons l’allemand Ashling (environnement de développement), le laboratoire espagnol BSC (Barcelona Supercomputing Center), Red Hat (éditeur de la distribution Linux Fedora), le français Thales et l’université de Californie USCB (University of California, Santa Barbara).

Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à l’architecture de processeur RISC-V : Embedded-RISCV