Está en la página 1de 190

Les Circuits logiques programmables

PLAN

I. II. III. IV. V.

Introduction Les mmoires vives Les mmoires mortes volution des composants programmables Les FPGA

I INTRODUCTION
Il existe deux grandes familles de circuits logiques programmables :

Les mmoires programmables Les PLD (programmable logic device)

Quelques rappels : Les mmoires


Une mmoire est un lment de stockage dinformation Les bits stocks sont organiss sous forme de matrice: la dimension de la mmoire est donne par le nombre de lignes fois la largeur de la ligne Chaque ligne de la mmoire est appele un mot. Elle est identifie par une adresse (numro de la ligne) Le nombre de lignes est toujours une puissance de deux Deux oprations sont possibles, sur un mot complet: La lecture (read) et lcriture (write)

Classification des mmoires

II Les Mmoires Vives : RAM

Random Acces Memory, mmoires vives


Des mmoires contenant des programmes et des donnes Information disponible tant que le courant est prsent 2 types de RAM: StaticRAM ET DynamicRAM
Statique Ram: Un bit = une bascule D (4 transistors) Dynamique Ram : Un bit = une capacit (1 transistor)

RAM Statique
data \data 1 2

mem

2 sel ect

RAM Statique : simulation

un CI Ram de 4 mots de 4 bits

NB: Les signaux cs et wr sont actifs 0 (niveau bas)

Addition horizontale de CI pour augmenter le nombre de bits d un mot

Une mmoire de 4 mots de 8 bits chacun

Addition verticale de CI pour augmenter le nombre de mots

SRAM de 8 mots de 4 bits

LES RAM DYNAMIQUE (DRAM)

Info stocke dans un condensateur sous forme de charge lectrique Plus grande intgration mais ncessite des oprations de rafrachissement. Rafrachissement= lire le bit et le rcrire environ toutes les 10nsec Avec rafrachissement Tension en volts
5

3
2
0

1 0

temps

RAM dynamique
Un seul transistor : gain de place Cycle complexe de lecture Lecture puis r-criture Cycle de rafrachissement

sel ect

data

Prsentation des DRAM SIMM Single In line Memory Module

III Les Mmoires mortes: Read Only Mmory

Les donnes ne peuvent tre que lues Lcriture se fait soit lors de la fabrication ou ncessite un matriel spcialis. La donne est retenue mme en absence du courant (donne non volatile)

1 Les diffrentes familles de PROM

2) PROM: Programmable ROM


ROM programmable par l'utilisateur une seule fois: 1 point mmoire = fusible EPROM: PROM effaable plusieurs fois Effacement = soumettre l Eprom un rayonnement ultraviolet (UVPROM) ou un courant lectrique EEPROM Lcriture ncessite un temps 1000 + grand que dans une Ram

a) PRINCIPE DES PROM A FUSIBLE

Structure : ET fixes (les circuits de dcodage d'adresse) OU programmables (les donnes places dans la mmoire).

A D R E S S E S

00 01

10
11

Zone mmoire

ROM (suite)

PRINCIPE DES PROM A FUSIBLE


Lorsque la mmoire est livre tous les fusibles sont intacts. Elle ne contient alors que des l. La programmation va consister faire sauter les fusibles aux emplacements o on souhaite mmoriser des 0 en utilisant une haute tension (gnralement 12 volts), pour faire sauter le ou les fusibles. Les PROM fusibles sont en voie de disparition

Fusibles mtalliques ou Si
Lignes mtalliques : interconnexions Intact Programm

Rem : Antifusibles

UV-PROM

b) PRINCIPE DES UVPROM


chaque cellule mmoire lmentaire est constitue d'un transistor MOS dont la grille de commande est totalement isole dans une couche d'oxyde. Par application d'une tension suffisamment leve, qui est appele tension de programmation, on cr des lectrons chauds ou lectrons ayant une nergie suffisante pour passer au travers de cet isolant. Ces charges s'accumulent alors sur cette grille isole o elles se trouvent piges. La cellule mmoire est programme.

Grille isole

Grille de contrle

Isolant

UV-EPROM / EEPROM

Non-volatile

SAMOS : Stacked MOS

Dure de rtention
La qualit de l'isolant tant excellente, la dure de rtention des charges atteint au minimum 10 ans 70 C, c'est--dire jusqu' 100 fois plus 25 C

Effacement
On expose la puce un rayonnement ultraviolet. Les photons, communiquent leur nergie aux lectrons et leur font franchir la barrire en sens inverse

c) Principe des EEPROM

Ce sont des PROM effaables lectriquement octet par octet si ncessaire. Les EPROM FLASH sont effaables globalement, sont plus rapides et plus simples (1 CMOS par bit) que les EEPROM. Toutes deux sont programmables en circuit.

d) Les Mmoires FLASH


Mmoires non volatiles, rcriture possible (500 000 fois), capacit 8 Gigabytes. Mme structure quune Ram quipe d une alimentation de faible consommation. Contrairement au Ram, effacement par bloc de donnes et non par octet. Grande tolrance au chocs, extrmes tempratures, environnement avec beaucoup de perturbation. Utilisation: Camras digitaux, tlphones mobiles, Imprimantes, Pc portables, Applications militaires

Comparaison

IV volution du march des composants programmables

De plus en plus prsent dans le quotidien


Ordinateurs, PDA GSM,GPRS,UMTS, GPS TV numrique Electronique embarque Baladeurs CD/MP3 DVD Traitement du signal

Les atouts des CLP : les standards


Les standards facilitent lintgration de services :
PDA + GSM GSM + MP3 UMTS + MPEG4 + MP3 + Hiperlan2 + ...

Plus de performance
GSM =>GPRS =>EDGE =>UMTS Bluetooth 11 Mbits/s =>Hiperlan2 54 Mbits/s

