DOCUMENT PROTEGE PAR UN DROIT DE COPIE. CPLD ou FPGA Critères de choix. page 1



Documents pareils
Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Chapitre 4 : Les mémoires

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Leçon 1 : Les principaux composants d un ordinateur

IFT1215 Introduction aux systèmes informatiques

Fiche technique CPU 314SC/DPM (314-6CG13)

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

ELP 304 : Électronique Numérique. Cours 1 Introduction

Manuel d'utilisation de la maquette

Conception de circuits numériques et architecture des ordinateurs

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Quoi de neuf en LabVIEW FPGA 2010?

Lecteur de carte à puce LCPM1 SOMMAIRE

QUESTION 1 {2 points}

Éléments d'architecture des ordinateurs

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Présentation du modèle OSI(Open Systems Interconnection)

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Modules d automatismes simples

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Les réseaux de campus. F. Nolot

Guide Mémoire NETRAM

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Conférence sur les microcontroleurs.

VIII- Circuits séquentiels. Mémoires

Modélisation physique des cellules logiques... Modèles pour le placement routage, le format "LEF"

Conception et Intégration de Systèmes Critiques

Cours n 12. Technologies WAN 2nd partie

Tout savoir sur le matériel informatique

THÈSE DEVANT L UNIVERSITÉ DE RENNES 1

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

Vers du matériel libre

Carte Relais GSM (Manuel Utilisateur)

Structure et fonctionnement d'un ordinateur : hardware

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

EMETTEUR ULB. Architectures & circuits. Ecole ULB GDRO ESISAR - Valence 23-27/10/2006. David MARCHALAND STMicroelectronics 26/10/2006

LES MÉMOIRES FLASH : ENTRE MÉMOIRE VIVE ET MÉMOIRE DE STOCKAGE. Etienne Nowak 12 mars Etienne Nowak - 12 mars GIS-SPADON

NOTIONS DE RESEAUX INFORMATIQUES

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Où sont-elles? Presque partout

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Convertisseurs statiques d'énergie électrique

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Les liaisons SPI et I2C

Prise en main. Prise en main - 0

Prototypage électronique

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

Spécifications détaillées

Notice ARES Version 5.20 Française

GPA770 Microélectronique appliquée Exercices série A

La carte à puce. Jean-Philippe Babau

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Manipulations du laboratoire

Tout sur l USB L USB (Universal Serial Bus) a été élaboré en 1996 par Intel, Compaq,Digital,IBM,Microsoft,NEC et NorthTelec (USB 1.0).

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Architectures et Protocoles des Réseaux

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Architecture matérielle des systèmes informatiques

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Réseau Global MIDI Note applicative

Organisation des Ordinateurs

La continuité de service

VLAN Virtual LAN. Introduction. II) Le VLAN. 2.1) Les VLAN de niveau 1 (Port-based VLAN)

Les réseaux cellulaires vers la 3G

Aiguilleurs de courant intégrés monolithiquement sur silicium et leurs associations pour des applications de conversion d'énergie

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Matériel & Logiciels (Hardware & Software)

La solution à vos mesures de pression

ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES

Séminaire RGE REIMS 17 février 2011

TASCAM MX Utilisation du SCSI

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Cours 3 : L'ordinateur

Spécifications détaillées

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Alchin Couderc Flambard TBSEID 2

Guide d'utilisateur. Câble adaptateur USB2.0 vers IDE et SATA. Modèle : DA-70202

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

Technologie 125 Khz pour une performance optimale en en environnement industriel. Création des badges. Programmation des badges

CHAPITRE IX : Les appareils de mesures électriques

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

CLIP. (Calling Line Identification Presentation) Appareil autonome affichant le numéro appelant

Démontage d'un ordinateur

Guide de connexion à. RENAULT SA et PSA PEUGEOT CITROËN. via ENX

Electronique Numérique

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Equipement. électronique

Fiche technique CPU 315SN/PN (315-4PN33)

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Initiation au HPC - Généralités

Le multiplexage. Sommaire

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Transcription:

