Vous êtes sur la page 1sur 81

É

ÉLECTRONIQUE NUMÉRIQUE
É AVANCÉE
É
Filière : InfoTronique
q
Chap. 5 : Architecture des circuits
programmables et FPGA

Dr. Abdelhakim Khouas


Email : akhouas@hotmail.com
akhouas@hotmail com
Département de Physique
Faculté des Sciences
Objectifs de ce chapitre

Co p e d e les
Comprendre es d
différentes
é e tes a
architectures
c tectu es et le
e
fonctionnement des circuits logiques programmables
Š Avantages et inconvénients des circuits programmables
Š Types de programmation
™ EPROM
™ Anti fuse
Anti-fuse
™ SRAM
Š Types de circuits programmables
™ Les PLD : PAL, PLA, PROM
™ Les CPLD
™ Les FPGA

ÉNA – Chap. 5 : FPGA 1 © A. Khouas, 2009


Plan

1. Circuits logiques programmables (CLP)


1. Définitions
2. Avantages et inconvénients des circuits programmables
3. ASICs vs. Circuits programmables
2. Technologies de programmation
1. Technologie EPROM et EEPROM
2. Technologie anti-fuse
3
3. Technologie SRAM
3. Architectures des circuits programmables
1. Circuits programmables simples PLD « Programmable Logic Device »
2. Circuits programmables complexes CPLD « Complex Programmable Logic Device »
3. FPGA « Filed Programmable Gate Array »
4. CPLD vs. FPGA
5. Autres circuits programmables
4 Flot de conception sur CLP
4.

ÉNA – Chap. 5 : FPGA 2 © A. Khouas, 2009


1. Circuits logiques programmables (CLP)

Les circuits logiques programmables CLP


Š Circuits logiques dont les fonctions peuvent être
ê programmées
é pour
une application particulière, après sa fabrication

Acronymes :
Š PLD : Programmable Logic Device
Š SPLD : Simple
p Programmable
g Logic
g Device
Š PLA : Programmable Logic Array
Š PROM : Programmable Read Only Memory
Š PAL : Programmable
g Arrayy Logic
g
Š GAL : Generic Array Logic
Š CPLD : Complexe Programmable Logic Device
Š FPGA : Field Programmable Gate Array

ÉNA – Chap. 5 : FPGA 3 © A. Khouas, 2009


1.1 Avantages des CLP

Faible coût
Š Production de petites séries
Validation de conceptions d’ASIC
Š Validation réelle du circuits dans le système complet
Š Validation à faible coût
™ Coût de fabrication du prototype
™ Temps nécessaire pour la fabrication du prototype
Š Validation rapide d’une conception d’un ASIC
™ Permet de réagir rapidement aux erreurs de conception
™ Diminution du temps de mise en marché « TTM » de l’ASIC
Š Validation à faible risque
q

ÉNA – Chap. 5 : FPGA 4 © A. Khouas, 2009


1.2 Inconvénients des CLP

Faible performance
Š Vitesse (fréquence)
Š Consommation

Faible densité (grande surface)

Coût élevé
Š Pour une très grande production

ÉNA – Chap. 5 : FPGA 5 © A. Khouas, 2009


1.3 ASIC vs. CLP

Circuit intégré IC

Spécifique "Full Custom" Semi-spécifique "Semicustom"

ASIC Programmables

"Standard
Standard Cell
Cell" "Gate
Gate Array
Array" Circuits programmables Systèmes Programmables

FPGA CPLD PLD FPSLIC FPSC PSoC


Atmel Lattice Cypress

ÉNA – Chap. 5 : FPGA 6 © A. Khouas, 2009


1.3 ASIC vs. CLP

Spécifique "Full
Full Custom"
Custom

Coût de développpement "Standard Cell"

"Gate Array"

nces
Performan
FPGA

CPLD

P
Coût de développement vs performances

ÉNA – Chap. 5 : FPGA 7 © A. Khouas, 2009


1.3 ASIC vs. CLP