Rduire le time to market


Les produits ont une dure de vie de plus en plus faible
Rduire le time to market Rutilisation pour concevoir dautres produits (rentabiliser)

REUTILISATION
Approche retenue pour limiter les cots Conception dun Systme On Chip partir de blocs prdfinis : Intellectual Properties

Notion dIP (Intellectual Property)


Blocs fonctionnels complexes rutilisables
Hard: dj implant, dpendant de la technologies, fortement optimis Soft: dans un langage de haut niveau (VHDL, Verilog, C++), paramtrables

Normalisation des interfaces Environnement de dveloppement (co-design, cospecif, co-verif) Performances moyennes (peu optimis)

Contraintes lies lutilisation dIP

- connatre les fonctionnalits estimer les performances dans un systme tre sr du bon fonctionnement de lIP intgrer cet IP dans le systme valider le systme

MERCI ...

ARCHITECTURES

CONCEPTION

UTILISATION

DES

FPGA

PLAN
I. II. Introduction, historique FPGA vs ASIC

III.
IV. V. VI. VII. VIII.

Architecture et conception des FPGA


Famille de FPGA Altera Famille de FPGA Xilinx Autres Exemples de FPGA Utilisation des FPGA, CAO CoDesign, SORC et nouvelles Conclusion

I. INTRODUCTION

Dfinition

FPGA : Field Programmable Gate Array

En franais :

Composant, constitu dun ensemble de ressources logiques lmentaires configurables pouvant tre mises en relation par un rseau dinterconnexions galement configurable

Historique
IXme av JC Les chinois comptent avec un boulier ! 1640 Blaise Pascal, invente une machine mcanique additionner et soustraire : la Pascaline

1875
1940 1946

Sir J.W. Swan invente le tube incandescence


Utilisation des premires PLL (principe tudi en 1932 par Bellescize) ENIAC 1er calculateur lectronique (18 000 tubes, tient dans un hall de 10*17m) Von Neumann prsente le concept de programme enregistr

1948

Bardeen, Brattain et Shockley (Bells Labs) inventent le transistor bipolaire 1er ordinateur le SSEC dIBM

1950 1958

1er circuit reconfigurable the fuse configurable diode matrix Harris Semiconductor Jack Kibly invente le circuit intgre, brevet Texas Fairchild dpose un brevet sur la fabrication des CI par procd Planar

1962

Famille TTL

Historique
1968 Famille MOS Robert Noyce et Gordon Moore crer une startup : intel 1er PLA read only associative memory ROAM IBM 1969 1970 Neil Amstrong marche sur la Lune Introduction du terme PAL Texas Instrument 1re ROM, Harris Semiconductor 1971 1972 1973 1975 1978 intel, 1er UV-PROM (effaable par UV) Intel, 1er processeur : 4004 Andr Truong et Francis Grenelle mettent au point et commercialisent le 1er micro-ordinateur du monde, le Micral, made in France ! Un certain Bill Gates fonde une petite socit dinformatique : Microsoft 1re famille PAL commerciale, MMI

1980
1981

Premiers microprocesseurs 32 bits chez intel et Motorola


IBM lance le PC

Historique
1983 1984 1984 1er GAL effaable lectriquement, Lattice Apple lance le Macintosh Introduction du FPGA par XILINX : le XC2000 (de 600 1500 portes) cration de la socit ALTERA Technologie CMOS UV-EPROM 1985 1992 1993 2001 2005 mise sur le march du 1er FPGA XILINX 1er FPGA Altera : le Flex 8000 (15 000 portes max) Technologie EEPROM Lancement du Virtex II Xilinx (jusqu 10 millions de portes) FPGA avec des capacits suprieures 50 millions de portes fonctionnant des frquences surpassant les 500 MHz

March des FPGA


REVENUS NETS DE XILINX ET ALTERA
1200000

1000000

REVENUS NETS EN $

800000

600000

400000

200000

0 1991 1992 1993 1994 1995


ANNEE

1996

1997

1998

1999

2000

XILINX

ALTERA

March des FPGA


PARTS DE MARCHE DES FABRICANTS DE FPGA

40

35

30

25

% 20

15

Xilinx Altera Lattice Other Actel

10

0 1998 1999
ANNEE

2000

March des FPGA


PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000

Other 8%

Actel 6%

Lattice 14%

Xilinx 38%

Altera 34%

volution de la technologie
volution de la technologie

Technologie : Taille relative : Anne :

0.6 trois couches de mtal 100% 1994

0.5 trois couches de mtal 78%


1995

0.18 0.25 0.35 quatre couches cinq couches six couches de mtal de mtal de mtal 32% 1996 19% 1998 12% 1999

2002 : techno cuivre 0.13 m 8 couches de mtal 2004 : techno cuivre 0.09 m 12 couches de mtal (200 000 portes/mm)

volution de la technologie

La technologie cuivre (aujourdhui matrise) permet daugmenter la rapidit des circuits donc daugmenter les frquences de fonctionnement

Problmes techniques
Pourcentage de perte la fabrication du laugmentation de la taille des wafers (de 200 300 mm) =>
300 mm 200 mm

Ressources surnumraires dconnectables permettent de prvoir le % de perte la fabrication

volution des prix


1,2
INDICE PRIX PAR ELEMENT LOGIQUE 1 0,8 0,6 0,4

(Source : Altera)

Le prix par lment logique diminue de 40 % par an

0,2
0 1995 1996 1997 1998 1999 2000

volutions

Prix (de llment logique)

- 46% par an

Densit (logique)

+ 55% par an

Vitesse (frquence systme)

+ 35% par an

volutions

Daprs Xilinx, en 2005 les plus gros FPGA auront


des capacits de 50 millions de portes des complexits de 2 billions de transistors

