circuits logiques programmables

190
Les composants logiques programmables

Upload: oussama-ben-zekri

Post on 30-Jun-2015

874 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Circuits logiques programmables

Les composants logiques programmables

Page 2: Circuits logiques programmables

PLAN

I. Introduction

II. Les mémoires vives

III. Les mémoires mortes

IV. Évolution des composants programmables

V. Les FPGA

Page 3: Circuits logiques programmables

I INTRODUCTION

Il existe deux grandes familles de circuits

logiques programmables :

• Les mémoires programmables• Les PLD (programmable logic

device)

Page 4: Circuits logiques programmables

Quelques rappels : Les mémoires

• Une mémoire est un élément de stockage d’information• Les bits stockés sont organisés sous forme de matrice:

la dimensionde la mémoire est donnée par le nombre de lignes fois la largeur dela ligne

• Chaque ligne de la mémoire est appelée un mot. Elle est identifiéepar une adresse (numéro de la ligne)

• Le nombre de lignes est toujours une puissance de deux• Deux opérations sont possibles, sur un mot complet:

La lecture (read) et l’écriture (write)

Page 5: Circuits logiques programmables

Classification des mémoires

Page 6: Circuits logiques programmables

II Les Mémoires Vives : RAM

Random Acces Memory, mémoires vives• Des mémoires contenant des programmes et des

données• Information disponible tant que le courant est présent• 2 types de RAM: StaticRAM ET DynamicRAM

Statique Ram: Un bit = une bascule D

(4 transistors)

Dynamique Ram : Un bit = une capacité (1 transistor)

Page 7: Circuits logiques programmables

RAM Statique

select

data

mem

12

1 2

\data

Page 8: Circuits logiques programmables

RAM Statique : simulation

Page 9: Circuits logiques programmables

un CI Ramde 4 mots de 4 bits

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

Une mémoire de 4 mots de 8 bits chacun

NB: Les signaux cs et wrsont actifs à 0 (niveau bas)

Page 10: Circuits logiques programmables

Addition verticale de CI pour augmenter le nombre de mots

SRAM de 8 mots de 4 bits

Page 11: Circuits logiques programmables

LES RAM DYNAMIQUE (DRAM)

• Info stockée dans un condensateur sous forme de charge électrique

• Plus grande intégration mais nécessite des opérations de rafraîchissement.

• Rafraîchissement= lire le bit et le réécrire environ toutes les 10nsec

temps

Tension en volts5

0

2

3‘ 1 ’

‘ 0 ’

Avec rafraîchissement

Page 12: Circuits logiques programmables

RAM dynamique

• Un seul transistor : gain de place

• Cycle complexe de lecture

• Lecture puis ré-écriture

• Cycle de rafraîchissement

data

select

Page 13: Circuits logiques programmables
Page 14: Circuits logiques programmables

Présentation des DRAM SIMMSingle In line Memory Module

Page 15: Circuits logiques programmables

III Les Mémoires mortes: Read Only Mémory

• Les données ne peuvent être que lues

• L’écriture se fait soit lors de la fabrication ou nécessite un matériel spécialisé.

• La donnée est retenue même en absence du courant (donnée non volatile)

Page 16: Circuits logiques programmables

1 Les différentes familles de PROM

Page 17: Circuits logiques programmables

2) PROM: Programmable ROM

• ROM programmable par l'utilisateur une seule fois:

1 point mémoire = fusible

• EPROM: PROM effaçable plusieurs fois Effacement = soumettre l ’Eprom à un rayonnement ultraviolet (UVPROM) ou un courant électrique EEPROM

• L’écriture nécessite un temps 1000 + grand que dans une Ram

Page 18: Circuits logiques programmables

a) PRINCIPE DES PROM A FUSIBLE

Structure à :• ET fixes (les circuits

de décodage d'adresse) • OU programmables

(les données placées dans la mémoire).

00

01

10

11

Zone mémoire

ADRESSES

Page 19: Circuits logiques programmables

ROM (suite)

Page 20: Circuits logiques programmables

PRINCIPE DES PROM A FUSIBLE

• Lorsque la mémoire est livrée 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 mémoriser des 0 en utilisant une haute tension (généralement 12 volts), pour faire sauter le ou les fusibles.

• Les PROM à fusibles sont en voie de disparition

Page 21: Circuits logiques programmables

Fusibles métalliques ou SiLignes métalliques : interconnexions

Intact «Programmé»

Page 22: Circuits logiques programmables

Rem : Antifusibles

Page 23: Circuits logiques programmables

UV-PROM

Page 24: Circuits logiques programmables

b) PRINCIPE DES UVPROM  

• chaque cellule mémoire élémentaire est constituée d'un transistor MOS dont la grille de commande est totalement isolée dans une couche d'oxyde.

• Par application d'une tension suffisamment élevée, qui est appelée 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 isolée où elles se trouvent piégées. La cellule mémoire est programmée.

Grille isolée

Grille de contrôle Isolant

Page 25: Circuits logiques programmables

UV-EPROM / EEPROM

SAMOS : Stacked MOS

Non-volatile

Page 26: Circuits logiques programmables

Durée de rétention• La qualité de l'isolant étant excellente, la

durée de rétention 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 barrière en sens inverse

Page 27: Circuits logiques programmables

c) Principe des EEPROM

• Ce sont des PROM effaçables électriquement octet par octet si nécessaire.

• Les EPROM FLASH sont effaçables globalement, sont plus rapides et plus simples (1 CMOS par bit) que les EEPROM.

• Toutes deux sont programmables en circuit.

Page 28: Circuits logiques programmables

d) Les Mémoires FLASH

• Mémoires non volatiles, réécriture possible (500 000 fois), capacité 8 Gigabytes.

• Même structure qu’une Ram équipée d ’une alimentation de faible consommation.

• Contrairement au Ram, effacement par bloc de données et non par octet.

• Grande tolérance au chocs, extrêmes températures, environnement avec beaucoup de perturbation.

• Utilisation: Caméras digitaux, téléphones mobiles, Imprimantes, Pc portables, Applications militaires…

Page 29: Circuits logiques programmables

Comparaison

Page 30: Circuits logiques programmables

IV Évolution du marché des composants programmables

• De plus en plus présent dans le quotidien– Ordinateurs, PDA

– GSM,GPRS,UMTS, GPS

– TV numérique

– Electronique embarquée

– Baladeurs CD/MP3 DVD

– Traitement du signal

Page 31: Circuits logiques programmables

Les atouts des CLP :les standards

• Les standards facilitent l’intégration de services :– PDA + GSM– GSM + MP3– UMTS + MPEG4 + MP3 + Hiperlan2 + ...

Page 32: Circuits logiques programmables

