Introduction Sur Les Cartes FPGAs                                  Xilinix virtex II PROayssar.serhan@e.ujf-grenoble.fr   ...
FPGA : Feild Programmable Gate Array, des circuits reconfigurables à laidedes quels en peut réaliser des circuits numériqu...
3-des entrées/sorties pour la communication avec le monde extérieur.4-des blocks dédiés, DSP (digital signal processor), D...
Block configurable: les CLB sont des blocks configurable qui peuvent secommuniquer entre eux à travers les matrices dinter...
Quest cest quun SLICE?                             S lic e                                                           L o g...
Pour réaliser des gros multiplexeurs on peut faire des combinaisons entre les différents LUT et MUX dun CLB, en peut réali...
Static RAM Les connexions sont réalisées en rendant les transistors passant.Lavantage de cette technologie est quelle perm...
Les entrées/sorties: La figure présente la structure de ce bloc. Ces blocs entrée/sortiepermettent linterface entre les br...
o    mise en place dun " pull-up " ou " pull-down " dans le but de limiter la               consommation des entrées sorti...
Pour éviter que les signaux traversant les grandes lignes ne soient affaiblis, noustrouvons généralement des buffers impla...
Gestion dHorloge: dans un FPGA le clock vient de lextérieur, le but degestion dhorloge est de distribuer dune manière corr...
Réaliser un additionneur (FullAdder) :                                                            .ayssar.serhan@e.ujf-gre...
Réaliser un additionneur (HalfAdder)ayssar.serhan@e.ujf-grenoble.fr        Master2 EEATS NENT/CSI
ayssar.serhan@e.ujf-grenoble.fr   Master2 EEATS NENT/CSI
Annexe FPGA xilinx virtex II proPetit lexique en introduction :SLICE : cellule élémentaire du fpga ; composé de 2 LUTs et ...
Prochain SlideShare
Chargement dans…5
×

Fpga xilinx virtex ii pro

2 055 vues

Publié le

