SoC Zynq - Intégration PS + PL
Comprendre pourquoi utiliser un SoC Zynq, comment se répartissent les rôles entre le processeur (PS) et le FPGA (PL), et comment ils communiquent via AXI.
Qu'est-ce qu'un SoC Zynq ?
Un SoC (System on Chip) regroupe sur une même puce un ou plusieurs processeurs, des contrôleurs mémoire et des périphériques. Un SoC classique ne contient pas forcément de logique programmable. Un Zynq est un SoC FPGA : il ajoute au système processeur une matrice FPGA, reliée directement sur le silicium.
La famille Zynq-7000 d'AMD/Xilinx associe ainsi un processeur ARM Cortex-A9 double cœur à une architecture FPGA de série 7. Les familles plus récentes, comme Zynq UltraScale+ MPSoC, ajoutent notamment des cœurs ARM Cortex-A53 et Cortex-R5, tout en conservant la séparation entre système processeur et logique programmable.
Pourquoi utiliser un SoC plutôt qu'un FPGA seul ?
Le principal intérêt est de placer chaque fonction là où elle est la plus efficace :
- le processeur exécute le logiciel, un système d'exploitation, les protocoles réseau, les fichiers et les algorithmes riches en décisions ;
- le FPGA traite en parallèle les flux de données, les interfaces personnalisées et les contraintes de temps réel strictes ;
- leur intégration sur une même puce réduit la latence, la consommation, l'encombrement et le nombre de composants par rapport à un CPU et un FPGA séparés ;
- la mémoire DDR peut être partagée : le logiciel prépare des buffers et un accélérateur matériel les traite sans faire transiter les données par un lien externe lent.
Un Zynq est donc pertinent lorsqu'une application combine une pile logicielle complexe et un traitement matériel déterministe : vision industrielle, radio logicielle, robotique, acquisition rapide ou commande de moteurs. Si le besoin est uniquement logiciel, un microcontrôleur peut être plus simple. Si tout le traitement est un pipeline matériel sans logiciel évolué, un FPGA seul peut suffire.

Vue globale d'un Zynq-7000 : le Processing System se trouve dans la partie supérieure et la logique programmable dans la partie inférieure.
Les deux parties du Zynq
Processing System (PS)
Le PS est un sous-système processeur câblé en dur. Sur un Zynq-7000, il comprend notamment :
| Élément | Rôle |
|---|---|
| CPU |