25

20
Coût tootal ($)

15 FPGA
Gate Array
10 Stand. Cell
Full-Custom

0
0 5 10 15 20 25 30
3
V l
Volume de
d fabrication
f b i ti (10 )

Coût de revient d'un IC vs. volume de fabrication pour


les différents styles de conception

ÉNA – Chap. 5 : FPGA 8 © A. Khouas, 2009


2. Technologies de programmation

Le choix de la technologie de programmation affecte


plusieurs caractéristiques du circuit programmable
Š Densité
Š Délais de propagation
™ Cellules
™ Routage
Š La consommation
Š Re-programmation du circuit

ÉNA – Chap. 5 : FPGA 9 © A. Khouas, 2009


2. Technologies de programmation

Deux types de circuits programmables


Š Circuits programmables une seule fois
™ OTP pour « One Time Programmable »
Š Circuits
Ci it programmables
bl plusieurs
l i fois
f i

Méthodes de programmations
Š EPROM « Erasable Programmable ROM »
Š EEPROM « Electrical Erasable Programmable ROM »
Š Anti-fuse
Š SRAM « Static RAM »

ÉNA – Chap. 5 : FPGA 10 © A. Khouas, 2009


2.1 Technologie EPROM

Utilisation de la grille flottante pour les transistors EPROM

Source : Programmable Logic and ASIC, D. Landis

ÉNA – Chap. 5 : FPGA 11 © A. Khouas, 2009


2.1 Technologie EPROM

Différents modes d’un transistor EPROM, a) programmation avec une


t i Vpp
tension V > 12V,
12V b) ttransistor
i t ttoujours
j off
ff ett c)) dé
dé-programmation
ti dud
transistor avec de la lumière UV

Source : ASICs Circuits, M.J.S. Smith

ÉNA – Chap. 5 : FPGA 12 © A. Khouas, 2009


2.1 Technologie EPROM

Fonctionnement
Š Utilisation d’une grille flottante pour programmer les transistors de
transmission
Avantages
Š Circuits programmables plusieurs fois
Š Programmation sur site
I
Inconvénients
é i
Š Consommation statique
Š Nécessite une grande surface
Š Plusieurs tensions d’alimentation
Š Dé-programmation lente et « off site »
Š B îti d’encapsulation
Boîtier d’ l ti spécial
é i l (avec
( du
d verre))

ÉNA – Chap. 5 : FPGA 13 © A. Khouas, 2009


2.1 Technologie EPROM

Fonctionnement de la technologie EEPROM


Š Même méthode de programmation que pour EPROM
Š Pour la dé-programmation :
™ Utilisation de champs électriques

Avantages de la technologie EEPROM


Š Dé-programmation plus rapide que pour EPROM
Š Pas besoin d’utiliser un boîtier spécial (avec du verre)
Š Dé-programmation sur site

ÉNA – Chap. 5 : FPGA 14 © A. Khouas, 2009


2.2 Technologie Anti-fuse

Fonctionnement :
g
Š Changement de la résistance du fil de routage
g à
programmer

A
Avant programmation
i : Résistance
Ré i > 100 MΩ
M

Après programmation : Résistance < 500 Ω

ÉNA – Chap. 5 : FPGA 15 © A. Khouas, 2009


2.2 Technologie Anti-fuse

Technologie introduite par Actel


Circuit programmable une fois
La programmation anti-fuse
anti fuse permet de créer une connexion
électrique directe entre deux métaux
Š Fabrication avec un process CMOS avec 3 masques supplémentaires
La programmation est réalisée en appliquant une grande
tension (18V)
Š Le courant élevé fait fondre l’isolant ONO « Oxide-Nitride-Oxide » qui
devient conducteur

ÉNA – Chap. 5 : FPGA 16 © A. Khouas, 2009


2.2 Technologie Anti-fuse

Avantages
Š Faible surface du circuit
Š Faible délai de routage
™ Faible résistance
™ Faible capacité
Š Confidentialité
Inconvénients
Š Circuits programmables une seule fois
Š Modification du procédés CMOS de base pour la
fabrication

