ARCHITECTURES AVANCÉES SUR PUCE PARTIE 2: CONCEPTION HARDWARE
1
Hanen SHALL shallhanen@yahoo.fr
Xilinx Vivado− AP SoC ZYNQ
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
2
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
3
Introduction à l’architecture d’un système à base de Zynq-7000
➢ Gigabit Tranceivers
Eléments Performance (Jusqu’à)
Processeur 1 GHz
PL / DSP fmax 741 MHz
DSP (sommation)
1080 GMACs
4
4
Tranceivers 12.5 Gbps
Performances des SoC Zynq
❑Amélioration des performances software avec:
➢La partie PL ➢Le traitement DSP ➢Haute bande passante: jusqu’à 3000 connexions directes PS vers PL ➢Entrées/Sorties (I/Os) hautes performances
Introduction à l’architecture d’un système à base de Zynq-7000
Performances des SoC Zynq
❑ Partitionnement HW/SW optimisé et simplifié:
➢Accélération HW permettant d’atteindre les objectifs des applications SW ➢Interfaçage à latence réduite pour une communication efficace avec les
coprocesseurs avec des transferts de données rapides
C
HDL
5
Développement Software – Le processeur démarre en premier similaire
au reste des SoC ARM – Les ingénieurs SW peuvent utiliser leurs outils favoris pour charger ou déboguer le code – PL peut ne pas être utilisé même en
développant sur la plateforme réelle
Introduction à l’architecture d’un système à base de Zynq-7000
Développement Concurrent
Xilinx SDK VIVADO
Développement Hardware – Comme la partie PS démarre en premier, la partie PL est aussitôt alimentée et prête pour être programmée via JTAG – VIVADO probe (sondes) se connectent à la
partie PL comme tous autres FPGAs – Les ingénieurs HW peuvent commencer à charger ou déboguer leur design comme sur les autres FPGAs
6
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
7
Flot de conception Xilinx
8
Flot de conception Xilinx
Vivado IP Integrator (IPI)
- Plug−and−Play IP
- Catalogue d’IP très vaste
- Accélération
– Intégration – – Production Production •Systèmes plus intelligents – Embedded – DSP – Vidéo – Analogique – Réseaux
9
Flot de conception Xilinx
Vivado IP Integrator (IPI) : Ajout d’un IP (Point de départ)
❑Création d’un « Block Design » avec IPI ❑Personnaliser la partie PS Zynq (I/O Peripherals)
10
Flot de conception Xilinx
11
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
12
Processeurs SOC Zynq
Système basé sur les μP ARM Cortex−A9
13
Processeurs SOC Zynq
❑ Il y a deux cœurs A9 dans la Zynq ❑ Caractéristiques du processeur ARM Cortex A9:
➢2.5 DMIPS/MHz (@ 667 MHz) ➢Jusqu’à 1 GHz fréquence de fonctionnement ➢Architecture Harvard (64 bits code, 64 bits data) ➢Supporte Little Endian pour le code et les data (le plus petit octet d’une donnée est stocké entre le bit 0 et le bit 7 de la mémoire) ❑Chaque cœur possède un cache L1 de 32 KB pour les données et le code.
Système basé sur les μP ARM Cortex−A9
14
❑ Il ya aussi le cache L2 de 512 KB est unifié et performant (8 voies associatives) ❑ Il cache la mémoire DDR ainsi que les périphériques PS et PL.
❑Interfaces AXI du cache L2: ➢Interface AXI maître (M) vers le contrôleur DDR ➢Interface AXI M pour tous les périphériques esclaves du PS et PL ➢Interface AXI esclave vers l’unité Snoop Control Unit (SCU)
Processeurs SOC Zynq
Système basé sur les μP ARM Cortex−A9
15
❑ Le Snoop Control Unit (SCU) connecte les deux Cortex-A9 à la mémoire système (OCM) et au cache L2. ❑ Il maintient la cohérence entre les deux caches L1 données. ❑ Il arbitre entre les deux processeurs pour l’accès au cache L2. ❑ Il fournit un accès à la ROM/RAM interne. ❑ Il fournit aussi un accès à l’ACP (Accelerator Coherency Port) pour la logique programmable.
Processeurs SOC Zynq
Système basé sur les μP ARM Cortex−A9
16
❑ L’ACP est un port AXI 64 bits reliant la PL avec la SCU. ❑ Il permet à l’accélérateur matériel dans la PL d’accéder au contenu des caches L1 et L2 tout en maintenant la cohérence des données. ❑ Il est utilisé pour partager les données entre PS et PL avec une faible latence.
Processeurs SOC Zynq
Système basé sur les μP ARM Cortex−A9
17
Système basé sur les μP ARM Cortex−A9
❑ Le coprocesseur NEON est dédié aux instructions audio, vidéo et 3D. Comme un DSP, il supporte des instructions SIMD (Single Instruction Multiple Data) sur 8, 16 32 et 64 bits. ❑ La FPU (Floating Point Unit) est un coprocesseur arithmétique dédié aux opérations sur les nombres réels. Elle respecte la norme IEEE-754 en simple et double précision. Ses registres sont partagés avec l’unité NEON.
Processeurs SOC Zynq
18
Système basé sur les μP ARM Cortex−A9
❑ Il existe plusieurs solutions pour debugger le programme dans la partie ARM ainsi que la logique programmable avec Vivado. ❑ Nous utiliserons la solution mono câble JTAG avec le ARM Debug Access Port (DAP) placé en tête dans la chaine JTAG Xilinx. Cela nous permettra aussi de télécharger le bitstream dans la PL.
Processeurs SOC Zynq
19
Processeurs SOC Zynq
Les interconnexions
❑ L’Advanced Microcontroller Bus Architecture (AMBA) est utilisé comme bus interne dans les system-on-a-chip (SoC) basés sur les processeurs ARM depuis 1996. ❑ L’Advanced eXtensible Interface (AXI) est une extension de l’AMBA (version 4.0) pour Xilinx.
20
4 bus AXI de 32bits à usage général (GP) entre PS−PL (2 Master et 2 Slave)
Processeurs SOC Zynq
Les interconnexions
1
2
3
4
8
9
5
6
8
7
4 bus AXI de 64bits hautes performances (HP) − 4 Master de PL vers PS / FIFO
1 bus AXI de 64bits 1Master − accès en cache directement du PL vers PS
21
Les interconnexions
❑ La logique programmable peut utiliser 4 ports AXI haute performance pour un accès direct (DMA) à la mémoire du PS. Les AXI FIFO Interfaces (AFI) ont une capacité suffisamment élevée pour transférer avec régularité de grandes quantités de données entre PL et PS
Processeurs SOC Zynq
22
Processeurs SOC Zynq
Les interconnexions
❑ Des ports AXI 32 bits à usage général permettent de relier PS et PL : deux maîtres et deux esclaves
23
Module de génération d’horloge
❑ PS_CLK est l’horloge de référence pour PS (entre 30−60 MHz) et recommandée à 33.333 MHz ❑ Chaque circuit de génération d’horloge a un mux de sélection entre une source d’horloge PLL ou la source d’horloge de base suivi d’un diviseur programmable ❑ Dans le PS, le module de génération d’horloges crée les horloges pour le CPU, pour la DDR et pour les périphériques I/O. ❑ 4 horloges supplémentaires à usage général peuvent être fournies à la PL. ❑ ❑ Les Les outils outils Xilinx Xilinx permettent permettent de de paramétrer paramétrer la la génération génération d’horloge. d’horloge.
Processeurs SOC Zynq
24
Interface mémoire DDR
❑ Caractéristiques de l’interface mémoire DDR:
➢Supporte LPDDR2, DDR2 et DDR3/L (400, 500, 533 MHz dans un seul circuit) ➢Largeur du bus de données externe configurable 16 ou 32 bits ➢ECC (Error Correcting Code) avec correction sur 1 bit et détection d’erreur sur 2 bits (seulement en mode sur 16 bits)
Processeurs SOC Zynq
25
LAB
SDK Vivado
IP Integrator
Block
Importer une plateforme Hw
Création d’un BSP
Processeurs SOC Zynq
Configuration de la plateforme hardware Zynq
Ajout d’un Top HDL
Exporter vers SDK
Block Design
26
Création et génération d’une app.SwELF
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
27
❑ Directement reliées aux entrées/sorties des périphériques qui sont eux-mêmes reliés au bus AMBA du PS, on trouve 54 Multiplexed I/O (MIO) connectées aux broches externes du FPGA et 64 Extended MIO (EMIO) qui sont reliées à la logique programmable PL (partie interne).
Périphériques SOC Zynq
Les périphériques du SoC Zynq
28
Périphériques SOC Zynq
Les périphériques du SoC Zynq
❑ Les MIO sont dîtes multiplexées car toutes les entrées/sorties des périphériques ne peuvent être utilisées en même temps.
29
Les périphériques du SoC Zynq
❑ Certaines I/O des périphériques sont connectées seulement aux MIO :
➢ USB0 and USB1 ULPI ➢QSPI, ➢ NAND Flash, ➢SRAM/NOR Flash.
❑Certaines I/O des périphériques sont connectées aux MIO et aux EMIO :
➢ ETH0 and ETH1 RGMII/MDIO,
Périphériques SOC Zynq
➢ ETH0 and ETH1 RGMII/MDIO, ➢ SDIO0 and SDIO1, ➢ CAN, ➢ I2C, ➢ UART, ➢SPI, ➢ GPIO, ➢ Trace Port. ❑ Et certaines I/O des périphériques sont connectées seulement aux EMIO :
➢ ETH0 and ETH1 MII, GMII, SGMII
30
Périphériques SOC Zynq
Les périphériques du SoC Zynq
Configuration des MIO PS
Sélection Sélection et et configuration configuration des périphériques du PS
31
Périphériques SOC Zynq
Les périphériques du SoC Zynq
Configuration des MIO PS
Sélection des périphériques
32
Périphériques SOC Zynq
Les périphériques du SoC Zynq
Configuration des MIO PS
33
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
34
Introduction au Tcl
❑ Langage interactif et interprétable
–Pas de compilation –Tout peut être traité comme une chaine de caractères ❑ Simple ou compliqué selon le besoin
–Syntaxe –Syntaxe simplifié simplifié –Fonctionnalités de base disponibles: variables, contrôle, gestion d’erreur, fichier I/O, etc ❑ Utilisation principale
–Prototypage rapide –Applications sous forme de script
Utilisation des scripts TCL
35
Utilisation des scripts TCL
Contrôle de Vivado via Tcl
❑ Lancement à partir de
l’IDE Vivado: – Ecriture des commandes directement sur la console Tcl – – Tools Tools → → Run Run Tcl Tcl Script Script
36
Utilisation des scripts TCL
Exemples de commandes TCL Vivado
37
Utilisation des scripts TCL
Fichiers créés par Vivado Block Design
❑Le « Block Design » est sauvegardé en *.bd ❑Tout élément créé dans un « Block Design » peut être recréé avec un script Tcl
XML
PS7_init
.BD
38
Fichiers créés par Vivado Block Design
Fichier XML
❑Description de la plateforme Hw pour la génération
du FSBL et du BSP ❑Crée automatiquement par Vivado et exporté vers
SDK SDK ❑Un fichier texte, mais ne pas l’éditer, utilisez IP
Integrator ou des commandes Tcl ❑Contient
➢Instanciation du processeur ➢Instanciation des périphériques et des adresses
Utilisation des scripts TCL
39
Utilisation des scripts TCL
Fichiers créés par Vivado Block Design
Initialisation du processeur − PS7_Init )
❑Le fichier PS7_Init et la description de la configuration
du processeur
➢Spécifications du contrôleur DDR ➢Configuration PLL
➢Modes JTAG ➢Configuration des périphériques Zynq ❑Fichiers C (Bootloader), TCL (init. du proc. En debug)
et HTML (info.) créés
40
Utilisation des scripts TCL
Fichiers créés par Vivado Block Design
❑Généré par Vivado ❑C’est le fichier contenant le « Block Design » de IP Integrator ❑Utilise le nom de votre projet, project.bd
➢Pour les labs c’est Base_system.bd ❑Contient et Contrôle
Fichier (.bd)
❑Contient et Contrôle
➢Tous les details de votre design (format XML) ➢A ne pas éditer en dehors de Vivado !
41
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
42
Ajout d’un périphérique au PL
M S
AXI
AXI
AXI
AXI
43
Connexion point-à- point, interface maître-esclave
❑Jusqu’à 16 maîtres et 16 esclaves par interface
❑Width Conversion
❑Conversion ❑Conversion intégrée intégrée entre entre les les différents protocole AXI (AXI4, AXI4−lite, AXI3, AXI4−Stream)
❑Chaque connexion possède des registres de pipeline, Input/Output FIFO
❑Chaque maître ou esclave a son propre domaine d’horloge →Transformation CLK
Ajout d’un périphérique au PL
Bloque d’interfaçage AXI
44
Ajout d’un périphérique au PL
Bloque d’interfaçage AXI
Interfaçage AXI, décodage d’adresses
45
Ajout d’un périphérique au PL
Bloque d’interfaçage AXI
Exemple:
46
Ajout d’un périphérique au PL
Bloque d’interfaçage AXI
Hiérarchie des interfaçages AXI
47
Ajout d’un périphérique au PL
Bloque d’interfaçage AXI
Standards AXI
❑ Maintenant − Tout est presque sous AXI4
48
Ajout d’un périphérique au PL
Interface PL-GPIO
50 MHz/PIN Up to 64 PINs
49
Ajout d’un périphérique au PL
Interface PL-GP AXI
Utilise un « AXI Interconnect Block »
50
Ajout d’un périphérique au PL
Interfaces PL − GP AXI avec PS DMA
PS PS DMA
51
Ajout d’un périphérique au PL
Interfaces PL − HP avec PL DMA
PL PL DMA
52
Ajout d’un périphérique au PL
Interfaces PL − ACP avec PL DMA
PL DMA
53
Signalisation GP AXI (5 canaux)
Besoin d’un PL AXI Interconnect Block
❑Lecture de l’adresse ❑Lecture des données
❑Ecriture de l’adresse ❑Ecriture des données ❑Ecriture de bonne réception (par
l’esclave)
Ajout d’un périphérique au PL
54
❑Plus que 150 IPs disponibles dans le catalogue ❑La recherche dans le catalogue des IPs est très intuitives !
Ajout d’un périphérique au PL
Ajout d’un IP PL au design
55
Ajout d’un périphérique au PL
Ajout d’un IP PL au design
Double-Clic sur l’IP dans IP catalog
L’IP apparait dans Block Design
56
Ajout d’un IP PL au design
Paramétrage d’un IP
❑Un double-clic ou un clic droit et sélection de Customize Block pour ouvrir les paramètre configurables de l’IP. ❑Les valeurs par défaut sont appliquées
Ajout d’un périphérique au PL
57
Ajout d’un périphérique au PL
Ajout d’un IP PL au design
L’interconnexion des IPs
❑Les IPs se connectent au μP via un AXI Interconnect Block, mais….!!
Est-ce qu’il est nécessaire d’avoir un μP pour contrôler ce block ?
58
AXI Endianess
❑AXI est « Little Endian »
– Le premier octet est stocké dans la première adresse !
❑Puisque PLB (The Xilinx Processor Local Bus) est « Big Endian », si vous utilisez des IPs PLB dans votre design, il faut changer les données de Big Endian vers Little Endian.
Ajout d’un périphérique au PL
59
Exercices
❖Rappelez les interfaces disponibles dans le SoC Zynq pour relier les parties PS et PL…………………….. ❖Quelles sont les standards d’interfaçage possibles d’un IP personnalisé ? ………………………………… ❖Donnez un exemple d’application pour les trois types d’interface AXI (AXI4, AXI4−lite et AXI Stream). ……………………………… ……………………………… ……………………………… ……………………………… ❖Quels sont les principaux rôles assurés par le Snoop Control Unit (SCU)? ……………………………… ❖Quelles sont interfaces AXI du cache L2? ……………………………… ❖Quel est le rôle principal assuré par l’ACP? ………………………… ❖Quel est l’outil sous Vivado qui permet d’ajouter des blocks dans la conception hardware ……………………………
60
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
61
Transfert de données PS − PL via les μPs
❑ Quand les données circulent entre PS−PL via les interfaces AXI GP, les μPs gèrent ces transactions
Utilisation du contrôleur DMA du PS
DATA
62
Transfert de données PS − PL via les μPs
❑Quand l’option « Direct Memory Access » est utilisée, le contrôleur DMA (DMAC) gère les transactions de données
Utilisation du contrôleur DMA du PS
DMAC CPU 2x
DATA
63
Options de Lecture/Ecriture du PS DMAC
❑Le PS DMAC peut transférer des
données entre:
– Mémoire OCM – Mémoire DDR
– Périphérique esclave du PL ❑ Chaque chemin peut être utilisé en
écriture ou en lecture ❑ Les transactions communes: – Mémoire à mémoire – Mémoire DDR vers/de périph. PL
Utilisation du contrôleur DMA du PS
AXI AXI
64
Utilisation du contrôleur DMA du PS
Programmation du PS DMA
❑ Séquence de programmation du DMAC
- Démarrage du DMAC
- Configuration des horloges 2. Configuration de la sécurité 3. Remise à zéro du contrôleur 4. Création des ISRs
Regardez dans UG585 pour plus de details (chapitre 9)
- Création des ISRs 5. Exécution des transferts DMA
- Exécution des transferts DMA
- Ecrire la séquence d’instruction pour le DMAC dans la mémoire
- Création du programme pour un des canaux du DMA b. Sauvegarder le résultat dans une région de la mémoire
du système 2. Déclenchement de la fonction du canal DMA
- Création de l’ISR
65
Utilisation du contrôleur DMA du PS
Opérations DMA
I/O Peripherals Mémoire
1
DRQ: DMA Request Request
Master Master DMAC
2 HLQ: Hold
Request HLDA: Hold
Acknowledgment 3 CPU
Slave-Hold State
66
Programmation du PS DMA
❑L’option DMA est intégré par défaut dans USB, Ethernet, et SD-SDIO ❑Si les 3 IPs sont utilisés, le transfert DMA via les contrôleurs intégrés est l’unique solution pour transférer des données vers les mémoires DDR ou OCM et vers les autres IPs PL via les ports GP
Utilisation du contrôleur DMA du PS
67
Utilisation du contrôleur DMA du PS
DMA Haute Performance du PL
❑ Les DMACs du PL sont utilisés pour transférer des données du PL vers les mémoires DDR ou OCM
68
Utilisation du contrôleur DMA du PS
Transfert de données PS−PL via interface HP
❑ Quand les données transitent entre PS et PL via les interfaces AXI HP, les données peuvent être transmises directement vers la mémoire
69
CONTENU
❑ Introduction à l’architecture d’un système à base de Zynq-7000
❑ Flot de conception Xilinx
❑ Présentation des processeurs du SoC Zynq
❑ ❑ Présentation Présentation des des périphériques périphériques du du SoC SoC Zynq Zynq
❑ Utilisation des scripts TCL
❑ Ajout de périphérique au PL
❑ Utilisation du contrôleur DMA du PS
❑ Création d’un costum IP
❑ Utilisation de l’outil Vivado Hardware Manager
70
Utilisation du contrôleur DMA du PS
Vue d’ensemble sur les IPs Vivado
❑Vivado a un nouveau catalogue unifié avec tous les IPs disponibles au même endroit ❑IP Catalog de Vivado utilise le standard IP−XACT pour sauvegarder les metadata des Ips (Standard Structure for Packaging, Integrating, and Reusing IP within Tool Flows) ❑L’utilisateur peut ajouter son IP personnalisé (avec IP Packager) ❑Tous ❑Tous les les IPs IPs ont ont un un modèle modèle de de simulation simulation IEEE IEEE P1735 P1735 ❑Possibilité de donner des versions standardisées aux IPs ❑Vivado offre un assistant de création : Tools → Create and Package New IP
71
Utilisation du contrôleur DMA du PS
Création d’un projet Vivado pour un nouveau IP
72
Utilisation du contrôleur DMA du PS
Création d’un projet Vivado pour un nouveau IP
73
Interface AXI4−Lite type esclave
Utilisation du contrôleur DMA du PS
Création d’un projet Vivado pour un nouveau IP
Création des fichiers HDL du nouveau IP
Top Level HDL source
74
- <IP_name>_v1_0.vhd contient le code HDL personnalisé. C’est le fichier Top Level. Il contient l’instanciation de l’interface AXI. C’est le fichier dans lequel nous allons aussi instancier notre IP
- <nom_IP>_v1_0_s00_AXI.vhd est le fichier qui contient l’interface AXI:
– Assimile l’interface AXI à de simples registres – Nécessite une édition en cas d’utilisation de ports externes
Utilisation du contrôleur DMA du PS
Création d’un projet Vivado pour un nouveau IP
Schéma bloque du projet
75
Création d’un projet Vivado pour un nouveau IP
Top Level HDL
- Le code Top Level HDL contient des endroits pour ajouter: – Paramètres externes
– Ports externes
– L’architecture personnalisée « User
Logic »
Utilisation du contrôleur DMA du PS
76
Création d’un projet Vivado pour un nouveau IP
❑ Il est possible de synthétiser l’IP personnalisé avant de l’ajouter dans le catalogue d’IP de Vivado pour : ➢ valider le design IP ➢ vérifier que les connexions sont identiques à ce qui a été définie en VHDL.
Utilisation du contrôleur DMA du PS
77
Utilisation du contrôleur DMA du PS
Création d’un projet Vivado pour un nouveau IP
Packager l’IP
78
Utilisation du contrôleur DMA du PS
Création d’un projet Vivado pour un nouveau IP
Ajout de l’IP personnalisé au projet
79
Exercices
❖ L’ajout d’un IP personnalisé (Costum IP) dans le catalogue d’IP de Vivado suit un standard bien déterminé.
➢Quel est ce standard ? ➢Quel est l’utilité d’un tel standard ?
❖ Quel est l’outil au niveau de Vivado qui permet d’interfacer, tester et ajouter un IP personnalisé dans le catalogue d’IP de Vivado ?
❖ Lors de la création d’un IP personnalisé avec Vivado IP Packager, deux fichiers du type .vhd sont créés et qui sont « nom_ip.vhd » et « nom_ip_v1_0_s00_AXI.vhd ». Quelle est l’utilité de chacun de ces deux fichiers. ❖ Quel est l’utilité de l’utilisation de l’option DMA pour le transfert des données entre les deux parties PL-PS? ❖Décrivez les différentes étapes pour une opération DMA.
80
télécharger gratuitement ARCHITECTURES AVANCÉES SUR PUCE PARTIE : CONCEPTION HARDWARE