AMD Xilinx propose la famille de systèmes sur puce (SoC) Zynq, qui combine en un seul dispositif diverses capacités d’entrée et de sortie d’un microprocesseur ARM et une logique programmable de Xilinx.
Le microprocesseur peut exécuter un système d’exploitation tel que Linux et servir d’interface homme-machine pratique grâce à son interface utilisateur graphique. En outre, il met déjà en œuvre les interfaces de communication les plus courantes, comme Ethernet, USB, CAN, SPI, UART et I²C.
La logique programmable, quant à elle, joue son avantage dans le traitement parallèle massif et le débit de données élevé qui y est associé. Par rapport aux processeurs d’ordinateur et aux cartes graphiques, c’est ici que vous obtenez les meilleures performances par watt.
Le Zynq de Xilinx combine les avantages de la technologie des microprocesseurs et des circuits sur un seul SoC. Pour les développeurs de logiciels, le SoC Zynq apparaît comme un SoC ARM standard, complet, qui démarre immédiatement à la mise sous tension et peut exécuter divers systèmes d’exploitation indépendamment de la logique programmable.
Contrairement aux SoC FPGA et microprocesseurs précédents, la plate-forme Zynq est passée d’un modèle centré sur le FPGA à un modèle centré sur le processeur. Cette évolution vise principalement à faciliter l’utilisation au quotidien.
Le SoC Zynq-7000
La première génération de SoC Zynq visait spécifiquement les systèmes embarqués tels que l’assistance à la conduite automobile, la vidéosurveillance générique ou les communications sans fil et l’automatisation des usines.
Le microprocesseur utilisé dans le Zynq-7000 SoC est un Arm® Cortex®-A9 à simple ou double cœur. La logique programmable de septième génération est créée dans un processus d’une largeur de structure de 28 nm.
Avec jusqu’à 6,6 millions de cellules logiques et des largeurs de bande comprises entre 6,25 et 12,5 Gb/s, des conceptions hautement différenciées sont possibles, permettant de traiter simultanément plusieurs flux vidéo ou de traiter efficacement des flux vidéo particulièrement haute résolution (Ultra-HDTV).
Zynq UltraScale+ MPSoC
Annoncé comme le premier SoC adaptatif hétérogène, un deuxième bras Cortex-R5F à double cœur est disponible spécifiquement pour les tâches en temps réel, en plus d’un bras Cortex-A53 à double ou quadruple cœur.En combinaison avec la latence déjà faible du matériel FPGA, le nouveau SoC se positionne comme la solution idéale pour les tâches en temps réel.
En outre, une carte graphique spéciale sous la forme de l’Arm Mali-400 est intégrée pour la première fois chez Xilinx. Ce GPU, qui est également connu des smartphones et des tablettes, maîtrise l’API OpenlGL ES 2.0 et se compose de deux pixel shaders et d’un vertex shader. La variante EV du Zynq UltraScale+ prend également en charge les codecs H.264 et H.265 utilisés pour la compression vidéo.
La logique programmable a également été améliorée par rapport au Zynq-7000. Elle est désormais créée dans le processus FinFET+ de 16 nm de TSMC et fonctionne de manière encore plus efficace.
Les solutions Zynq de Digilent
Le Cora Z7 marque le point d’entrée de ce type de carte de développement SoC chez Reichelt Elektronik en termes de prix et s’adresse principalement aux makers et aux amateurs. Équipée de têtes Arduino™, d’Ethernet 1Gbps, d’un convertisseur analogique-numérique embarqué et de ports Pmod, la Cora Z7 peut être utilisée dans une variété d’applications embarquées.
Sur un PCB d’un blanc saisissant, avec plus de connectivité, un double cœur Arm et 85000 cellules logiques au lieu de 28000, l’Arty Z7-20, légèrement plus grande, marque des points, ciblant les applications vidéo personnalisées et capable de gérer la vidéo en temps réel via les entrées et sorties HDMI. Les deux cartes sont dotées de connecteurs permettant d’accueillir les cartes d’extension Arduino les plus courantes, ce qui les rend encore plus flexibles.Le fer de lance de Digilent est la Genesys ZU-5EV avec Zynq UltraScale+ EV MPSoC. Conçu pour la vidéo haute définition, le Genesys ZU-5EV est idéal pour le multimédia, les systèmes d’assistance automobile, la surveillance et d’autres applications de vision embarquées.
L’excellente combinaison de périphériques embarquées, de DDR4 évolutive, d’emplacements mini PCIe et microSD, de multi-caméras, d’un codec vidéo permettant la source et le puits HDMI, et de 10G SFP+ prend en charge une variété de cas d’utilisation. Plusieurs ports spécialisés, dont les ports d’extension Gigabit FMC, Pmod et les ports pour modules d’extension haute vitesse conformes à SYZYGY pour Zmods, permettent une extension flexible et un accès facile à un large écosystème de modules complémentaires parfaits pour l’évaluation et le prototypage rapide.
Mise en route
Les cartes mentionnées sont toutes prises en charge par la Vivado Design Suite de Xilinx. Avec Vivado ML Standard Edition (anciennement Vivado WebPACK ™), une variante gratuite est même disponible.
L’environnement de conception intégré (IDE) Vivado peut être utilisé pour synthétiser et analyser des conceptions en langage de description du matériel (HDL). La suite dispose à cet effet d’outils allant du niveau système au niveau puce, basés sur un modèle de données évolutif commun et un environnement de débogage commun.
En outre, Vivado, comme les opérations ISE de Xilinx, comprend un simulateur logique et peut convertir le code C en logique programmable. Le logiciel est disponible pour Microsoft Windows et Linux.
Par ailleurs, le logiciel SDSOC est disponible pour l’Arty Z7-20 et certaines autres cartes Zynq. L’environnement SDSOC (Software-Defined System-On-Chip) est basé sur l’environnement de développement intégré Ecplipse bien connu et permet aux développeurs et aux ingénieurs de commencer plus facilement à développer avec les FPGA de Xilinx, puisqu’aucune connaissance préalable de la technologie des circuits n’est requise.
L’environnement de développement comprend un compilateur C/C++/OpenCL optimisant le système, qui fournit une accélération logicielle automatisée en logique programmable combinée à une génération automatisée de la connectivité du système, ainsi que des outils de conception complets.
Une application est donc écrite en code C/C++/OpenCL, le programmeur spécifiant une plate-forme cible et un sous-ensemble de fonctions de l’application à compiler dans le matériel. L’application est ensuite compilée en matériel et en logiciel pour réaliser le système embarqué complet mis en œuvre sur un dispositif Zynq. Cela inclut une image de démarrage prête à l’emploi avec un micrologiciel, ainsi qu’un système d’exploitation et l’application exécutable elle-même.