ÉNA – Chap. 5 : FPGA 17 © A. Khouas, 2009


2.3 Technologie SRAM

Technologie
h l utilisant
l de
d la
l mémoire
é statique SRAM

Les SRAM sont utilisés pour :


Š Implémenter les tables de vérité LUT « Look Up Table »
des fonctions logiques
Š Contrôler les interconnexions programmables avec
™ Mux
™ Portes ou transistors de transmission

ÉNA – Chap. 5 : FPGA 18 © A. Khouas, 2009


2.3 Technologie SRAM

Technologie introduite par Xilinx


Programmation volatile
Avantage
™ Programmation sur site et en ligne du circuit

Inconvénients
™ Grande surface
™ Utili ti d’une
Utilisation d’ PROM pour la l programmation
ti ded la
l SRAM lors
l de
d
la mise sous tension du système
™ Confidentialité

ÉNA – Chap. 5 : FPGA 19 © A. Khouas, 2009


2.3 Technologie SRAM

Exemple d’utilisation
d utilisation de LUT
Source : FPGAs for Rapid Prototyping, CRC Press

ÉNA – Chap. 5 : FPGA 20 © A. Khouas, 2009


2.3 Technologie SRAM

Exemple d’utilisation de la technologie SRAM pour programmer un


bl logique
bloc l i
Source : Reconfigurable Device Interconnect
Test and Diagnosis Time Reduction

ÉNA – Chap. 5 : FPGA 21 © A. Khouas, 2009


2.3 Technologie SRAM

Interconnexions
interrupteur Multiplexeur

CLB
MUX
LUT

FF

LUT

Différentes utilisation de cellules SRAM

ÉNA – Chap. 5 : FPGA 22 © A. Khouas, 2009


2.4 Comparaison des technologies de prog.

Re-
Technologie Volatile Resistance Capacité Surface
programmable

SRAM in circuit
in-circuit oui 1 KΩ 15 ff 5 fois

Anti-fuse non non 50-500 Ω 1,2-5,0 ff 1 fois

EPROM hors circuit non 2 KΩ 10 ff 1 fois

EEPROM in-circuit non 2 KΩ 10 ff 2 fois

Comparaison des technologies de programmation

Source : Programmable Logic and ASIC, D. Landis

ÉNA – Chap. 5 : FPGA 23 © A. Khouas, 2009


3. Architecture des CLP

Circuits/systèmes logiques programmables


CLP

PLD ou SPLD CPLD FPGA Systèmes


y

PAL PROM PLA GAL


FPSLIC FPSC PSoC

Les CLPs les p


plus utilisés sont :
Š PLA
Š CPLD
Š FPGA

ÉNA – Chap. 5 : FPGA 24 © A. Khouas, 2009


3. Architecture des CLP

Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 25 © A. Khouas, 2009


3.1 Architecture des PLD : PLA

Les PLA sont des circuits programmables qui peuvent


implémenter n’importe quelle fonction booléenne
Š Selon la technologie utilisée, les PLAs implémentent deux
niveaux logiques programmables
™ AND-OR
™ NAND-NAND
™ NOR-NOR
O O
Š Chaque PLA est définie par la matrice P
Š Exemple
e pe :
™ Pour l’implémentation : AND/OR ==> P=(A,O)
™ A représente la matrice des termes AND
™ O représente la matrice des termes OR

ÉNA – Chap. 5 : FPGA 26 © A. Khouas, 2009


3.1 Architecture des PLD : PLA

Crosspoint
Pm
oduits

……... ……...
……

Matrice Matrice
……
pro

AND OR
P2
P1

………
Bit line
x1 x1 xn xn ……...
Décodeur d’entrée sommes
……...
Entrées f1 f2 fk
x1 x2 xn

ÉNA – Chap. 5 : FPGA 27 © A. Khouas, 2009


3.1 Architecture des PLD : PLA