ayssar.serhan@e.ujf-grenoble.fr

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 055
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
155
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Fpga xilinx virtex ii pro

  1. 1. Introduction Sur Les Cartes FPGAs Xilinix virtex II PROayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  2. 2. FPGA : Feild Programmable Gate Array, des circuits reconfigurables à laidedes quels en peut réaliser des circuits numériques complexes ou des fonctioncomplexes qui seront traitées dune manière directe c.-à-d. sans exécution, lesFGPAs sont beaucoup plus rapide quun simple processeur car les donnéesdans un FPGA subits seulement des déviations de direction de propagation afinde réaliser certain fonction, par contre pour un processeur les fonctionnes sontréaliser en chargeant les données depuis la mémoire vers la RAM et le CPU etceci diminue lefficacité du circuit.Les FPGAs sont des membres de famille configurable PLDs (programmablelogic devices) :PLA ,GAL,CPLD, la différence principale entre un FPGA etun PLA ou un CPLD est que le FPGA ne contient des matrices des portelogiques élémentaires, il contient des block configurable (CLB configrablelogic block) avec des matrices dinterconnexions.Un FPGA est constitué principalement de :1-des blocks configurables CLB.2-des matrices dinterconnexion configurable. Programmable interconnect Programmable logic blocksayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  3. 3. 3-des entrées/sorties pour la communication avec le monde extérieur.4-des blocks dédiés, DSP (digital signal processor), DAC/ADC, USB interface,Serial interface, etc.ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  4. 4. Block configurable: les CLB sont des blocks configurable qui peuvent secommuniquer entre eux à travers les matrices dinterconnexions.un CLB estconstitué de 4 slice permettant la realisation des fonctions sequentiels oucombinatoire, les entrées et les sorties des slices sont ( de la mémoire, donnéeissue dautre CLB à travers les marices linterconnecxions), donc un CLBnécessairement contient des accées aux matrices dinterconnexions. Configurable logic block (CLB) Slice Slice CLB CLB Logic cell Logic cell Logic cell Logic cell Slice Slice CLB CLB Logic cell Logic cell Logic cell Logic cellayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  5. 5. Quest cest quun SLICE? S lic e L o g ic C e ll (L C ) 1 6 -b it S R 16 x1 R A M 4 -in p u t LU T LUT M UX REG L o g ic C e ll (L C ) 1 6 -b it S R 16 x1 R A M 4 -in p u t LU T LUT M UX REGUn slice est lélément de base dun CLB, il contient : a- 2 block configurable: LUT (4-input Look Up Table), SR (16 bits shift registre), mémoire distributée (16 bits RAM). Le but de ces bloques configurables est de sauvegarder des données qui serrent comme une fonction ou une partie dune fonction logique COMBINATOIRE généralement à 4 entrées. b- 2 éléments séquentiels de mémorisation: bascule-D ou D-latch permet de faire des fonctionnes séquentiels c- Des multiplexeurs qui serrent à faire des combinaisons entre les différentes parties du CLB. d- Des portes logiques NAND et XOR.Les LUTs: un Look Up Table est un multiplexeur avec n entrées de commande, une sortie, 2^n entrées de données, la sortie du LUT est une fonction de ses entrées de commande et de celle de données.ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  6. 6. Pour réaliser des gros multiplexeurs on peut faire des combinaisons entre les différents LUT et MUX dun CLB, en peut réaliser un MUX 16:1 dans chaqueCLB car CLB=> 4 slice (silce=>2 LUT (2 Input))=>8 LUT (2 input)=> MUX16:1. 8:1 MUX 16:1 MUXQuest ce quune configuration:Différentes technologie de configuration sont disponibles1-SRAM:ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  7. 7. Static RAM Les connexions sont réalisées en rendant les transistors passant.Lavantage de cette technologie est quelle permet une reconfiguration rapide ausein même du circuit. Le principal désavantage est la surface nécessaire pour laSRAM. Il nécessitent lutilisation dune mémoire standard chargée àlinitialisation. Ils font appel à la technologie CMOS. Résistance denviron 1Kohm et capacité de quelques dizaines de femtofarad.2-Fuse/AntiFuse: Un état anti-fuse réside en un état dhaute impédance. Il peutêtre programmé dans un état de faible impédance ou état "fused". Il sagit dunetechnologie moins chère que la SRAM, elle permet datteindre des vitesses plusélevées et occupe moins de place sur le circuit. Par contre, un tel FPGA ne peutêtre programmé quune seule fois. Performances électriques supérieures à latechnologie SRAM (minimisation des effets RC due à la faible surface).Résistance de lordre dune centaine dohm et effet capacitif de quelquesfemtofarads.3-EPROM,EEPROM: Cette méthode est la même que celle utilisée dans les mémoiresEPROM. LEEPROM est reprogrammable. La puce fonctionne seule. La surface moyenne etles caractéristiques électriques sont semblables à la SRAM.ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  8. 8. Les entrées/sorties: La figure présente la structure de ce bloc. Ces blocs entrée/sortiepermettent linterface entre les broches du composant FPGA et la logique internedéveloppée à lintérieur du composant. Ils sont présents sur toute la périphérie du circuitFPGA. Chaque bloc IOB contrôle une broche du composant et il peut être défini en entrée,en sortie, en signaux bidirectionnels ou être inutilisé (haute impédance). Configuration en entrée: Premièrement, le signal dentrée traverse un buffer qui selon saprogrammation peut détecter soit des seuils TTL ou soit des seuils CMOS. Il peut être routé directement sur une entrée directe de la logique du circuit FPGA ou sur une entrée synchronisée. Cette synchronisation est réalisée à laide dune bascule de type D, lechangement détat peut se faire sur un front montant ou descendant. De plus, cette entrée peut être retardée de quelques nanosecondes pour compenser le retard pris par le signal dhorloge lors de son passage par lamplificateur. Le choix de la configuration de lentréeseffectue grâce à un multiplexeur (program controlled multiplexer). Un bit positionné dans une case mémoire commande ce dernier.Configuration en sortie: Nous distinguons les posibilités suivantes : o inversion ou non du signal avant son application à lIOB, o synchronisation du signal sur des fronts montants ou descendants dhorloge,ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  9. 9. o mise en place dun " pull-up " ou " pull-down " dans le but de limiter la consommation des entrées sorties inutilisées, o signaux en logique trois états ou deux états. Le contrôle de mise en haute impédance et la réalisation des lignes bidirectionnelles sont commandés par le signal de commande Out Enable lequel peut être inversé ou non. Chaque sortie peut délivrer un courant de 12mA. Ainsi toutes ces possibilités permettent au concepteur de connecter au mieux une architecture avec les périphériques extérieurs.Les interconnexions: Les connexions internes dans les circuits FPGA sontcomposées de segments métallisés. Parallèlement à ces lignes, nous trouvons desmatrices programmables réparties sur la totalité du circuit, horizontalement etverticalement entre les divers CLB. Elles permettent les connexions entre les diverseslignes, celles-ci sont assurées par des transistors MOS dont létat est contrôlé par descellules de mémoire vive ou RAM. Le rôle de ces interconnexions est de relier avecun maximum defficacité les blocs logiques et les entrées/sorties afin que le tauxdutilisation dans un circuit donné soit le plus élevé possible. Pour parvenir à cetobjectif, Xilinx propose trois sortes dinterconnexions selon la longueur et ladestination des liaisons. Nous disposons : o dinterconnexions à usage général, o dinterconnexions directes, o de longues lignes. o II. Les interconnexions à usage général: Ce système fonctionne en une grille de cinq segments métalliques verticaux et quatre segments horizontaux positionnés entre les rangées et les colonnes de CLB et de lIOB. Connexions à usage général et détail dune matrcie de commutation.Des aiguilleurs appelés aussi matrices de commutation sont situés à chaqueintersection. Leur rôle est de raccorder les segments entre eux selon diversesconfigurations, ils assurent ainsi la communication des signaux dune voie sur lautre.Ces interconnexions sont utilisées pour relier un CLB à nimporte quel autre.ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  10. 10. Pour éviter que les signaux traversant les grandes lignes ne soient affaiblis, noustrouvons généralement des buffers implantés en haut et à droite de chaque matrice decommutation.Les interconnexions directes: Ces interconnexions permettent létablissement deliaisons entre les CLB et les IOB avec un maximum defficacité en terme de vitesse etdoccupation du circuit. De plus, il est possible de connecter directement certainesentrées dun CLB aux sorties dun autre. Les interconnexions directes.Pour chaque bloc logique configurable, la sortie X peut être connectéedirectement aux entrées C ou D du CLB situé au-dessus et les entrées A ou Bdu CLB situé au-dessous. Quant à la sortie Y, elle peut être connectée à lentréeB du CLB placé immédiatement à sa droite. Pour chaque bloc logique adjacentà un bloc entrée/sortie, les connexions sont possibles avec les entrées I ou lessorties O suivant leur position sur le circuit.Les longues lignes: Les longues lignes sont de longs segments métallisésparcourant toute la longueur et la largeur du composant, elles permettentéventuellement de transmettre avec un minimum de retard les signaux entre lesdifférents éléments dans le but dassurer un synchronisme aussi parfait quepossible. De plus, ces longues lignes permettent déviter la multiplicité despoints dinterconnexion.ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  11. 11. Gestion dHorloge: dans un FPGA le clock vient de lextérieur, le but degestion dhorloge est de distribuer dune manière correcte les signauxdhorloges, les principaux fonctions sont:1-synthèse de fréquence: la synthèse de fréquence se fait à laide du PLL (PhaseLocked Loop) qui peut multiplier ou bien diviser la fréquence dhorloge par uncertain facteur.2-élimination de délai entre les différents horloges (De-skewing) ) avec DLL(Digital delay Locked Loop) et cela se fait avec des éléments mémorisant.3-délaçage de phase: DPS Digital Phase ShifterLe gestion dhorloge se fait par DCM ( Digital Clock Manager) qui contient undétecteur de phase et un sélecteur de line de délai, le control logique compareCLCKIN avec CLKFB et fait sélectionner un ligne de délai , en réalité il ajoutdu délai sur le ligne rapide. ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  12. 12. Réaliser un additionneur (FullAdder) : .ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  13. 13. Réaliser un additionneur (HalfAdder)ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  14. 14. ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI
  15. 15. Annexe FPGA xilinx virtex II proPetit lexique en introduction :SLICE : cellule élémentaire du fpga ; composé de 2 LUTs et 2 bascules.BANK : zone dinterconnection périphérique du fpga.CLB : Configurable logic block : bloque logique configurable : comprend 4 slicessimilaires.IOB : Input Output Block : broches dentrées sorties.La structure de base des FPGA des différentes familles Xilinx est généralement lamême, à savoir constituée :- de CLB : blocs logiques programmables (configurable),- dIOB : blocs logiques dentrées/sorties.- Mémoires RAM de 4096 bits,- Horloges DLL pour le réseau de distribution...Deux générateurs de fonction à 4 entrées (LUT : Look Up Table) sont disponiblesdans chaque CLB permettant la réalisation de toutes fonctions booléennes des 4entrées.En fait, ces LUT sont des cellules de RAM de 16 fois 1 bit, ou peuvent êtreconsidérée comme tel, réalisant la table de vérité de la fonction logique souhaitée. CesLUT peuvent être utilisées comme SRL, registre à décalage 16 bit programmable.Les CLB disposent par ailleurs de chaînes de Carry (retenue) et bien sur, de bascules(2bascules et 2LUTs par slice).Les IOB, quant à eux, sont positionnés à la périphérie du circuit et peuvent supporterdifférents standards (LVCMOS, LVDS, LVTTL...) Des bascules sont intégrées auxIOB afin de pouvoir synchroniser le signal aux entrées et sorties du Xilinx. ChaqueIOB peut-être configuré en entrée ou sortie, avec buffer trois-états ou buffer de niveauclassique selon le standard.Ces entrées/sorties sont organisées par bank aux alimentations spécifique (attention àêtre compatible avec le standard) ; ces IOB sont par ailleurs appairés : généralement Net P (pour les signaux différentiels).On se reportera aux datasheet des différentes références pour plus de détails.Ci-dessous le représentation dun demi slice, on peut voir la présence dune LUT etdune bascule ainsi sue divers éléments présents dans chaque sclice : carry chaîne,multiplexeur..ayssar.serhan@e.ujf-grenoble.fr Master2 EEATS NENT/CSI

×