utilisant des technologies 70 nm avec 12 couches de mtallisations (cuivre)


avec des curs de microprocesseurs cbls cadencs 1GHz

FPGA

ASIC

Taxonomie des CI (HARD)


ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

ASIC

Standard
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA

: Application Specific Integrated Circuit : Field Programmable Gate Array

PLD

CPLD
PAL GAL SRAM

: Complex Programmable Logic Device


: Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory

ASIC Full Custom


ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standard
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Full Custom

Au dpart

Au final

SPECIFICATIONS

ASIC Standard Cell


ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standard
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Standard Cell

Au dpart

BIBLIHOTEQUE DELEMENTS PRE-CARACTERISES


SPECIFICATIONS

Au final

+ +

ASIC Gate Array


ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standart
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Gate Array

Au dpart

Au final

SPECIFICATIONS

Il est possible aussi dutiliser des bibliothques de composants pr-caractriss

PAL
ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standart
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

PAL

: Programmable Array Logic

PAL

Matrice de ET ralisant tous les produits possibles (maxtermes) connecte aux sorties par des OU

Grande surface de Si utilise. Ces circuits ne sont plus utiliss aujourdhui

CPLD
ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standart
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

CPLD

: Complex Programmable Logic Device

CPLD
Les CPLDs regroupent plusieurs PALs interconnects par un rseau de connexions programmables.

PAL

PAL

Les CPLDs sont les prmisses des premiers FPGAs.

E/S

MATRICE DINTERCONNECTIONS

E/S

Ces circuits ne sont plus utiliss aujourdhui car remplacs par les FPGAs.

PAL

PAL

FPGA
ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standart
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

FPGA

: Field Programmable Gate Array


A SUIVRE !!!

Comparaison

ASIC CARACTERISTIQUES FPGA GATE ARRAY DENSITE FLEXIBILITE ANALOGIQUE PERFORMANCE TEMPS DE CONCEPTION COUT DE CONCEPTION UTILISATION DES OUTILS VOLUME DE PRODUCTION FAIBLE GRANDE NON FAIBLE TRES PETIT TRES PETIT SIMPLE PETIT MOYENNE PETITE NON MOYENNE MOYEN MOYEN COMPLEXE MOYEN STANDARD CELL MOYENNE MOYENNE OUI BONNE MOYEN MOYEN COMPLEXE GRAND FULL CUSTOM GRANDE GRANDE OUI TRES BONNE GRAND TRES GRAND TRES COMPLEXE GRAND

Capacits compares
100M

Nombre de portes (log)

10M
1M

100k
10k 1k

80% des design fonctionnent

aujourdhui moins de 200MHZ

1989

anne 1997

2001

Les FPGA sont au curs des systmes

Temps de mise en uvre


TEMPS DE MISE EN OEUVRE COMPARES

FPGA

ASIC

10

APPRENTISSAGE

SAISIE

COMPILATION

SIMULATION

FABRICATION

Point de "cross-over" des FPGA et des ASIC

Cross-over de 200 000 de pices environ en 2000

Cross-over de 1 000 000 de pices environ en 2004

Un jeu de masques correspond 1M$ amortir en techno 0,13m

Nick Tredennick, Brion Shimamoto. The Rise of Reconfigurable Systems. In proceeding of Engineering of Reconfigurable Systems and Algorithms, ERSA2003. June 23-26,Las Vegas, Nevada, USA.

Contextes dutilisations en grandes sries

Volume

ASIC FPGA
-coup de production

Conception prototypage

Pr-srie

Production

Fin de vie

Temps

Les ASIC
AVANTAGES hautes intgrations
hautes performances (vitesse, low-power)
cots faibles pour de gros volumes de production personnalisation scurit industrielle

INCONVENIENTS
prix du 1er exemplaire
pas derreur possible non-flexible time-to-market lev fabrication rserve aux spcialistes (fondeur)

Les FPGA
AVANTAGES possibilit de prototypage
time-to-market faible
adaptabilit aux futurs volutions grce la reconfiguration

flexibilit INCONVENIENTS intgration limit par les ressources de routage


performances prix lunit lev pour de grosses productions

Conclusion
Le choix entre FPGA ou ASIC, se fait en fonction du cahier des charges de lapplication : temps de mise sur le march et dure de vie courte

FPGA

trs petit nombre de circuits


optimisation des performances grande srie ASIC

FPGA

ASIC

FPGA et conjoncture conomique mondiale


Daprs une interview du directeur de Xilinx dans la revue lectronique internationale Les FPGA sont les rares produits dlectronique qui profite de la crise conomique actuelle dans le domaine des technologies de pointes ceci pour plusieurs raisons : diminution des volumes de production diminution de la dure de vies des produits

possibilits techniques des FPGAs largement suffisantes pour la plus part des applications

en 2006, il y aura un circuit logique programmable dans chaque appareil numrique .

FPGA et conjoncture conomique mondiale

III. ARCHITECTURE & CONCEPTION

Les diffrentes familles de circuits logiques programmables 1) Quelques dfinitions


EEPROM ou E2PROM (Electrical Erasable Programmable ReadOnly Memory) :Mmoire programmable lecture seule, effaable lectriquement. EPLD (Erasable Programmable Logic Device):Circuits logiques reprogrammables. FPGA (Field Programmable Gate Array):Rseau de portes programmables GAL (Generic Array Logic):Circuits logiques PAL reprogrammables technologie CMOS. ISP (In System Programmable):Circuit que lon peut programmer (et donc effacer) mme lorsquil est en place sur lapplication. PAL (Programmable Array Logic):Circuits logiques programmables dans lesquels seules les fonctions ET sont programmables, les fonctions OU ne le sont pas. PLD (Programmable Logic Device):Famille des circuits programmables qui comprend les PAL,GAL,EPLD et FPGA.