Exemple : Soit un circuit avec 4 entrées x1,x2,x3,x4 et 2


sorties s1 et s2 définies par :
s1 = x1 + x3 x4 + x2 x3
s2 = x3 x4 + x1x2 x3 x4 + x2 x3 + x1x2 x4

Les matrices A et O de ce circuit sont :


x1 x2 x3 x4 s1 s2
⎡0 x x x⎤ ⎡1 0⎤
⎢x x 1 1⎥⎥ ⎢1 1⎥⎥
⎢ ⎢
⎢x 0 0 x⎥ ⎢1 0⎥
A=⎢ ⎥ O=⎢ ⎥
⎢0 0 0 0⎥ ⎢0 1⎥
⎢x 1 1 x⎥ ⎢0 1⎥
⎢ ⎥ ⎢ ⎥
⎣⎢1 1 x 0⎥⎦ ⎣⎢0 1⎦⎥

ÉNA – Chap. 5 : FPGA 28 © A. Khouas, 2009


3.1 Architecture des PLD : PLA

Architecture de base d’un PLA


Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 29 © A. Khouas, 2009


3.1 Architecture des PLD : PLA

Exemple de programmation d
d’un
un PLA
Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 30 © A. Khouas, 2009


3.1 Architecture des PLD : PLA

Rappel : réalisation d’une porte logique en technologie


NMOS
Vdd

x y z s = x+ y+z

ÉNA – Chap. 5 : FPGA 31 © A. Khouas, 2009


3.1 Architecture des PLD : PLA

p1 = …?…..
p2 = …?…..
p3 = …?…..

f1 = …?…..
f2 = …?…..
f3 = …?…..

Source : Programmable Logic Devices, Muroga, S.

ÉNA – Chap. 5 : FPGA 32 © A. Khouas, 2009


3.1 Architecture des PLD : PROM

Les PROM « Programmable Read Only Memory » sont


des cas p
particulier de PLA avec un seul niveau
programmable
Š La matrice des ANDs est fixe
n
™ Le nombre de ligne produit « product lines » est 2 avec n= le
nombre d’entrées de la matrices des ANDs

Š La matrice des ORs est programmable

ÉNA – Chap. 5 : FPGA 33 © A. Khouas, 2009


3.1 Architecture des PLD : PROM

Diagramme conceptuel d
d’une
une PROM
Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 34 © A. Khouas, 2009


3.1 Architecture des PLD : PROM

Exemple de programmation d
d’une
une PROM
Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 35 © A. Khouas, 2009


3.1 Architecture des PLD : PROM

f1 = …?…..

f2 = …?…..

f3 = …?…..

Source : Programmable Logic Devices, Muroga, S.

ÉNA – Chap. 5 : FPGA 36 © A. Khouas, 2009


3.1 Architecture des PLD : PAL

Les PAL « Programmable Array Logic » sont aussi des


cas particulier de PLA avec un seul niveau
programmable
Š La matrice des ANDs est programmable
Š La matrice des ORs est fixe
A antages
Avantages
Š Faible coût
Š Grande densité
Inconvénient
Š Limitation dans les fonctions qu
qu’on
on peut implémenter

ÉNA – Chap. 5 : FPGA 37 © A. Khouas, 2009


3.1 Architecture des PLD : PAL

Architecture de base d’un PAL


Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 38 © A. Khouas, 2009


3.1 Architecture des PLD : PAL

Exemple de programmation d
d’un
un PAL
Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 39 © A. Khouas, 2009


3.1 Architecture des PLD : GAL

Même architecture que les PLA


Utilisation de cellules programmables pour I/O
Rebouclage des sorties

Source : ispGAL22V10AV/B/C Data Sheet, LATTICE

ÉNA – Chap. 5 : FPGA 40 © A. Khouas, 2009


3.1 Architecture des PLD : Limitations

Les circuits qu’on


