Etude des circuits logiques. programmables. Les FPGA



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

Conception de circuits numériques et architecture des ordinateurs

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

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

IFT1215 Introduction aux systèmes informatiques

QUESTION 1 {2 points}

Chapitre 4 : Les mémoires

Quoi de neuf en LabVIEW FPGA 2010?

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

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

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

Conception et Intégration de Systèmes Critiques

VIII- Circuits séquentiels. Mémoires

Manipulations du laboratoire

Leçon 1 : Les principaux composants d un ordinateur

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

Organisation des Ordinateurs

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

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

SIN-FPGA DESCRIPTION PAR SCHEMA

Electronique Numérique

Séminaire RGE REIMS 17 février 2011

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

Modules d automatismes simples

Conception de Systèmes de Communications Numériques

ASR1 TD7 : Un microprocesseur RISC 16 bits

Éléments d'architecture des ordinateurs

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

LA MESURE INDUSTRIELLE

Cours 7 : Programmation d une chaîne d acquisition

1. PRESENTATION DU PROJET

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

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Thème 3 Conception et vérification d architectures de systèmes sur puce

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)

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

Cours 3 : L'ordinateur

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

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

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

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

Contribution à la conception par la simulation en électronique de puissance : application à l onduleur basse tension

Cours Informatique 1. Monsieur SADOUNI Salheddine

THÈSE DEVANT L UNIVERSITÉ DE RENNES 1

REALISATION d'un. ORDONNANCEUR à ECHEANCES

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

Structure et fonctionnement d'un ordinateur : hardware

Guide Mémoire NETRAM

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

ENREGISTREUR DE TEMPERATURE

Le langage VHDL. Eduardo Sanchez EPFL

Lecteur de carte à puce LCPM1 SOMMAIRE

Vers du matériel libre

Le multiplexage. Sommaire

Convertisseurs statiques d'énergie électrique

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

T. BLOTIN Lycée Paul-Eluard SAINT-DENIS

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

Equipement. électronique

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

TD 11. Les trois montages fondamentaux E.C, B.C, C.C ; comparaisons et propriétés. Association d étages. *** :exercice traité en classe.

CH.3 SYSTÈMES D'EXPLOITATION

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Tout savoir sur le matériel informatique

BPEL Orchestration de Web Services

Cours n 12. Technologies WAN 2nd partie

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

IRL : Simulation distribuée pour les systèmes embarqués

Concevoir son microprocesseur

Manuel d'utilisation de la maquette

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

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

La carte à puce. Jean-Philippe Babau

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.

La solution éco performante pour la sécurisation de l alimentation électrique des Datacenters à haut niveau de disponibilité

Logique séquentielle

Structure et Technologie des Ordinateurs A. Oumnad

Conférence sur les microcontroleurs.

Conception de circuits numériques et architecture des ordinateurs

Prototypage électronique

CONVERTISSEURS NA ET AN

V- Manipulations de nombres en binaire

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

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

Relais d'arrêt d'urgence, protecteurs mobiles

TM238LDA24DR 230VAC - RELAYS OUTPUTS -

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Projet M1 Année scolaire 2013/2014

Architecture matérielle des systèmes informatiques

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

Structure de base d un ordinateur

Les Architectures Orientées Services (SOA)

Urbanisme du Système d Information et EAI

Evolution de l infrastructure transport

Les liaisons SPI et I2C

Multichronomètre SA10 Présentation générale

Transcription:

Etude des circuits logiques programmables Les FPGA Fabrice CAIGNET LAAS - CNRS fcaignet@laas.fr

Contenu :: I. Les Réseaux Logiques Programmables : PLD II. Les technologies des éléments programmables III. Les FPGAs IV. Les outils de développement V. Les tendances des composants programmables VI. Le langage VHDL