Plus de performance

• GSM =>GPRS =>EDGE =>UMTS

• Bluetooth 11 Mbits/s =>Hiperlan2 à 54 Mbits/s

Page 33: Circuits logiques programmables

Réduire le « time to market »

• Les produits ont une durée de vie de plus en plus faible– Réduire le «time to market»– Réutilisation pour concevoir d’autres produits

(rentabiliser)

Page 34: Circuits logiques programmables

REUTILISATION

• Approche retenue pour limiter les coûts

• Conception d’un « Système On Chip » à partir de blocs prédéfinis : Intellectual Properties

Page 35: Circuits logiques programmables

Notion d’IP (Intellectual Property)

• Blocs fonctionnels complexes réutilisables– Hard: déjà implanté, dépendant de la technologies,

fortement optimisé

– Soft: dans un langage de haut niveau (VHDL, Verilog, C++…), paramétrables

• Normalisation des interfaces• Environnement de développement (co-design, co-

specif, co-verif)• Performances moyennes (peu optimisé)

Page 36: Circuits logiques programmables

Contraintes liées à l’utilisation d’IP

- connaître les fonctionnalités

– estimer les performances dans un système– être sûr du bon fonctionnement de l’IP– intégrer cet IP dans le système– valider le système

Page 37: Circuits logiques programmables

MERCI ...

Page 38: Circuits logiques programmables

ARCHITECTURES

CONCEPTION

FPGA

UTILISATION

DES

Page 39: Circuits logiques programmables

PLAN

I. Introduction, historique

II. FPGA vs ASIC

III. Architecture et conception des FPGA

IV. Famille de FPGA Altera

V. Famille de FPGA Xilinx

VI. Autres Exemples de FPGA

VII. Utilisation des FPGA, CAO

VIII. CoDesign, SORC et nouvelles

Conclusion

Page 40: Circuits logiques programmables

I. INTRODUCTION

Page 41: Circuits logiques programmables

Définition

FPGA : Field Programmable Gate Array

En français :

Composant, constitué d’un ensemble de ressources logiques élémentaires configurables pouvant être mises en relation par un réseau d’interconnexions également configurable

Page 42: Circuits logiques programmables

Historique

IXème av JC Les chinois comptent avec un boulier !

1640 Blaise Pascal, invente une machine mécanique à additionner et soustraire : la Pascaline

1875 Sir J.W. Swan invente le tube à incandescence

1940 Utilisation des premières PLL (principe étudié en 1932 par Bellescize)

1946 ENIAC 1er calculateur électronique (18 000 tubes, tient dans un hall de 10*17m)

Von Neumann présente le concept de programme enregistré

1948 Bardeen, Brattain et Shockley (Bells Labs) inventent le transistor bipolaire

1er ordinateur le SSEC d’IBM

1950 1er circuit reconfigurable « the fuse configurable diode matrix » Harris Semiconductor

1958 Jack Kibly invente le circuit intégrée, brevet Texas

Fairchild dépose un brevet sur la fabrication des CI par procédé Planar

1962 Famille TTL

Page 43: Circuits logiques programmables

Historique

1968 Famille MOS

Robert Noyce et Gordon Moore créer une startup : intel

1er PLA « read only associative memory ROAM » IBM

1969 Neil Amstrong marche sur la Lune

1970 Introduction du terme PAL Texas Instrument

1ère ROM, Harris Semiconductor

1971 intel, 1er UV-PROM (effaçable par UV)

1972 Intel, 1er processeur : 4004

1973 André Truong et Francis Grenelle mettent au point et commercialisent le 1er micro-ordinateur du monde, le Micral, made in France !

1975 Un certain Bill Gates fonde une petite société d’informatique : Microsoft

1978 1ère famille PAL commerciale, MMI

1980 Premiers microprocesseurs 32 bits chez intel et Motorola

1981 IBM lance le PC

Page 44: Circuits logiques programmables

Historique

1983 1er GAL effaçable électriquement, Lattice

1984 Apple lance le Macintosh

1984 Introduction du FPGA par XILINX : le XC2000 (de 600 à 1500 portes)

création de la société ALTERA

Technologie CMOS UV-EPROM

1985 mise sur le marché du 1er FPGA XILINX

1992 1er FPGA Altera : le Flex 8000 (15 000 portes max)

1993 Technologie EEPROM

2001 Lancement du Virtex II Xilinx (jusqu’à 10 millions de portes)

2005 FPGA avec des capacités supérieures à 50 millions de portes fonctionnant à des fréquences surpassant les 500 MHz

Page 45: Circuits logiques programmables

Marché des FPGA

REVENUS NETS DE XILINX ET ALTERA

0

200000

400000

600000

800000

1000000

1200000

1991 1992 1993 1994 1995 1996 1997 1998 1999 2000

ANNEE

RE

VE

NU

S N

ET

S E

N $

XILINX ALTERA

Page 46: Circuits logiques programmables

Marché des FPGA

0

5

10

15

20

25

30

35

40

%

1998 1999 2000ANNEE

PARTS DE MARCHE DES FABRICANTS DE FPGA

Xilinx

Altera

Lattice

Other

Actel

Page 47: Circuits logiques programmables

Marché des FPGA

PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000

Altera34%

Xilinx38%Lattice

14%

Other8%

Actel6%

Page 48: Circuits logiques programmables

Évolution de la technologie

Taille relative :

1994

0.6 µtrois couches

de métal

100%

1995

0.5 µtrois couches

de métal78%

1996

0.35 µquatre couches

de métal

32%

1998

0.25 µcinq couches

de métal

19%

1999

0.18 µsix couches

de métal

12%

Évolution de la technologieÉvolution de la technologieÉvolution de la technologieÉvolution de la technologie

2004 : techno cuivre 0.09 µm à 12 couches de métal (200 000 portes/mm²)

Technologie :

Année :

2002 : techno cuivre 0.13 µm à 8 couches de métal

Page 49: Circuits logiques programmables

Évolution de la technologie

La technologie cuivre (aujourd’hui maîtrisée) permet

d’augmenter la rapidité des circuits donc d’augmenter les fréquences de fonctionnement

Page 50: Circuits logiques programmables

Problèmes techniques

Pourcentage de perte à la fabrication du à l’augmentation de la taille des wafers (de 200 à 300 mm) =>

Ressources surnuméraires déconnectables permettent de prévoir le % de perte à la

fabrication

300 mm

200 mm

Page 51: Circuits logiques programmables

Évolution des prix

0

0,2

0,4

0,6

0,8

1

1,2

1995 1996 1997 1998 1999 2000

IND

ICE

PR

IX P

AR

EL

EM

EN

T L

OG

IQU

E

(So

urc

e :

Alt

era) Le prix par élément logique