qu on peux implémenter dans un PLD sont
limités par
Š Nomb
Nombre
e d’entrées/sorties
d’ent ée / o tie
Š Nombre de portes équivalentes
En plus de la limitation du nombre d’entrées/sorties du
circuit, le type de fonctions qu’on peux implémenter
d
dans un PLD est limité
l é par
Š Le nombre de termes produit dans la somme

ÉNA – Chap. 5 : FPGA 41 © A. Khouas, 2009


3.2 Architecture des CPLD

Source : Barr, Michael. "Programmable Logic: What's it to Ya?"


Embedded Systems Programming, June 1999, pp. 75-84.

ÉNA – Chap. 5 : FPGA 42 © A. Khouas, 2009


3.2 Architecture des CPLD

Définition
Š UN CPLD est un ensemble de PLDs simples connectés entre eux avec
une matrice d’interconnexion
Un CPLD est composé de :
Š CLB
™ Bloc logique complexe « Complexe Logic Bloc »
™ Équivalent à un PLD
™ Dans un CPLD on a plusieurs CLB
Š SM
™ Matrice d’interconnexion « Switch Matrix »
™ Dans un CPLD on a une ou plusieurs matrices
Š IOB
™ Blocs d’entrée/sortie « Input/Output Bloc »

ÉNA – Chap. 5 : FPGA 43 © A. Khouas, 2009


3.2 Architecture des CPLD
Advanced
Interconnect
Matrix

Architecture du CoolRunner-II CPLD de Xilinx

Source : CoolRunner-II CPLD Family, Xilinx

ÉNA – Chap. 5 : FPGA 44 © A. Khouas, 2009


3.2 Architecture des CPLD

Architecture de la macro-cellule du CoolRunner-II

Source : CoolRunner-II CPLD Family, Xilinx

ÉNA – Chap. 5 : FPGA 45 © A. Khouas, 2009


3.2 Architecture des CPLD

Caractéristiques des CPLD CoolRunner-II de Xilinx

Source : CoolRunner-II CPLD Family, Xilinx

ÉNA – Chap. 5 : FPGA 46 © A. Khouas, 2009


3.2 Architecture des CPLD

Programmable Interconnect
Array

Logic Array Block

Bloc diagramme
g d’un CPLD de la ffamille MAX 3000A d’Altera

Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 47 © A. Khouas, 2009


3.2 Architecture des CPLD

Architecture de la macro-cellule de MAX 3000A

Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 48 © A. Khouas, 2009


3.2 Architecture des CPLD

Fonctionnement du PIA « Programmable Interconnect Routing » de MAX 3000A

Un transistor EEPROM (à grille flottante) contrôle une entrée d’une porte AND à deux
entrées qui sélectionne le signal à connecter au LAB « Logic Array Block »

Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 49 © A. Khouas, 2009


3.2 Architecture des CPLD

Modèle de timing pour MAX 3000A

Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 50 © A. Khouas, 2009


3.2 Architecture des CPLD

Caractéristiques des CPLD de la famille MAX 3000A d’Altera

Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 51 © A. Khouas, 2009


3.2 Architecture des CPLD

LATTICE
Š Famille ispMACH 4000
ATMEL
Š Famille ATF15xx

CYPRESS
Š Famille CY3LV
Š Famille CY39
Š Famille FLASH370i

ÉNA – Chap. 5 : FPGA 52 © A. Khouas, 2009


3.3 Architecture des FPGA

Source : Barr, Michael. "Programmable Logic: What's it to Ya?"


Embedded Systems Programming, June 1999, pp. 75-84.

ÉNA – Chap. 5 : FPGA 53 © A. Khouas, 2009


3.3 Architecture des FPGA

Définition
Š Un FPGA est une matrice de blocs élémentaires configurables organisés en
lignes et en colonnes et connectés entre avec des interconnexions
programmables
Un FPGA est composé de :
Š Bloc logique
™ Appelé CLE « Configurable Logic Element », CLB « Configurable Logic Bloc », LE et
LB
™ Permet de réaliser les fonctions de base
™ En général, un CLE est composé de :
4 à 6 entrées
Une sortie
Une bascule
Š Module de routage
™ Appelé SM « Switch Matrix » et RM « Routing Matrix »
™ Permet de connecter les blocs logiques
Š Blocs d’entrée/sortie
d entrée/sortie « IOB »

