Présentation

Grâce à leur flexibilité inhérente, les SoC adaptatifs et les FPGA d'AMD sont idéaux pour les applications de traitement de signal numérique (DSP) hautes performances ou multicanaux qui peuvent tirer parti du parallélisme hardware. Les SoC adaptatifs et les FPGA d'AMD combinent cette bande passante de traitement avec des solutions complètes, notamment des outils de conception conviviaux pour les concepteurs de hardware, les développeurs de software et les architectes système.

Parallélisme hardware

Une architecture DSP Von Neumann standard nécessite 256 cycles pour exécuter un filtre RIF à 256 valeurs, tandis que les SoC adaptatifs et les FPGA parviennent au même résultat en un seul cycle d'horloge.

DSP Diagram

Ce parallélisme massif se traduit par des niveaux exceptionnels de performances DSP :

  • 49,5 téraMACS de performances en virgule fixe (8 bits)
  • 23,1 téraFLOPS pour virgule flottante en simple précision

Solutions DSP complètes

Les solutions DSP d'AMD comprennent des circuits intégrés, des IP, des modèles de référence, des cartes de développement, des outils, de la documentation et des formations pour permettre le développement d'un large éventail d'applications dans de nombreux marchés, y compris, mais sans s'y limiter, les communications sans fil, les centres de données, l'aérospatiale et la défense.

Flux de développement complets

Différents flux d'outils sont disponibles pour différents modèles d'utilisation et différents niveaux d'abstraction de conception :

Les concepteurs de hardware peuvent concevoir avec :

Les développeurs de software habitués à travailler en C/C++ peuvent concevoir à l'aide des outils suivants :

Les architectes système peuvent évaluer rapidement de nouveaux algorithmes avec :

Choisissez votre solution

Avec les SoC adaptatifs et les FPGA d'AMD, les concepteurs peuvent utiliser plusieurs flux pour déployer leurs applications DSP en fonction de l'approche de conception et du niveau d'abstraction.

Versal AI Engines : Une réponse aux exigences de calcul DSP hautes performances des applications de nouvelle génération

Sur de nombreux marchés dynamiques et en pleine évolution des DSP, tels que l'aérospatiale, la défense, l'automobile/l'industrie et les tests/mesures, les applications exigent une accélération de calcul des DSP toujours plus importante tout en conservant une efficacité énergétique. 

La loi de Moore et la loi de Dennard ne suivant plus leur trajectoire traditionnelle, le passage au nœud de silicium de nouvelle génération ne peut à lui seul offrir les avantages d'une réduction de la consommation et des coûts avec de meilleures performances, comme dans les générations précédentes.

Pour répondre à cette augmentation non linéaire de la demande des applications DSP de nouvelle génération, telles que la canalisation polyphasée et la formation de faisceaux, AMD a développé une nouvelle technologie de traitement innovante, AI Engine, qui fait partie de l'architecture AMD Versal™.

Gros plan sur les AI Engines Versal :

Architecture AI Engine

Les AI Engines sont conçus comme des matrices 2D composées de plusieurs tuiles AI Engine et permettent une solution très évolutive dans l'ensemble du portefeuille Versal, allant de 10 à 100 AI Engines dans un seul appareil, répondant aux besoins de calcul d'un large éventail d'applications. 

Les avantages comprennent :

Programmabilité software
  • Programmable en langage C via la plateforme software unifiée Vitis
  • Programmation basée sur des modèles via Vitis Model Composer 
  • En savoir plus sur le processus de conception DSP AI Engine 
Déterministe
  • Mémoires d'instructions et de données dédiées
  • Connectivité dédiée associée à des moteurs DMA pour le déplacement programmé des données via la connectivité entre les tuiles AI Engine 
Efficacité
  • Offre une densité de calcul DSP accrue par rapport à une logique programmable traditionnelle, tout en réduisant la consommation énergétique dynamique. Cliquez ici pour en savoir plus. 