Une des caractéristiques du domaine des circuits programmables est d être résolument moderne, tirant parti des évolutions concernant les procédés technologiques, la propriété intellectuelle(ip), l Internet, les outils de CAO, la synthèse et les langages de haut niveau comme VHDL ou Verilog ou le bientôt le C unifié. permettant le co-développement matériel/logiciel (analogique et numérique). Chaque fabriquant, LATTICE-VANTIS, LUCENT, ALTERA, ACTEL,ATMEL, CYPRESS, QUICKLOGIC, XILINX a opté pour un créneau et le développe à fond. C'est un avantage pour l utilisateur qui peut choisir le fournisseur en fonction du cahier des charges de l application en faisant abstraction des affrontements commerciaux. FPGA et CPLD. 1 Un CPLD est constitué de plusieurs PLD simples. Il contient typiquement de plusieurs dizaines à quelques centaines de macro cellules (macros). Une macrocellule comprend une fonction logique combinatoire simple constituée de termes produits (de 4 à 16) et possédant plusieurs entrées, et un flipflop optionnel. Huit à seize macros sont regroupées et interconnectables au sein d un bloc fonctionnel plus large. Au centre de la structure une matrice de connexions programmables permet de relier les blocs fonctionnels. La majorité des CPLD utilisent des cellules mémoire non volatiles du type Eeprom pour définir la fonctionnalité du circuit. Atmel et Cypress optent aussi pour de la flash, hormis Xilinx qui a choisi de la Sram pour le CPLD CoolRunner. Repère:La structure fondammentale qui permet de repérer un CPLD est la structure "PRODUIT"( de termes) semblable au GAL classique et ne permettant de synthétiser que des fonctions combinatoires. CPLD ou FPGA Critères de choix 2 Le FPGA est plus dense qu un CPLD puisqu il comporte une matrice de blocs logiques, entourée de blocs d E/S, «recouverte» d'une matrice d interconnexions programmables. Au-delà de cette définition chacun se différencie par la structure de ses blocs logiques et par les performances et l efficacité de l architecture de routage. La taille des blocs logiques détermine la granularité plus ou moins fine du FPGA. A titre indicatif, une granularité fine correspond à un bloc intégrant une fonction logique à deux entrées, ou un multiplexeur 4-vers-1, et un flip-flop. Pour une granularité moins fine, le bloc réunit deux, voire plus, «look-up tables» ou LUT à quatre entrées ou plus, associées à deux flip-flops. LUT : (sorte de Rom 16x1)générateur de fonction logique combinatoire ou séquentielle. Repère: La structure fondammentale qui permet de repérer un FPGA est la structure LUT (Look Up Table) permettant de synthétiser des fonctions quelconques (y compris séquentielles). Trois classes de FPGA coexistent mais ne s affrontent plus, chacune tirant un parti maximal des avantages de sa technologie: les FPGA en EE ou FLASH reprogrammables mais moins dense, les FPGA en Sram, reprogrammables mais volatils, et les FPGA à antifusible, programmables une fois, mais non volatils. UTILISATION Les FPGA et CPLD de haute densité ont su devenir des outils indispensables pour les concepteurs système. Ces circuits programmables sont utilisés aussi bien pour un prototypage que comme solutions avec une mise sur le marché rapide, et ceci pour tous les types d applications. Pour répondre à ce défi, les fournisseurs ont fait appel à tous les ressorts technologiques et architecturaux permettant d accéder à des performances rivalisant avec celles de leurs ennemis héréditaires, les Asic. Cet objectif explique les choix faits au niveau des procédés de fabrication, des architectures et des environnements de développement des familles récentes. Ainsi, les circuits logiques prorammables devant satisfaire des applications complexes avec processeur, périphériques et mémoire, ont une structure permettant d intégrer de la Ram (simple ou double port), des macrocellules complexes ou des blocs d'entrées/sorties mémoire Ram, un interface PCI, au sein de la logique programmable. C est le cas des produits QuickRam et QuickPCI de page 1