diminue de 40 % par an

Page 52: Circuits logiques programmables

Évolutions

Prix (de l’élément logique) - 46% par an

Densité (logique) + 55% par an

Vitesse (fréquence système) + 35% par an

Page 53: Circuits logiques programmables

Évolutions

D’après Xilinx, en 2005 les plus gros FPGA auront

• des capacités de 50 millions de portes

• des complexités de 2 billions de transistors

• utilisant des technologies à 70 nm avec 12 couches de métallisations (cuivre)

• avec des cœurs de microprocesseurs câblés cadencés à 1GHz

Page 54: Circuits logiques programmables

FPGA ASIC?

Page 55: Circuits logiques programmables

Taxonomie des CI (HARD)

PLD

ASIC

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standard

cell

Full Custom

ASIC : Application Specific Integrated Circuit

FPGA : Field Programmable Gate Array

CPLD : Complex Programmable Logic Device

PAL : Programmable Array Logic

GAL : Generic Array Logic = PAL

SRAM : Static Random Access Memory

AntifuseSRAM

Page 56: Circuits logiques programmables

ASIC Full Custom

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standard

cell

Full Custom

AntifuseSRAM

ASIC : Application Specific Integrated Circuit

Page 57: Circuits logiques programmables

ASIC Full Custom

Au final

Au départ

SPECIFICATIONS

+

Page 58: Circuits logiques programmables

ASIC Standard Cell

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standard

cell

Full Custom

AntifuseSRAM

ASIC : Application Specific Integrated Circuit

Page 59: Circuits logiques programmables

ASIC Standard Cell

Au final

Au départ

SPECIFICATIONS

+

BIBLIHOTEQUED’ELEMENTS

PRE-CARACTERISES

+

Page 60: Circuits logiques programmables

ASIC Gate Array

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standart

cell

Full Custom

AntifuseSRAM

ASIC : Application Specific Integrated Circuit

Page 61: Circuits logiques programmables

ASIC Gate Array

Au départ

SPECIFICATIONS

+

Au final

Il est possible aussi d’utiliser des bibliothèques de composants pré-caractérisés

Page 62: Circuits logiques programmables

PAL

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standart

cell

Full Custom

AntifuseSRAM

PAL : Programmable Array Logic

Page 63: Circuits logiques programmables

PAL

Matrice de ET réalisant tous les produits possibles (maxtermes) connectée aux sorties par des  OU 

Grande surface de Si utilisée. Ces circuits ne sont plus utilisés aujourd’hui

Page 64: Circuits logiques programmables

CPLD

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standart

cell

Full Custom

AntifuseSRAM

CPLD : Complex Programmable Logic Device

Page 65: Circuits logiques programmables

CPLD

PAL

PALPAL

PAL

MATRICE D’INTERCONNECTIONSE/S E/S

Les CPLDs regroupent plusieurs PALs interconnectés par un réseau de connexions programmables.

Les CPLDs sont les prémisses des premiers FPGAs.

Ces circuits ne sont plus utilisés aujourd’hui car remplacés par les FPGAs.

Page 66: Circuits logiques programmables

FPGA

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standart

cell

Full Custom

AntifuseSRAM

A SUIVRE !!!FPGA : Field Programmable Gate Array

Page 67: Circuits logiques programmables

Comparaison

ASICCARACTERISTIQUES FPGA

GATE ARRAY STANDARD CELL FULL CUSTOM

DENSITE FAIBLE MOYENNE MOYENNE GRANDE

FLEXIBILITE GRANDE PETITE MOYENNE GRANDE

ANALOGIQUE NON NON OUI OUI

PERFORMANCE FAIBLE MOYENNE BONNE TRES BONNE

TEMPS DECONCEPTION

TRES PETIT MOYEN MOYEN GRAND

COUT DECONCEPTION

TRES PETIT MOYEN MOYEN TRES GRAND

UTILISATION DESOUTILS

SIMPLE COMPLEXE COMPLEXE TRES COMPLEXE

VOLUME DEPRODUCTION

PETIT MOYEN GRAND GRAND

Page 68: Circuits logiques programmables

Capacités comparéesN

ombr

e de

por

tes

(log)

Nom

bre

de p

orte

s (lo

g)

annéeannée

Moyenne d’utilisation

Moyenne d’utilisation

100M

10M

1M

100k

10k

1k

1989 1997 2001

Capacité max ASIC

Capacité max FPGA80% des design fonctionnent

aujourd’hui à moins de 200MHZ

Page 69: Circuits logiques programmables

Les FPGA sont au cœurs des systèmes

Page 70: Circuits logiques programmables

Temps de mise en œuvre

TEMPS DE MISE EN OEUVRE COMPARES

0 1 2 3 4 5 6 7 8 9 10

ASIC

FPGA

APPRENTISSAGE SAISIE COMPILATION SIMULATION FABRICATION

Page 71: Circuits logiques programmables

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

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

Cross-over de 200 000 de pièces environ en 2000

Cross-over de 1 000 000 de pièces environ en 2004

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

Page 72: Circuits logiques programmables

Contextes d’utilisations en grandes séries

ASIC

FPGA

Vo

lum

e

TempsConception

prototypage

Pré-série Production Fin de vie

À-coup de production

Page 73: Circuits logiques programmables

Les ASIC

AVANTAGES

• hautes intégrations

• hautes performances (vitesse, low-power)

• coûts faibles pour de gros volumes de production

• personnalisation

• sécurité industrielle

INCONVENIENTS

• prix du 1er exemplaire

• pas d’erreur possible

• non-flexible

• time-to-market élevé

• fabrication réservée aux spécialistes (fondeur)

Page 74: Circuits logiques programmables

Les FPGA

AVANTAGES

• possibilité de prototypage

• time-to-market faible

• adaptabilité aux futurs évolutions grâce à la reconfiguration

• flexibilité

INCONVENIENTS

• intégration limité par les ressources de routage

• performances

• prix à l’unité élevé pour de grosses productions

Page 75: Circuits logiques programmables

Conclusion

Le choix entre FPGA ou ASIC, se fait en fonction du cahier des charges de l’application :

• temps de mise sur le marché et durée de vie courte FPGA

• très petit nombre de circuits FPGA

• optimisation des performances ASIC

• grande série ASIC

Page 76: Circuits logiques programmables

FPGA et conjoncture économique mondiale

D’après une interview du directeur de Xilinx dans la revue électronique internationale

Les FPGA sont les rares produits d’électronique 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 durée de vies des produits

• possibilités techniques des FPGAs largement suffisantes pour la plus part des applications

« en 2006, il y aura un circuit logique programmable dans chaque appareil numérique …. »

Page 77: Circuits logiques programmables