Basés sur une architecture de type ASIC, les SoC adaptatifs et les FPGA AMD combinent une bande passante d'E/S de plusieurs centaines de gigabits par seconde avec plus de 49 téraMACs de performances DSP en virgule fixe dans la série Versal™ Premium. La tranche DSP AMD et son parallélisme sont essentiels pour que la dernière génération de FPGA AMD atteigne les performances DSP.

Architecture de la tranche DSP

Le DSP58 de la tranche des appareils Versal représente la 6e génération de DSP dans les architectures AMD.

Ce bloc de traitement DSP dédié est implémenté dans un circuit intégré entièrement personnalisé qui offre un rapport puissance/performance inégalé, permettant une implémentation efficace des fonctions DSP les plus courantes, telles que le multiplicateur-accumulateur (MACC), le multiplicateur-additionneur (MADD) ou la multiplication complexe.

Cette tranche offre également la possibilité d'effectuer différents types d'opérations logiques, telles que les opérations AND, OR et XOR.

L'architecture DSP58 de l'appareil Versal s'appuie sur le succès du FPGA UltraScale™ DSP48E2 avec des améliorations supplémentaires :

  • Multiplicateur plus large (27 x 24 bits)
  • Multiplicateur à virgule flottante en simple précision
  • Multiplication complexe 18x18 à l'aide de deux DSP dos à dos
  • Mode produit scalaire vectoriel INT8

Ces améliorations permettent aux applications DSP critiques d'effectuer plus de calculs dans la tranche DSP48E2 avant de passer à la structure FPGA, ce qui permet en fin de compte d'économiser à la fois des ressources et de l'énergie.

Caractéristiques de la tranche DSP48E2 (UltraScale) par rapport à la tranche DSP58 (Versal)

Fonction UltraScale Versal
Type de tuile/tranche DSP DSP48E2 DSP58
Plusieurs opérations Add/Sub/Acc
Multiplicateur et MACC 27x18 27x24
Quadrature :  [(A OU B) +/- D]2
WMUX Feedback Ultra Efficient Complex Multiply CMACC 3 x DSP48E2 2 x DSP58
Prise en charge SIMD
Circuit de détection de modèle intégré
Unité logique intégrée
Fonctions Mux larges 48 bits 58 bits
XOR étendu 96 bits 116 bits
Multiplicateur à virgule flottante en simple précision  
Sortie 96 bits en option
Routage en cascade
Registres de pipeline
Pré-additionneur D
Multiplication complexe séquentielle, accès dynamique AB.
Équilibrage du pipeline de registre AB amélioré

Vidéos à la une :

  1. Utilisation du MUX Squaring dans la tranche DSP48E2 (vidéo)
  2. Utilisation du feedback MUX Wide dans la tranche DSP48E2 (vidéo)

Outils et flux

Selon vos préférences de conception, AMD dispose d'outils prenant en charge RTL, C/C++ et la saisie de conception basée sur un modèle. Cette flexibilité dans le flux de conception, ainsi qu'un vaste catalogue de propriétés intellectuelles DSP, facilite l'adoption des outils et des appareils AMD.

Versal Prime block diagram

Rendez-vous sur Outils, bibliothèques et frameworks pour plus d'informations.

Mesures de performances DSP

Le tableau suivant présente certaines des principales mesures de performance DSP pour les gammes Série 7, UltraScale™ et UltraScale+™. Pour les performances des appareils SoC adaptatifs, consultez la section Développeur de software.

  Kintex UltraScale Kintex UltraScale+ Virtex UltraScale Virtex UltraScale+ Versal AI Core Versal AI Edge Versal AI Prime Versal AI Premium
