Manuel Digilent Arty

Vue d'ensemble

Arty est une plateforme de développement prête à l'emploi, conçue autour du FPGA (Field Programmable Gate Array) Artix-7 de Xilinx. Elle a été spécifiquement conçue pour être utilisée comme système de traitement logiciel MicroBlaze. Dans ce contexte, Arty devient la plateforme de traitement la plus flexible que vous puissiez espérer ajouter à votre collection, capable de s'adapter à toutes les exigences de votre projet. Contrairement à d'autres ordinateurs monocartes, Arty n'est pas limitée à un seul ensemble de périphériques de traitement : un instant, c'est une centrale pleine de UARTS, SPIs, IICs et un MAC Ethernet, et l'instant d'après, c'est un chronométreur méticuleux avec une douzaine de temporisateurs 32 bits.

  • Xilinx Artix-35T FPGA (xc7a35ticsg324-1L)
    • 33 280 cellules logiques dans 5200 tranches (chaque tranche contient quatre LUTs à 6 entrées et 8 bascules);
    • 1 800 Kbits de RAM bloc rapide;
    • Cinq tuiles de gestion d'horloge, chacune avec une boucle à verrouillage de phase (PLL);
    • 90 tranches DSP;
    • Vitesses d'horloge internes dépassant 450MHz;
    • Convertisseur analogique-numérique intégré (XADC).
    • Programmable via JTAG et Quad-SPI Flash
  • Caractéristiques système
    • 256MB DDR3L avec un bus 16 bits à 667MHz
    • 16MB Quad-SPI Flash
    • Circuit de programmation USB-JTAG
    • Alimenté par USB ou toute source 7V-15V
  • Connectivité système
    • Ethernet 10/100 Mbps
    • Pont USB-UART
  • Dispositifs d'interaction et de détection
    • 4 interrupteurs
    • 4 boutons-poussoirs
    • 1 bouton de réinitialisation
    • 4 LEDs
    • 4 LEDs RGB
  • Connecteurs d'extension
    • 4 connecteurs Pmod
    • Connecteur de carte d'extension Arduino/chipKIT

Arty est entièrement compatible avec la suite de conception haute performance Vivado ® Design Suite. Il est pris en charge par la licence gratuite WebPACK™, de sorte que les conceptions peuvent être implémentées sans coût supplémentaire. Cette licence gratuite inclut la possibilité de créer des conceptions de processeurs soft-core MicroBlaze™. Des ressources de conception, des exemples de projets et des tutoriels sont disponibles en téléchargement sur le centre de ressources Arty, accessible depuis reference.digilentinc.com.
Vue d'ensemble

Repère Description
1 LED DONE de programmation FPGA
2 Port USB JTAG/UART partagé
3 Connecteur Ethernet
4 Cavalier de sélection d'alimentation (alim. ext./USB)
5 Prise d'alimentation (pour alim. ext. optionnelle)
6 LED d'alimentation OK
7 LEDs utilisateur
8 Interrupteurs à glissière utilisateur
9 Boutons-poussoirs utilisateur
10 Connecteurs de carte d'extension Arduino/chipKIT
11 Connecteur SPI (compatible Arduino/chipKIT)
12 Cavalier de réinitialisation du processeur chipKIT
13 Mode de programmation FPGA (JTAG/Flash)
14 Réinitialisation du processeur chipKIT
15 Connecteurs Pmod
16 Bouton de réinitialisation de programmation FPGA
17 Flash SPI
18 FPGA Artix
19 Mémoire Micron DDR3
20 Alimentation Analog Devices ADP 5052

Table 1. Descriptions des repères matériels Arty.

Concevoir avec Arty

Ce qui rend Arty si flexible, c'est son FPGA. Parmi leurs nombreuses fonctionnalités, les FPGAs ont la capacité de se transformer en un système sur puce (SoC) personnalisé défini par logiciel. Ces configurations FPGA "Soft SoC" sont conçues graphiquement à l'aide d'un outil appelé Vivado IP Integrator (Vivado IPI). Dans cet outil, des blocs périphériques pré-construits sont glissés d'une bibliothèque étendue et déposés dans votre système de traitement comme bon vous semble. Ces périphériques pré-construits incluent des temporisateurs, des contrôleurs UART/SPI/IIC et de nombreux autres dispositifs que l'on trouverait généralement dans un SoC ou un microcontrôleur. Les utilisateurs ambitieux découvriront également qu'ils peuvent créer leurs propres blocs périphériques en les écrivant dans un langage de description matérielle (HDL), spécifiquement Verilog ou VHDL. Pour ceux qui n'ont aucun intérêt à apprendre le HDL, l'outil Xilinx High Level Synthesis peut être utilisé pour définir des blocs périphériques personnalisés en les écrivant en C.
Les configurations Soft SoC d'Arty sont alimentées par des cœurs de processeur MicroBlaze. MicroBlaze est un cœur de processeur soft RISC 32 bits, conçu spécifiquement pour être utilisé dans les FPGAs Xilinx. Le processeur MicroBlaze dans une configuration Arty SoC est généralement cadencé à 100 MHz, bien qu'il soit possible de concevoir votre SoC pour qu'il puisse fonctionner à plus de 200 MHz. Arty prend en charge les grands programmes MicroBlaze avec des exigences de mémoire élevées en fournissant 16 Mo de mémoire programme non volatile et 256 Mo de RAM DDR3L.
Concevoir avec Arty - Étape 1
Après avoir conçu votre configuration soft SoC pour Arty, vous pouvez commencer à écrire des programmes pour celle-ci. Cela se fait en exportant votre conception SoC de Vivado IPI vers le Xilinx Software Development Kit (XSDK), un environnement de développement intégré (IDE) pour la conception/débogage de programmes MicroBlaze en C. Après le transfert d'IPI vers XSDK, XSDK est automatiquement configuré pour inclure des bibliothèques et des exemples pour les blocs périphériques que vous avez inclus dans votre SoC. À ce stade, la programmation de l'Arty est très similaire à la programmation d'autres plateformes SoC ou microcontrôleurs : les programmes sont écrits en C, programmés sur la carte via USB, puis éventuellement débogués dans le matériel. Les configurations Soft SoC et les programmes MicroBlaze peuvent également être chargés dans la mémoire programme non volatile de 16 Mo afin qu'ils s'exécutent immédiatement après la mise sous tension d'Arty.
Bien que l'Arty soit particulièrement bien adaptée aux conceptions MicroBlaze Soft SoC, elle peut également être programmée avec une description de circuit de niveau de transfert de registre (RTL) comme toute autre plateforme de développement FPGA. Ce flux de conception exige que vous décriviez votre circuit RTL en utilisant un HDL au sein de Vivado, et n'utilise pas les outils Vivado IPI ou XSDK. Concevoir de cette manière présente de nombreux avantages, mais est très différent de la programmation d'un ordinateur monocarte, et est plutôt utilisé par ceux qui sont familiers avec la conception FPGA ou intéressés par la conception et l'implémentation d'un circuit numérique qui ne contient pas de processeur.
Concevoir avec Arty - Étape 2

