Grâce à son nouveau circuit SoC (System On Chip) Sapphire RV64, la société américaine Efinix, concepteur de circuits logiques programmables (FPGA) de haute performance, étend les performances de ses SoC Sapphire 32 bits tout en offrant une prise en charge mémoire accrue, des capacités d’entrées/sorties plus riches et une plus grande évolutivité.
Avec à la clé l’intégration sur ce circuit de cœurs logiciels RISC-V configurables capables de prendre en charge les mémoires DDR3, LPDDR4x et HyperRAM pour les FPGA d’Efinix.
En d’autres termes, Efinix propose avec le SoC Sapphire RV64, un processeur “soft-core” RISC-V 64 bits configurable, conçu pour ses FPGA Titanium et Topaze, ainsi que pour tous les composants Trion (modèle T20 et supérieurs) de la société.
Fondé sur l'architecture de jeu d'instructions RISC-V, le Sapphire RV64 est conçu, selon Efinix, pour les utilisateurs dont les applications ont dépassé les limites des cœurs embarqués 32 bits en termes de performances, d'espace d'adressage mémoire, de cache et d'entrées/sorties (E/S), tout en nécessitant la flexibilité et la faible consommation d'une solution basée sur FPGA.
« Le Sapphire RV64 a été conçu pour permettre aux concepteurs utilisant déjà nos SoC Sapphire 32 bits de monter en gamme sans avoir à repenser l'architecture de leurs systèmes, précise Tony Ngai, cofondateur, coprésident et directeur technique d'Efinix. Il reprend la même approche configurable nativement adaptée aux FPGA, mais procure désormais des capacités accrues en matière d'adressage mémoire, de cache et de débogage requises par les charges de travail réclamées par l'IA et les systèmes Linux embarqués 64 bits. »
D’un point de vue plus technologique, cette architectures s’appuie sur un cœur VexRiscv qui peut être configuré avec de un à quatre cœurs RISC-V cadencés jusqu'à 400 MHz.
Le Sapphire RV64 dispose d'un pipeline à sept étages, de caches L1 configurables, d'un cache L2 optionnel (de 64 à 512 Ko) et d'une mémoire RAM intégrée de 4 à 512 Ko.
Les mémoires DDR3, LPDDR4x et HyperRAM sont supportés à travers des interfaces AXI allant jusqu'à 512 bits et capables de gèrer des mémoires externes de 4 Mo à 8 Go. Avec des débits allant jusqu'à 3 200 Mbit/s.
Sur ce circuit on trouve en outre une unité de calcul en virgule flottante (FPU) optionnelle, un prédicteur de branchement, des mécanismes de prélecture, une MMU, jusqu'à 32 broches généralistes, cinq interfaces I²C, trois SPI, trois UART, des temporisateurs, un chien de garde (watchdog) et jusqu'à huit interruptions utilisateur.
Côté logiciel, l’outil Efinity IP Manager permet de configurer le SoC et de générer un cœur IP personnalisé.
De son côté l’environnement de développement intégré Efinity RISC-V Embedded Software propose une plate-forme basée sur Eclipse destinée au développement et au débogage en C/C++.
Selon la configuration, le SoC peut démarrer depuis une mémoire flash SPI en chargeant directement le code dans la RAM intégrée, ou copier une application utilisateur plus volumineuse dans la mémoire externe avant son exécution.
A noter que les configurations multicœurs du circuit exploitent une approche de type SMP (multiprocesseur symétrique), répartissant la charge de travail entre tous les coeurs de processeurs pour améliorer le débit global du système.