2)Les diffrentes familles de PLD


ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

ASIC

Standard
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA

: Application Specific Integrated Circuit : Field Programmable Gate Array

PLD

CPLD
PAL GAL SRAM

: Complex Programmable Logic Device


: Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory

Les diffrentes familles de PLD (suite)


TYPE Nombre de portes intgres
2 000 500 000

Matrice ET

Matrice OU

Effaable

PROM

Fixe

Programmable

Non

PAL

10 100

Programmable

Fixe

Non

GAL

10 100

Programmable

Fixe

Electriquement

EPLD

100 3000

Programmable

Fixe

Aux U-V Electriquement Electriquement Non

FPGA

3000 6.000.000

Programmable

Programmable

a) Les PAL

Linvention des PAL date dune vingtaine danne, ce sont les ingnieurs de la socit MMI rachete par AMD qui ont eut lide dutiliser la technologie des fusibles. Ce sont des composants programmables une seule fois.

Structure de base dun PLD


Ils possdent des matrices ET programmables et des matrices OU fixes. La fusion des fusibles est obtenue en appliquant leurs bornes une tension de 11,5 V pendant 10 50 S (leur tension de fonctionnement est environ de 5V). Cette opration est bien sr effectue en utilisant un programmateur adapt.

b
1 1 1

a
1

&

&

&

&

>1

>1

Q0

Q1

Structure de base avec les normes des constructeurs


.

: Fusible intact

: Fusible intact
Q0 Q1
Q0 a . b a . b
Q1 a. b a. b

Q0

Q1

Q0 Q1 a.b.a.b a.b.a.b a.b.a.b a.b.a.b 0

PLD ayant ses fusibles intacts

PLD programm

Configuration des entres/sorties


Certaines broches de ces circuits peuvent tre utilises aussi bien en entre quen sortie grce un systme de logique 3 tats.

Porte trois tats permettant de dconnecter la broche de la matrice "ET"

La commande de cette dernire est configure au moment de la programmation.


La structure de sortie permet aussi de rinjecter les sorties en entre (Feedback).

I /O

REFERENCE DES PAL

Les diverses possibilits de ces circuits et leur standardisation ont conduit les constructeurs dfinir une nomenclature permettant de dcoder assez facilement la rfrence des PALs. PAL : PAL (CE) : CE pour version CMOS Lettre(s) Code(s) Structure de sortie XX : Nombre dentres AB : Structure de sortie L Combinatoire active bas YY : Nombre de sorties C : Consommation H Combinatoire active haut ZZ : Vitesse DEF : Type de botier C Combinatoire complmentaire
R RA X V Registre synchrone (D) Registre asynchrone Registre OU exclusif Versatile

Remarques : Le nombre dentres varie entre 10 et 22. Le nombre de sorties varie entre 1 et 10. La puissance est indique par une lettre code. La vitesse indique le temps de propagation en nS. Les versions versatiles ont une cellule de sortie programmable permettant dobtenir nimporte quel autre type de structure de sortie (L, H, R ...). Les versions CMOS (CE) sont effaables lectriquement. Les fusibles sont remplacs par des transistors de type MOS FET. Ce ne sont ni plus ni moins que des GALs . Exemple : PAL 16 L 8 H 15 PC

PAL : PAL : Nombre dentres : : Structure de sortie : : Nombre de sorties : : Consommation : : Vitesse : : Type de botier :

Structures de base des PAL


Brochage du PAL 16R6 Brochage du PAL 16L6 -

PAL22V10 : Sortie (VERSATILE)

PAL22V10

ZOOM

Complet

b) Les GAL
Les GAL sont des PAL technologie CMOS, cest dire programmables et surtout effaables lectriquement. On retrouve les mmes rfrences quen PAL. Protection contre la duplication. Les GAL sont dots dun bit de scurit qui peut tre activ lors de la programmation empchant ainsi toute lecture du contenu du circuit. Ce bit est remis zro seulement en effaant compltement le GAL. Il est constitu dun ensemble de huit octets, appel signature lectronique, pouvant contenir des informations diverses sur le produit.

c) Les EPLD

Gnralits

Lintroduction des EPLD telle que la voulue ALTERA visait deux buts : Densit dintgration suprieure aux PAL

Fonctionner une vitesse au moins gale aux PAL bipolaires

EPLD : Description Fonctionnelle


Les EPLD de la famille MAX possdent une architecture comportant les lments suivants : Logic array blocks (LABs) Macrocellules Rseau dinterconnections Programmables (PIA) I/O control blocks Les sries MAX incluent des entres ddies telles que des (horloges,clear,..) pour chaque macrocellule.

Exemple de EPLD : le MACH 4


Le MACH 4 est un EPLD programmable in situ (ISP) par l'intermdiaire d'un bus J-TAG. Il dispose de 32 entres / sortie, de matrices ET programmables, de matrices "OU" fixes, d'une matrice centrale d'interconnexion, d'une circuiterie d'horloge et de 32 ou 64 macrocellules. L'architecture interne du MACH 4-32/32 est quivalente 4 PALCE 22V10 interconnects.

d) LES FPGA (field programmable gate arrays)

L'architecture, retenue par Xilinx, se prsente sous forme de deux couches :


une couche appele circuit configurable, une couche rseau mmoire SRAM.

LES FPGA
La couche dite 'circuit configurable' est constitue d'une matrice de blocs logiques configurables CLB permettant de raliser des fonctions combinatoires et des fonctions squentielles. Tout autour de ces blocs logiques configurables, nous trouvons des blocs entres/sorties IOB dont le rle est de grer les entres-sorties ralisant l'interface avec les modules extrieurs . La programmation du circuit FPGA appel aussi LCA (logic cells arrays) consistera par le biais de l'application d'un potentiel adquat sur la grille de certains transistors effet de champ interconnecter les lments des CLB et des IOB afin de raliser les fonctions souhaites et d'assurer la propagation des signaux. Ces potentiels sont mmoriss dans le rseau mmoire SRAM.