Alimentations

La carte Arty nécessite une source d'alimentation de 5V pour fonctionner. Cette source d'alimentation peut provenir du port USB-JTAG Digilent (J10) ou d'une alimentation DC de 7 à 15 Volts connectée à la prise d'alimentation (J12) ou à la broche 8 de l'en-tête J7. L'en-tête J13, situé entre la prise d'alimentation et le connecteur Ethernet, est utilisé pour déterminer quelle source est utilisée.
Une LED d'alimentation correcte (LD11), pilotée par la sortie "power good" (PWRGD) du régulateur ADP5052, indique que la carte reçoit de l'énergie et que les alimentations intégrées fonctionnent comme prévu. Une vue d'ensemble du circuit d'alimentation Arty est présentée ci-dessous.
Alimentations
Le port USB peut fournir suffisamment de puissance pour la grande majorité des conceptions. Cependant, quelques applications exigeantes, y compris celles qui pilotent plusieurs cartes périphériques, pourraient nécessiter plus de puissance que le port USB ne peut en fournir. De plus, certaines applications peuvent devoir fonctionner sans être connectées au port USB d'un PC. Dans ces cas, une alimentation externe ou un bloc-batterie peut être utilisé.
Une alimentation externe peut être utilisée en la branchant sur la prise d'alimentation J12 et en installant un cavalier en position "REG" sur l'en-tête J13. L'alimentation doit utiliser une fiche coaxiale, positive au centre de 2,1 mm (ou 2,5 mm) de diamètre interne, et fournir une tension de 7 à 15 Volts DC. L'alimentation doit fournir un courant minimum de 1 ampère. Idéalement, l'alimentation devrait être capable de fournir 36 Watts de puissance (12 Volts DC, 3 ampères).
Un bloc-batterie externe peut être utilisé en connectant la borne positive de la batterie à la broche 8 de J7 (étiquetée VIN) et la borne négative à la broche 7 de J7 (étiquetée GND), comme illustré dans la figure ci-dessous. Pour utiliser le bloc-batterie comme source d'alimentation de la carte, un cavalier doit être installé en position "REG" sur l'en-tête J13. La batterie doit fournir une tension comprise entre 7 et 15 volts DC, et ne doit PAS être installée lorsqu'une alimentation est connectée à la prise d'alimentation J12.

Des circuits régulateurs de tension d'Analog Devices et de Texas Instruments créent les alimentations requises de 3,3V, 1,8V, 1,35V, 1,25V et 0,95V à partir de la source d'alimentation de 5V. Dans le cas où une alimentation externe ou un bloc-batterie est utilisé, le régulateur 5V intégré d'Analog Devices fournit la source de 5V. Le tableau ci-dessous fournit des informations supplémentaires (les courants typiques dépendent fortement de la configuration FPGA et les valeurs fournies sont typiques des conceptions de taille/vitesse moyenne).

Alimentation Circuits Dispositif Courant (max/typique)
5V Régulateurs embarqués, LEDs RGB IC12: Analog Devices ADP2384 3.5A/0.375A à 2A
3.3V E/S FPGA, horloges, flash, Pmods, LEDs, boutons, interrupteurs, port USB, Ethernet IC11: Analog Devices ADP5052 2.2A/NA
0.95V Cœur FPGA et RAM bloc IC11: Analog Devices ADP5052 1.0A/0.2A à 0.8A
1.8V Auxiliaire FPGA IC11: Analog Devices ADP5052 1.0A/NA
1.35V DDR3L et banque FPGA associée IC11: Analog Devices ADP5052 IC13: Texas Instruments 1.0A/NA
1.25V Référence analogique XADC IC13: Texas Instruments REF3012 25mA/NA

Table 2. Informations sur les circuits régulateurs de tension.

Surveillance de la tension d'alimentation externe
La carte Arty inclut des circuits pour surveiller la tension d'une alimentation externe connectée à la prise d'alimentation J12, ou d'un bloc-batterie externe connecté à l'en-tête J7. Un diviseur de tension est utilisé pour ramener la tension d'entrée non régulée, VU, à une plage (0-1V) que l'ADC 12 bits intégré est capable de mesurer. La tension d'entrée non régulée, VU, est divisée par 16 puis alimentée sur le canal auxiliaire 2 du XADC de l'Artix 35T. Les applications souhaitant surveiller la tension d'une alimentation externe peuvent configurer le canal 2 du XADC comme une entrée unipolaire et effectuer une conversion pour recevoir une valeur numérique correspondant à la tension d'entrée. La figure ci-dessous fournit une vue d'ensemble permettant de surveiller une tension d'alimentation externe.
Surveillance de la tension d'alimentation externe

