Cours #3 Technologies de logique programmable

Slides:



Advertisements
Présentations similaires
Le Nom L’adjectif Le verbe Objectif: Orthogram
Advertisements

ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
LES MEMOIRES INTRODUCTION UN PEU D ’HISTOIRE LES DIFFERENTES MEMOIRES
Licence pro MPCQ : Cours
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Capteurs et Actionneurs
Les numéros
Les identités remarquables
La mémoire morte(ROM) Il existe un type de mémoire permettant de stocker des données en l'absence de courant électrique, il s'agit de la ROM (Read Only.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Les éléments de mémorisation
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Cours Systèmes logiques
Circuits Logiques Programmables
Exercices sur la conception de processeurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Cours #6 Conception d’unités de contrôle
Cours #12: Exercices de révision
2-1 CIRCUITS ÉLECTRIQUES SIMPLES
Cours de physique générale I Ph 11
Cours #8 Flot de conception d’un circuit numérique
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
1.2 COMPOSANTES DES VECTEURS
LES MEMOIRES.
Titre : Implémentation des éléments finis sous Matlab
Tableaux de distributions
Tableaux de distributions
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
LES NOMBRES PREMIERS ET COMPOSÉS
LES SYSTEMES AUTOMATISES
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
La Distribution des Données
Cours #7 Vérification d’un modèle VHDL
Titre : Implémentation des éléments finis en Matlab
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Résoudre une équation du 1er degré à une inconnue
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Logique programmable Réseaux et circuits PLA, PAL, GAL et CPLD
Circuits intégrés numériques Quelques bases
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Options d’implémentation.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois La technique du pipeline.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Augmenter le débit d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Bonnes pratiques de.
Synthèse et implémentation de circuits arithmétiques sur FPGA
Processeurs et chemins des données
Le temps de propagation des signaux dans un circuit
Logique programmable Mémoires mortes: PROM, EPROM, EEPROM
Introduction à SolidWorks
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Le problème du déphasage.
INF8505: processeurs embarqués configurables
Les systèmes mono-puce
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un.
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
CIRCUITS LOGIQUES PROGRAMMABLES
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
Composants à réseaux logiques programmables
Memoire.
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
Transcription de la présentation:

Cours #3 Technologies de logique programmable

Plan pour aujourd’hui Introduction: options d’implémentation de systèmes numériques Circuits SSI, MSI et LSI Mémoires mortes: PROM, EPROM, EEPROM PLA, PAL, GAL CPLD FPGA Technologies de programmation

Implémentation de systèmes numériques Quatre considérations (P2T2): précision des calculs (P) puissance consommée (P) taille (T) taux de traitement (T) Partitionnement matériel et logiciel Une solution toute logicielle utilise un microprocesseur qui exécute un programme habituellement codé dans un langage de haut niveau. Une solution toute matérielle comporte un processeur sur mesure bâti avec des portes logiques et des bascules. La plupart des systèmes numériques se situent entre ces deux extrêmes. Les systèmes embarqués comportent en général un processeur sur lequel s’exécute du logiciel et quelques processeurs ou coprocesseurs dédiés à des tâches particulières.

Options pour les solutions matérielles: Technologies de circuits intégrés ASIC : Application Specific Integrated Circuit: circuit intégré à application spécifique Deux grandes classes d’ASIC : la logique fixe et la logique programmable. Logique fixe: système ne peut être modifié coûts faramineux de développement coût unitaire très faible la meilleure performance Logique programmable: système peut être modifié, même par l’utilisateur coûts de développement raisonnables coût unitaire relativement élevé performance adéquate pour une très grande variété d’applications

Technologies de circuits intégrés à application spécifique (ASIC) Options pour les solutions matérielles: Technologies de circuits intégrés Technologies de circuits intégrés à application spécifique (ASIC) Logique fixe Logique programmable ASIC sur mesure Full-custom ASIC ASIC à cellules normalisées Cell-based ASIC réseau pré-diffusé de portes Gate Array mémoire morte Programmable Read Only Memory – PROM Electrically Programmable ROM – EPROM Erasable EPROM – EEPROM réseau de logique programmable Programmable Logic Array - PLA circuit PAL Programmable Array Logic™ - PAL circuit GAL Generic Array Logic™ - GAL circuit logique programmable complexe Complex Programmable Logic Device – CPLD réseau prédiffusé programmable par l’utilisateur Field-Programmable Gate Array – FPGA

Plan pour aujourd’hui Introduction: options d’implémentation de systèmes numériques Circuits SSI, MSI et LSI Mémoires mortes: PROM, EPROM, EEPROM PLA, PAL, GAL CPLD FPGA Technologies de programmation

Les débuts: circuits SSI, MSI et LSI Les premiers circuits numériques intégrés sont apparus sur le marché dans les années 1960. On les classifiait alors selon le nombre de transistors qu’ils intégraient. Les trois acronymes de base, SSI, MSI et LSI, référaient respectivement à Small, Medium et Large Scale Integration. Un circuit SSI contenait environ 102 transistors – portes logiques de base Un circuit MSI contenait environ 103 - multiplexeurs, décodeurs, etc. Un circuit LSI contenait environ 104 transistors – mémoires, processeurs, p. ex. Intel 4004. Pour les complexités grandissantes, l’acronyme VLSI (Very Large …) s’est généralisé pour tous les autres circuits.

Circuits SSI, MSI et LSI: série 7400 Une famille de circuits SSI/MSI très populaire jusqu’au début des années 1990 était la série 7400. Normalisés dans l’industrie, ils étaient manufacturés par plusieurs fournisseurs. Les deux derniers chiffres reflétaient la fonction logique réalisée et la position des signaux sur les pattes de la puce. Ne sont plus vraiment utilisés de nos jours. numéro fonction 7400 4 × NON-ET 7402 4 × NON-OU 7404 8 × NON 7411 3 × ET (3 entrées) 7473 2 × bascule JK avec reset Source: Wikipédia

Un système numérique avec des composantes discrètes prototype de Macintosh, ca 1980 Macintosh Wire Wrap Logic Board #5 1980-1983, Digibarn Computer Museum. Consulté le 16 sep. 2009, images tirées de http://www.digibarn.com/collections/parts/mac-wirewrap5-board/index.html

Plan pour aujourd’hui Introduction: options d’implémentation de systèmes numériques Circuits SSI, MSI et LSI Mémoires mortes: PROM, EPROM, EEPROM PLA, PAL, GAL CPLD FPGA Technologies de programmation

Mémoires mortes programmables : PROM, EPROM, EEPROM Les premiers circuits programmables par l’utilisateur étaient des mémoires mortes programmables (Programmable Read Only Memory – PROM). Une PROM ne se programmait qu’une seule fois. Une mémoire ROM consiste en : un décodeur avec n signaux d’entrée; un réseau OU programmé (ou programmable une fois) avec 2n mots de m bits chacun ; m signaux de sortie. Le réseau programmé comporte 2n lignes de m colonnes chacune. À l’intersection de chaque ligne avec une colonne on trouve un élément électronique à mémoire. Une fois programmée, la ROM de 2n mots de m bits peut générer m fonctions de n variables simultanément.

Mémoires mortes programmables : PROM, EPROM, EEPROM On distingue trois sortes de mémoire ROM, différenciées par leurs technologies de programmation. PROM : Programmable Read Only Memory, programmable une seule fois; EPROM : Erasable Programmable Read Only Memory, programmable à plusieurs reprises, et effaçable à l’aide de rayons ultraviolets (facile à reconnaître à sa petite fenêtre); et EEPROM : Electrically Erasable Programmable Read Only Memory, programmable à plusieurs reprises, et effaçable à l’aide d’impulsions électriques. Exemple: microcontrôleur NEC D8749 avec EPROM intégré de 2 Ko Source: Wikipédia

Exemple: ROM à 16 mots de 8 bits Rappel: un décodeur a une seule sortie active à la fois, qui indique la valeur du code binaire en entrée. Les lignes verticales comportent en fait 16 fils, un pour chaque ligne du décodeur. Chaque intersection est programmable.

Exemple de programmation d’une ROM Les dispositifs de programmation sont unidirectionnels pour empêcher toute ligne horizontale d’en mener une autre. On utilise une diode ou un transistor. Source: Roth, 5e éd., © Brooks/Cole 2004

Plan pour aujourd’hui Introduction: options d’implémentation de systèmes numériques Circuits SSI, MSI et LSI Mémoires mortes: PROM, EPROM, EEPROM PLA, PAL, GAL CPLD FPGA Technologies de programmation

Réseaux logiques programmables : PLA, PAL et GAL L’implémentation de circuits logiques avec des circuits SSI, MSI et LSI nécessitait beaucoup de travail pour choisir, disposer et relier les composantes discrètes. Certaines fonctions logiques complexes étaient remplacées par des PROM, mais une mémoire est en général trop grande et pas assez flexible pour bien convenir à la tâche. Les PLA, PAL avaient pour but de réaliser des circuits logiques relativement complexe en un seul boîtier, et à permettre au concepteur de reprogrammer le circuit plusieurs fois. Les GAL sont la version améliorée des PLA/PAL.

Réseaux logiques programmables : PLA Un PLA (Programmable Logic Array) est similaire à une ROM, mais il ne réalise pas tous les produits de termes comme une ROM. Un PLA à n entrées et m sorties peut réaliser m fonctions de n variables, en autant que chacune requiert un nombre limité de produits des variables en entrée. (En pratique, c’est presque toujours le cas). Un PLA est composé de deux réseaux programmables, ET et OU. Le réseau ET programmable est effectivement un décodeur programmable incomplet. Chaque intersection d’une ligne horizontale et d’une ligne verticale est programmable. Seuls 6 termes (produits – ET logique) peuvent être réalisés à partir des quatre entrées et de leurs compléments. Seules trois fonctions de sortie peuvent être réalisées. Chaque fonction peut utiliser n’importe lequel des six termes programmés

Réseaux logiques programmables : PLA Les lignes horizontales ont une valeur de ‘1’ par défaut. Les lignes verticales de sortie ont une valeur de ‘0’ par défaut. Source: Roth, 5e éd., © Brooks/Cole 2004

Réseaux logiques programmables : circuits PAL et GAL Un PAL (Programmable Array Logic) est un cas particulier de PLA. Dans un PAL, seulement le réseau ET est programmable, alors que le réseau OU est fixe. Aucun produit de termes ne peut être partagé par plus d’une fonction. Chaque fonction peut donc être optimisée séparément. Un GAL (Generic Array Logic), de la compagnie Lattice Semiconductors, est un dispositif programmable et configurable pouvant émuler différents types de PAL. Les pattes de sorties peuvent inclure un registre et un signal de rétroaction vers le réseau programmable OU, et peuvent être configurées comme des ports d’entrée ou d’entrée et sortie. Les PALs et les GALs incluent en général des éléments à mémoire aux ports de sortie. Les circuits GAL remplacent aujourd’hui effectivement les composantes SSI-LSI.

PAL 16L8 Chaque intersection d’une ligne horizontale et d’une ligne verticale est programmable!

GAL22LV10 : vue d’ensemble Chaque intersection d’une ligne horizontale et d’une ligne verticale est programmable! Source: GAL22LV10 Data sheet, Lattice Semiconductor, Aug. 2008.

GAL22LV10 : Output Logic Macro Cell Les signaux de contrôle des deux multiplexeurs ne sont pas montrés. Ils sont programables. Source: GAL22LV10 Data sheet, Lattice Semiconductor, Aug. 2008.

Résumé: ROM, PLA, PAL, GAL type de dispositif réseau ET réseau OU ROM fixe (tous les mintermes sont générés par un décodeur) programmable PLA programmable (un nombre limité de mintermes peuvent être générés) PAL fixe (un nombre limité de mintermes peuvent être combinés) GAL comme PAL

Plan pour aujourd’hui Introduction: options d’implémentation de systèmes numériques Circuits SSI, MSI et LSI Mémoires mortes: PROM, EPROM, EEPROM PLA, PAL, GAL CPLD FPGA Technologies de programmation

Circuits logiques programmables complexes (CPLD) Les ROMs, PLAs, PALs et GALs sont parfois appelés des circuits logique programmable simples (Simple Programmable Logic Devices – SPLD). Les (Complex Programmable Logic Devices – CPLD) sont une extension naturelle des circuits PAL. Un CPLD incorpore plusieurs PALs ou PLAs sur une seule puce avec un réseau d’interconnexions. Le réseau permet de relier les pattes de la puce à différents blocs internes et de relier les blocs entre eux. Il est donc possible de composer des fonctions logiques très complexes incluant des machines à états et de petites mémoires. Les CPLD offrent une alternative intéressante aux FPGAs dans certains cas: faible consommation de puissance boîtiers de taille très réduite (e.g. 25 mm2 vs 500 mm2 pour un petit FPGA) mémoire non volatile pour la programmation

Exemple de CPLD de Xilinx Le circuit comprend quatre PALs à 36 entrées et 16 sorties. Les sorties proviennent de macro-cellules contenant un élément programmable à mémoire. Le réseau d’interconnexions permet d’établir des connexions entre les blocs d’entrées-sorties, les blocs fonctionnels et les macro-cellules. Chaque ‘function block’ est un PAL. Source: Roth, 5e éd., © Brooks/Cole 2004

Exemple de CPLD de Xilinx: vue détaillée 36 entrées en versions naturelle et complémentée 48 portes ET à connexions programmables 16 portes OU à connexions programmables La macro-cellule permet d’activer ou non la bascule avec un signal naturel ou complémenté. La cellule de sortie contient un tampon à trois états. Source: Roth, 5e éd., © Brooks/Cole 2004

Plan pour aujourd’hui Introduction: options d’implémentation de systèmes numériques Circuits SSI, MSI et LSI Mémoires mortes: PROM, EPROM, EEPROM PLA, PAL, GAL CPLD FPGA Technologies de programmation

La planchette Genesys de Digilent Équipée d’un FPGA Virtex-5 Digilent inc., Genesys Board Reference Manual, May 2011

Réseaux pré-diffusés programmables (par l’utilisateur): Field-Programmable Gate Arrays (FPGA) Un FPGA est composé à la base de : un réseau de blocs de logique programmable (Configurable Logic Block  CLB); un réseau d’interconnexions programmables entre les blocs; et, des blocs d’entrée et de sortie avec le monde extérieur (Input/Output Block – IOB). Ici: 12 IOBs, 3 × 5 CLBs XC5VLX50TFFG1136C: 480 IOBs, 120 × 30 CLBs

Virtex 5: bloc de logique programmable Un CLB est composé de deux tranches (‘slices’). Chaque tranche est reliée au réseau d’interconnexions. Les tranches sont aussi reliées entre elles verticalement. Xilinx inc., Virtex-5 FPGA User Guide (ug190 v. 5.4), March 2012

Virtex 5: tranche de type L (SLICEL) Quatre tables de correspondance à 6 entrées: fonction logique mémoire ROM Quatre éléments à mémoire, bascule ou loquet. Des multiplexeurs pour router les signaux. Quelques portes logiques pour l’addition rapide. Xilinx inc., Virtex-5 FPGA User Guide (ug190 v. 5.4), March 2012

Virtex 5: tranche de type M (SLICEM) Quatre tables de correspondance à 6 entrées: fonction logique mémoire ROM mémoire RAM à un ou plusieurs ports registre à décalage Quatre éléments à mémoire, bascule ou loquet. Des multiplexeurs pour router les signaux. Quelques portes logiques pour l’addition rapide. Xilinx inc., Virtex-5 FPGA User Guide (ug190 v. 5.4), March 2012

Bloc de logique programmable simplifié (~ une tranche du Virtex 2 Pro) Deux tables de correspondance à 4 entrées: fonction logique mémoire RAM mémoire ROM décalage Deux éléments à mémoire, bascule ou loquet. Des multiplexeurs pour router les signaux.

Comment une LUT implémente une fonction logique Source: Maxfield, © Mentor Graphics, 2004

Exercice: implémenter un circuit logique sur un FPGA

Blocs de mémoire intégrée De plus en plus de transistors … les manufacturiers ajoutent de la mémoire. Avantage: mémoire accessible directement à l’intérieur de la puce. Colonnes de blocs de mémoire intégrées à travers les CLBs. XC5VLX50T: 60 blocs de 36 Kb = 2160 Kb Source: Maxfield, © Mentor Graphics, 2004

Fonctions arithmétiques avancées Les FPGAs ont prouvé leur utilité dans les applications de traitement de signal. La multiplication est une opération fondamentale dans ces applications. Les manufacturiers de FPGAs ont donc rajouté des multiplicateurs dédiés. XC5VLX50T: 48 tranches DSP48E avec multiplicateurs de 25 b × 18 b signés Source: Maxfield, © Mentor Graphics, 2004

Virtex 5: tranche DSP48E XC5VLX50T: 48 tranches DSP48E chacune avec un multiplicateur de 25 b × 18 b signés Xilinx inc., Virtex-5 FPGA XtremeDSP Design Considerations (ug193 v. 3.5), January 2012

Microprocesseurs fixes Plusieurs FPGAs intègrent des microprocesseurs fixes, ex. PowerPC. N’utilisent pas de CLB ni de mémoire du FPGA. Architecture résultante très performante, SoC-sur-FPGA. Accès rapide entre le microprocesseur fixe et le reste de la logique, les multiplicateurs et la mémoire. Xilinx, Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet, Nov. 2007. Un ou deux PPC dans la série XC5VFX. Aucun dans le XC5VLX

Génération d’horloge La génération et la distribution du signal d’horloge est un problème difficile. Un circuit peut nécessiter une dizaine d’horloges de fréquences différentes. Le générateur accepte en entrée une horloge externe et génère une ou plusieurs horloges internes. Source: Maxfield, © Mentor Graphics, 2004

Distribution d’horloge Pour distribuer l’horloge à travers la puce tout en minimisant le déphasage d’horloge, on utilise un réseau en arbre dédié. Ce réseau est alimenté soit par une patte spéciale du FPGA à laquelle est associé un amplificateur dédié, ou bien par l’entremise de signaux internes pouvant être routés au même amplificateur. Source: Maxfield, © Mentor Graphics, 2004

Blocs d’entrée et de sortie Les FPGAs incorporent des blocs d’entrées-sorties très performants. Les blocs d’entrées-sorties supportent plusieurs normes en termes de débit d’information, de tensions et d’impédance. Ils incorporent des éléments à mémoire pour minimiser les délais de propagation et augmenter le taux de transmission de l’information. Xilinx, Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet, Nov. 2007.

Virtex II Pro: Réseau hiérarchique d’interconnexions Longues lignes: toute la puce Lignes ‘hex’: chaque 3e ou6e bloc Lignes ‘double: chaque 2e ou 4e bloc Lignes directes entre CLBs voisins Lignes rapides: internes aux CLBs Xilinx, Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet, Nov. 2007.

Systèmes sur puces avec tissu programmable Une tendance plus récente est d’intégrer de la logique programmable à un microprocesseur. Architecture résultante très performante de System-on-Chip (SoC). Accès rapide entre le microprocesseur fixe et le reste de la logique. Exemple: Xilinx – famille Zynq-7000 Xilinx inc. « Zynq-7000 A Generation ahead backgrounder », 2013.

Plan pour aujourd’hui Introduction: options d’implémentation de systèmes numériques Circuits SSI, MSI et LSI Mémoires mortes: PROM, EPROM, EEPROM PLA, PAL, GAL CPLD FPGA Technologies de programmation

Technologies de programmation Fusibles Anti-fusibles Connexions par transistors EPROM et grilles flottantes Cellules EEPROM et mémoire Flash Mémoire SRAM

Fusibles Un métal conducteur fond sous l’action de la chaleur engendrée par un courant élevé qui le traverse. Programmable une seule fois. N’est plus utilisée. Source: Maxfield, © Mentor Graphics, 2004

Anti-fusibles (1) Une tension élevée engendre un court circuit qui forme un conducteur permanent quand la tension est enlevée. Programmable une seule fois. Immunité aux rayonnement ionisant. Bonne protection de la propriété intellectuelle. Source: Maxfield, © Mentor Graphics, 2004

Anti-fusibles (2) Un anti-fusible est fabriqué en plaçant du silicium amorphe entre deux conducteurs métalliques. Le silicium amorphe peut être considéré comme un isolant. En lui appliquant une tension élevée, on transforme le silicium amorphe en silicium polycristallin conducteur. Le circuit électrique ainsi formé entre les deux conducteurs métalliques s’appelle un via.. Source: Maxfield, © Mentor Graphics, 2004

Connexions par transistors Un fusible n’est pas en général suffisant pour établir un lien de programmation. Le lien doit souvent être unidirectionnel: on utilise donc un transistor. Source: Maxfield, © Mentor Graphics, 2004

EPROM et grilles flottantes Les mémoires EPROM utilisent des transistors spéciaux avec une grille flottante. En conditions normales, les deux transistors fonctionnent de façon identique et peuvent conduire le courant selon l’action de la grille de contrôle. On désactive le transistor à grille flottante en plaçant une tension élevée entre sa grille et l’un de ses terminaux. Cette tension induit un courant qui chargela grille flottante. Une fois celle-ci chargée, il n’est plus possible de créer un canal sous la grille et les deux terminaux sont effectivement isolés électriquement. Pour effacer le dispositif, on l’expose à un rayonnement ultra-violet qui dissipe la charge accumulée sur les grilles flottantes et réactive les transistors. Source: Maxfield, © Mentor Graphics, 2004

EEPROM et mémoires Flash Les mémoires EEPROM sont similaires aux mémoires EPROM, mais peuvent être effacées électriquement, sans rayons ultraviolets. L’isolant autour de la grille flottante est plus mince que dans le cas d’une cellule EPROM, et la grille flottante chevauche partiellement le drain du transistor. Pour ‘programmer’ la cellule, on place une tension élevée sur la grille de contrôle et le drain du transistor. Comme un courant élevé circule dans le canal, des électrons sont attirés par la grille de contrôle et vont s’emmagasiner sur la grille flottante, désactivant le transistor. Source: wikipédia

Mémoire SRAM Une cellule de mémoire SRAM comporte 4 ou 6 transistors. La technologie SRAM est de loin la plus populaire pour les FPGAs. L’information est perdue quand l’alimentation est coupée. Le fichier de configuration doit être entreposé dans une mémoire ROM sur la planchette. La technologie SRAM est affectée par les radiations, donc elle n’est pas appropriée pour les applications spatiales. Le fichier des bits de configuration doit être entreposé dans une mémoire ROM sur la planchette.

Technologies de programmation: résumé caractéristique SRAM anti-fusibles Flash fabrication à l’avant-garde 1 à 2 générations de retard reprogrammable oui non temps de reprogrammation 1 × T - 3 × T volatile oui – besoin d’un fichier externe prototypage excellent acceptable sécurité possible excellente dimension de la cellule grande : 4 ou 6 transistors très petite consommation de puissance moyenne faible résistance aux radiations

Résumé: technologies de logique programmable Notions à retenir et maîtriser Importance relative 1. Expliquer l’historique du développement de la logique programmable. 2 2. Expliquer les différences entre les différents dispositifs de logique programmable. 8 3. Illustrer à l’aide d’un schéma comment programmer un PROM, PLA, PAL, GAL et CPLD pour implémenter une fonction logique. 10 4. Tracer un diagramme d’un FPGA montrant ses composantes principales. 15 5. Tracer un diagramme d’un bloc de logique programmable d’un FPGA, montrant ses composantes principales. 6. Illustrer à l’aide d’un schéma comment programmer un FPGA pour implémenter une fonction logique. 25 7. Énumérer et décrire les composantes secondaires qu’on retrouve sur un FPGA. 8. Énumérer et décrire les principales technologies de programmation pour la logique programmable. Total 100