Éléments logiques du système (K) 318–1 451 356–1 143 783–5 541 862–3 780 540 à 1 968 44 à 1 139 329 à 2 233 833 à 7 352
Unités DSP 768–5 520 1 368–3 528 600–2 880 2 280–12 288 928 à 1 968 90 à 1 312 464 à 3 984 1 140 à 14 352
Multiplicateurs 27x18 768–5 520 1 368–3 528 600–2 880 2 280–12 288 928 à 1 968 90 à 1 312 464 à 3 984 1 140 à 14 352
GOPs INT81 1 774–14 315 4 263–11 000 1 554–7 469 7 108–38 318 6 403 à 13 579 62 à 9 052 3 201 à 27 489 7 866 à 99 029
GOPs INT16 1 014–8 180 2 436–6 286 888–4 268 4 062–21 896 2 134 à 4 526 21 à 3 017 1 067 à 9 163 2 622 à 33 010
GOPs INT18 complexes 676 à 5 453 1 624 à 4 191 592 à 2 845 2708 à 14 597 913 à 1 937 8 à 1 291 456 à 3 920 1 122 à 14 122
Virgule flottante en simple précision (GFLOPs)2 320–2 685 800–1 673 294–1 411 1 354–7 299 1 494 à 3 168 14 à 2112 747 à 6 414 1 835 à 23 107

Nous avons introduit des environnements de développement de software et un ensemble complet d'outils, de bibliothèques et de méthodologies familiers et performants qui permettent aux développeurs de software de cibler facilement les SoC adaptatifs et les FPGA d'AMD. Avec la plateforme software unifiée Vitis™, un environnement d'abstraction de haut niveau. Nous pouvons offrir des expériences de développement et d'exécution d'applications intégrées de type GPU et familières pour le développement en C, C++ et/ou OpenCL.

MPSoCS AMD et appareils Versal

Le MPSoC Zynq™ UltraScale+™ et l'architecture Versal se combinent pour former un système de traitement (PS) puissant, intégrant des processeurs Arm® Cortex®, et une logique programmable par l'utilisateur (PL), dans un seul appareil.

Profilage d'applications pour l'accélération

La plateforme software unifiée Vitis permet de profiler une application donnée et de créer des accélérateurs hardware pour fonctionner plus efficacement dans la logique programmable (PL), où la flexibilité et le parallélisme du FPGA sont exploités pour améliorer les performances. Cela permet également d'exécuter d'autres fonctions de l'application en parallèle dans le système de traitement (PS), si nécessaire.

En ciblant les SoC adaptatifs et les FPGA d'AMD, de nombreuses applications DSP et intégrées verront leur efficacité s'améliorer et leur consommation diminuer.

Caractéristiques et performances DSP des appareils SoC AMD

Les tableaux suivants présentent certaines des principales fonctionnalités et mesures de performance DSP des gammes de MPSoC Zynq UltraScale+ et des appareils Versal™ d'AMD. Pour connaître les performances des appareils autres que les SoC, consultez la section Concepteur de hardware.

Système de traitement SoC Zynq 7000 MPSoC Zynq UltraScale+
Application
Unité centrale (APU)
  • MPCore™ ARM Cortex-A9 simple/double cœur jusqu'à 1 GHz
  • Architecture ARMv7-A
  • Moteur de traitement multimédia NEON™
  • Unité à virgule flottante vectorielle (VFPU) en précision simple et double
  • MPCore ARM Cortex-A53 double cœur/quadricœur jusqu'à 1,5 GHz
  • Architecture ARMv8-A
  • Moteur de traitement multimédia NEON Advanced SIMD
  • Unité à virgule flottante (FPU) en précision simple/double
En temps réel
Unité centrale (RPU)
-
  • MPCore ARM Cortex-R5 double cœur jusqu'à 600 MHz
  • Architecture ARMv7-R
  • Unité à virgule flottante (FPU) en précision simple/double
Traitement multimédia -
  • GPU ARM Mali™-400 MP2 jusqu'à 667 MHz
    • Prise en charge d'OpenGL ES 1.1 et 2.0
    • Prise en charge d'OpenVG 1.1
  • Codec vidéo prenant en charge H.264-H.265 (appareils EV uniquement)