Surveillance du courant d'alimentation du cœur FPGA
La carte Arty comprend des circuits pour surveiller le courant consommé par le cœur FPGA. Le courant est surveillé en mesurant la tension aux bornes d'une résistance de détection de 10 milliohms placée entre la sortie du régulateur de commutation de 0,95V (IC11, Canal 2) et le réseau VCC0V95. Un amplificateur de détection de courant (IC15, INA199A1 de Texas Instruments) connecté aux bornes de la résistance de détection fournit un gain de 50 et produit une tension de sortie de 500 millivolts par ampère de courant. La sortie de l'amplificateur de détection de courant est acheminée vers le canal auxiliaire 10 du XADC de l'Artix 35T. Les applications qui souhaitent surveiller la consommation de courant du cœur FPGA et de la RAM bloc peuvent configurer le canal 10 du XADC comme une entrée unipolaire et effectuer une conversion pour recevoir une valeur numérique qui correspond à la tension amplifiée de la résistance de détection. La figure ci-dessous fournit une vue d'ensemble des circuits qui permettent de surveiller le courant d'alimentation du cœur FPGA.
Surveillance du courant d'alimentation du cœur FPGA

Surveillance de la puissance d'alimentation 5V
La carte Arty comprend des circuits pour surveiller la tension de l'alimentation 5 Volts ainsi que le courant consommé par cette alimentation. Un diviseur de tension est utilisé pour ramener la tension d'entrée 5V à une plage (0-1V) que l'ADC 12 bits intégré est capable de mesurer. La tension d'alimentation 5V est divisée par 5,99 puis acheminée vers le canal auxiliaire 1 du XADC de l'Artix 35T. Une combinaison d'une résistance de détection de courant de 5 milliohms et d'un amplificateur de détection de courant (IC14, INA199A1 de Texas Instruments) est utilisée pour produire une tension de sortie de 250 millivolts par ampère de courant. La sortie de l'amplificateur de détection de courant est acheminée vers le canal auxiliaire 9 du XADC de l'Artix 35T. Les applications qui souhaitent surveiller la consommation d'énergie instantanée de la carte Arty peuvent configurer les canaux 1 et 9 du XADC comme des entrées unipolaires, puis effectuer une conversion simultanée des deux canaux pour recevoir des valeurs numériques qui peuvent être utilisées pour calculer la consommation d'énergie instantanée. La figure ci-dessous fournit une vue d'ensemble des circuits qui permettent de surveiller la consommation de puissance de l'alimentation 5V.
Surveillance de la puissance d'alimentation 5V

Configuration du FPGA

Après la mise sous tension, le FPGA Artix-7 doit être configuré (ou programmé) avant de pouvoir exécuter une fonction quelconque. Vous pouvez configurer le FPGA de deux manières :

  1. Un PC peut utiliser les circuits Digilent USB-JTAG (port J10) pour programmer le FPGA à tout moment lorsque l'alimentation est activée.
  2. Un fichier stocké dans le dispositif flash série non volatile (SPI) peut être transféré au FPGA via le port SPI.
    Configuration du FPGA

La Figure 3 montre les différentes options disponibles pour la configuration du FPGA. Un cavalier « mode » (JP1) embarqué sélectionne si le FPGA sera programmé par la flash Quad-SPI au démarrage.
Les données de configuration du FPGA sont stockées dans des fichiers appelés bitstreams, qui ont l'extension de fichier .bit. Le logiciel ISE ou Vivado de Xilinx peut créer des bitstreams à partir de fichiers source VHDL, Verilog ou basés sur des schémas (dans la suite d'outils ISE, EDK est utilisé pour les conceptions basées sur des processeurs embarqués MicroBlaze).
Les bitstreams sont stockés dans des cellules de mémoire volatile au sein du FPGA. Ces données définissent les fonctions logiques et les connexions des circuits du FPGA, et elles restent valides jusqu'à ce qu'elles soient effacées en coupant l'alimentation de la carte, en appuyant sur le bouton de réinitialisation connecté à l'entrée PROG, ou en écrivant un nouveau fichier de configuration via le port JTAG.
Un bitstream Artix-7 35T est généralement de 17 536 096 bits. Le temps nécessaire pour programmer l'Arty peut être réduit en compressant le bitstream avant la programmation, puis en permettant au FPGA de décompresser lui-même le bitstream pendant la configuration. Selon la complexité de la conception, des taux de compression de 10x peuvent être atteints. La compression du bitstream peut être activée dans les outils Xilinx (ISE ou Vivado) pour être effectuée pendant la génération. Pour obtenir des instructions sur la façon de procéder, consultez la documentation Xilinx pour la suite d'outils utilisée.
Après avoir été programmé avec succès, le FPGA fera s'allumer la LED « DONE » (TERMINÉ). Appuyer sur le bouton « PROG » (PROG) à tout moment réinitialisera la mémoire de configuration du FPGA. Après avoir été réinitialisé, le FPGA tentera immédiatement de se reprogrammer en utilisant la méthode sélectionnée par les cavaliers de mode de programmation.
Les sections suivantes fournissent plus de détails sur la programmation de l'Arty en utilisant les différentes méthodes disponibles.