La SRAM
La configuration du circuit est mmorise sur la couche rseau SRAM et stocke dans une ROM externe. Un dispositif interne permet chaque mise sous tension de charger la SRAM interne partir de la ROM. Ainsi, un mme circuit peut tre exploit successivement avec des ROM diffrentes puisque sa programmation interne n'est jamais dfinitive. On voit tout le parti que l'on peut tirer de cette souplesse en particulier lors d'une phase de mise au point. La mise au point d'une configuration s'effectue en deux temps: une premire tape purement logicielle va consister dessiner puis simuler logiquement le circuit fini, puis lorsque cette tape sera termine on effectuera une simulation matrielle en configurant un circuit rel et l'on pourra alors vrifier si le fonctionnement rel correspond bien l'attente du concepteur, et si besoin est identifier les anomalies lies gnralement des temps de transit rels lgrement diffrents de ceux supposs lors de la simulation logicielle ce qui peut conduire des tats instables voire mme errons..

Architecture interne du FPGA

Les architectures
Larchitecture reflte la topologie du rseau de routage Trois grands styles architecturaux saffrontent lots de calcul, majoritaire chez Xilinx hirarchique, majoritaire chez Altera logarithmique, un peu exotique...

Architecture lots de calculs

Les lments fonctionnels (logique, mmoire, IO) sont regroups sous forme de matrice Ce type darchitecture est trs rpandu, en particulier chez Xilinx, mais aussi chez ATMEL

Les composants logiques programmables :

Architectures globales

Figure 1 : Structure of a CPLD Les MACROCELL = P-TERM (PAL-Like)

Architecture lots de calculs


lment configurable : lment logique

lment de mmorisation

EC

lment arithmtique entre/sortie Rseau de routage : lignes horizontales lignes verticales

Matrice de connexions

BC

MC

Bloc de connexions

Les blocs de connexions

EC BC

EC

Architecture hirarchique

Les rseaux de routage dune architecture hirarchique dpendent du niveau de hirarchie dans lequel on se trouve.

Ceci permet une optimisation du routage par niveau

Trs rpandu chez Altera et Lattice

Architecture hirarchique

Architecture hirarchique

Rseau de routage de niveau 2 lment Hirarchique de niveau 2

Rseau de routage de niveau 1 lment Hirarchique de niveau 1

Rseau de routage de niveau 3 lment Hirarchique de niveau 3 lments logiques lments de mmorisation ...

Architecture logarithmique

Architecture hirarchique dans laquelle chaque niveau i correspond une matrice de 42i cellules de bases.
Chacun de ces niveaux possde des ressources de longueur 42i-1.

Exemple typique: le circuit Xc6200 de Xilinx

Architecture logarithmique
Cell Cell Cell Cell

Cellule logique de base

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Matrice de 16 cellules

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Lignes de longueur 4 cellules

Cell

Cell

Cell

Cell

4*4

4*4

4*4

4*4

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

Lignes de longueur 16 cellules

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

Lignes de longueur 64 cellules

16*16

16*16

16*16

16*16

Les lments logiques

Les lments logiques configurables sont les briques de bases de tous les FPGA, ils sont majoritairement raliss autour de LUT, Look Up Table, de chane de propagation rapide de la retenue et de bascule D.

On rencontre toutefois des cellules logiques rudimentaires base de multiplexeurs

Les Look Up Tables


Ce sont de petits lments de mmorisation, qui refltent la table de vrit dune fonction logique.
In 0 In 1 In 2 In 3

LUT = Table de scrutation LUT 4 entres = RAM 2octets


SRAM

SRAM

In 0 In 1 In 2 In 3

SRAM

LUT 4

Out
SRAM

SRAM SRAM

Out

Les Look Up Tables

In 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

Les Look Up Tables

In 0 = 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

Les Look Up Tables

In 0 =0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2 =1

In 3 = 1

1111 1110 1101 1100 1011 1010

0
1

Out= 1 = In3 In2 In1 Ino

Les Look Up Tables


Gnralement le nombre dentres des LUT est de quatre car cest un bon compromis entre vitesse et surface Le nombre de LUT dans les lments logiques varie de 2 4 gnralement

Rsultats dune tude de lUniversit de Toronto :


Critre Surface Dlais Surface et dlais Taille des LUT 34 7 46 Nombre de LUT 6 10 4 10 4 10

Les Look Up Tables


lment logique de base avec LUT
Carry-In

ENTREES

LUT
FAST CARRY CHAIN
HORLOGE

D Q

SORTIES

Carry-Out

Les rseaux dhorloges

Les circuits sont de plus en plus grands => augmentation de la longueur des connexions => les chemins dhorloges sont plus longs => plus de retard => ASYNCHRONISME MALSAINT !!!

Les rseaux dhorloges


Le problme 1 : JITTER : bruit de phase

Le problme 2 : CLOCK SKEW : Dcalage entre les transitions de la mme horloge diffrents points dun circuit. Le problme 3 : on peut avoir besoin de plusieurs horloges dans un mme circuit

Solutions dasservissement des horloges

Les PLL (analogique) Phase-Locked Loop ( ALTERA )

Les DLL (numrique)

Delay-Locked Loop
( XILINX )

Caractristiques des PLL et DLL

Comparaison PLL vs DLL

Comparaison "objective" faite par ALTERA Bien que plus performantes les PLL sont aussi beaucoup plus complexes intgrer (mixage analogique et numrique) Avons nous besoin dune telle prcision ???

Les curs de processeurs