Interface de mémoire dynamique DDR3, DDR3L, DDR2, LPDDR2 DDR4, LPDDR4, DDR3, DDR3L, LPDDR3
Périphériques haut débit USB 2.0, Gigabit Ethernet, SD/SDIO PCIe® Gen2, USB3.0, SATA 3.1, DisplayPort, Gigabit Ethernet, SD/SDIO
Sécurité RSA, AES et SHA, ARM TrustZone® RSA, AES et SHA, ARM TrustZone
Nombre maximal de broches d'E/S 128 214

 

Logique programmable SoC Zynq 7000 MPSoC Zynq UltraScale+
Éléments logiques du système (K) 23–444 103–1 045
Mémoire max. (Mo) 1,8–26,5 5,3–70,6
Nombre maximal de broches d'E/S 100–362 252–668
Unités DSP 60–2 020 240–3 528
Multiplicateurs 18x18 60–2 020 240–3 528
Performances en virgule fixe (GMACS) (1) 42–1 313 213–3 143
Performances en virgule fixe pour les filtres symétriques (GMACS) (1) ( 2) 84–2 626 426–6 286
GOPS INT8 (1) (3) 84–2 626 745–11 000
GOPS INT16 (1) 84–2 626 426–6 286
Virgule flottante en simple précision (GFLOPS) (1) ( 4) 23–716 142–1 673
Virgule flottante en simple précision (GFLOPS) (1) ( 5) 17–537 106–1 571
Virgule flottante en demi-précision (GFLOPS) (1) (6) 34–1 074 212–3 142

Remarques :

  1. Tous les calculs de performance sont basés sur des composants de niveau de vitesse -2 pour le SoC adaptatif Zynq 7000 et -3 pour le MPSoC Zynq UltraScale+
  2. L'utilisation du pré-additionneur DSP permet de doubler les performances sur les filtres symétriques
  3. Reportez-vous au document WP486 : Apprentissage profond avec optimisation INT8 sur les appareils AMD (non applicable aux appareils Zynq)
  4. Performance de calcul en virgule flottante en simple précision utilisant le Floating-Point Operator avec 3 tranches DSP
  5. Performance de calcul en virgule flottante en simple précision utilisant le Floating-Point Operator avec 4 tranches DSP
  6.  Performance de calcul en virgule flottante en demi-précision utilisant le Floating-Point Operator avec 2 tranches DSP

Pour en savoir plus sur les SoC et les MPSoc adaptatifs AMD, rendez-vous sur :

DSP dans le sous-système de traitement

Le système de traitement (PS) fournit des capacités de traitement DSP via les différents cœurs de traitement ARM.

Pour plus d'informations sur les capacités DSP des processeurs ARM, rendez-vous sur :

Vous trouverez des exemples utiles aux emplacements suivants :

Pour le MPSoC Zynq UltraScale+, consultez le UG1211 pour une démonstration d'un FFT à l'aide du jeu d'instructions ARM NEON.

Pour le SoC Zynq 7000, les conseils techniques suivants sont disponibles sur le wiki Xilinx pour le ciblage du Cortex-A9 et de l'ARM SIMD :

Prise en charge des types de données AMD

AMD offre une prise en charge très flexible des types de données dans ses appareils. Les outils AMD prennent en charge nativement les différentes précisions des nombres à virgule fixe, des nombres à virgule flottante et des nombres entiers, la virgule flottante étant implémentée à l'aide du cœur IP Floating-Point Operator.

Les conceptions en virgule flottante implémentées sur des FPGA entraîneront toujours une consommation de ressources et d'énergie plus élevée que les implémentations en virgule fixe ou en nombre entier. Le passage à une solution en virgule fixe, lorsque cela est possible, apportera de nombreux avantages :

  • Moins de ressources FPGA
  • Consommation d'énergie inférieure
  • Coût inférieur