Configuration JTAG
Les outils Xilinx communiquent généralement avec les FPGAs en utilisant le Test Access Port et l'architecture Boundary-Scan, communément appelée JTAG. Pendant la programmation JTAG, un fichier .bit est transféré du PC vers le FPGA en utilisant les circuits USB-JTAG embarqués de Digilent (port J10) ou un programmeur JTAG externe, tel que le Digilent JTAG-HS2, connecté au port J8. Vous pouvez effectuer la programmation JTAG à tout moment après la mise sous tension de l'Arty, que le cavalier de mode (JP1) soit réglé ou non. Si le FPGA est déjà configuré, la configuration existante est écrasée par le bitstream transmis via JTAG. Ne pas régler le cavalier de mode (voir Figure 3) est utile pour empêcher le FPGA d'être configuré à partir de la Flash Quad-SPI tant qu'une programmation JTAG n'a pas eu lieu.
La programmation de l'Arty avec un bitstream non compressé en utilisant les circuits USB-JTAG embarqués prend généralement environ 6 secondes. La programmation JTAG peut être effectuée à l'aide du gestionnaire matériel dans Vivado ou de l'outil iMPACT inclus avec ISE.

Configuration Quad-SPI
Étant donné que la mémoire du FPGA sur l'Arty est volatile, elle s'appuie sur la mémoire flash Quad-SPI pour stocker la configuration entre les cycles d'alimentation. Ce mode de configuration est appelé Master SPI. Le FPGA vierge assume le rôle de maître et lit le fichier de configuration du dispositif flash au démarrage. À cette fin, un fichier de configuration doit d'abord être téléchargé vers la flash. Lors de la programmation d'un dispositif flash non volatile, un fichier bitstream est transféré vers la flash en un processus en deux étapes. Premièrement, le FPGA est programmé avec un circuit capable de programmer des dispositifs flash, puis les données sont transférées vers le dispositif flash via le circuit FPGA (cette complexité est cachée à l'utilisateur par les outils Xilinx). C'est ce qu'on appelle la programmation indirecte. Une fois le dispositif flash programmé, il peut configurer automatiquement le FPGA lors d'un événement de mise sous tension ou de réinitialisation ultérieur, tel que déterminé par le réglage du cavalier de mode (voir Figure 3). Les fichiers de programmation stockés dans le dispositif flash resteront jusqu'à ce qu'ils soient écrasés, quels que soient les événements de cycle d'alimentation.
La programmation de la flash peut prendre jusqu'à quatre à cinq minutes, ce qui est principalement dû au processus d'effacement long inhérent à la technologie de mémoire. Une fois écrite, cependant, la configuration du FPGA peut être très rapide – moins d'une seconde. La compression du bitstream, la largeur du bus SPI et le taux de configuration sont des facteurs contrôlés par les outils Xilinx qui peuvent affecter la vitesse de configuration. L'Arty prend en charge les largeurs de bus x1, x2 et x4 et des débits de données allant jusqu'à 50 MHz pour la programmation Quad-SPI.
La programmation Quad-SPI peut être effectuée à l'aide du gestionnaire matériel dans Vivado ou avec l'outil iMPACT inclus avec ISE.

Mémoire

La carte Arty contient deux mémoires externes : une SDRAM DDR3L de 256 Mo et un dispositif flash série non volatile de 128 Mb (16 Mo). Le module DDR3L est connecté au FPGA via l'interface standard de l'industrie. La flash série se trouve sur un bus SPI quad-mode (x4) dédié. La connexion et l'affectation des broches entre le FPGA et les mémoires externes sont présentées ci-dessous.

DDR3L
L'Arty comprend un composant mémoire MT41K128M16JT-125, créant une interface à rang unique et de 16 bits de large. Il est acheminé vers un banc FPGA HR (High Range) alimenté en 1,35 V avec une impédance de trace asymétrique contrôlée de 50 ohms. Des terminaisons internes de 50 ohms dans le FPGA sont utilisées pour correspondre aux caractéristiques de la trace. De même, côté mémoire, des terminaisons on-die (ODT) sont utilisées pour l'adaptation d'impédance.
Pour un bon fonctionnement de la mémoire, un contrôleur de mémoire et une interface de couche physique (PHY) doivent être inclus dans la conception FPGA. Le moyen le plus simple d'y parvenir sur l'Arty est d'utiliser le cœur de solutions d'interface mémoire Xilinx série 7 généré par l'assistant MIG (Memory Interface Generator). Selon l'outil utilisé (ISE, EDK ou Vivado), l'assistant MIG peut générer une interface native de style FIFO ou AXI4 pour se connecter à la logique utilisateur. Ce flux de travail permet la personnalisation de plusieurs paramètres DDR optimisés pour l'application particulière. Le tableau 2 ci-dessous liste les paramètres de l'assistant MIG optimisés pour l'Arty.

Paramètre Valeur
Type de mémoire DDR3 SDRAM
Période d'horloge max 3000ps (débit de données 667 Mbps)
Partie de mémoire MT41K128M16XX-15E
Tension de la mémoire 1.35V
Largeur des données 16
Masque de données Activé
Période d'horloge d'entrée recommandée 6000ps (166.667 MHz)
Contrôle d'impédance du pilote de sortie RZQ/6
Broche de sélection de puce du contrôleur Activé
Rtt (nominal) – terminaison on-die RZQ/6
Vref interne Activé
Impédance de terminaison interne 50 ohms

Tableau 3. Paramètres DDR3L pour l'Arty.
L'assistant MIG nécessitera que le brochage fixe des signaux de mémoire soit entré et validé avant de générer le cœur IP. Pour votre commodité, un fichier UCF importable est fourni sur le centre de ressources Arty pour accélérer ce processus. Il est inclus dans le téléchargement de la ressource de conception « MIG Project » (Projet MIG). Ce téléchargement inclut également un fichier .prj qui peut être importé dans l'assistant pour le configurer automatiquement avec les options trouvées dans le Tableau 2.
Pour plus de détails sur le MIG de Xilinx, reportez-vous au Guide de l'utilisateur des solutions d'interface mémoire des FPGAs de la série 7 (ug586).

