Tous Circuits logiques programmables

  • Upload
    saf-bes

  • View
    294

  • Download
    0

Embed Size (px)

Citation preview

Les Circuits logiques programmables

PLAN

I. II. III. IV. V.

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

I INTRODUCTIONIl 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 DynamicRAMStatique Ram: Un bit = une bascule D (4 transistors) Dynamique Ram : Un bit = une capacit (1 transistor)

RAM Statiquedata \data 1 2

mem

2 sel ect

1

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 volts5

320

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

1011

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 SiLignes 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

PLANI. II. Introduction, historique FPGA vs ASIC

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

Architecture et conception des FPGAFamille 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

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

18751940 1946

Sir J.W. Swan invente le tube incandescenceUtilisation 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

Historique1968 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

19801981

Premiers microprocesseurs 32 bits chez intel et MotorolaIBM lance le PC

Historique1983 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 FPGAREVENUS NETS DE XILINX ET ALTERA1200000

1000000

REVENUS NETS EN $

800000

600000

400000

200000

0 1991 1992 1993 1994 1995ANNEE

1996

1997

1998

1999

2000

XILINX

ALTERA

March des FPGAPARTS DE MARCHE DES FABRICANTS DE FPGA

40

35

30

25

% 20

15

Xilinx Altera Lattice Other Actel

10

5

0 1998 1999ANNEE

2000

March des FPGAPARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000

Other 8%

Actel 6%

Lattice 14%

Xilinx 38%

Altera 34%

volution de la technologievolution 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 techniquesPourcentage 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 prix1,2INDICE PRIX PAR ELEMENT LOGIQUE 1 0,8 0,6 0,4

(Source : Altera)

Le prix par lment logique diminue de 40 % par an

0,20 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

Standardcell

Sea of gate

Gate arraySRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA

: Application Specific Integrated Circuit : Field Programmable Gate Array

PLD

CPLDPAL GAL SRAM

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

ASIC Full CustomASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standardcell

Sea of gate

Gate arraySRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Full Custom

Au dpart

Au final

SPECIFICATIONS

+

ASIC Standard CellASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standardcell

Sea of gate

Gate arraySRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Standard Cell

Au dpart

BIBLIHOTEQUE DELEMENTS PRE-CARACTERISESSPECIFICATIONS

Au final

+ +

ASIC Gate ArrayASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standartcell

Sea of gate

Gate arraySRAM

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

PALASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standartcell

Sea of gate

Gate arraySRAM

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

CPLDASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standartcell

Sea of gate

Gate arraySRAM

FPGA

CPLD

PAL

Antifuse

CPLD

: Complex Programmable Logic Device

CPLDLes 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

FPGAASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standartcell

Sea of gate

Gate arraySRAM

FPGA

CPLD

PAL

Antifuse

FPGA

: Field Programmable Gate ArrayA 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 compares100M

Nombre de portes (log)

10M1M

100k10k 1k

80% des design fonctionnent

aujourdhui moins de 200MHZ

1989

anne 1997

2001

Les FPGA sont au curs des systmes

Temps de mise en uvreTEMPS DE MISE EN OEUVRE COMPARES

FPGA

ASIC

0

1

2

3

4

5

6

7

8

9

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 ASICAVANTAGES 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 FPGAAVANTAGES 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

ConclusionLe 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 mondialeDaprs 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 PLDASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

ASIC

Standardcell

Sea of gate

Gate arraySRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA

: Application Specific Integrated Circuit : Field Programmable Gate Array

PLD

CPLDPAL 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 intgres2 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 PLDIls 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.

b1 1 1

a1

&

&

&

&

>1

>1

Q0

Q1

Structure de base avec les normes des constructeurs.

b

a

b

a

: Fusible intact

: Fusible intactQ0 Q1Q0 a . b a . bQ1 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/sortiesCertaines 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 complmentaireR 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 PALBrochage 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 FonctionnelleLes 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 4Le 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 architecturesLarchitecture 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 calculslment 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 logarithmiqueCell 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 TablesCe 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 2octetsSRAM

SRAM

In 0 In 1 In 2 In 3

SRAM

LUT 4

OutSRAM

SRAM SRAM

Out

Les Look Up Tables

In 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0

1

1

0

01

Out

Les Look Up Tables

In 0 = 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0

1

1

0

01

Out

Les Look Up Tables

In 0 =0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0

1

1

0

01

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0

1

1

0

01

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0

1

1

0

01

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

1

0

01

Out= 1 = In3 In2 In1 Ino

Les Look Up TablesGnralement 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 Tableslment logique de base avec LUTCarry-In

ENTREES

LUTFAST CARRY CHAINHORLOGE

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 dhorlogesLe 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 processeursAujourdhui 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 processeursAltera 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 DonnesMatrice FPGARAM double port RAM simple port Cur ARM 922T

Les curs de processeursPLL JTAG ARM

Processor & Memory InterfacesInterfaces

UART

External

Trace Module

SRAM

SRAM

SRAM

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

Coeur de processeurDPRAM DPRAM DPRAM

XA1LEs ESB Bytes 4160 6.5K32 Kbytes SRAM 16 Kbytes DPRAM

FPGALEs ESB Bytes 16400 26K

XA4128 Kbytes SRAM 64 Kbytes DPRAM

LEs ESB Bytes

38400 40K

XA10256 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 nergieLe 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 alimentationsAttention 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 DHORLOGE21%

ENTREES SORTIES

9%

RESSOURCES DE ROUTAGE 65%

RESSOURCES LOGIQUES 5%

Modlisation de la consommation de puissanceLa 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 ALTERA19841988 1992 1995 1997 1999 2000 2000 2001 2001

Dbuts dAltera qui vend des EPLDLancement 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 - ArchitectureLarchitecture 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. FAMILLEXILINX

La Famille XILINX1985 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

19991999 2000 2001 2002

Famille VIRTEX vise les fortes capacits ( 4 millions de portes) techno 0,22 m 5 niveaux de mtallisationVIRTEX-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 - CaractristiquesLe 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 - ArchitectureCLB : Configurable Logic BlockCLB Slice

Virtex II - Rseau de routage

Virtex II - Rseau dhorloges

DCM : Digital Clock Manager

Virtex II - DCMDigital 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 AlteraMais 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 FPGAATMEL 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 CAOTous 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 PropertyCommunicationsADPCM (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 InterfacePCI 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 ProcessingColor 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, PeripheralNiosTM 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 CoDesignDfinition : 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 CoDesignSPECIFICATION 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

COSIMULATIONRetour dexprience

IMPLEMENTATION HW et SW

TESTS

Les SORCTechnique 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 futurProcesseurs re-programmant leur environnement en temps rel : Hardware intelligent programm haut niveau

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

Intgration de MEMS : Plus tard

REFERENCES BIBLIOGRAPHIQUES

Rfrences bibliographiquesLivres :

Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Mthodes de conception, Le langage VHDL. Eyrolles, 1997Vaughn 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 bibliographiquesSites 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

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

FCCMFTP RSP ERSA RAW

IEEE Symposium on Field-Programmable Custom Computing MachinesIEEE 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 ConferenceDATE ISCAS Design Automation & Test Exhibition IEEE International Symposium on Circuits and Systems

MERCI ...