Pour plus de détails sur les avantages du passage des types de données à virgule flottante à ceux à virgule fixe, consultez le document WP491.

Benchmarks

Les tableaux ci-dessous présentent une petite sélection d'algorithmes et les améliorations de performances possibles en utilisant un dispositif AMD et en particulier la structure de la logique programmable (PL) pour accélérer la conception.

Algorithme CPU/GPU MPSoC Zynq UltraScale+ Advantage
Stereo LocalBM @ 2K ARM : 0,5 i/s/Watt
NVIDIA : 3,5 i/s/Watt
146 i/s/Watt 292x
42x
Flux optique
(Lucas-Kanade)
ARM : 0,1 i/s/Watt
NVIDIA : 0,8 i/s/Watt
7,1 i/s/Watt 9.3x
GoogleNet
(Lot =1)
ARM : 0,1 im/s/w
NVIDIA : 8,8 im/s/w
53 im/s/w 530x
6x

Remarques :

  1. ARM : Le quadricœur A53 fonctionne sur le Raspberry Pi à une fréquence de 1 200 MHz.
  2. Les benchmarks NVIDIA ont été réalisés avec Tegra X1
  3. Flux optique (LK) – Taille de fenêtre 11 x 1
Algorithme CPU/DSP Zynq 7000 Advantage
Projection avant ARM : 3 s/vue 0,016 s/vue 188x
Détection de mouvement ARM : 0,7 i/s 67 FPS 90x
Réduction du bruit-Sobel ARM : 1 i/s 67 FPS 60x
Détection des contours de Canny ARM : 0,66 i/s 40 i/s 45x
Reconstruction d'images 3D ARM : 75k 8k 9x
DPD ARM : 506 ms 31,3 ms 16x
FIR TI DSP : 64020 ns 1200 ns 53x
FFT TI DSP : 1036 ns 128 ns 8x

Remarques :

  1. Le cœur Cortex-A9 est utilisé uniquement sur les appareils Zynq lorsqu'ils ciblent ARM.
  2. Les benchmarks TI ont été réalisés à l'aide du cœur DSP C66

Les outils de conception de haut niveau d'AMD, tels que Vitis Model Composer pour DSP et la synthèse de haut niveau (HLS), offrent un niveau d'abstraction qui permet aux architectes système et aux experts du domaine d'évaluer rapidement de nouveaux algorithmes et de se concentrer sur le développement des éléments différenciateurs de leur conception. La solution DSP complète d'AMD est une combinaison de ces outils de conception, de la propriété intellectuelle, des conceptions de référence, des méthodologies et des cartes qui fonctionnent ensemble pour obtenir une conception de production fonctionnelle dans les plus brefs délais.

Vitis Model Composer est un outil de conception basé sur des modèles qui exploite l'environnement MATLAB et Simulink pour définir, tester et mettre en œuvre des algorithmes DSP de qualité de production dans une logique programmable en un temps record par rapport au développement RTL traditionnel.

L'outil fournit les éléments suivants :

  • Plus de 100 blocs DSP optimisés, dont beaucoup avec des modèles de simulation C pour une simulation 2 à 3 fois plus rapide qu'avec RTL
  • Intégration des composants RTL, IP, Simulink, MATLAB et C/C++ d'un système DSP
  • Simulations en virgule flottante et en virgule fixe précises jusqu'au bit et au cycle
  • Cosimulation hardware pour accélérer la simulation et valider l'algorithme sur du hardware en fonctionnement
  • Génération automatique de code depuis Simulink vers une IP packagée ou un HDL de bas niveau
  • Génération automatique d'un banc d'essai HDL, y compris des vecteurs d'essai

En savoir plus sur Vivado System Generator pour DSP :

Synthèse de haut niveau