ÉNA – Chap. 5 : FPGA 54 © A. Khouas, 2009


3.3 Architecture des FPGA

Un FPGA est composé de :


Š Bloc logique
™ Appelé CLE « Configurable Logic Element », CLB « Configurable
g Bloc »,, LE et LB
Logic
™ Permet de réaliser les fonctions de base
™ En général, un CLE est composé de :
4 à 6 entrées
Une sortie
Une bascule
Š Module de routage
™ Appelé SM « Switch Matrix » et RM « Routing Matrix »
™ Permet de connecter les blocs logiques
Š Blocs d’entrée/sortie
/ ((IOB ou I/O)
/ )

ÉNA – Chap. 5 : FPGA 55 © A. Khouas, 2009


3.3 Architecture des FPGA : Blocs logiques

Blocs logiques
Š Le choix de l’architecture des blocs logiques et
des modules d’interconnexion influence
di e tement :
directement
™ La rapidité
™ La surface

L’architecture la p
plus utilisé pour
p les blocs
logiques est :
Š Table de vérité LUT « Look-up
p Table »

ÉNA – Chap. 5 : FPGA 56 © A. Khouas, 2009


3.3 Architecture des FPGA : Blocs logiques

Architecture minimum d’un bloc logique


gq p pour FPGA
Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 57 © A. Khouas, 2009


3.3 Architecture des FPGA : Blocs logiques

Exemple d’utilisation d’un bloc logique


Š Déterminer la fonction réalisée par le bloc logique ci-
dessous :

Source : Programmable Logic Devices ; F. Gail Gray

ÉNA – Chap. 5 : FPGA 58 © A. Khouas, 2009


3.3 Architecture des FPGA : Blocs logiques

Architecture typique d’un bloc logique pour FPGA

Source : FPGAs for Rapid Prototyping, CRC Press

ÉNA – Chap. 5 : FPGA 59 © A. Khouas, 2009


3.3 Architecture des FPGA : Blocs logiques

Architecture d
d’un
un bloc LE « Logic Element » pour APEX 20K

Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 60 © A. Khouas, 2009


3.3 Architecture des FPGA : Blocs logiques

Architecture d’un bloc CLB « Configurable Logic Block » pour VIRTEX


Chaque CLB contient 4 LC « Logic Cell »

Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX

ÉNA – Chap. 5 : FPGA 61 © A. Khouas, 2009


3.3 Architecture des FPGA : Blocs logiques

Architecture d’un bloc logique simple


Exemple d’utilisation : Y = A.B.C
d’Actel
d Actel avec 8 entrées et une sortie

Source :Introduction to Actel FPGA Architecture, Actel

ÉNA – Chap. 5 : FPGA 62 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Selon les architectures de routage, les FPGA peuvent


être classés en 4 groupes
g p

Š Island/Symmetrical array FPGA


Š Row based FPGA
Š Sea of gates FPGA
Š Hierarchical PLD FPGA

ÉNA – Chap. 5 : FPGA 63 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Différentes
ff ffamille de routage
g pour
p FPGA

Source : Programmable Logic and ASIC, D. Landis

ÉNA – Chap. 5 : FPGA 64 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Exemple
p de structure d’un module de routage
g
Source : Reconfigurable Device Interconnect Test
and Diagnosis Time Reduction

ÉNA – Chap. 5 : FPGA 65 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Switch
ouvert
N1 N2 N3

W1 E1
0

W2 1 E2

W3 E3

S1 S2 S3
Switch Points
d’interconnexion
fermé
programmables
bl

ÉNA – Chap. 5 : FPGA 66 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Interconnexions

CLB

MUX
LUT

FF

Utilisation de cellules SRAM pour configurer les


modules
d l d de routage

