Avec Zero ASIC, la chaîne d’outils de programmation de FPGA devient simple et open source

Zero Asic

Officiellement créée en 2020 par Andreas Olofsson, qui avait fondé en 2008 la défunte entreprise Adapteva (lire notre article), la firme américaine Zero ASIC a dévoilé début avril une chaîne d’outils pour FPGA open source, présentée comme "légère" et optimisée par le framework Silicon Compiler de la société qui est adaptée à la conception de circuits électroniques. La suite Logik, c’est son nom, permet aux utilisateurs de générer des bitstreams (*) pour les FPGA au terme d’une unique étape d'exécution en langage Python qui séquence l’usage de de plusieurs outils open source au sein d’une chaîne d'outils de CAO pour circuits logiques programmables.

En plus de Silicon Compiler, Logik s'appuie en effet sur d'autres projets open source bien établis et utilisés dans les flux de conception de FPGA, notamment l’outil de synthèse logique Yosys, l’outil de placement/routage VPR, l’analyseur VHDL GHDL et l’analyseur SystemVerilog Surelog.

Selon Zero ASIC, la beauté de Logik tient dans sa simplicité. Les utilisateurs n'ont qu'à écrire un court script Python pour regrouper les données de conception et exécuter le flux. Logik exécute la synthèse, le placement, le routage et la génération du bitstream FPGA en séquence. Les fonctionnalités de reporting des métriques de Silicon Compiler sont utilisées pour signaler les résultats clés une fois le travail terminé.

Pour l’heure, le flux Logik est proposé avec la prise en charge intégrée d'une puce FPGA appelée logik_demo. Le FPGA logik_demo dispose de 6 576 paires LUT/bascule à 4 entrées, de 16 moteurs multiplieurs-accumulateurs (MAE) et de 16 blocs RAM comme ressources logiques. Au niveau des interfaces d’entrées/sorties, logik_demo affiche 64 E/S à usage général et trois interfaces de mémoire universelle (UMI).

Il est possible d’utiliser l'architecture logik_demo pour évaluer le flux RTL-bitstream, mais aussi de simuler les bitstreams générés dans le cloud avec la plateforme de jumeau numérique de Zero ASIC. Au-delà, les développeurs peuvent étendre la prise en charge de Logik à l'architecture FPGA de leur choix. Les exigences pour ce faire consistent à développer un modèle compatible VPR du FPGA, des fichiers de métadonnées d'architecture pour la génération de bitstreams et un pilote Python léger pour intégrer le FPGA dans la chaîne d’outils Logik.

A noter que Zero ASIC a mis à son catalogue sous la forme de chiplets un sous-système processeur RISC-V, un FPGA et un moteur IA, ainsi qu’un interposeur.

(*) La mise au point de la configuration d'un FPGA consiste dans un premier temps à décrire ses données de configuration sous forme d'une succession de bits qu'on appelle bitstream ou fichier de configuration.