FPGA et conjoncture économique mondiale

Page 78: Circuits logiques programmables

III. ARCHITECTURE

CONCEPTION

&

Page 79: Circuits logiques programmables

Les différentes familles de circuits logiques programmables1) Quelques définitions

• EEPROM ou E2PROM (Electrical Erasable Programmable Read-Only Memory) :Mémoire programmable à lecture seule, effaçable électriquement.

• EPLD (Erasable Programmable Logic Device):Circuits logiques reprogrammables.

• FPGA (Field Programmable Gate Array):Réseau de portes programmables

• GAL (Generic Array Logic):Circuits logiques PAL reprogrammables à technologie CMOS.

• ISP (In System Programmable):Circuit que l’on peut programmer (et donc effacer) même lorsqu’il est en place sur l’application.

• 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.

Page 80: Circuits logiques programmables

2)Les différentes familles de PLD

PLD

ASIC

ASIC

Circuits

sur mesure

Circuits

précaractérisés

Circuits

prédiffusés

Circuits

configurables

SEMI-CUSTOMCUSTOM

FPGA CPLD PALSea of gate

Gate array

Standard

cell

Full Custom

ASIC : Application Specific Integrated Circuit

FPGA : Field Programmable Gate Array

CPLD : Complex Programmable Logic Device

PAL : Programmable Array Logic

GAL : Generic Array Logic = PAL

SRAM : Static Random Access Memory

AntifuseSRAM

Page 81: Circuits logiques programmables

Les différentes familles de PLD (suite)

 TYPE Nombre de portes intégrées

Matrice ET Matrice OU Effaçable

PROM 2 000 à 500 000 Fixe Programmable Non

PAL 10 à 100 Programmable Fixe Non

GAL 10 à 100 Programmable Fixe Electriquement

EPLD 100 à 3000 Programmable Fixe Aux U-VElectriquement

FPGA 3000 à 6.000.000 Programmable Programmable ElectriquementNon

Page 82: Circuits logiques programmables

a) Les PAL

• L’invention des PAL date d’une vingtaine d’année, ce sont les ingénieurs de la société MMI rachetée par AMD qui ont eut l’idée d’utiliser la technologie des fusibles.

• Ce sont des composants programmables une seule fois.

Page 83: Circuits logiques programmables

ab

1 1 1 1

&

&

&

&

Q0 Q1

>1 >1

Structure de base d’un PLD

•Ils possèdent 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 opération est bien sûr effectuée en utilisant un programmateur adapté.

Page 84: Circuits logiques programmables

.

ab

Q0 Q1

: Fusible intact

0............10 babababababababaQQ

Q a b a b0 . . Q a b a b1 . .

ab

Q0 Q1

: Fusible intact

PLD programmé PLD ayant ses fusibles intacts

Structure de base avec les normes des constructeurs

Page 85: Circuits logiques programmables

Porte trois états permettantde déconnecter la broche

de la matrice "ET"

I/O

•Certaines broches de ces circuits peuvent être utilisées aussi bien en entrée qu’en sortie grâce à un système de logique 3 états. •La commande de cette dernière est configurée au moment de la programmation.

•La structure de sortie permet aussi de réinjecter les sorties en entrée (Feed-back).

Configuration des entrées/sorties

Page 86: Circuits logiques programmables

REFERENCE DES PAL

Les diverses possibilités de ces circuits et leur standardisation ont conduit les constructeurs à définir une nomenclature permettant de décoder assez facilement la référence des PALs.PAL : PAL(CE) : CE pour version CMOS XX : Nombre d’entréesAB : Structure de sortieYY : Nombre de sortiesC : ConsommationZZ : VitesseDEF : Type de boîtier

Lettre(s) Code(s) Structure de sortie

L Combinatoire active bas

H Combinatoire active haut

C Combinatoire complémentaire

R Registre synchrone (D)

RA Registre asynchrone

X Registre OU exclusif

V Versatile

Page 87: Circuits logiques programmables

Remarques :      Le nombre d’entrées varie entre 10 et 22.      Le nombre de sorties varie entre 1 et 10.      La puissance est indiquée par une lettre code.      La vitesse indique le temps de propagation en nS.      Les versions versatiles ont une cellule de sortie programmable permettant d’obtenir n’importe quel

autre type de structure de sortie (L, H, R ...).      Les versions CMOS (CE) sont effaçables électriquement. Les fusibles sont remplacés 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 d’entrées :: Structure de sortie :: Nombre de sorties :: Consommation :: Vitesse :: Type de boîtier :

Page 88: Circuits logiques programmables

Structures de base des PALBrochage du PAL 16R6 -

Brochage du PAL 16L6 -

Page 89: Circuits logiques programmables

PAL22V10 : Sortie (VERSATILE)

Page 90: Circuits logiques programmables

PAL22V10

ZOOM Complet

Page 91: Circuits logiques programmables

b) Les GAL

• Les GAL sont des PAL à technologie CMOS, c’est à dire programmables et surtout effaçables électriquement.

• On retrouve les mêmes références qu’en PAL.• Protection contre la duplication.• Les GAL sont dotés d’un bit de sécurité qui peut être

activé lors de la programmation empêchant ainsi toute lecture du contenu du circuit. Ce bit est remis à zéro seulement en effaçant complètement le GAL.

• Il est constitué d’un ensemble de huit octets, appelé signature électronique, pouvant contenir des informations diverses sur le produit.

Page 92: Circuits logiques programmables

c) Les EPLD

Généralités

• L’introduction des EPLD telle que l’a voulue ALTERA visait deux buts :

• Densité d’intégration supérieure aux PAL

• Fonctionner à une vitesse au moins égale aux PAL bipolaires

Page 93: Circuits logiques programmables

EPLD : Description Fonctionnelle

Les EPLD de la famille MAX possèdent une architecture comportant les éléments suivants :

• Logic array blocks (LABs)• Macrocellules• Réseau d’interconnections Programmables (PIA)• I/O control blocks

Les séries MAX incluent des entrées dédiées telles que des (horloges,clear,..) pour chaque macrocellule.

Page 94: Circuits logiques programmables

Exemple de EPLD : le MACH 4

Le MACH 4 est un EPLDprogrammable in situ (ISP)par l'intermédiaire d'un bus J-TAG. Il dispose de 32 entrées /sortie, de matrices « ET »programmables, de matrices"OU" fixes, d'une matricecentrale d'interconnexion,d'une circuiterie d'horloge etde 32 ou 64 macrocellules.L'architecture interne duMACH 4-32/32 estéquivalente à 4 PALCE

22V10

interconnectés.

Page 95: Circuits logiques programmables

d) LES FPGA (field programmable gate arrays)