Mémoire Flash Quad-SPI
Les fichiers de configuration FPGA peuvent être écrits dans la mémoire Flash Quad-SPI (numéro de pièce Micron N25Q128A13ESF40), et le réglage du cavalier de mode entraînera la lecture automatique d'une configuration par le FPGA à partir de ce dispositif lors de la mise sous tension. Un fichier de configuration Artix-7 35T nécessite 17 536 096 bits de mémoire, laissant environ 87 % du dispositif flash (soit ~14 Mo) disponible pour les données utilisateur. Une utilisation courante de cette mémoire supplémentaire est de stocker des programmes MicroBlaze trop volumineux pour tenir dans la mémoire de bloc embarquée (généralement 128 Ko). Ces programmes sont ensuite chargés et exécutés à l'aide d'un programme de démarrage plus petit qui peut tenir dans la mémoire de bloc. Il est possible de générer automatiquement ce programme de démarrage, de le regrouper en un seul fichier (appelé fichier .mcs) qui contient également le bitstream et votre application MicroBlaze personnalisée, et de programmer ce fichier dans la Flash SPI à l'aide de Xilinx SDK et Vivado. La note d'information Xilinx 63605 explique comment procéder.
Le contenu de la mémoire peut être manipulé en émettant certaines commandes sur le bus SPI. L'implémentation de ce protocole est hors de portée de ce document. Tous les signaux du bus SPI sont des broches d'E/S utilisateur à usage général après la configuration du FPGA. Sur d'autres cartes, SCK est une exception car il reste une broche dédiée même après la configuration, cependant, sur l'Arty, le signal SCK est acheminé vers une broche à usage général supplémentaire qui peut être accédée après la configuration (voir la Figure ci-dessous). Cela permet l'accès à cette broche sans avoir à instancier la primitive FPGA spéciale appelée STARTUPE2.
Le cœur AXI Quad SPI de Xilinx peut être utilisé pour lire/écrire la flash dans une conception MicroBlaze. Reportez-vous au guide produit de Xilinx pour ce cœur pour en savoir plus sur son utilisation, ou à la fiche technique de Micron pour le dispositif flash pour apprendre à implémenter un contrôleur personnalisé.
Mémoire Flash Quad-SPI

PHY Ethernet

L'Arty comprend un PHY Ethernet 10/100 de Texas Instruments (numéro de pièce TI DP83848J) associé à une prise Ethernet RJ-45 avec magnétiques intégrés et LEDs indicatrices. Le PHY TI utilise l'interface MII et prend en charge 10/100 Mb/s. La Figure 5 illustre les connexions des broches entre l'Artix-7 et le PHY Ethernet. Lors de la réinitialisation à la mise sous tension, le PHY est réglé sur les valeurs par défaut suivantes :

  • Interface en mode MII
  • Auto-négociation activée, annonçant toutes les capacités de mode 10/100
  • Adresse PHY=00001
  • Mode LED 2

Deux LEDs situées sur le connecteur Ethernet (J9) sont connectées au PHY pour fournir des informations sur l'état du lien et l'activité des données. Voir la fiche technique du PHY pour plus de détails. Notez qu'il est normal qu'une LED soit allumée et l'autre éteinte, même lorsque le PHY Ethernet n'est pas utilisé.
Les conceptions basées sur Vivado IPI peuvent accéder au PHY en utilisant le cœur IP AXI EthernetLite, le cœur IP AXI 1G/2.5G Ethernet Subsystem, ou le cœur IP Tri Mode Ethernet MAC. Une horloge de 25 MHz doit être générée pour la broche X1 du PHY externe, étiquetée ETH_REF_CLK dans le schéma de l'Arty. Pour apprendre à utiliser correctement le PHY Ethernet dans une conception MicroBlaze sur l'Arty, consultez le tutoriel Getting Started with MicroBlaze Servers (Démarrer avec les serveurs MicroBlaze) du Centre de ressources Arty.
Pour plus d'informations sur le PHY Ethernet, reportez-vous à la fiche technique du DP83848J.
PHY Ethernet

Oscillateurs/Horloges

La carte Arty comprend un oscillateur à cristal unique de 100 MHz connecté à la broche E3 (E3 est une entrée MRCC sur le banc 35). L'horloge d'entrée peut piloter des MMCM ou des PLL pour générer des horloges de diverses fréquences et avec des relations de phase connues qui peuvent être nécessaires tout au long d'une conception. Certaines règles limitent les MMCM et PLL qui peuvent être pilotés par l'horloge d'entrée de 100 MHz. Pour une description complète de ces règles et des capacités des ressources d'horloge Artix-7, reportez-vous au « Guide de l'utilisateur des ressources d'horloge des FPGAs de la série 7 » disponible auprès de Xilinx.
Xilinx propose le cœur IP Clocking Wizard pour aider les utilisateurs à générer les différentes horloges requises pour une conception spécifique. Cet assistant instanciera correctement les MMCM et PLL nécessaires en fonction des fréquences et des relations de phase souhaitées spécifiées par l'utilisateur. L'assistant produira ensuite un composant wrapper facile à utiliser autour de ces ressources d'horloge qui peut être inséré dans la conception de l'utilisateur. L'assistant d'horloge est accessible à partir des outils Project Navigator ou Core Generator.

Pont USB-UART (Port Série)

