Télécharger la présentation
Publié parGringolet Motte Modifié depuis plus de 9 années
1
Les FPGA « Field Programmable Gate Array »
- Circuit intégré contenant un très grand nombre de portes logiques organisées en blocs logiques configurables et interconnectables « Programmer » un fpga = Configurer et interconnecter des blocs logiques = « Câblage » sur silicium
2
Architecture des FPGA Blocs d ’entrées/sorties « IOB » configurables
Entrée, sortie ou les deux, mémorisation dans une bascule D niveaux logiques LVTTL, LVCMOS, … 3.3V, 2.5V,… pull-up ou pull-down interne sur les entrées Blocs logiques « CLB » configurables Blocs combinatoires 4 entrées une sortie (en général) Bascules D pour la mémorisation Lignes d ’interconnexions « PSM » configurables lignes courtes lignes longues Options : multiplicateurs , sram, etc…
3
Description simplifiée d ’un FPGA
Entrée/Sortie (IOB) Bloc logique (CLB) Zone d ’interconnexions
4
Description simplifiée d ’un FPGA Spartan III
Buffers Gestion d ’horloge (DCM) Bloc logique (CLB) Ram Entrée/Sortie (IOB) Multiplieurs Zone d ’interconnexions
5
Blocs d ’interconnexions programmables(PSM)
spartan3 XC3S200
6
Bloc d ’entrée/sortie (IOB)
Multiplexeurs positionnés lors de la configuration spartan3 XC3S200 Mémorisation de l ’entrée Mémorisation de la sortie
7
Entrée « directe »
8
Entrée mémorisée dans une bascule
9
Sortie « directe »
10
Sortie mémorisée dans une bascule
11
Bloc d ’entrée/sortie (IOB)
Autorisation de la sortie Driver de sortie à 3 états Adaptation électrique des entrées par résistance
12
Principe de fonctionnement d ’une cellule logique de base
LUT Bascule Mux 4 entrées SRAM de 16 bits (Look Up Table) Mémorisation du résultat Positionné lors de la configuration CE Ck D Q
13
Principe de fonctionnement d ’une cellule logique de base
Fonctionnement purement combinatoire LUT Bascule 4 entrées SRAM de 16 bits (Look Up Table) Choix CE Ck D Q
14
Principe de fonctionnement d ’une cellule logique de base
LUT Bascule 4 entrées SRAM de 16 bits (Look Up Table) Mémorisation du résultat Choix CE Ck D Q
15
SRAM 16*1 bits (Look Up Table)
Look up table (LUT) LUT 4 entrées SRAM 16*1 bits (Look Up Table) 1 sortie Sortie 1 24 bits - Les 4 entrées permettent d ’adresser 16 cellules mémoires de 1 bit chacune (24) - Le contenu de la table permet d ’obtenir n ’importe quelle fonction logique de 4 entrées binaires.
16
Bloc logique configurable (CLB)
spartan3 XC3S200
17
Horloges Des entrées spécialisées sont prévues pour recevoir les signaux d'horloge et les distribuer à l'intérieur du circuit les DCM (Digital Clock Managers) sont des blocs internes pour la gestion du signal d'horloge: Ils génèrent d'autres fréquences d'horloge et des déphasages à partir du signal d ’horloge externe, en éliminant le « jitter » Les DCM sont basés sur des PLL (phase-locked loops)
18
4 blocs de gestion d ’horloge (DCM Spartan 3)
f f avec déphasage 2.f f /(1,5 2 2,5...16) ( 2…32)/(1..32) . f
19
Programmation des FPGA Xilinx
La chaîne de bits de configuration est envoyée en série dans la mémoire vive interne de configuration par : Connexion JTAG (Joint Test Action Group) Mémoire externe flash à accès série Le transfert est rythmé par une Horloge
20
Outils logiciels génériques
• Synario, Synopsis, Mentor, ViewLogic, ASYL, CADENCE,,… Avantages: – un seul apprentissage pour tous les composants – permet une conception détachée du composant cible… Inconvénients : – toujours un peu en retard sur les derniers composants sortis – plus chers – Le P/R constructeur est nécessaire
21
Outils logiciels spécifiques
• Ne permettent que le développement des composants du constructeurs • Ex : Actel Logiciel Designer, Altera Max.PlusII, AMD Mach XL, Lattice IspDesignEXPERT, Xilinx ISE… • Avantages : – ils optimisent au mieux la synthèse pour le composant ciblé – toujours à jour sur le dernier composant • Inconvénients : – ils nécessitent un apprentissage à refaire si on souhaite changer de constructeur
22
Réalisation « Bottom-up »
Projet FPGA Conception « Top-Down » • Décomposer le circuit principal en blocs fonctionnels simples interconnectés. Un bloc fonctionnel complexe peut, à son tour, être décomposé en éléments plus simples…etc... Réalisation « Bottom-up » Mettre au point chacun des blocs fonctionnels séparément Regrouper les blocs et tester le fonctionnement global
23
Les interfaces de saisie
• Schéma électronique: On place et on relie des composants Le fichier HDL est créé automatiquement Saisie en mode texte en VHDL ( Verilog, Abel…) Description structurelle Description comportementale Génération du composant pour la saisie schématique Autre : Saisie graphique de diagramme d ’états
24
La synthèse logique • Traduit en «blocs logiques élémentaires interconnectés » les fichiers du projet. L ’utilisateur peut agir sur la façon dont la synthèse s ’effectue. Par exemple : Codage « one-hot » ou binaire pour les machines séquentielles ... Le résultat de la synthèse peut être affiché sous forme : - classique ne tenant pas compte de l ’architecture du FPGA - ou de schémas adapté à l ’architecture du FPGA
25
La simulation fonctionnelle
• Simule le fonctionnement du circuit avant son implantation Utile pour détecter des erreurs de conception Ne tient pas compte des contraintes et aléa de fonctionnement liées au composant ciblé: fréquences maximales d ’horloge possibilités de routage ressources insuffisantes temps de transfert réel dans les circuits logiques …etc...
26
Le placement - routage • Implante le circuit dans le composant cible
Affecte les pattes d ’entrées/sorties Mode d ’optimisation (en surface ou en vitesse) Génère le fichier de configuration à télécharger dans la cible Produit un rapport avec les ressources utilisées et les temps de propagation de broche à broche.
27
La simulation « post-routage »
• La simulation tient compte de l ’implantation dans le composant. Elle permet de vérifier si le circuit répond au cahier des charges
28
Chargement dans la cible
• Directement par l ’interface JTAG dans la mémoire SRAM de configuration Indirectement : Le fichier est tout d ’abord stocké dans une mémoire flash à accès série externe (ou interne). A la mise sous tension du FPGA il y a recopie de la mémoire flash vers la SRAM de configuration
29
Tests sur la cible • On effectue des tests avec des signaux réels sur la cible pour valider le circuit créé. L ’interface JTAG est utile pour sonder l ’état logique des broches du circuit en fonctionnement
30
Les TP sur FPGA Spartan3 xc3s200
Prise en main de outils Xilinx : en VHDL (TP1) en mode schéma (TP2) Utilisation de « cœurs configurables » (core IP) et des bibliothèques de symboles (TP3) Mise en évidence des performances d ’une architecture distribuée (parallèle) avec la réalisation d ’un filtre passe-bande numérique (TP4) Mise en place d’un cœur microprocesseur (TP5)
31
Les documents utiles Description de la carte de développement UG130.pdf Manuel de référence VHDL (synopsys) VHDLman.pdf Tutorial rapide (Xilinx) qst.pdf Tutorial complet (Xilinx) ise8.2tut.pdf Datasheet du spartan3 (Xilinx) ds099.pdf Documentation des librairies (Xilinx) s3esc.pdf et s3ehl.pdf
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.