La synthèse de haut niveau, qui inclut la plateforme software unifiée Vitis, permet de cibler directement les spécifications d'algorithmes C, C++ et System C portables dans les FPGA et SoC adaptatifs AMD sans avoir à créer de RTL. Tout comme il existe des compilateurs de C/C++ vers différentes architectures de processeurs, le compilateur HLS offre la même fonctionnalité de C/C++ vers les FPGA et les SoC adaptatifs d'AMD.

En savoir plus sur la synthèse de haut niveau (HLS) Vivado :

Outils et écosystème

AMD fournit les meilleurs outils de leur catégorie pour permettre la mise en œuvre efficace et à faible consommation énergétique des applications de traitement de signal numérique (DSP) sur les SoC adaptatifs et les FPGA d'AMD. Que vous conceviez avec RTL, C/C++/SystemC ou Matlab/Simulink, les outils AMD ci-dessous facilitent la conception DSP et réduisent le délai de mise sur le marché.

Bibliothèques et frameworks

AMD propose une gamme de bibliothèques optimisées en matière de performances, d'utilisation des ressources et de facilité d'utilisation.

Bibliothèques et frameworks Description
Application
Référentiels GitHub AMD a créé des référentiels GitHub, qui contiennent des exemples utiles pour de nombreuses applications, y compris les fonctions liées à DSP.

Vitis

Model Composer Vitis

Accélération avec Vitis

Bibliothèques accélérées Vitis AMD a créé un ensemble complet de bibliothèques open source et optimisées pour la performance qui offrent une accélération prête à l'emploi, avec un minimum, voire aucun changement de code à apporter à vos applications existantes. Bibliothèques Vitis

Partenaires, cartes et kits

AMD et ses partenaires collaborent à la production d'outils et de cartes visant à faciliter l'adoption des FPGA et des SoC d'AMD pour les applications DSP dans de nombreux segments de marché. 

Partenaire Description Solution
Kits et modules de développement dédiés au DSP Avnet

MathWorks et Avnet, fournisseur leader de composants analogiques haut débit, proposent des kits de développement DSP et des modules sur puce (SOM) prêts à la production pour la vision intégrée, la radio software-defined et le contrôle moteur hautes performances.

Avnet
Software de calcul Mathworks Mathworks MATLAB® et Simulink® contribuent à réduire considérablement le temps de développement système des SoC adaptatifs et des FPGA en permettant aux utilisateurs de :
  • Créer des algorithmes complexes de traitement des signaux et des images, de communication et de contrôle
  • Valider les exigences du système dès le début du processus de développement
  • Générer et vérifier le code HDL et C ciblant les FPGA et SoC AMD
MathWorks
Cartes d'extension Analog Devices La carte FMC AD-FMCDAQ2-EBZ est une plateforme autonome de prototypage d'acquisition de données et de synthèse de signaux. Elle est facile à utiliser et permet un développement plus rapide du traitement des signaux du système final.
  • L'AD9680 est doté d'un ADC 14 bits, 1,0 Géch/s, JESD204B
  • L'AD9144 est doté d'un quadruple DAC de 16 bits, 2,8 Géch/s, JESD204B
  • L'AD9523-1 est piloté par une horloge de 1 GHz à 14 sorties
Analog Devices

Ressources

Filtre SRC fractionnel multicanal dans HLS

Cette note d'application se concentre sur la conception d'un filtre de conversion de fréquence d'échantillonnage (SRC) fractionnel multicanal à l'aide de l'outil Vivado, qui prend le code source en langage de programmation C++ et génère un code Verilog ou VHDL synthétisable hautement efficace pour FPGA.

Tenez-vous au courant

Inscrivez-vous à la liste de notification sur les SoC adaptatifs et les FPGA pour recevoir les dernières actualités et mises à jour.

Notes de bas de page
  1. Reportez-vous au document WP486 : Apprentissage profond avec optimisation INT8 sur les appareils AMD
  2. Performance de calcul en virgule flottante en simple précision utilisant le Floating-Point Operator avec 3 tranches DSP dans Ultrascale+