L'Arty comprend un pont USB-UART FTDI FT2232HQ (connecté au connecteur J10) qui vous permet d'utiliser des applications PC pour communiquer avec la carte à l'aide des commandes de port COM Windows standard. Des pilotes de port USB-COM gratuits, disponibles sur www.ftdichip.com sous la rubrique « Virtual Com Port » (Port COM Virtuel) ou VCP, convertissent les paquets USB en données de port UART/série. Les données de port série sont échangées avec le FPGA à l'aide d'un port série à deux fils (TXD/RXD). Une fois les pilotes installés, des commandes d'E/S peuvent être utilisées depuis le PC, dirigées vers le port COM, pour produire du trafic de données série sur les broches FPGA A9 et D10.
Deux LEDs d'état embarquées fournissent un retour visuel sur le trafic circulant via le port : la LED de transmission (LD10) et la LED de réception (LD9). Les noms de signaux qui impliquent une direction sont du point de vue du DTE (Data Terminal Equipment), dans ce cas le PC.
Le FT2232HQ est également utilisé comme contrôleur pour les circuits Digilent USB-JTAG, mais les fonctions USB-UART et USB-JTAG se comportent de manière entièrement indépendante l'une de l'autre. Les programmeurs intéressés par l'utilisation de la fonctionnalité UART du FT2232 dans leur conception n'ont pas à s'inquiéter de l'interférence des circuits JTAG avec les transferts de données UART, et vice-versa. La combinaison de ces deux fonctionnalités en un seul dispositif permet de programmer l'Arty, de communiquer avec elle via UART, et de l'alimenter depuis un ordinateur connecté avec un seul câble Micro USB.
Le signal CK_RST (voir le schéma de l'Arty) est également connecté au dispositif FT2232HQ via JP2. Lorsque JP2 est court-circuité, le FT2232HQ peut déclencher une réinitialisation de MicroBlaze, imitant le comportement des cartes Arduino et chipKIT lorsque des esquisses sont chargées. Notez que le signal CK_RST est également connecté au bouton rouge « RESET » (RÉINITIALISATION) et à la broche RST de J7 sur le connecteur de blindage (ces connexions ne sont pas représentées sur la figure ci-dessous).
Les connexions entre le FT2232HQ et l'Artix-7 sont représentées sur la Figure 6.
Pont USB-UART (Port Série)

E/S de base

La carte Arty comprend quatre LEDs tricolores, 4 interrupteurs, 4 boutons-poussoirs, 4 LEDs individuelles et un bouton de réinitialisation, comme illustré à la Figure 16. Les boutons-poussoirs et les interrupteurs à glissière sont connectés au FPGA via des résistances série pour éviter d'endommager la carte en cas de courts-circuits involontaires (un court-circuit pourrait se produire si une broche FPGA assignée à un bouton-poussoir ou un interrupteur à glissière était définie par inadvertance comme une sortie). Les quatre boutons-poussoirs sont des interrupteurs "momentanés" qui génèrent normalement une sortie basse lorsqu'ils sont au repos, et une sortie haute uniquement lorsqu'ils sont enfoncés. Les interrupteurs à glissière génèrent des entrées constantes hautes ou basses selon leur position.
Le bouton de réinitialisation rouge étiqueté "RESET" (RÉINITIALISER) génère une sortie haute lorsqu'il est au repos et une sortie basse lorsqu'il est enfoncé. Le
bouton RESET est destiné à être utilisé dans les conceptions MicroBlaze pour réinitialiser le processeur, mais vous pouvez également l'utiliser comme un bouton-poussoir à usage général. Notez qu'il est également lié à la broche RST de J7 du connecteur de blindage et au dispositif UART FT2232 via JP2, bien que ces connexions ne soient pas montrées dans la figure ci-dessous.
E/S de base
Les quatre LEDs individuelles à haute efficacité sont connectées par l'anode au FPGA via des résistances de 330 ohms, de sorte qu'elles s'allumeront lorsqu'une tension logique haute est appliquée à leur broche d'E/S respective. Des LEDs supplémentaires qui ne sont pas accessibles par l'utilisateur indiquent la mise sous tension, l'état de programmation du FPGA et l'état des ports USB et Ethernet.

LEDs tricolores
La carte Arty contient quatre LEDs tricolores. Chaque LED tricolore possède trois signaux d'entrée qui pilotent les cathodes de trois LEDs internes plus petites : une rouge, une bleue et une verte. Appliquer un signal haut à la couleur correspondante allumera la LED interne. Les signaux d'entrée sont pilotés par le FPGA via un transistor, qui inverse les signaux. Par conséquent, pour allumer la LED tricolore, les signaux correspondants doivent être à l'état haut. La LED tricolore émettra une couleur dépendant de la combinaison de LEDs internes actuellement allumées. Par exemple, si les signaux rouge et bleu sont à l'état haut et que le vert est à l'état bas, la LED tricolore émettra une couleur violette.
Remarque : Digilent recommande fortement l'utilisation de la modulation de largeur d'impulsion (MLI) pour piloter les LEDs tricolores. Appliquer une logique '1' stable à l'une des entrées aura pour résultat que la LED sera allumée à un niveau de luminosité inconfortablement élevé. Vous pouvez éviter cela en vous assurant qu'aucun des signaux tricolores n'est piloté avec un cycle de service supérieur à 50 %. L'utilisation de la MLI élargit également considérablement la palette de couleurs potentielle de la LED tricolore. Ajuster individuellement le cycle de service de chaque couleur entre 50 % et 0 % permet d'illuminer les différentes couleurs à différentes intensités, permettant d'afficher pratiquement n'importe quelle couleur.

Connecteurs Pmod

Les connecteurs Pmod sont des connecteurs femelles coudés 2×6 espacés de 100 mil qui s'accouplent avec des embases à broches standard 2×6. Chaque connecteur Pmod à 12 broches fournit deux signaux VCC 3,3V (broches 6 et 12), deux signaux de masse (broches 5 et 11) et huit signaux logiques, comme illustré à la Fig. 16. Les broches VCC et de masse peuvent délivrer jusqu'à 1A de courant, mais il faut veiller à ne pas dépasser les budgets d'alimentation des régulateurs embarqués ou de l'alimentation externe (ceux-ci sont décrits dans la section "Power supplies" (Alimentations)).
Digilent produit une vaste collection de cartes accessoires Pmod qui peuvent être fixées aux connecteurs d'extension Pmod pour ajouter des fonctions prêtes à l'emploi comme des convertisseurs A/N, N/A, des pilotes de moteur, des capteurs et d'autres fonctions.
L'Arty dispose de quatre connecteurs Pmod, dont certains se comportent différemment des autres. Chaque connecteur Pmod se divise en deux catégories : standard ou haute vitesse. Le Tableau 9 spécifie la catégorie de chaque Pmod et liste également les broches FPGA auxquelles ils sont connectés. Les sections suivantes décrivent les différents types de Pmods.
Connecteurs Pmod

Pmod JA Pmod JB Pmod JC Pmod JD
Type de Pmod Standard Haute vitesse Haute vitesse Standard
Broche 1 G13 E15 U12 D4
Broche 2 B11 E16 V12 D3
Broche 3 A11 D15 V10 F4
Broche 4 D12 C15 V11 F3
Broche 7 D13 J17 U14 E2
Broche 8 B18 J18 V14 D2
Broche 9 A18 K15 T13 H2
Broche 10 K16 J15 U13 G2

Tableau 4. Catégories de connecteurs Pmod.

Pmod standard
Les connecteurs Pmod standard sont connectés au FPGA via des résistances série de 200 ohms. Les résistances série empêchent les courts-circuits qui peuvent se produire si l'utilisateur pilote accidentellement un signal qui est censé être utilisé comme entrée. L'inconvénient de cette protection supplémentaire est que ces résistances peuvent limiter la vitesse de commutation maximale des signaux de données. Si le Pmod utilisé ne nécessite pas d'accès haute vitesse, le connecteur Pmod standard doit être utilisé pour aider à prévenir les dommages aux appareils.

Pmod haute vitesse
Les Pmods haute vitesse utilisent le connecteur Pmod standard, mais leurs signaux de données sont acheminés sous forme de paires différentielles à impédance adaptée pour des vitesses de commutation maximales. Ils disposent de plots pour des résistances de charge pour une protection supplémentaire, mais l'Arty est livrée avec ces derniers montés comme shunts de 0 ohm. Avec les résistances série shuntées, ces Pmods n'offrent aucune protection contre les courts-circuits, mais permettent des vitesses de commutation beaucoup plus rapides. Les signaux sont appariés aux signaux adjacents de la même rangée : broches 1 et 2, broches 3 et 4, broches 7 et 8, et broches 9 et 10.
Les pistes sont acheminées en différentiel de 100 ohms (+/- 10%).
Ces connecteurs ne doivent être utilisés que lorsque la signalisation différentielle haute vitesse est requise ou que les autres Pmods sont tous occupés. S'ils sont utilisés en mode asymétrique, les paires couplées peuvent présenter une diaphonie significative. Dans les applications où cela est une préoccupation, le connecteur Pmod standard doit être utilisé. Une autre option serait de mettre à la masse l'un des signaux (le piloter à l'état bas depuis le FPGA) et d'utiliser sa paire pour le signal asymétrique.
Étant donné que les Pmods haute vitesse ont des shunts de 0 ohm au lieu de résistances de protection, l'opérateur doit prendre des précautions pour s'assurer qu'ils ne provoquent pas de courts-circuits.

Connecteur de shield Arduino/chipKIT

Arty peut être connecté aux shields Arduino et chipKIT standards pour ajouter des fonctionnalités étendues. Un soin particulier a été apporté lors de la conception d'Arty pour s'assurer de sa compatibilité avec la majorité des shields Arduino et chipKIT disponibles sur le marché. Le connecteur de shield dispose de 49 broches connectées au FPGA pour les E/S numériques à usage général. Grâce à la flexibilité des FPGA, il est possible d'utiliser ces broches pour presque n'importe quelle fonction, y compris la lecture/écriture numérique, les connexions SPI, les connexions UART, les connexions I2C et le PWM. Six de ces broches (étiquetées AN0-AN5) peuvent également être utilisées comme entrées analogiques asymétriques avec une plage d'entrée de 0V-3.3V, et six autres (étiquetées AN6-11) peuvent être utilisées comme entrées analogiques différentielles.
Note : L'Arty n'est pas compatible avec les shields qui émettent des signaux numériques ou analogiques de 5V. L'application d'une tension supérieure à 5V sur les broches du connecteur de shield Arty peut endommager le FPGA.
La figure ci-dessous représente les broches trouvées sur le connecteur de shield de l'Arty.
Connecteur de shield Arduino/chipKIT

Nom de la broche Fonction du shield Connexion Arty
IO0-IO13, IO26-IO41, A (IO42) Broches d'E/S à usage général Voir la section intitulée "E/S numériques du shield"
SCL Horloge I2C Voir la section intitulée "E/S numériques du shield"
SDA Données I2C Voir la section intitulée "E/S numériques du shield"
SCLK Horloge SPI Voir la section intitulée "E/S numériques du shield"
MOSI Données SPI en sortie Voir la section intitulée "E/S numériques du shield"
MISO Données SPI en entrée Voir la section intitulée "E/S numériques du shield"
SS Sélection d'esclave SPI Voir la section intitulée "E/S numériques du shield"
A0-A5 Entrée analogique asymétrique Voir la section intitulée "E/S numériques du shield"
A6-A11 Entrée analogique différentielle Voir la section intitulée "E/S numériques du shield"
V_P, V_N Analogique différentielle dédiée Voir la section intitulée "E/S numériques du shield"
XGND masse analogique XADC d'entrée Connecté au réseau utilisé pour piloter la référence de masse XADC sur le FPGA (VREFN)
XVREF Tension analogique XADC Connecté au rail 1.25V, 25mA utilisé pour piloter la référence de tension XADC sur le FPGA (VREFP)
N/C Non connecté Non connecté
IOREF Référence de tension des E/S numériques Connecté au rail d'alimentation 3.3V de l'Arty (Voir la section "Alimentations")
RST Réinitialisation vers le shield Connecté au bouton rouge "RESET" et à une E/S numérique du FPGA. Lorsque JP2 est court-circuité, il est également connecté au signal DTR du pont USB-UART FTDI.
3V3 Rail d'alimentation 3.3V Connecté au rail d'alimentation 3.3V de l'Arty (voir la section "Alimentations")
5V0 Rail d'alimentation 5.0V Connecté au rail d'alimentation 5.0V de l'Arty (voir la section "Alimentations")
GND, G Masse Connecté au plan de masse d'Arty
VIN Entrée d'alimentation Connecté en parallèle avec le connecteur d'alimentation externe (J12). Voir la section "Alimentations" pour plus d'informations sur l'alimentation d'Arty à partir de cette broche.

Tableau 5. Table de connexion du shield et description fonctionnelle.

E/S numériques du shield
Les broches connectées directement au FPGA peuvent être utilisées comme entrées ou sorties à usage général. Ces broches incluent les broches I2C, SPI et les broches d'E/S à usage général. Des résistances série de 200 Ohm sont placées entre le FPGA et les broches d'E/S numériques pour aider à protéger contre les courts-circuits accidentels. Les tensions de fonctionnement maximales absolues et recommandées pour ces broches sont décrites dans le tableau ci-dessous.

Tension minimale absolue Tension de fonctionnement minimale recommandée Tension de fonctionnement maximale recommandée Tension maximale absolue
Alimenté -0.4V -0.2V 3.4V 3.75V
Non alimenté -0.4V N/A N/A 0.55V

Tableau 6. Tensions de fonctionnement maximales absolues et recommandées.
Pour plus d'informations sur les caractéristiques électriques des broches connectées au FPGA, veuillez consulter laArtix-7fiche techniquef de Xilinx.

E/S analogiques du shield
Les broches étiquetées A0-A11 et V_P/V_N sont utilisées comme entrées analogiques du module XADC du FPGA. Le FPGA s'attend à ce que les entrées soient comprises entre 0 et 1 V. Sur les broches étiquetées A0-A5, nous utilisons un circuit externe pour réduire la tension d'entrée de 3.3V. Ce circuit est illustré à la Figure 11.2.1. Ce circuit permet au module XADC de mesurer avec précision toute tension entre 0V et 3.3V (par rapport à la masse de l'Arty) appliquée à l'une de ces broches. Si vous souhaitez utiliser les broches étiquetées A0-A5 comme entrées ou sorties numériques, elles sont également connectées directement au FPGA avant le circuit diviseur de résistance (également illustré à la Figure 11.2.1).
E/S analogiques du shield - Étape 1
Les broches étiquetées A6-A11 sont connectées directement à 3 paires de broches analogiques du FPGA via un filtre anti-crénelage. Ce circuit est illustré à la Figure 11.2.2. Ces paires de broches peuvent être utilisées comme entrées analogiques différentielles avec une différence de tension entre 0-1V. Les nombres pairs sont connectés aux broches positives de la paire et les nombres impairs sont connectés aux broches négatives (ainsi A6 et A7 forment une paire d'entrée analogique, A6 étant positive et A7 négative). Notez que bien que les pastilles pour le condensateur soient présentes, elles ne sont pas chargées pour ces broches. Puisque les broches analogiques du FPGA peuvent également être utilisées comme des broches numériques FPGA normales, il est également possible d'utiliser ces broches pour les E/S numériques.
Les broches étiquetées V_P et V_N sont connectées aux entrées analogiques dédiées VP_0 et VN_0 du FPGA. Cette paire de broches peut également être utilisée comme entrée analogique différentielle avec une tension entre 0-1V, mais elles ne peuvent pas être utilisées comme E/S numériques. Le condensateur du circuit illustré à la Figure 11.2.2 pour cette paire de broches est chargé sur l'Arty.
E/S analogiques du shield - Étape 2
Le cœur XADC de l'Artix-7 est un convertisseur analogique-numérique double canal 12 bits capable de fonctionner à 1 MSPS. Chaque canal peut être piloté par n'importe quelle entrée analogique connectée aux broches du shield. Le cœur XADC est contrôlé et accédé depuis une conception utilisateur via le port de reconfiguration dynamique (DRP). Le DRP donne également accès aux moniteurs de tension présents sur chacun des rails d'alimentation du FPGA, et à un capteur de température interne au FPGA. Pour plus d'informations sur l'utilisation du cœur XADC, reportez-vous au document Xilinx intitulé 7 Series FPGAs and Zynq-7000 All Programmable SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter. Une démo utilisant le cœur XADC est disponible sur le centre de ressources Arty.

Références

Télécharger le manuel

Ici, vous pouvez télécharger la version PDF complète du manuel. Elle peut contenir des instructions de sécurité supplémentaires, des informations de garantie, des règles de la FCC, etc.

Télécharger Manuel Digilent Arty

Les langues disponibles

Table des Matières