I. I. Les Réseaux Logiques Programmables :: PLD PLD = Programmable Logic Devices Circuits logiques + ou - complexes remplaçant l association de plusieurs boîtes logiques Simplification de câblage Encombrement réduit Diminution des coûts Facilité d utilisation Diminution du risque des pannes entrées PLD Association de fct Logiques Sorties 1 seul circuit intégré

I. I. Les Réseaux Logiques Programmables :: PLD Importance du «Time To Market» Le cahier des charges du développement d un système doit prendre en compte les paramètres suivants : Le coût de production Les performances La consommation L'intégration L'évolution du produit La maintenance La protection industrielle Deux alternatives existent : Les ASIC (Application Specific integrated Circuits) Les Circuits à réseaux programmables Nb de ventes Entreprise 1 Entreprise 2 temps

I. I. Les Réseaux Logiques Programmables :: PLD Quelles différences entre un ASIC et un PLD ASIC Application Specific Integrated Circuits PLD Programmable Logic Device Choix du fondeur Choix du circuit Conception du circuit (full-custom - bibliothèques) Programmation du circuit (logiciel + interface circuit) Très grand niveau d intégration Intégration limitée Fabrication à très grand nombre d exemplaire Un circuit dédié à une application Choix de la technologie Maximum de performances Implémentation nombre d exemplaires limité Un circuit programmé pour une application Technologie figée mais : Facilité de programmation

I. I. Les Réseaux Logiques Programmables :: PLD