QuickLogic. De même, le circuit Orca3 de Lucent intègre un bloc PCI 64 bits, 66 MHz, et 30K portes de logique configurable. Autre exemple d évolution vers les performances et la gestion de la complexité : la famille ProAsic d Actel qui choisit la flash pour la configuration des cellules et embarque de 14 à 138 Kbits de Ram, Le but visé est une technologie rapide favorisant l emploi de blocs d IP en VHDL et compatible avec tous les outils de développement standard des Asic. Enfin, Lattice a une approche originale avec la famille isp LSI6000 dont chaque matrice embarque un style différent de mémoire : simple port, double port, fifo, ou pas du tout. La première décision à prendre lors de la mise en oeuvre d un circuit logique programmable est de déterminer entre CPLD et FPGA la structure la plus adéquate pour l application ciblée. Du fait de son architecture, le CPLD a des performances en fréquence et en temps de propagation broche à broche qui sont prévisibles et il bénéficie de macrocellules avec un grand nombre d entrées. Ces deux critères font qu il est généralement mieux approprié à la réalisation de circuits orientés contrôle et du type machines d états. Il utilise des cellules mémoire non volatiles, comme l EEprom ou la flash pour définir la fonctionnalité du circuit. nombre de familles récentes sont programmables dans le circuit, ISP «in system programmable», ce qui signifie que le CPLD peut être programmé alors qu il est monté sur la carte avec les autres composants. Ce n est pas le cas de tous, car cela implique la présence d une logique spéciale sur la puce. La programmation se fait par une interface propriétaire ou celle du Jtag. De son côté, le FPGA, avec sa granularité plus fine et son principe d éléments logiques enfouis dans une mer» de sites de connexions, offre la souplesse et la densité. Par contre, le temps de propagation à travers une fonction reste imprévisible puisque les liaisons sont de longueur variable et dépendent du routage effectué. Ces circuits programmables riches en flipflops s adaptent bien à des chemins de données, des traitements pipelinés. Les réseaux les plus récents permettant d implanter de la mémoire et des fonctions de type blocs d IP; ils conviennent à la réalisations d applications complexes. Les FPGA à base de Sram sont reprogrammables et généralement plus denses en portes. Les antifusibles, utilisés par l autre catégorie de FPGA, sont de plus petite taille qu' un point mémoire efficace. Une même fom tionnalité peut souvent être implantée sur un FPGA à anti fusibles de taille inférieure celle d un réseau en Sram. Ces matrices à antifusibles sont égalementt réputées plus rapides, le point de connexion étant mois imposant. Par contre elles ne sont programmable qu une fois. CRITERES DE PERFORMANCES Vitesse temps minimum entrée sortie(< 1ns à 15ns) ou fmax Puissance consommée. En CMOS(+ de 95% du marché) elle dépend de la tension d'alimentation (1.8V à 5V) et de la fréquence de fonctionnement. de 100mW à quelques W. Nombre de portes équivalentes Le nombre de portes(4à 6 transistors) est sans doute l argument le plus utilisé dans les effets d annonce. En 2000 la barrière du 1 000 000 de portes est largement franchie. Plus délicate est l estimation du nombre de portes qui seront inutilisées dans une application, donc le nombre réellement utile de portes. Nombre d entrée-sorties Le nombre de ports de communication entre l intérieur et l extérieur d un circuit peut varier dans un rapport deux, pour la même architecture interne, en fonction du boîtier choisi. Les chiffres vont de quelques dizaines à quelques centaines de broches d entréesorties. Capacité mémoire embarquée Les FPGAs à SRAM contiennent des mémoires pour stocker leur configuration. La plupart des familles récentes offrent à l utilisateur la possibilité d utiliser certaines de ces mémoires en tant que telles. Par exemple, la famille 4000 de XILINX permet d utiliser les mémoires de configuration d une cellule pour stocker 32 bits de données ; la cellule correspondante n est évidemment plus disponible comme opérateur logique. Les capacités de mémorisation atteignent quelques dizaines à quelques centaines de Kbits. Fonction spéciales embarquées Gestion Bus PCI, JTAG(quasiment tous),usb, FIFO Outils de développement Chaque constructeur propose sa plateforme d'outils logiciels d'intégration(à utiliser préférentiellement). Des regroupements autour d'outils devenus des standards s'effectuent comme, autour des langages HDL, des simulateurs (tel celui de MODEL Technologie). Routabilité Placement et routage sont intimement liés et rendus aussi automatiques que possible. Certains circuits (mais pas tous) garantissent une routabilité complète : Le routage influe sur les performances dynamiques de la fonction finale. La politique généralement adoptée est de prévoir des interconnexions hiérarchisées : Les interconnexions locales n ont que peu d influence sur les temps de calcul, contrairement aux interconnexions distantes dont l effet est notable.. A priori c est au placeur-routeur que revient la gestion de ces interconnexions ; à condition que le programmeur ne lui complique pas inutilement la tâche. Un optimiseur a toujours du mal à découper des blocs de grandes tailles, il lui est beaucoup plus simple de placer des objets de petites dimensions. En VHDL cela s appelle construction hiérarchique ; un ensemble complexe doit être conçu comme l assemblage d unités Sram. De ce fait, on peut en mettre davantage sur une puce donc plus de points de connexions pour une même quantité de logique. C est pourquoi les matrices à base d antifusibles permettent un routage plus D.BERQUET jan. 2000 de conceptions aussi simples que possibles. page 2 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