Aujourdhui les systmes numriques font de plus en plus appel conjointement des ressources logicielles micro-programmes (P, C, DSP) et des ressources matrielles re-configurables (FPGA) Do lide de mettre sur un mme puce un cur de microprocesseur et un cur de logique configurable, les deux tant optimiss technologiquement Le cur de processeur peut prendre environ 10% de la surface totale de la puce

Les curs de processeurs


Altera propose le circuit Excalibur contenant : une partie configurable : type APEX 20K1000 un cur de processeur : ARM9 (32 Bits) 200MHz 8 K octets de cache Instructions 8 K octets de cache Donnes
Matrice FPGA
RAM double port RAM simple port Cur ARM 922T

Les curs de processeurs


PLL JTAG ARM

Processor & Memory Interfaces


Interfaces

UART

External

Trace Module

SRAM

SRAM

SRAM

Timer I-CACHE Interrupt D-CACHE ARM922T Watchdog 8K Bytes Controller 8K Byte Timer

Coeur de processeur
DPRAM DPRAM DPRAM

XA1
LEs ESB Bytes 4160 6.5K
32 Kbytes SRAM 16 Kbytes DPRAM

FPGA
LEs ESB Bytes 16400 26K

XA4
128 Kbytes SRAM 64 Kbytes DPRAM

LEs ESB Bytes

38400 40K

XA10
256 Kbytes SRAM 128 Kbytes DPRAM

Les curs de processeurs

Xilinx propose aussi une version de son circuit Virtex II avec un cur de processeur le Virtex II-Pro comprenant : de 1 4 curs Power-PC (RISC 32 bits) 125MHz

matrice VIRTEX avec capacit de 900 mille portes

Les alimentations en nergie


Le cur est aliment gnralement en 1.8 V (voir 1.5 V) car avec la technologie 0.18 m les oxydes ne sont pas assez pais pour supporter plus de tension Les entres sorties sont alimentes sous 3.3V, 2.5V, 1.8V ou 1.5 V suivant le standard choisi

Dans la plupart des cas il faut deux alimentations


Attention la consommation des E/S => minimiser leur nombre !!!

Les alimentations en nergie

Technologiquement pour permettre aux entres sorties de supporter des tensions dalimentations jusqu 3.3V on effectue plusieurs oxydations avec des masques spciaux

De cette faon la technologie utilise pour les entres-sorties nest pas la mme que pour le cur

Rpartition de la consommation de puissance

RESEAU DHORLOGE
21%

ENTREES SORTIES

9%

RESSOURCES DE ROUTAGE 65%

RESSOURCES LOGIQUES 5%

Modlisation de la consommation de puissance


La consommation globale du circuit peut tre donne par le modle suivant : P = Pstat + *[Cwire + Cswitches]*Vdd*f De ce fait la rpartition vue prcdemment est vraie dans certaines conditions: Technologie (Pstat , C, Vdd) Frquence (action linaire) Taux dactivit (action linaire) Taux doccupation (C)

Algorithmes de placement routage (fmax, C)


Nombre dentres sorties utilises => du fait de ces nombreux paramtres il est trs compliqu de trouver un moyen destimer la consommation de puissance du circuit pour une application

Les architectures de FPGA sont donc trs varies, tant aux niveau du routage que du grain des ressources qui les composent. Savoir quels types darchitecture et de ressources sont les plus en adquation avec lapplication que lon dveloppe reste un challenge aujourdhui.

IV. LA FAMILLE ALTERA

La famille ALTERA
1984
1988 1992 1995 1997 1999 2000 2000 2001 2001

Dbuts dAltera qui vend des EPLD


Lancement des CPLD MAX (Multiple Array matriX) qui sont des ftus de FPGA 1er FPGA Altera : le FLEX 8000 (15 000 portes) (Flexible Logic Element matriX) technologie 0.5 m Lancement de la famille FLEX 10K (250 000 portes) Famille FLEX 6K bas cots (24 000 portes) Famille APEX 20K (1 500 000 portes) Famille APEX 20K C utilisant la technologie cuivre Famille APEX 20K E avec plus de ressources mmoires technologie 0.18 m Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cur de processeur ARM 9 Famille APEX II (dont le but est de concurrencer le Virtex de Xilinx) (3 000 000 de portes) technologie 0.15 m

Fvrier 2002 : Lancement du STRATIX concurrent direct du Virtex II Xilinx, technologie cuivre 0.13 m Septembre 2002 : Lancement du Cyclone un petit FPGA (architecture STRATIX) pour application grand public bas-cots

La famille ALTERA

STRATIX

APEX II - Caractristiques

Le plus gros composant disponible est lAPEX II EP2A70

Caractristiques MAX:
3 000 000 de portes utilisables 1 146 880 bits de mmoires RAM soit 140 Kilo octets 4 PLL cur aliment en 1.5 V 1 060 entres sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) 380 Mbps de dbit en entres sorties

technologie cuivre 0.15 m 8 niveaux de mtallisation


taille de la puce 40*40 mm soit 1600 mm

APEX II - Architecture
Larchitecture est de type hirarchique, au premier niveau de hirarchie apparaisse les MegaLAB : Mega Logic Array Block

4 ranges de MegaLAB soit au total 280 MegaLAB

70 colonnes de MegaLAB

APEX II - MegaLAB

Un MegaLAB contient de 16 24 LAB (Logic Array Block)


et 1 ESB (Embedded System Block)

APEX II - LAB

Les LAB sont constitus de 10 LE : Logic Element

APEX II - LE

Le nombre max de LE pour un APEX II est de 67 200

APEX II - Carry Chain

APEX II - ESB

Bloc de mmoire de 4096 bits configurable en simple ou double port Peut tre utilis en CAM (Content Access Memory) et en matrice PAL

APEX II - Entres Sorties

APEX II - PLL