I. I. Les Réseaux Logiques Programmables :: PLD Avantages des PLD Le coût et temps de développement. Le prototypage et temps de simulation accéléré. La prise de risque est réduite. (modifications possibles, risque d'inventaire) Des supports logiciels peu chers. Des produits éprouvés. (pas de vecteurs de test structurel) Inconvénients Un niveau d'intégration moindre aux ASIC. Une consommation plus élevée. Des prix importants et une faible disponibilité pour de grandes séries. Symbolisation Normalisée

I. I. Les Réseaux Logiques Programmables :: PLD Quatre Familles de PLD boîtes logiques PLD PAL GAL EPLD FPGA

I. I. Les Réseaux Logiques Programmables :: PLD PAL (Programmable Array Logic) : réseaux logiques programmables Développés au début des années 70 par MMI (ex-amd) La programmation se fait par destruction de fusibles Aucun fusible n est grillé à l achat de la PAL Fusibles Les fonctions ET sont programmables

I. I. Les Réseaux Logiques Programmables :: PLD PAL (Programmable Array Logic) : réseaux logiques programmables Représentation : - les fusibles intactes sont représentés par une connexion - les fusibles détruits sont représentés par une absence de connexion Fusible intact Fusible détruit Exemple d un OU EXCLUSIF

I. I. Les Réseaux Logiques Programmables :: PLD PAL (Programmable Array Logic) : réseaux logiques programmables Que peut-on trouver dans une PAL?? Tout P.A.L. est constitué : - D'entrées (Input): I1 à In avec 8<n<20. - De sorties (Output) Ou d entrées / sorties (I/O) de type Totem Pôle ou Trois Etats :O1 à On ou IO1 à IOn (2<n<15). On trouve aussi : - Une entrée d'horloge (Clock): Clk ou Clock. - Une entrée de validation des sorties trois états: OE (Output Enable) ou Enable. - Une entrée de remise à zéro des registres: RESET.

I. I. Les Réseaux Logiques Programmables :: PLD PAL : Matrice de programmation La plupart des P.A.L. sont constitués : - Un ensemble de portes «ET» sur lesquelles viennent se connecter les variables d entrée et leurs compléments. Matrice Matrice de de programmation - Un ensemble de portes «OU» sur lesquelles les sorties des opérateurs «ET» sont connectées les variables d entrée.

I. I. Les Réseaux Logiques Programmables :: PLD PAL : Structure de sortie Il existe 3 structures de sortie qui peuvent-être aussi de entrées/sorties : - Combinatoire - Séquentielle - versatiles Entrées / Sorties combinatoires Sortie 3 états rebouchée vers la matrice une sortie peut servir de variable intermédiaire une sortie peut servir d entrée (en mode haute impédance)

I. I. Les Réseaux Logiques Programmables :: PLD PAL : Structure de sortie Entrées / Sorties séquentielles, à registre Une bascule D permet la logique séquentielle sorties séquencées sur une horloge H une sortie ne peut pas servir d entrée une commande OE (Ouput Enable) permet de désactiver la sortie OE Sortie à REGISTRE

I. I. Les Réseaux Logiques Programmables :: PLD PAL (Programmable Array Logic) : Structure de sortie Entrées / Sorties versatiles (VPAL) On peut configurer par programmation le mode d utilisation de la broche de sortie Entrée / Sortie VERSATILE

I. I. Les Réseaux Logiques Programmables :: PLD PAL (Programmable Array Logic) : Exemple de PAL22V10 (AMD)

I. I. Les Réseaux Logiques Programmables :: PLD GAL (Généric Array Logic), «LATICE Semiconductor» Réseau Logique Reprogrammable Un GAL est un PAL effaçable électriquement

I. I. Les Réseaux Logiques Programmables :: PLD Erasable Programmable Logic Device Circuit Logique reprogrammable de grande capacité

I. I. Les Réseaux Logiques Programmables :: PLD Forecasting Programmable Gate Array Réseau de portes La densité croissante des circuits programmables actuels, notamment des FPGA (Field Programmable Gate Array), permet le prototypage rapide des circuits numériques à grande complexité. Aussi, il est possible de tester rapidement programmables la validité de concepts architecturaux à la nouveaux: demande l'implémentation complète d'un processeur sur des circuits FPGA est aujourd'hui à notre portée, entraînant ainsi plus de possibilités d'évaluation que celles offertes par des simulateurs logiciels. De plus, la reprogrammabilité de certains circuits FPGA a ouvert de nouvelles voies de recherche: des méthodologies de conception des systèmes reconfigurables, capables d'évoluer ou de s'adapter à des environnements ou à des contraintes variables.

I. I. Les Réseaux Logiques Programmables :: PLD Résumé graphique des familles de P.L.D. PLD Circuits Logiques Programmables PAL et FPLS PAL à fusibles bipolaires PAL CMOS effaçables électriquement GAL effaçables électriquement PAL effaçables aux UV GPLD - EPLD LCA FPGA

I. I. Les Réseaux Logiques Programmables :: PLD Les principaux critères de choix des P.L.D. sont: - Vitesse de fonctionnement - Nombre de portes - Consommation - Technologie -Prix

II. II. Les technologies des éléments programmables Généralité sur les technologies des éléments programmables On trouve les éléments programmables dans les blocs logiques des PLDs, afin de leur donner une fonctionnalité, mais aussi dans les matrices d'interconnexions entre ces blocs. Un élément programmable peut être considéré comme un interrupteur. Afin de respecter les contraintes imposées à l'ingénieur, les éléments programmables doivent posséder plusieurs qualités : - Ils doivent occuper une surface la plus petite possible (Ce point s'explique pour des raisons évidentes de coût. Ceci est d'autant plus vrai que l'on désire en disposer d'un grand nombre). - Ils doivent posséder une résistance de passage faible et une résistance de coupure très élevée. - Ils doivent apporter un minimum de capacité parasite. Les deux derniers points s'expliquent quant à eux pour des raisons de performance en terme de fréquence de fonctionnement du PLD. Plus la résistance et la capacité sur le chemin d'un signal sont faibles, plus la fréquence de ce signal peut être élevée (RC effet).

II. II. Les technologies des éléments programmables Les technologies à fusibles Les fusibles sont grillés en appliquant des tensions élevées (12V) Technologie fusible-diode Technologie fusible-transistor Technologies Technologies maintenant maintenant abandonnées abandonnées pour pour des des raisons raisons de de manque manque de de fiabilité. fiabilité. Le Le fait fait de de "griller" "griller" les les fusibles fusibles provoque provoque des des perturbations perturbations qui qui peuvent peuvent affecter affecter le le reste reste du du circuit. circuit. De De plus, plus, cette cette programmation programmation est est irréversible irréversible et et ne ne permet permet donc donc pas pas la la re-programmabilité. re-programmabilité.

II. II. Les technologies des éléments programmables Les technologies à anti-fusibles (Actel, QuickLogic, Crosspointet Xilinx) un anti-fusible est un élément programmable qui à l'inverse des fusibles n'est passant qu'après programmation. La connexion s effectue en détruisant un diélectrique Technologie anti-fusible PLICE Technologie anti-fusible VIA-Link Petite Petite taille taille (grande (grande capacité capacité d intégration) d intégration) Base Base impédance impédance (rapidité) (rapidité) Technologie Technologie difficile difficile à à maîtriser maîtriser ne ne permettent permettent pas pas la la reprogrammation reprogrammation

II. II. Les technologies des éléments programmables Les technologies à EPROM/FLASH (Actel, AMD...) Il existe deux variantes de l'eprom, - Erasable Programmable Read Only Memory classique (EPROM) - Electrically Erasable Programmable Read Only Memory (EEPROM). Cellule à grille flottante d une EPROM Système d interconnexion Petite Petite taille taille (grande (grande capacité capacité d intégration) d intégration) Base Base impédance impédance (rapidité) (rapidité) Possibilité Possibilité de de reprogrammation reprogrammation à à loisir loisir

II. II. Les technologies des éléments programmables Les technologies à EPROM/FLASH (Actel, AMD...) Le système à Grille flottante : Charge de la grille VT1 Non programmé VT0 Programmé Etat Etat non non programmé programmé :: il il n'existe n'existe pas pas de de charge charge dans dans la la grille grille flottante flottante et et le le transistor transistor peut peut être être utilisé utilisé normalement. normalement. En En cours cours de de programmation programmation (effet (effet tunel, tunel, passage passage d'un d'un fort fort courant courant entre entre la la source source et et le le drain), drain), une une partie partie de de la la charge charge est est retenue retenue dans dans la lagrille flottante. flottante. Le Le seuil seuil du du transistor transistor augmente, augmente, Le Le transistor transistor est est bloqué bloqué jusqu'à jusqu'à ce ce qu'il qu'il soit soit "effacé". "effacé".

II. II. Les technologies des éléments programmables Les technologies à RAM statique -SRAM (XILINX, ALTERA...) Elle fait appel à une phase de chargement de la configuration depuis l'extérieur Commande Commande Structure + complexe (4 à 6 Transistors) Transistor de passage Portes de passage Portes de passage Grande Grande possibilité possibilité de de programmation programmation Technologie Technologie de de type type CMOS CMOS (très (très bien bien maîtrisée) maîtrisée) Place Place importante importante Mémoire Mémoire volatile volatile (reprogrammation (reprogrammation obligatoire) obligatoire)

II. II. Les technologies des éléments programmables Les technologies à RAM statique -SRAM (XILINX, ALTERA...) Exemples de structure SRAM implantées

II. II. Les technologies des éléments programmables Récapitulatif : La technologie EEPROM Les PLD à EPROM se programment électriquement et s effacent aux UV, Par contre Les PLD à EEPROM se programment quasi instantanément, et gardent la configuration jusqu à une nouvelle programmation (même en l absence de tension) La technologie EEPROM Facile et rapide à programmer, la configuration disparaît sans alimentation.

II. II. Les technologies des éléments programmables Technologies utilisées par les différents fabricants

III. III. Les FPGA Rappel des caractéristiques principales Comme nous venons de le voir, les éléments programmable sont à la base des caractéristiques des FPGA Le choix d un PLD dépendra dont : La densité d intégration De la rapidité de fonctionnement (paramètre directement lié à l impédance intrinsèque des éléments programmables De la facilité de mise en œuvre (programmation, reprogrammation ) de la possibilité de maintien de l information

III. III. Les FPGA Rappel des caractéristiques principales Les structures PAL sont à la base des CPLD, FPGA d aujourd hui Zone de programmation OMLC Output Logic MacroCell (Combinatoires Séquentielles Versatiles

III. III. Les FPGA Les CPLD (Complexe Programmable Logic Device) : Ces circuits ont une capacité de portes et de configuration très largement supérieur aux PAL Macro-cellules composées de : - une zone de portes logiques - un bascule Bloc Logiques Zone d interconnexion Architecture Architecture identique identique aux aux PAL PAL équivalent équivalent à à plusieurs plusieurs PAL PAL séparées séparées par par une une zone zone d interconnexion d interconnexion Bloc Logiques Bloc Logiques 100 100 à à 100000portes 100000portes 16 16 à à 1000 1000 bascules bascules

III. III. Les FPGA Les FPGA (Fields Programmable Gate Array) : Réseau de portes programmables à la demande - XILINX et ALTERA. les FPGA à la différence des CPLD sont assimilables à des A.S.I.C. programmables par l utilisateur. La puissance de ces circuits est telle qu ils peuvent être composés de plusieurs milliers voir millions de portes logiques et de bascules. Les dernières générations de FPGA intègrent même de la mémoire vive (RAM). Les deux plus grands constructeurs de FPGA sont XILINX et ALTERA. Ils sont composés de blocs logiques élémentaires (plusieurs milliers de portes) qui peuvent être interconnectés. Critère de choix : vitesse de fonctionnement plus élevées pour les CPLD

III. III. Les FPGA Structure interne d un FPGA type XILINX le le FPGA FPGA est est présenté présenté pour pour la la 1er 1er fois fois par par XILINX XILINX avec avec des des structure structure : : blocs blocs logiques logiques configurables configurables blocs blocs d I/O d I/O configurables configurables des des interconnexions interconnexions entre entre bloc bloc configurables configurables

III. III. Les FPGA Structure interne des FPGA Exemple Exemple de de structures structures de de FPGA FPGA

III. III. Les FPGA Structure interne des FPGA FPGA «Raw-based» FPGA «Sea of gates»

III. III. Les FPGA Les interconnexions programmables dans les FPGA Dans Dans les les FPGA FPGA les les blocs blocs sont sont interconnectés interconnectés de de différentes différentes façons façons :: des des optimisations optimisations de de routage routage sont sont possibles possibles sélections sélections de de lignes lignes ou ou colonnes colonnes canaux canaux de de routage routage rapide rapide (longues (longues distances) distances)

III. III. Les FPGA Les interconnexions programmables dans les FPGA Afin Afin de de diminuer diminuer le le nombre nombre de de canaux canaux de de routage, routage, ils ils sont sont segmentés segmentés ou ou peuvent peuvent l'être l'être par par programmation. programmation. Cette Cette dernière dernière méthode méthode est est utilisée utilisée dans dans le le cas cas d'une d'une technologie technologie de de programmation programmation par par anti-fusibles anti-fusibles car car les les éléments éléments programmables programmables sont sont de de petite petite taille. taille. On On notera notera les les compromis compromis qu'il qu'il existe existe entre entre nombre nombre de de canaux canaux de de routage, routage, nombre nombre d'éléments d'éléments de de programmation programmation et et temps temps de de propagation. propagation. Les figures illustrent les différents types de segmentation pour un même exemple de routage

III. III. Les FPGA Les types de blocs logiques dans les FPGA Il Il existe existe 4 types types de de blocs blocs logiques logiques :: --Les Les macrocellules. macrocellules. --Les Les blocs blocs à multiplexeurs. multiplexeurs. --Les Les LUT. LUT. --Les Les cellules cellules symétriques. symétriques. Cellules symétriques : Ces blocs de petite taille servent à réaliser des fonctions logiques simples mais aussi comme ressources de connexion

III. III. Les FPGA Les types de blocs logiques dans les FPGA Les Multiplexeurs : En venant programmer les entrées du multiplexeur et en pilotant les signaux de sélection, il est possible de réaliser toutes les fonctions logiques (à autant d'entrées que de signaux de sélection). Leur très petite taille est particulièrement adaptée à la technologie anti-fusible.

III. III. Les FPGA Les types de blocs logiques dans les FPGA Les LUT (Look-Up Table) : Les Look-Up Table sont un cas particulier des cellules à multiplexeur, avec de 2 à 9 entrées et dont la technologie du point mémoire est une technologie SRAM. Une Look Up Table de N entreées est une mémoire qui peut implémenter n'importe quelle fonction booléenne de N variables. Les N entrées sont utilisées comme adresse d'une mémoire de 2 n bits qui code la fonction booléenne à réaliser. On peut donc réaliser 2 n fonctions différentes avec une LUT à N entrées. Les Look-Up Tables sont des blocs logiques de très petite granularité dans un CLP. Comme Les Look-Up Table possèdent une bascule de sortie, les architectures à base de Look-Up Table sont beaucoup plus riches en bascules que les architectures à macro-cellules.

III. III. Les FPGA Les types de blocs logiques dans les FPGA Les LUT (Look-Up Table) : Entrées Point mémoires

III. III. Les FPGA Les types de blocs logiques dans les FPGA Les Macro-cellules : On retrouve dans certaines macro-cellules toute la complexité d'un PAL. Il y a en général un nombre réduit de macrocellules dans un EPLD, car ces cellules occupent une grande surface. la macro-cellule présente plusieurs intérêts : - grand nombre de variables d'entrées possibles - grand nombre de termes de produits possibles

IV. IV. Les outils de de développement Deux Deux Outils Outils sont sont nécessaires nécessaires à la la programmation programmation des des FPGA FPGA :: --Le Le système système de de développement développement --Le Le programmeur programmeur

IV. IV. Les outils de de développement Les systèmes de développement Ces Ces systèmes systèmes produisent produisent une une table table représentant représentant les les fusibles fusibles à détruire détruire en en fonction fonction des des équations équations logiques, logiques, diagramme diagramme d'états d'états et et tables tables de de vérités vérités écrit écrit dans dans le le langage langage propre propre au au système, système, c'est c'est le le rôle rôle du du compilateur compilateur ou ou synthétiseur. synthétiseur. La La description description du du fonctionnement fonctionnement des des circuits circuits peut peut se se faire faire de de plusieurs plusieurs façons, façons, soit soit :: --Par Par un un schéma schéma à base base de de fonctions fonctions logiques logiques élémentaires élémentaires (Portes (Portes ET,OU,NON, ET,OU,NON, bascules, bascules, compteurs, compteurs, registres registres à décalages). décalages). --En En utilisant utilisant un un langage langage de de description description comportementale comportementaleh.d.l. (Hardware (HardwareDescription Language). Language). Les Les plus plus anciens anciens sont sont PALASM, PALASM, ORCAD/PLD ORCAD/PLD et et le le plus plus connu connu et et utilisé utilisé est est sans sans conteste conteste ABEL ABEL (utilisé (utilisé par par la la plus plus part part des des systèmes systèmes de de développements). développements). Enfin Enfin les les langages langages dit dit de de haut haut niveau, niveau, VHDL VHDL (( Very Very high highspeed Hardware Hardware Description Description Language) Language) et et VERILOG VERILOG sont sont en en général général utilisés utilisés pour pour des des circuits circuits complexes. complexes. Le Le langage langage VHDL VHDL est est très très utilisé utilisé en eneurope.

Voir 2ème fichier

IV. IV. Les outils de de développement Les systèmes de développement --Par Par l utilisation l utilisation de de graphes graphes d'états d'états (Flow (Flow States States Machines, Machines, FSM) FSM)

V. V. Le Le FPGA M7000 de de ALTERA Presentation générale Eléments Eléments programmables programmables de de type type EEPROM, EEPROM, basé basésur sur le le principe principe de de seconde seconde génération génération de de matrice matrice programmables. programmables. 5.0V, 5.0V, IEEE IEEE 1149.1 1149.1 test test standard standard 600 600 à 5000 5000 portes portes 5 ns ns Pin Pin to to pin pin delay delay (175MHz) (175MHz)

V. V. Le Le FPGA M7000 de de ALTERA Performances de certains FPGA parmi les MAX7000

V. V. Le Le FPGA M7000 de de ALTERA Les Macrocells

V. V. Le Le FPGA M7000 de de ALTERA Les contraintes de temps (timing constrains) Chaque Chaque élément élément intervient intervient et et doit doit être être prit prit en en compte compte dans dans l évaluation l évaluation des des temps temps de de propagation propagation

V. V. Le Le FPGA M7000 de de ALTERA Les contraintes de temps (timing constrains) Exemple Exemple d application d application à un un cas cas simple simple de de logique logique combinatoire combinatoire

V. V. Le Le FPGA M7000 de de ALTERA Les contraintes de temps (timing constrains) Exemple Exemple d application d application au au cas cas séquentiels séquentiels

V. V. Le Le FPGA M7000 de de ALTERA Le format de test JTAG : IEEE 1149.1 (the boundary scan standard)

V. V. Le Le FPGA CX4000 de de Xilinx

V. V. Le Le FPGA CX4000 de de Xilinx

V. V. Le Le FPGA CX4000 de de Xilinx

V. V. Le Le FPGA FLEX6000 de de ALTERA Informations générales Informations Informationsgenerales --Nb Nbde de portes portes :: 5000 5000 --24000 24000 The Thelogic logicarray arraycontains containslogic logicarray arrayblocks (LABs) (LABs) composed composedof of10 10 logic logicelements (LEs) (LEs) that thatcommunicate communicatethrough througha a fully fully populated populatedlocal local interconnect interconnectstructure

V. V. Le Le FPGA FLEX6000 de de ALTERA Informations générales LAB Le Le LAB Le Le Interleaved InterleavedLABs Chaque Chaque Le Le d un d un même même LAB LAB peuvent peuvent être être interconnectés interconnectés ainsi ainsi qu à qu à leurs leurs plus plus proches proches voisins voisins FastTrack FastTrackInterconnect Les Les LAB LAB peuvent peuvent être être interconnectés interconnectés grâce grâce à un un réseau réseau d interconnections d interconnections longue longue distance distance

V. V. Le Le FPGA FLEX6000 de de ALTERA Informations générales : que sont les LE (logic Element)? Chaque ChaqueLE LE (Logic (Logic Element) Element) contient contient1 LUT LUT a 4 entrees entrees

V. V. Le Le FPGA FLEX6000 de de ALTERA Informations générales : que sont les LE (logic Element)? Le Le Carry Carry Chain Chain

V. V. Le Le FPGA FLEX6000 de de ALTERA Informations générales : que sont les LE (logic Element)? Le Le Cascade Cascade chain chain

V. V. Le Le FPGA FLEX6000 de de ALTERA Informations générales : performances

V. V. Le Le FPGA FLEX10K de de ALTERA Informations générales Premier circuit programmable dit: embedded programmable logic device (PLD) family, providing System-on-a-Programmable-Chip (SOPC) De 10000 à 250000 portes

V. V. Le Le FPGA APEX de de ALTERA Informations générales The APEX device family ranges from 30,000 to over 1.5 million gates (113,000 to over 2.5 million system gates) and ships on 0.22-µm, 0.18-µm, and 0.15-µm processes. Introduced in 1999 with all copper interconnect layers

V. V. Le Le FPGA APEX de de ALTERA Informations générales (1 ESB = 4096bits) Protocole Protocole de de communication communication 1Gbs 1Gbs

V. V. Le Le FPGA APEX de de ALTERA Informations générales Package informations

V. V. Le Le FPGA APEX de de ALTERA Informations générales

V. V. Le Le FPGA APEX de de ALTERA

V. V. Le Le FPGA APEX de de ALTERA Structure Système de communication entre les LABs Chaque MegaLAB contient un groupe de 16 ou 24 LABs

V. V. Le Le FPGA APEX de de ALTERA Structure des Le

V. V. Le Le FPGA APEX de de ALTERA Mode de programmation des Le LE mode normal est utilisé pour la synthèse de structures combinatoires ou séquentiel, avec les possibilités de mise en cascade

V. V. Le Le FPGA APEX de de ALTERA Mode de programmation des Le LE mode arithmétique est utilisé pour la synthèse de fonctions addition, comparaison, accumulation

V. V. Le Le FPGA APEX de de ALTERA Mode de programmation des Le LE mode comptage propose des clock enable, counter enable, synchrone, Asynchrones, up, douwn,

V. V. Le Le FPGA Cyclone de de ALTERA

V. V. Le Le FPGA Cyclone de de ALTERA Cyclone I Cyclone II

V. V. Le Le FPGA Stratix de de ALTERA

V. V. Le Le FPGA Stratix de de ALTERA

VI. VI. Les tendances des composants programmables Evolution des systèmes vers les très grandes complexités Complexité PAL PAL GAL LCA CPLD FPGA Evolutions CPLD Evolutions résultantes résultantes :: --des des progrès progrès technologiques technologiques (réduction (réduction des des dimensions dimensions de de transistors transistors --densités densités d intégration) intégration) --des des progrès progrès logiciel logiciel des des outils outils de de développement développement (langage (langage HDL HDL -- simplicité simplicité de de développement) développement) 1970 1980 1990 2001 Années

VI. VI. Les tendances des composants programmables rformances :

VI. VI. Les tendances des composants programmables Evolution vers les systèmes de très grande complexité APEX Devices: System-on-a-Programmable-Chip Solutions from ALTERA chip 30,000 30,000 vers vers plus plus de de 1.5 1.5 million million de de portes portes (113,000 (113,000 to to over over 2.5 2.5 million million system system gates) gates) Technologie Technologie : : 0.22-µm, 0.22-µm, 0.18-µm 0.18-µm et et 0.09µm 0.09µm Ports Ports d d entrée/sortie entrée/sortie : : 128 128 à à 808 808 I/O I/O Introduction Introduction des des ««System-on-chip System-on-chip»» dans dans les les composants composants programmables programmables (RAM, (RAM, ROM, ROM, FIFO, FIFO, CAN, CAN, PCI, PCI, µp..) µp..) Aujourd hui, Aujourd hui, près près de de 50% 50% des des FPGA FPGA sont sont des des SoC SoC Introduction Introduction des des IPs IPsdans les les FPGA FPGA (Intelectual (IntelectualProperties)

VI. VI. Les tendances des composants programmables Quels sont les problèmes limitant l évolution et les performances des FPGA s? Les Les interconnexions interconnexions Plus les technologies évoluent plus les interconnexion deviennent des éléments actifs des circuits La La densité densité d intégration d intégration La quantité de mémoire nécessaire pour accroître les performances des FPGA devient très importante Les Les softs softs (méthodes (méthodes de de programmation) programmation) évolution évolution vers vers les les «systemc systemc» Les logiciel de développement évoluent vers des systèmes types Visual C++. C est une obligation face à l augmentation des possibilités de programmation des FPGA