L'architecture, retenue par Xilinx, se présente sous forme de deux couches :

• une couche appelée circuit configurable,

• une couche réseau mémoire SRAM.

Page 96: Circuits logiques programmables

LES FPGA

• La couche dite 'circuit configurable' est constituée d'une matrice de blocs logiques configurables CLB permettant de réaliser des fonctions combinatoires et des fonctions séquentielles.

• Tout autour de ces blocs logiques configurables, nous trouvons des blocs entrées/sorties IOB dont le rôle est de gérer les entrées-sorties réalisant l'interface avec les modules extérieurs . La programmation du circuit FPGA appelé aussi LCA (logic cells arrays) consistera par le biais de l'application d'un potentiel adéquat sur la grille de certains transistors à effet de champ à interconnecter les éléments des CLB et des IOB afin de réaliser les fonctions souhaitées et d'assurer la propagation des signaux.

• Ces potentiels sont mémorisés dans le réseau mémoire SRAM.

Page 97: Circuits logiques programmables

La SRAM

• La configuration du circuit est mémorisée sur la couche réseau SRAM et stockée dans une ROM externe. Un dispositif interne permet à chaque mise sous tension de charger la SRAM interne à partir de la ROM. Ainsi, un même circuit peut être exploité successivement avec des ROM différentes puisque sa programmation interne n'est jamais définitive.

• 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 première étape purement logicielle va consister à dessiner puis simuler logiquement le circuit fini, puis lorsque cette étape sera terminée on effectuera une simulation matérielle en configurant un circuit réel et l'on pourra alors vérifier si le fonctionnement réel correspond bien à l'attente du concepteur, et si besoin est identifier les anomalies liées généralement à des temps de transit réels légèrement différents de ceux supposés lors de la simulation logicielle ce qui peut conduire à des états instables voire même erronés..

Page 98: Circuits logiques programmables

Architecture interne du FPGA

Page 99: Circuits logiques programmables

Les architectures

L’architecture reflète la topologie du réseau de routage

Trois grands styles architecturaux s’affrontent

• îlots de calcul, majoritaire chez Xilinx

• hiérarchique, majoritaire chez Altera

• logarithmique, un peu exotique...

Page 100: Circuits logiques programmables

Architecture îlots de calculs

Les éléments fonctionnels (logique, mémoire, IO) sont regroupés sous forme de matrice

Ce type d’architecture est très répandu, en particulier chez Xilinx, mais aussi chez ATMEL

Page 101: Circuits logiques programmables

Les composants logiques programmables :

Architectures globales

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

Page 102: Circuits logiques programmables

Architecture îlots de calculs

Réseau de routage :

• lignes horizontales

• lignes verticales

Élément configurable :

• élément logique

• élément de mémorisation

• élément arithmétique

• entrée/sortie

EC

Matrice de connexions

MCBloc de connexions

BC

Page 103: Circuits logiques programmables

Les blocs de connexions

EC

BC

EC

Page 104: Circuits logiques programmables

Architecture hiérarchique

Les réseaux de routage d’une architecture hiérarchique dépendent du niveau de hiérarchie dans lequel on se trouve.

Ceci permet une optimisation du routage par niveau

Très répandu chez Altera et Lattice

Page 105: Circuits logiques programmables

Architecture hiérarchique

Page 106: Circuits logiques programmables

Élément Hiérarchique de niveau 1

Élément Hiérarchique de niveau 2

Architecture hiérarchique

Réseau de routage de niveau 1

Réseau de routage deniveau 2

Élément Hiérarchique de niveau 3

• éléments logiques• éléments de mémorisation• ...

Réseau de routage de niveau 3

Page 107: Circuits logiques programmables

Architecture logarithmique

Architecture hiérarchique dans laquelle chaque niveau i correspond à une matrice de 42i cellules de bases.

Chacun de ces niveaux possède des ressources de longueur 42i-1.

Exemple typique: le circuit Xc6200 de Xilinx

Page 108: Circuits logiques programmables

Cell

Cell

Cell

Cell

Cell

Cell

Cell

CellCellCellCell

Cell

CellCellCellCell

Architecture logarithmique

Cellule logique de base

Matrice de 16 cellules

Cell

Cell

Cell

Cell

Cell

Cell

Cell

CellCellCellCell

Cell

CellCellCellCell

Lignes de longueur

4 cellules

4*4

4*4

4*4

4*4

4*4

4*4

4*4

4*44*44*44*4

4*4

4*44*44*44*4

16*16

16*16

16*16

16*16

16*16

16*16

16*16

16*1616*1616*1616*16

16*16

16*1616*1616*16 16*16

Lignes de longueur

64 cellules

Lignes de longueur

16 cellules

Page 109: Circuits logiques programmables

Les éléments logiques

Les éléments logiques configurables sont les briques de bases de tous les FPGA, ils sont majoritairement réalisés autour de LUT, Look Up Table, de chaîne de propagation rapide de la retenue et de bascule D.

On rencontre toutefois des cellules logiques rudimentaires à base de multiplexeurs

Page 110: Circuits logiques programmables

Les Look Up Tables

Ce sont de petits éléments de mémorisation, qui reflètent la table de vérité d’une fonction logique.

SRAM

SRAM

SRAM

SRAM

SRAM

SRAM

In 0 In 1 In 2 In 3

Out

Out

In 0

In 1

In 3

In 2LUT 4

LUT = Table de scrutation

LUT 4 entrées = RAM 2octets

Page 111: Circuits logiques programmables

Les Look Up Tables

0

1

1

0

0

1

In 0 In 1 In 2 In 3

Out

1 1 1 1

1 1 1 0

1 1 0 1

1 1 0 0

1 0 1 1

1 0 1 0

Page 112: Circuits logiques programmables

Les Look Up Tables

0

1

1

0

0

1

In 0 = 0 In 1 In 2 In 3

Out

1 1 1 1

1 1 1 0

1 1 0 1

1 1 0 0

1 0 1 1

1 0 1 0

Page 113: Circuits logiques programmables

Les Look Up Tables

0

1

1

0

0

1

In 0 =0 In 1 In 2 In 3

Out

1 1 1 1

1 1 1 0

1 1 0 1

1 1 0 0

1 0 1 1

1 0 1 0

Page 114: Circuits logiques programmables

Les Look Up Tables

0

1

1

0

0

1

In 0 =0 In 1 = 1 In 2 In 3

Out

1 1 1 1

1 1 1 0

1 1 0 1

1 1 0 0

1 0 1 1

1 0 1 0

Page 115: Circuits logiques programmables

Les Look Up Tables

0

1

1

0

0

1

In 0 =0 In 1 = 1 In 2 In 3

Out

1 1 1 1

1 1 1 0

