Avec SDSoC, Xilinx autorise la programmation complète des circuits Zynq aux développeurs C/C++

Xilinx SDx

Avec l’environnement de développement SDSoC, Xilinx s’attaque au problème de la programmation des circuits SoC et MPSoC Zynq, dotés de cœurs ARM et d’une matrice de FPGA. Des circuits de plus en plus puissants et offrant ...de plus en plus de possibilités mais pour lesquels il devient difficile de maîtriser la complexité d'applications qui tirent réellement parti des potentialités affichées par le matériel. Cet IDE sous Eclipse qui fait partie de la famille des environnements SDx de Xilinx (SDN pour les réseaux, SDAccel pour les programmes en OpenCL) s’adresse donc aux ingénieurs système et logiciels en leur proposant un flot de conception en C/C++ pour la programmation de la totalité d’un circuit Zynq, aussi bien pour la partie matérielle que pour le logiciel. Avec un compilateur unique qui génère du code optimisé pour les cœurs Cortex et la matrice de FPGA.

SDSoC permet ainsi de créer des applications complètes pour une architecture multiprocesseur qui associent du code C/C++ destiné à tourner sur des systèmes d’exploitation comme Linux ou FreeRTOS ou directement sur le silicium (bare metal), des blocs de propriété intellectuelle codés en HDL et optimisés pour les architectures Zynq, et des bibliothèques applicatives sous la forme de blocs d’IP écrits en C. Concrètement, au cours du cycle de conception, l'environnement SDSoC apporte aux développeurs la possibilité de réaliser une analyse de haut niveau de l’application (system profiling) avec une représentation des performances temporelles au niveau cycle pour les parties logicielle et matérielle, et ce sans avoir à disposition le circuit. Les aspects liés à l'utilisation de la mémoire, à la congestion des bus de données, aux mesures de runtime, aux performances des interconnexions... sont abordés à ce niveau. Avec, à la clé, des décisions à prendre concernant l’accélération de certaines parties logicielles, jusqu’à un facteur 1 000, que l’on peut implanter directement sur la matrice FPGA sans avoir à coder du RTL. A ce niveau, Xilinx intègre dans SDSoC la technologie de son outil HLS Compiler qui permet de passer directement d’un algorithme écrit en C vers le RTL.

Couplés à cet environnement, Xilinx propose des BSP (Board Support Package) pour toutes les architectures Zynq, i.e. les SoC à base de cœurs Cortex-A9, mais aussi les récents MPSoC fabriqués en technologie 16 nm et dotés de cœurs Cortex-A53 et Cortex-R5 (Zynq UltraScale+), ainsi que pour les cartes de développement et de prototypage Zedboard, MicroZed et Zybo.