ÉNA – Chap. 5 : FPGA 67 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Bloc diagramme d’un FPGA de la famille APEX 20K d’Altera

Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 68 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Structure d’un MegaLAB pour APEX 20K

Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 69 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Architecture d
d’un
un LAB « Logic Array Bloc » pour APEX 20K

Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 70 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Structure d
d’interconnexion
interconnexion pour les FPGA de la famille APEX 20K

Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA

ÉNA – Chap. 5 : FPGA 71 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

Architecture générale d
d’un
un FPGA de la famille VIRTEX de Xilinx

Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX

ÉNA – Chap. 5 : FPGA 72 © A. Khouas, 2009


3.3 Architecture des FPGA : Modules de routage

General Routing Matrix

Structure d’interconnexion VLR « Virtex Local routing »

Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX

ÉNA – Chap. 5 : FPGA 73 © A. Khouas, 2009


3.4 CPLD vs FPGA

CPLD
Š Faible consommation
Š Faible
a b e coût
Š Les délais sont précis et prévisibles

FPGA
Š Grande densité
Š Plus rapide
Š Les délais ne sont connus qu’après placement-routage

ÉNA – Chap. 5 : FPGA 74 © A. Khouas, 2009


3.5 Autres CLP

FPSC « Field Programmable System Chip » de Lattice


™ 400 K programmable FPGA
™ Jusqu’à 8 canaux de transmission de 1.0 à 3.7 Gbits/s
ispPAC
p de Lattice
™ Premier circuit programmable mixte analogique/numérique
FPSLIC « Field Prog. System Level IC » de Atmel
™ FPGA mémoire et μ-contrôleur
Combine FPGA, contrôleur
PSoC de Cypress « Programmable System-on-Chip »
™ Combine μ-contrôleur 8 bits, mémoire, blocs analogiques et numériques
configurables
Excalibur de Altera
™ Combine APEX20KE et μ
μ-processeur
processeur 32 bits ARM922T

ÉNA – Chap. 5 : FPGA 75 © A. Khouas, 2009


3.5 Autres CLP

Paramètres à considérer dans le choix d’un CLP:


Š Nombre
N b d de portes
t é équivalentes
i l t ttypiques
i
Š Nombre de bascules
Š Taille de la mémoire
Š Nombre de plots d’entrées/sorties
d entrées/sorties
Š Coût
Š Performances
™ Vitesse
™ Consommation
Š Type de programmation
™ Une ou plusieurs fois
™ Sur site ou non
Š Autres
™ Autres modules intégrés (μP, DSP, blocs analogiques, …)
™ Outils de développement
pp disponibles
p

ÉNA – Chap. 5 : FPGA 76 © A. Khouas, 2009


3.5 Autres CLP

Compagnies :
Š ACTEL
Š ALTERA
Š ATMEL
Š CYPRESS
Š LATTICE
Š QUICKLOGIC
Š TEXAS INSTRUMENT
Š XILINX
Altera et Xilinx ont 80% du marché
Š A connaître pour mériter le titre de « FPGA Designer » !!!

ÉNA – Chap. 5 : FPGA 77 © A. Khouas, 2009


4. Flot de conception sur CLP

Placement-
Saisie Synthèse Routage

Vérification

ÉNA – Chap. 5 : FPGA 78 © A. Khouas, 2009


4. Flot de conception sur CLP

Paramètres à considérer pour la


migration
i ti de d FPGA vers ASIC:
ASIC
ŠTTM
Coût
ŠCoût
ŠRessources
Š Risk
Outils de migration
Š Altera
™HardCopy

Il faut suivre quelques règles


pour faciliter la migration

ÉNA – Chap. 5 : FPGA 79 © A. Khouas, 2009


Conclusion

Aujourd’hui, il y 10 fois plus de « CPLD-FPGA Based


Design » que de « ASIC Based Design » !!!

ÉNA – Chap. 5 : FPGA 80 © A. Khouas, 2009

Vous aimerez peut-être aussi