1 1 0 1

1 1 0 0

1 0 1 1

1 0 1 0

Page 116: Circuits logiques programmables

Les Look Up Tables

0

1

1

0

0

1

In 0 =0 In 1 = 1 In 2 =1 In 3 = 1

Out= 1 = In3 • In2 • In1 • Ino

1 1 1 1

1 1 1 0

1 1 0 1

1 1 0 0

1 0 1 1

1 0 1 0

Page 117: Circuits logiques programmables

Les Look Up Tables

Généralement le nombre d’entrées des LUT est de quatre car c’est un bon compromis entre vitesse et surface

Le nombre de LUT dans les éléments logiques varie de 2 à 4 généralement

Résultats d’une étude de l’Université de Toronto :

Critère Taille des LUT Nombre de LUT

Surface 3 – 4 6 – 10

Délais 7 4 – 10

Surface et délais 4 – 6 4 – 10

Page 118: Circuits logiques programmables

Les Look Up Tables

Élément logique de base avec LUT

LUT

FAST CARRY CHAIN

D

Q

SORTIESENTREES

Carry-In

Carry-Out

HORLOGE

Page 119: Circuits logiques programmables

Les réseaux d’horloges

Les circuits sont de plus en plus grands =>

augmentation de la longueur des connexions =>

les chemins d’horloges sont plus longs =>

plus de retard =>

ASYNCHRONISME MALSAINT !!!

Page 120: Circuits logiques programmables

Les réseaux d’horloges

Le problème 1 : JITTER : bruit de phase

Le problème 3 : on peut avoir besoin de plusieurs horloges dans un même circuit

Le problème 2 : CLOCK SKEW : Décalage entre les transitions de la même horloge à différents points d’un circuit.

Page 121: Circuits logiques programmables

Solutions d’asservissement des horloges

Les DLL (numérique)

Delay-Locked Loop

( XILINX )

Les PLL (analogique)

Phase-Locked Loop

( ALTERA )

Page 122: Circuits logiques programmables

Caractéristiques des PLL et DLL

Page 123: Circuits logiques programmables

Comparaison PLL vs DLL

Bien que plus performantes les PLL sont aussi beaucoup

plus complexes à intégrer (mixage analogique et

numérique)

Avons nous besoin d’une telle précision ???

Comparaison "objective" faite par ALTERA

Page 124: Circuits logiques programmables

Les cœurs de processeurs

Aujourd’hui les systèmes numériques font de plus en plus appel conjointement à des ressources logicielles micro-programmées (µP, µC, DSP) et des ressources matérielles re-configurables (FPGA)

D’où l’idée de mettre sur un même puce un cœur de microprocesseur et un cœur de logique configurable, les deux étant optimisés technologiquement

Le cœur de processeur peut prendre environ 10% de la surface totale de la puce

Page 125: Circuits logiques programmables

Les cœurs de processeurs

Matrice FPGA

Cœur ARM 922T

RAM simple portRAM double portAltera propose le circuit Excalibur contenant :

• une partie configurable :

type APEX 20K1000

• un cœur de processeur :

ARM9 (32 Bits) à 200MHz

8 K octets de cache Instructions

8 K octets de cache Données

Page 126: Circuits logiques programmables

Les cœurs de processeurs

PLL

Timer

UART

InterruptControllerWatchdog

Timer

JTAG

128 Kbytes SRAM64 Kbytes DPRAM

32 Kbytes SRAM16 Kbytes DPRAM

256 Kbytes SRAM128 Kbytes DPRAM

Coeur de processeur

FPGA

DPRAM

XA1

XA4

XA10

TraceModule

ARM922T

SRAM SRAM SRAM

DPRAM DPRAM

ExternalMemory

InterfacesProcessor & Interfaces

I-CACHE D-CACHE

ARM 8K Bytes 8K Byte

LEs 4160

ESB Bytes 6.5K

LEs 16400

ESB Bytes 26K

LEs 38400

ESB Bytes 40K

Page 127: Circuits logiques programmables

Les cœurs de processeurs

Xilinx propose aussi une version de son circuit

Virtex II avec un cœur de processeur

le Virtex II-Pro comprenant :

• de 1 à 4 cœurs Power-PC (RISC 32 bits) 125MHz

• matrice VIRTEX avec capacité de 900 mille portes

Page 128: Circuits logiques programmables

Les alimentations en énergie

Dans la plupart des cas il faut deux alimentations

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

Le cœur est alimenté généralement 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 entrées sorties sont alimentées sous 3.3V, 2.5V,

1.8V ou 1.5 V suivant le standard choisi

Page 129: Circuits logiques programmables

Les alimentations en énergie

Technologiquement pour permettre aux entrées sorties de supporter des tensions d’alimentations jusqu’à 3.3V on effectue plusieurs oxydations avec des masques spéciaux

De cette façon la technologie utilisée pour les entrées-sorties n’est pas la même que pour le cœur

Page 130: Circuits logiques programmables

Répartition de la consommation de puissance

RESSOURCES DE ROUTAGE

65%

RESEAU D’HORLOGE

21%

ENTREES SORTIES

9%

RESSOURCES LOGIQUES

5%

Page 131: Circuits logiques programmables

Modélisation de la consommation de puissance

La consommation globale du circuit peut être donnée par le modèle suivant :

P = Pstat + α*[Cwire + Cswitches]*Vdd²*f

De ce fait la répartition vue précédemment est vraie dans certaines conditions:

• Technologie (Pstat , C, Vdd)

• Fréquence (action linéaire)

• Taux d’activité (action linéaire)

• Taux d’occupation (C)

• Algorithmes de placement routage (fmax, C)

• Nombre d’entrées sorties utilisées

=> du fait de ces nombreux paramètres il est très compliqué de trouver un moyen d’estimer la consommation de puissance du circuit pour une application

Page 132: Circuits logiques programmables

Les architectures de FPGA sont donc très variées, tant aux niveau du routage que du grain des ressources qui les composent.

Savoir quels types d’architecture et de ressources sont les plus en adéquation avec

l’application que l’on développe reste un challenge aujourd’hui.

Page 133: Circuits logiques programmables

IV. LA FAMILLEALTERA

Page 134: Circuits logiques programmables

La famille ALTERA

1984 Débuts d’Altera qui vend des EPLD

1988 Lancement des CPLD MAX (Multiple Array matriX) qui sont des fétus de FPGA

1992 1er FPGA Altera : le FLEX 8000 (15 000 portes) (Flexible Logic Element matriX) technologie 0.5 µm

1995 Lancement de la famille FLEX 10K (250 000 portes)

1997 Famille FLEX 6K bas coûts (24 000 portes)

1999 Famille APEX 20K (1 500 000 portes)