Stratix

Toujours plus gros, toujours plus performant, Stratix, le dernier ne dAltera !

Stratix - Architecture

Stratix - Architecture

Stratix - Blocs mmoires

Stratix - DSP lmentaires

Des blocs multiplieurs sont insrs

Stratix - Rseau dhorloges

volutions futures

Progression de la famille STRATIX: Version Excalibur avec un cur ARM10 Version bas cots, plus petite, pour les grandes sries (=> CYCLONE)

VI. FAMILLE
XILINX

La Famille XILINX
1985 1987 1991 1995 1996 1998 Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolte) Famille XC3000 (6000 portes - obsolte) Famille XC 4000 (500 000 portes) Famille XC 5200 spciale petit design (18 000 portes) 0.6 m 6 couches Innovations avec la famille XC 6200 (100 000) visant le coprocessing et le reconfigurable dynamiquement, echec commercial Famille SPARTRAN vise la souplesse dutilisation et les petits design

1999
1999 2000 2001 2002

Famille VIRTEX vise les fortes capacits ( 4 millions de portes) techno 0,22 m 5 niveaux de mtallisation
VIRTEX-E amlioration du VIRTEX avec plus de mmoires, techno 0.18 m 6 niveaux de mtallisation Famille SPARTRAN II, FPGA moyennes capacits (100 000 portes) bas cots, ce sont de petits VIRTEX, techno 0.18 m 6 niveaux de mtallisation Famille VIRTEX II, toujours plus fort (10 millions de portes) techno 0.15 m 8 niveaux de mtallisation, avec des transistors rapide 0.12 m Famille VIRTEX II-Pro qui contient 4 curs de P RISC Power-PC

Xilinx propose aussi une gamme complte de CPLD

La Famille XILINX

Virtex II - Caractristiques
Le plus gros composant disponible est le VIRTEX II XC2V 10000 Caractristiques MAX:

10 millions de portes utilisables (122 880 LUT et 10 *+ de bascule D)


5 376 K bits de mmoires RAM soit 656 Kilo octets 192 Multiplieurs (18*18 bits 200MHz) 12 DLL cur aliment en 1.5 V 1 108 entres sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) Frquence interne 420 MHz

840 Mbps de dbit en entres sorties


technologie allu 0.15m 8 niveaux de mtallisation taille de la puce 40*40 mm soit 1600 mm

Virtex II - Architecture
CLB : Configurable Logic Block
CLB Slice

Virtex II - Rseau de routage

Virtex II - Rseau dhorloges

DCM : Digital Clock Manager

Virtex II - DCM
Digital Clock Manager

Virtex II - Entres sorties

Virtex II - Configuration

Virtex II - volution

Virtex II Pro- Architecture

VII. AUTRES EXEMPLES DE FPGA

Autres exemples de FPGA

Il nest pas ncessaire de dtailler dautres architectures de FPGA, elles napportent rien de plus que ce que lon a vue chez Xilinx ou Altera
Mais il est toutefois intressant de connatre loffre dautres fabricants

Autres exemples de FPGA

ACTEL

ProASIC technologie flash, ASIC reprogrammable, non volatile et granularit fine, ISP. Utilise les outils ASIC ou FPGA AXELERATOR technologie antifusibles => OTP (One Time Programmable), FPGA les plus rapide 500MHz interne et 300MHz de fonctionnement systme

HiRel, RT, RH, technologie antifusibles srie militaire, tolrance aux radiations

Autres exemples de FPGA


ATMEL AT40K, technologie SRAM, architecture lots de calcul, faible densit (5K 50K portes), reconfigurable dynamiquement, des curs FPGA drivs de cette famille peuvent sintgrer dans les circuits prdiffuss ATMEL. ispXPGA, technologie SRAM, archi lots de calcul, densit de 125K 1,2M portes. EEPROM de configuration intgr => configuration la mise sous tension en moins de 200 s

Lattice

Autres exemples de FPGA

Quick Logic

pASIC (1,2 et 3), srie Quick (Ram, PCI), technologie antifusible (One Time Programmable), faible densit de 1K 90K portes

Cypress

CY39K, architecture mixte CPLD-FPGA

VIII. UTILISATIONS & CAO

Programmation des PLDs.


La programmation des PLDs ncessite un logiciel adapt pour le dveloppement du programme et un programmateur permettant de griller le circuit.
Cahier des charges Mise en quation du problme Rsolution du problme sous forme dquation logique, de logigramme ou dalgorithme Choix du PLD en fonction du nombre dentres et de sorties

Saisie des quations logiques, de la table de vrit, du logigramme ou de lalgorithme avec le logiciel

Le fichier JEDEC est un ensemble de donnes binaires indiquant au programmateur les fusibles griller .

Simplification logique

Gnration dun fichier au format JEDEC

Ces tapes sont effectues par le logiciel

Simulation Programmation du PLD laide du fichier JEDEC et du programmateur

PLD programm

Outils de CAO

Les outils de CAO sont les points faibles de ces circuits. Si un circuit est trs performant il ne se vendra pas si les outils qui lui sont associs ne sont pas performants !

Chez Xilinx 50% des ingnieurs de R&D se consacrent ces outils !

Outils de CAO
Tous les fabricants de FPGA proposent des outils de CAO, passage oblig pour configurer leurs circuits pour Xilinx cest ISE - Foundation pour Altera cest Quartus ou MAX + II

Avec ces outils on peut raliser tout le flot de conception de la synthse la configuration. Pour certaines phases du flot ces outils font en fait appel dautres outils

Autres outils de CAO

Flot FPGA

Synthse

Simulation

IP : Intellectual Property
Communications
ADPCM (u-law, a-law) ATM Controller CRC Ethernet MAC (10/100/Gigabit) HDLC Protocol Core IMA Controller SONET/SDH Framer T3/E3 Framer Packet Over SONET Processor Telephony Tone Generator Utopia Master & Slave POS-PHY Interface