IX Les FPGAs _Field Programmable Gate Array (Réseau de portes programmables par champ). Types technologiques de FPGA : La profession distingue 3 grands types de FPGAs: _1_Le premier regroupe les technologies classiques *à effacement électrique (EE FPGA ou Flash) _2_Le deuxième correspond aux FPGA à antifusibles (ANTI-FUSE FPGA). _3_Le troisième correspond aux FPGA à programmation par RAM. *(RAM based FPGA ou LCA Logic Cells Array) Qu'est-ce qu'un FPGA? Les CPLDs avaient une organisation contraignante _ Blocs logiques à proximité des broches de sorties ou d'i/o, nombre de lignes de routage rapidement saturé, réseau ET en entrées... Le souci des concepteurs et des utilisateurs de ne pas gaspiller des ressources des composants programmables (portes, macrocellules,connexions,i/o, etc...), chose fréquente avec les CPLDs, a conduit la plupart des fabricants à produire des circuits où une cellule quelconque de la matrice pourrait être utilisée de façon indépendante de sa position dans le circuit. Un FPGA est un réseau régulier de blocs logiques configurables ou figés ( CLB ou FLB) organisé en matrice, associé à un ensemble de connexion de routage permettant de connecter pratiquement n'importe quelle cellule à n'importe quelle autre. (ce qui n'est pas le cas des CPLDs) Pour faciliter l'interface avec l'extérieur du composant (niveaux TTL /CMOS, horloges etc...) sont également présentes des cellules spécialisées d'e/s.( I/O Blocs) FPGA XI Les FPGAs EE et Flash ROUTAGE dans un FPGA Ce sont des transistors MOS à effacement electrique (réseaux ET ou OU) qui réalisent les points d'interconnexion dans les canaux de liaisons inter-blocs. L'effacement est global pour les FLASH, il pourrait être partiel pour les EE. Il y a peu de différences technologiques avec les technologies EE des mémoires si ce n'est, comptetenu de l'occupation plus importante du silicium par les blocs logiques (par rapport à une EEPROM), la moindre place pour placer les canaux de routage des interconnexions. Des technologies à 3 voire 4 niveaux de metal ont été developpées pour surmonter cet handicap. La densité atteint couramment 20 000 à 80 000 portes. Beaucoup de fabricants proposent des circuits à leur catalogue: ACTEL, AMD-LATTICE-VANTIS, CYPRESS, ALTERA, ATMEL, QUICKLOGIC. Avantage: reprogrammabilité des composants. Inconvénients: Lenteur (relative) de l'effacement, faible densité (relative, elle aussi) d'intégration. page 3

XII LES FPGAs à antifusibles ( Antifuse FPGAS) Cette technologie remplace les transistors MOS (EE ou UV) par une structure cristalline amincie aux noeuds possibles des canaux de routage. Vierge, un FPGA à antifusible ne possède aucune connexion, tous les blocs logiques sont isolés. La programmation se fait en "claquant" les antifusibles choisis en leur appliquant une impulsion unique d'amplitude 21V pendant une durée calibrée (1 à 5ms). L'energie développée vaporise la mince couche d'oxyde et établit une connexion de faible impédance, réalisant la connexion souhaitée. (voir figure) Les blocs logiques d'un FPGA anti-fusibles sont moins complexes que les autres FPGAs pour un souci de densité d'intégration qui est très élévée dans ce cas. Si la cellule de base ne possède pas de bascules deux cellules doivent être interconnectées pour former une bascule. ci-contre un bloc logique de FPGA antifusible QUICKLOGIC Exemple d'interconnexion: Les canaux de routage (2 à 6 niveaux de métal_jan 2000_) passent également par dessus les cellules logiques augmentant leur souplesse d'utilisation. A gauche le bloc logique de base chez ACTEL, à doite son implantation dans les canaux de routage D.BERQUET jan. 2000 page 4 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