2000 Famille APEX 20K C utilisant la technologie cuivre

2000 Famille APEX 20K E avec plus de ressources mémoires technologie 0.18 µm

2001 Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cœur de processeur ARM 9

2001 Famille APEX II (dont le but est de concurrencer le Virtex de Xilinx) (3 000 000 de portes) technologie 0.15 µm

Février 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-coûts

Page 135: Circuits logiques programmables

La famille ALTERA

STRATIX

Page 136: Circuits logiques programmables

APEX II - Caractéristiques

Le plus gros composant disponible est l’APEX II EP2A70

Caractéristiques MAX:

• 3 000 000 de portes utilisables

• 1 146 880 bits de mémoires RAM soit 140 Kilo octets

• 4 PLL

• cœur alimenté en 1.5 V

• 1 060 entrées sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V)

• 380 Mbps de débit en entrées sorties

• technologie cuivre 0.15 µm 8 niveaux de métallisation

• taille de la puce 40*40 mm soit 1600 mm²

Page 137: Circuits logiques programmables

APEX II - Architecture

L’architecture est de type hiérarchique, au premier niveau de hiérarchie apparaisse les MegaLAB : Mega Logic Array Block

70 colonnes de MegaLAB

4 rangées de MegaLAB

soit au total 280 MegaLAB

Page 138: Circuits logiques programmables

APEX II - MegaLAB

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

et 1 ESB (Embedded System Block)

Page 139: Circuits logiques programmables

APEX II - LAB

Les LAB sont constitués de 10 LE : Logic Element

Page 140: Circuits logiques programmables

APEX II - LE

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

Page 141: Circuits logiques programmables

APEX II - Carry Chain

Page 142: Circuits logiques programmables

APEX II - ESB

Bloc de mémoire de 4096 bits

configurable en simple ou double port

Peut être utilisé en CAM (Content Access Memory)

et en matrice PAL

Page 143: Circuits logiques programmables

APEX II - Entrées Sorties

Page 144: Circuits logiques programmables

APEX II - PLL

Page 145: Circuits logiques programmables

Stratix

Toujours plus gros, toujours plus performant, Stratix, le dernier née d’Altera !

Page 146: Circuits logiques programmables

Stratix - Architecture

Page 147: Circuits logiques programmables

Stratix - Architecture

Page 148: Circuits logiques programmables

Stratix - Blocs mémoires

Page 149: Circuits logiques programmables

Stratix - DSP élémentaires

Des blocs multiplieurs sont insérés

Page 150: Circuits logiques programmables

Stratix - Réseau d’horloges

Page 151: Circuits logiques programmables

Évolutions futures

Progression de la famille STRATIX:

Version Excalibur avec un cœur ARM10

Version bas coûts, plus petite, pour les grandes

séries (=> CYCLONE)

Page 152: Circuits logiques programmables

VI. FAMILLE

XILINX

Page 153: Circuits logiques programmables

La Famille XILINX

1985 Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolète)

1987 Famille XC3000 (6000 portes - obsolète)

1991 Famille XC 4000 (500 000 portes)

1995 Famille XC 5200 spéciale petit design (18 000 portes) 0.6 µm 6 couches

1996 Innovations avec la famille XC 6200 (100 000) visant le coprocessing et le reconfigurable dynamiquement, echec commercial

1998 Famille SPARTRAN vise la souplesse d’utilisation et les petits design

1999 Famille VIRTEX vise les fortes capacités ( 4 millions de portes)techno 0,22 µm 5 niveaux de métallisation

1999 VIRTEX-E amélioration du VIRTEX avec plus de mémoires,techno 0.18 µm 6 niveaux de métallisation

2000 Famille SPARTRAN II, FPGA moyennes capacités (100 000 portes) bas coûts, ce sont de petits VIRTEX, techno 0.18 µm 6 niveaux de métallisation

2001 Famille VIRTEX II, toujours plus fort (10 millions de portes)techno 0.15 µm 8 niveaux de métallisation, avec des transistors rapide 0.12 µm

2002 Famille VIRTEX II-Pro qui contient 4 cœurs de µP RISC Power-PC

Xilinx propose aussi une gamme complète de CPLD

Page 154: Circuits logiques programmables

La Famille XILINX

Page 155: Circuits logiques programmables

Le plus gros composant disponible est le VIRTEX II XC2V 10000

Caractéristiques MAX:

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

• 5 376 K bits de mémoires RAM soit 656 Kilo octets

• 192 Multiplieurs (18*18 bits à 200MHz)

• 12 DLL

• cœur alimenté en 1.5 V

• 1 108 entrées sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V)

• Fréquence interne 420 MHz

• 840 Mbps de débit en entrées sorties

• technologie allu 0.15µm 8 niveaux de métallisation

• taille de la puce 40*40 mm soit 1600 mm²

Virtex II - Caractéristiques

Page 156: Circuits logiques programmables

Virtex II - Architecture

CLB : Configurable Logic BlockCLB

Slice

Page 157: Circuits logiques programmables

Virtex II - Réseau de routage

Page 158: Circuits logiques programmables

Virtex II - Réseau d’horloges

DCM : Digital Clock Manager

Page 159: Circuits logiques programmables

Virtex II - DCM

Digital Clock Manager

Page 160: Circuits logiques programmables

Virtex II - Entrées sorties

Page 161: Circuits logiques programmables

Virtex II - Configuration

Page 162: Circuits logiques programmables

Virtex II - Évolution

Page 163: Circuits logiques programmables

Virtex II Pro- Architecture

Page 164: Circuits logiques programmables

VII. AUTRES

DE FPGA

EXEMPLES

Page 165: Circuits logiques programmables

Autres exemples de FPGA

Il n’est pas nécessaire de détailler d’autres architectures de FPGA, elles n’apportent rien de plus que ce que l’on a vue chez Xilinx ou Altera

Mais il est toutefois intéressant de connaître l’offre d’autres fabricants

Page 166: Circuits logiques programmables

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 système

HiRel, RT, RH, technologie antifusiblessérie militaire, tolérance aux radiations

Page 167: Circuits logiques programmables

Autres exemples de FPGA

ATMEL AT40K, technologie SRAM, architecture îlots de calcul, faible densité (5K à 50K portes), reconfigurable dynamiquement, des cœurs FPGA dérivés de cette famille peuvent s’intégrer dans les circuits prédiffusés ATMEL.

Lattice ispXPGA, technologie SRAM, archi îlots de calcul, densité de 125K à 1,2M portes. EEPROM de configuration intégré => configuration à la mise sous tension en moins de 200 µs

Page 168: Circuits logiques programmables

Autres exemples de FPGA

QuickLogic pASIC (1,2 et 3), série Quick (Ram, PCI),