Bus Interface
PCI Target PCI Master-Target PCI-X CAN Bus IIC Master & Slave IEEE 1394 PowerPC Bus Arbiter PowerPC Bus Master PowerPC Bus Slave USB Function Controller USB Host Controller

Digital Signal Processing


Color Space Converter Correlator Digital Modulator Discrete Cosine Transform Fast Fourier Transform FIR Compiler IIR Filter Image Processing Library NCO Reed Solomon Encoder/Decoder Interleaver/Deinterleaver Viterbi Decoder Turbo Decoder

Processor, Peripheral
NiosTM Processor Tensilica X-tensa Processor PalmChip Bus SDRAM Controller DDR-SDRAM Controller QDR-SDRAM Controller 8237 DMA Controller 8255 Peripheral Interface 8259 Interrupt Controller 8254 Timer/Counter 8051, 6502, Z80

Et plus encore !

Exemple dIP : NIOS

PBM

CPU

Caractristiques : donnes sur 16 ou 32 bits 128, 256 ou 512 registres registres dcalage rapide ( 1, 3, 7, 15 ou 31 bits/clock) possibilits de lui adjoindre des priphriques (UART, RAM, ROM)

FLASH

Timer

Serial Port

UART

12% dun EP20K200E

Ici le reste de votre systme

APEX EP20K200E

IRQ

NIOS : cur de processeur RISC gnrique optimis

SRAM

IX. EVOLUTIONS CODESIGN, SORC

Les nouvelles utilisations des FPGA

Longtemps rduit au prototypage, aujourdhui les FPGA sont utiliss, pour leur capacit de reconfiguration, dans des systmes lectroniques complexes, mme pour de la grande srie.
le CoDesign pour le Run Time Reconfigurable les SORC : System-On-a-Reconfigurable-Chip

Le CoDesign
Dfinition : Les mthodes de CoDesign sont des mthodes de dveloppement simultan (de manire concurrente) des parties HW et SW (spcification, design, vrification)

SW = microprocesseur

HW = FPGA ou ASIC

Buts : Grer au mieux lhtrognit de la nature des fonctions qui composent le systme (du logiciel larchitecture reconfigurable) Comparer les diffrents choix de partitionnement Dfinir les interfaces entre le SW et le HW Valider le systme complet (co-vrification et co-simulation)

Flot de CoDesign
SPECIFICATION HAUT NIVEAU DE LAPPLICATION ordonnancement de lapplication proposition de candidats HW et SW

ESTIMATION SYSTEME

ESTIMATION LOGICIELLE

ESTIMATION MATERIELLE

PARTITIONNEMENT

Choix des ralisation HW ou SW

SYNTHESE LOGICIELLE

SYNTHESE INTERFACE

SYNTHESE MATERIELLE

COSIMULATION
Retour dexprience

IMPLEMENTATION HW et SW

TESTS

Les SORC
Technique hritire direct des SOC : System On Chip

Diffrentes notations : SORC (Xilinx) : System On a Reconfigurable Chip SOPC (Altera) : System On a Programmable Chip

CSOC

: Configurable System On Chip

Lutilisation des techniques de CoDesign est invitable ! Lengouement pour les SORC est certain vue le nombre de cur de processeurs (IP ou cbls) prsents sur le march

CONCLUSIONS

Le futur

Le futur
Processeurs re-programmant leur environnement en temps rel : Hardware intelligent programm haut niveau

Le futur
Circuit programmable Analogiques et Mixtes : (www.anadigm.com)

Intgration de MEMS : Plus tard

REFERENCES BIBLIOGRAPHIQUES

Rfrences bibliographiques
Livres :

Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Mthodes de conception, Le langage VHDL. Eyrolles, 1997
Vaughn Betz, Jonathan Rose, Alexander Marquardt, Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publisher, 1999

Revues : lectronique - Le mensuel des ingnieurs de conception lectronique International Hebdo Xcell Journal (Xilinx press) Revues IEEE

Rfrences bibliographiques
Sites Internet : LES SITES DES CONSTRUCTEURS (Xilinx, Altera, Atmel, Actel, QuickLogic ) AUTRES :
http://www.mrc.uidaho.edu/fpga/fpga.html page de liens vers FPGA http://optimagic.com/ the Programmable Logic Jump Station http://eet.com/embedsub site de lembedded developers journal http://www.mvd-fpga.com/fr/default.htm site dune entreprise franaise de service spcialise dans les FPGA http://www.design-reuse.com/ site sur les IP http://www.supelec-rennes.fr/ren/perso/jweiss/fpga/poly/fam99-fin.htm cours de SUPELEC J. Weiss http://www.enseirb.fr/~kadionik/formation/altera/index.htm cours de lENSEIRB L. Dulau http://micdigital.web.cern.ch/micdigital/VLSI_Trieste/design_styles/index.htm autre cours en PPT

confrences
Confrences spcialises : FPGA FPL ACM International Symposium on Field-Programmable Gate Arrays International Workshop on Field-Programmable Logic and Applications

FCCM
FTP RSP ERSA RAW

IEEE Symposium on Field-Programmable Custom Computing Machines


IEEE International Conference on Field-Programmable Technology IEEE International Workshop on Rapid System Prototyping Engineering of Reconfiguraable Systems and Algorithms Reconfigure Architectures Workshop (part of IPDPS)

FPGA/PLD Design Conference (part of ASP-DAC)

Confrences gnralistes DAC : Design Automation Conference

ASP-DAC Asian and South Pacific Design Automation Conference


DATE ISCAS Design Automation & Test Exhibition IEEE International Symposium on Circuits and Systems

MERCI ...