Un des nombreux avantages des FPGA à antifusibles est leur très faible capacité (celle des éléments antifusibles non "claqués") et la faible résistance des antifusibles. Ces deux paramètres qui ont des valeurs bien plus faibles que dans le cas des FPGA RAM BAsed permettent des vitesses de fonctionnement plus élevées et une densité de routage (sur un seul plan _2 metal layers_) plus grande. Voir ci-dessous la taille respective des cellules de connexions de FPGA courants: Quicklogic Actel Xilinx La résistance OFF d'un antifusible dépasse le GigaOhm. Comme la taille du lien antifusible est d'un ordre de grandeur plus petit (0.25µm) que le largeur du canal de routage cette technologie pourra descendre jusqu'à 0.2µm voire 0.1µm. La densité des interconnexions est également plus grande Les principaux acteurs de la technologie "antifusibles" ACTEL et QUICKLOGIC proposent plusieurs familles allant : Chez QUICKLOGIC : de 3000 à 60 000 portes et de 40 à 316 I/O.(familles QL2000 3000 et 4000) Chez ACTEL : de 8000 à 36 000 portes et de 130 à 202 I/O (familles SX, MX ). page 5

XIII Les FPGA à programmation par RAM (RAM based FPGA) 8.1 ARCHITECTURE L'architecture d'un RAM based FPGA fait apparaitre 2 couches: 1_ Une première couche constituant ce qu'il est convenu d'appeler le circuit configurable. Cette couche se décomposant en 3 parties: _ Les blocs d'entrées /sorties (IOB) _ Les blocs logiques configurables (CLB). _ La matrice d'interconnexions.( de 2 à 6 couches 'metal') voir ci-dessous. 2_ Une deuxième couche constituée de cellule mémoire SRAM (une bascule par point d'intersection des connexions) contenant la programmation des interconnexions entre les cellules.(voir figure) La configuration des connexions de ces FPGA fait appel à une RAM "enterrée" sous la logique. D.BERQUET jan. 2000 page 6 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

8.2 Les RAM based FPGA XILINX La marque XILINX fut la première à développer un FPGA de ce type. La logique configurable des séries XC3000, XC4000, SPARTAN et VIRTEX fait appel à 2 types de blocs les IOB et les CLB. 8.2.1 Les IOB XILINX(blocs logiques d'entrées) Les 5 blocs fonctionnels programmables de la partie haute, correspondent à des sélections de modes de fonctionnement. Ils offrent les possibilités suivantes: *inversion ou non du signal avant son application à l'iob. *Inversion ou non du signal de commande du buffer de sortie à haute impédance. *sélection du type de sortie latchée ou non. *sélection du slew-rate du signal de sortie pour pouvoir s'adapter à la logique connectée au LCA. *mise en place d'une résistance de Pull-Up lorsque la patte est en entrée( ce qui permet de la laisser en l'air tout en fixant son niveau comme dans tout bon circuit intégré qui se respecte! *Reset global *Horloges distinctes des 2 bascules en provenance du réseau d'interconnexion *choix du front: montant ou descendant 8.2.2 Les CLB XILINX (blocs logiques configurables) La cellule logique ou CLB XILINX est garnie de nombreuses possibilités: * 2 bascules * 1 LUT (Look Up Table) bloc de fonction combinatoire à 5 plus 2 entrées rebouclées à 3 modes de fonctionnement; * une entrée directe. * 2 sorties * un reset global asynchrone *de nombreux multiplexeurs de données programmables. * une entré d'horloge configurable (front montant ou descendant) *une entrée de validation d'hor loge. page 7

La figure ci-contre montre un exemple de réalisation d'une fonction logique utilisant 3 CLBs dans les trois modes de fonctionnement possible. Quelle est la fonction réalisée ici? 8.2.3 Les canaux de routage Dans la figure ci-dessous, chaque point constitue une connexion possible qui est controlée par le contenu de la cellule RAM associée (1 bit RAM = 1 connexion). Il y a 3 types de canaux de routage: _ Les interconnections directes entre CLB et/ ou IOB. (fig FPGA 9_1). _ Les interconnexions matricées à usage général. (fig FGPA 9_2). _ Les lignes longues (fig FPGA 9_3) D.BERQUET jan. 2000 page 8 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

fig9_1 l' interconnexion directe entre CLB / IOB est la façon la plus efficace de relier des blocs adjacents. Les signaux utilisants ces connexions sont garantis d'avoir le temps de propagation le plus court et n'utilise aucune liaison matricée. Pour chaque CLB, la sortie.y peut être connectée directement à l'entrée.b du CLB immédiatement à sa droite. fig FPGA 9_2: Les connexions matricées à usage général sont constituées de 5 lignes (métal) horizontales et 5 verticales permettant d'interconnecter des CLB grâce à des matrices de commutation (switching matrix). Chaque segment (metal layer) a la hauteur et la largeur d'une zone bloc CLB. Fig FPGA 9_3: Les lignes longues permettent en passant par dessus les matrices de commutation de relier des CLB /IOB distants. Il y a 2 lignes horizontales et 3 lignes verticales longues par zone CLB. 2 lignes longues horizontales +2 verticales supplémentaires sont routées à proximité des matrices de connexion situées en périphérie du composant. page 9

Les multiples possibilités de routage des signaux et le nombre de cellules disponibles ainsi que leurs ressouces de configuration propres dans un FPGA de ce type en font une arme redoutable pour les concepteurs un peu gourmand en capacité/puissance. CPLD et FPGA se livrent à une bataille dont le résultat et de mettre à la disposition de l'utilisateur des produits de plus en plus performants. Pour s'en convaincre dans la série XC 3000 le circuit XC3090 possède 320 CLB/IOB, un équivalent 9000 portes dans un boitier 166 broches, une durée de transfert dans un bloc logique de 3 ns et contient une RAM de configuration de 64 160 bits. Les capacités des FPGA au 2ème semestre 1995 atteignaient l'équivalent de 100 000 portes et commencaient à rivaliser avec les circuits prédiffusés (voir exposé sur les ASICs).Au 1er semestre 2000 l'état de l'art, correspond à des circuits atteignant 4 Millions de portes (75 millions de transistors: environ 6 fois le Pentium III) Les logiciels propriétaires (tels XACT chez XILINX) possèdent des modules de calculs du temps de retard entrée/ sortie de chaque signal. Ce temps dépend évidemment de la longueur de routage et du nombre de couches logiques traversées. Il est optimisé de façon interactive par le concepteur du "design" au travers d'un fichier de contraintes avec une balance vitesse/densité. Les architectures des séries FLEX 8000 et MAX 9000 de chez ALTERA ainsi que la série ORCA chez ATT comme celles de chez ACTEL et pour ne citer que les plus grands, sont semblables à celles décrites ici; chaque famille se présentant avec un avantage, soit matériel soit logiciel, par rapport à ses concurrents directs. 8.3 Programmation des FPGA à base de RAM XILINX. A la mise sous tension des composants de cette famille, la lecture du mode (M0,M1,M2: XC4000) qui suit la phase de RESET place le composant en phase de chargement de la mémoire RAM à partir d'une mémoire externe (EPROM ou EEPROM, parallèle, série, microprocesseur, microcontroleur, fichier sur mémoire de masse, RAM d'un programmateur).les broches d'e/s ont des fonctions rebaptisées BUS d'adressse, bus de données, + signaux de services. Elles ne reprennent leur rôle habituel qu'après chargement de la RAM de configuration interne. Parmi plusieurs configurations de fonctionnement (modes) sont disponibles principalement : *Le mode MASTER chargement parallèle (illustré fig FGPA 10) * " " MASTER " série (illustré fig FPGA 11) * Le mode SLAVE (illustré fig FPGA 12) figure FPGA 10 D.BERQUET jan. 2000 page 10 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

figure FPGA 11 figure FPGA 12 page 11

8.4 Famille XC3000 XC4000 L'introduction dans la famille de la troisième génération d'une LUT triple permet d'étendre les possibiltés combinatoires des CLBs La complexité des interconnexions permet au constructeur de fournir au travers de ses outils logiciels de synthèse des MACRO(fonctions) optimisées, prêtes à l'emploi et regroupées dans une bibliothèque. On y trouve la plupart des fonctions de base divisées en 2 groupes: a_les fonctions Soft, dont les performances dépendent des ressources disponibles (et de leur proximité) au moment du routage. b_les fonctions Hard dont les ressources sont préfixées et permettent de générer des performances prédictibles. Un mode particulier permet de configurer les LUTs indépendamment comme des cellules de mémoires SRAM à lecture / écriture. C'est désormais une tendance forte chez les constructeurs que de présenter des composants ayant la capacité d'incorporrer ( ou de plutôt synthésiser) de la SRAM simple port ((réalisation de piles FIFO, registres, etc), ou SRAM double port. D.BERQUET jan. 2000 page 12 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

8.5 Famille SPARTAN XILINX La famille SPARTAN a été créée pour concurrencer les ASIC traditionnels entre 5000 et 40000 portes en proposant un produit peu complexe, robuste, offrant de multiples avantages ( la reprogrammabilité entre autres) à un très faible cout. Le seul boitier proposé est un PLCC. L'architecture reprend celle de la XC4K. Spartan Series Features - First ASIC replacement FPGA for high-volume production - Advanced process technology - Density up to 1862 logic cells or 40,000 system gates - System performance beyond 80 MHz - Unlimited reprogrammability -Low cost - Available in both 5.0 Volt and 3.3 Volt versions - On-chip SelectRAM TM memory - Fully PCI compliant - Low power segmented routing architecture - Full readback capability for program verification and internal node observability - Dedicated high-speed carry logic - Internal 3-state bus capability - 8 global low-skew clock or signal networks - IEEE 1149.1-compatible boundary scan logic Versatile I/O and packaging - Low cost plastic packages available in all densities - Footprint compatibility in common packages - Individually programmable output slew-rate control maximizes performance and reduces noise - Fully automatic mapping, placement and routing page 13

La configutration des LUT (Look Up Table)(2 par CLB) permet de pouvoir disposer de SRAM ou de SRAM double port. Configuration en RAM simple port. détail du bloc I/O réalisant la gestion du Boundary scan configuration en mémoire RAM double port D.BERQUET jan. 2000 page 14 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

8.6 Famille VIRTEX XILINX. Le CLB VIRTEX La structure de base d'un CLB reprend celle des familles précédentes avec des améliorations internes: n 2 LUT capables de fournir des fonctions jusqu'à 14 entrées, ou un registre à decalage 16 bits ou encore d'être configurés en SRAM synchrone (1*32bits ou 1*16 bits double port). n un dispositif de retenue rapide Cin, Cout n 2 bascules par CLB La famille VIRTEX est caratérisé par la plus haute densité d'intégration: 0.22µm, 5 couches metal. 50K portes à 1M portes, 200MHz max,compatible PCI 66MHz, entrées sorties multistandards, 4 lignes d'horloge associées à 4 DLLs( Delay Locked- Loop), 2 blocs de RAM de130 Kbits (393 Kbits RAM avec les RAMLUT(XCV1000)),taille de la mémoire de configuration 6.1Mbits(XCV1000), logique Boudary scan intégrée, multiplicité des canaux de routage spécialisés. les DLL (Delay Locked-loop) permettent de réduire le "skew" (gite) des horloges. en effet avec l'accroissement de la taille des puces, la distribution d'une horloge (à fortiori de plusieurs) est devenue un point critique pour les concepteur de FPGA. l'introduction de boucle à verrouilage de retard DLL permet de maintenir la distribution des horloges le long des lignes de routage quelque soit les couches logiques traversées. Densities ranging from 50,000 to 3.2 million system gates Support for 20 I/O standards, including three differential signaling standards Over 311 Mbps single-ended I/O performance 622 Mbps differential I/O performance Up to 832 Kbits of internal True Dual-Port(TM) BlockRAM 8 DLLs for 311+ MHz clock management Up to 804 single-ended I/Os or 344 differential I/O pairs Direct interfacing to high performance memory devices A complete package offering including high pin count, high thermal dissipation, and low-cost packages page 15

D.BERQUET jan. 2000 page 16 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

page 17

D.BERQUET jan. 2000 page 18 fichier :D:\pm6\tse99_2000\cours\nouveau_FPGA2.pm6 fichiers associés: sous designer 6.0: D:\designer\1999_2000\cours\nouveau_fpga.dsf fichiers exportés au format.wmf fichiers scannés: sous scanjetd:\designer\1999_2000\cours\nouveau_fpga.dsf

annexe 2 page 19