technologie antifusible (One Time Programmable), faible densité de 1K à 90K portes

Cypress CY39K, architecture mixte CPLD-FPGA

Page 169: Circuits logiques programmables

VIII. UTILISATIONS

CAO

&

Page 170: Circuits logiques programmables

Programmation des PLDs.La programmation des PLDs nécessite un logiciel adapté pour le développement du programme et un programmateur permettant de « griller » le circuit.

Le fichier JEDEC est un ensemble de données binaires indiquant au programmateur les fusibles à « griller ».

Saisie des équations logiques, de la table de vérité, du logigramme ou de l’algorithme avec le logiciel

Cahier des charges

Mise en « équation » du problème

Résolution du problème sous forme d’équation logique, de logigramme ou d’algorithme

Simplification logique

Génération d’un fichier au format JEDEC

Simulation

Choix du PLD en fonction du nombre d’entrées et de sorties

Ces étapes sont effectuées par le

logiciel

Ces étapes sont effectuées par le

logiciel

Programmation du PLD à l’aide du fichier JEDEC et du programmateur

PLD programmé

Page 171: Circuits logiques programmables
Page 172: Circuits logiques programmables

Outils de CAO

Les outils de CAO sont les points faibles de ces circuits. Si un circuit est très performant il ne se vendra pas si les outils qui lui sont associés ne sont pas performants !

Chez Xilinx 50% des ingénieurs de R&D se consacrent à ces outils !

Page 173: Circuits logiques programmables

Outils de CAO

Tous les fabricants de FPGA proposent des outils de CAO, passage obligé pour configurer leurs circuits

pour Xilinx c’est ISE - Foundation

pour Altera c’est Quartus ou MAX + II

Avec ces outils on peut réaliser tout le flot de conception de la synthèse à la configuration. Pour certaines phases du flot ces outils font en fait appel à d’autres outils

Page 174: Circuits logiques programmables

Autres outils de CAO

Flot FPGA

Synthèse

Simulation

Page 175: Circuits logiques programmables

IP : Intellectual Property

Et plus encore !

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

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

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

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

Communications Bus InterfaceDigital Signal

ProcessingProcessor,Peripheral

Page 176: Circuits logiques programmables

Exemple d’IP : NIOS

NIOS : cœur de processeur RISC générique optimisé

Caractéristiques :

• données sur 16 ou 32 bits

• 128, 256 ou 512 registres

• registres à décalage rapide ( 1, 3, 7, 15 ou 31 bits/clock)

• possibilités de lui adjoindre des périphériques (UART, RAM, ROM)

APEX EP20K200E

Ici le reste de votre système

FLASH

SRAM

SerialPort

Timer

IRQ

UART

12% d’unEP20K200E

PB

M CPU

Page 177: Circuits logiques programmables

IX. EVOLUTIONS

CODESIGN, SORC

Page 178: Circuits logiques programmables

Les nouvelles utilisations des FPGA

Longtemps réduit au prototypage, aujourd’hui les FPGA sont utilisés, pour leur capacité de reconfiguration, dans des systèmes électroniques complexes, même pour de la grande série.

• le CoDesign pour le Run Time Reconfigurable

• les SORC : System-On-a-Reconfigurable-Chip

Page 179: Circuits logiques programmables

Le CoDesign

Définition : Les méthodes de CoDesign sont des méthodes de développement simultané (de manière concurrente) des parties HW et SW (spécification, design, vérification)

SW = microprocesseur HW = FPGA ou ASIC

Buts :

• Gérer au mieux l’hétérogénéité de la nature des fonctions qui composent le système (du logiciel à l’architecture reconfigurable)

• Comparer les différents choix de partitionnement

• Définir les interfaces entre le SW et le HW

• Valider le système complet (co-vérification et co-simulation)

Page 180: Circuits logiques programmables

Flot de CoDesign

SPECIFICATION HAUT NIVEAU DE L’APPLICATION

ESTIMATION SYSTEME

ESTIMATION LOGICIELLE ESTIMATION MATERIELLE

PARTITIONNEMENT

SYNTHESE LOGICIELLE SYNTHESE MATERIELLESYNTHESE INTERFACE

COSIMULATION

IMPLEMENTATIONHW et SW

TESTS

ordonnancement de l’applicationproposition de candidats HW et SW

Choix des réalisation HW ou SW

Retour d’expérience

Page 181: Circuits logiques programmables

Les SORC

Technique héritière direct des SOC : System On Chip

Différentes notations :

• SORC (Xilinx) : System On a Reconfigurable Chip

• SOPC (Altera) : System On a Programmable Chip

• CSOC : Configurable System On Chip

L’utilisation des techniques de CoDesign est inévitable !

L’engouement pour les SORC est certain vue le nombre de cœur de processeurs (IP ou câblés) présents sur le marché

Page 182: Circuits logiques programmables

CONCLUSIONS

Page 183: Circuits logiques programmables

Le futur

Page 184: Circuits logiques programmables

Le futur

Processeurs re-programmantleur environnement en temps réel :« Hardware intelligentprogrammé à haut niveau »

Page 185: Circuits logiques programmables

Le futur

Circuit programmable Analogiqueset Mixtes : (www.anadigm.com)

Intégration de MEMS : Plus tard

Page 186: Circuits logiques programmables

REFERENCESBIBLIOGRAPHIQUES

Page 187: Circuits logiques programmables

Références bibliographiques

Livres :

Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Méthodes 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 ingénieurs de conception

Électronique International Hebdo

Xcell Journal (Xilinx press)

Revues IEEE

Page 188: Circuits logiques programmables

Références 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 l’embedded developers journal

http://www.mvd-fpga.com/fr/default.htm site d’une entreprise française de service spécialisée 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 l’ENSEIRB L. Dulau

http://micdigital.web.cern.ch/micdigital/VLSI_Trieste/design_styles/index.htm autre cours en PPT

Page 189: Circuits logiques programmables

conférences

Conférences spécialisées :

FPGA ACM International Symposium on Field-Programmable Gate Arrays

FPL International Workshop on Field-Programmable Logic and Applications

FCCM IEEE Symposium on Field-Programmable Custom Computing Machines

FTP IEEE International Conference on Field-Programmable Technology

RSP IEEE International Workshop on Rapid System Prototyping

ERSA Engineering of Reconfiguraable Systems and Algorithms

RAW Reconfigure Architectures Workshop (part of IPDPS)

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

Conférences généralistes

DAC : Design Automation Conference

ASP-DAC Asian and South Pacific Design Automation Conference

DATE Design Automation & Test Exhibition

ISCAS IEEE International Symposium on Circuits and Systems

Page 190: Circuits logiques programmables

MERCI ...