les fpgas - boutillon/enseignement/fpga.pdf · nathalie julien, cours iup eea 1999. jean-luc...
TRANSCRIPT
- 1 -
-1-Emmanuel Boutillon
Les FPGAs
Emmanuel Boutillon
Cours réalisé à partir de :
Nathalie Julien, cours IUP EEA 1999.
Jean-Luc Danger, ENST Paris
Cours de l’ISEP disponible sur le WEB
Pierre Bomel
-2-Emmanuel Boutillon
å Comment et pourquoi faire de la logiqueprogrammable ?
� Les technologies de personnalisation
ê PAL, EPLD et FPGA
� Spécificité du développement des CLPs
� Situation présente et évolution.
PLAN
- 2 -
-3-Emmanuel Boutillon
microprocesseursprocesseurs DSPsmémoirespériphériques
FPGAEPLD
circuits logiques
programmablesASICs
Position du problème
Matériel Logiciel
circuits existantscircuits personnalisés
-4-Emmanuel Boutillon
Position du problème
L’intérêt des CLP se justifie (depuis 30 ans) par :
Le coûts très important des ASICs
Le temps de développement d ’un ASIC
Les performances faibles du logiciel
La non flexibilité des solutions ASIC
« Démocratisation » des FPGA
- 3 -
-5-Emmanuel Boutillon
Coût à la pièce
Nombre de pièces
ASIC
CLP
NRE
seuil
le seuil augmente si le nombre de portes baisseseuil mini = 1000 pièces
Coût CLP/ASIC
-6-Emmanuel Boutillon
temps
Temps de conception
spec
FPGA
ASICCode+synth
PlacementRoutage fab
spec Code+synth
speclogiciel
PR
Code
µP
+
Time to market
- 4 -
-7-Emmanuel Boutillon
processeur : traitement séquentiel
fclock
nb op/cyclef =
f
Nb opérations/cycle1 2 3 4 8 12 16 20 24 28 32 36 40 44 48 52
10
20
30
40
50
60
70
80 circuit personnalisé : traitement parallèle
F clock
fréquencede traitement
Les performances
-8-Emmanuel Boutillon
Démocratisation de la conception
Temps log10(complexité)
10Masque
8Transistor
7Porte
5RTL
4Spécifications
3Idée
T0 Tfin
Développem
ent
Val
idat
ion
ASI
C
Fonderie
Produit
Val
idat
ion
CL
P
Affaire deSpécialistes avec un équipement
lourd
- 5 -
-9-Emmanuel Boutillon
● prototypage➯ conception rapide de démonstrateurs
➯ autonomie (pas de fondeur)
● Reprogrammation➯ maintenance in situ
Intérêts propres aux CLPs
-10-Emmanuel Boutillon
Comment faire des CLP ?
Un circuit classique contient :- des portes logiques ;- des connections entre les portes logiques ;- des éléments de mémorisation (registre et/ou mémoire) ;- des entrées-sorties.- une (ou des) horloges- une structure hiérarchique
Le CLP doit donc avoir les mêmes fonctionnalités, avec la notionde « programmabilité ».
- 6 -
-11-Emmanuel Boutillon
Toute fonction logique booléenne peut s'exprimer sous forme canonique
S = A2A1A0 + A2A1A0 + A2A1A0 + A2A1A0
minterme ou terme produit
Matrice ETproduits des entrées
Matrice OUsomme des produits
Ai
Sj
= Réseau logique programmable
exemple :
Fonction logique simple :Réseau logique
-12-Emmanuel Boutillon
f(A1,A0 ) = f(0,0)A1A0 + f(0,1)A1A0 + f(1,0)A1A0 +f(1,1)A1A0fonction logique 2 entrées :
mémoire 4 mots de 1 bit : d = d0A1A0 + d1A1A0 + d2A1A0 + d3A1A0
A0
A1
F(A1,A0)=d= A1A0 + A1A0
adresse=entrées
liaison non programmableliaison programmable
Mémoire
d0=0d1=1
d2=1d3=0
- 7 -
-13-Emmanuel Boutillon
A0
A1
A2
A3
S0
S1
matrice
ETfigée
matrice
OUprogrammable
adresse=entrées
liaison non programmableliaison programmable
mémoire 16 mots de 2 bits => 2 fonctions logiques de 4 entrées
Mémoire
-14-Emmanuel Boutillon
LOOK UP TABLE (LUT)
Une mémoire contient la table de vérité d ’une fonction logique :
Ex : Fonction F(a,b,c) = a xor b xor c
000 0001 1010 0011 1100 0101 1110 0111 1
SRAMAdresse(a,b,c)
F(a,b,c)
=> Mode de lecture différent du résultat
- 8 -
-15-Emmanuel Boutillon
ABCD
S0
S1
S2
S3
matrice
ETprogrammable
matrice
OUfigée
liaison non programmableliaison programmable
Programmable Array Logic
somme de produits = Macrocellule
PAL
PLD : 4 fonctions de 12 mintermes (max) de 3 variablesAu déparet #70-85 : programmation « à la main » (fichier de fusibles)
-16-Emmanuel Boutillon
l utilisée pour la technologie ANTIFUSIBLE
équivaut à une LUT cablée
mux
a b
sortie
e0
e1
e2
e3
sortie = abe0 ou abe1 ou abe2 ou abe3
intérêt : surface réduite cellule grain fin
cellule logique à MUX
- 9 -
-17-Emmanuel Boutillon
ET
OU
OU
ET
MEMOIRE
PAL
MUX
type structure avantage inconvénient
toutes les fonctions=> 22n possibles
• grand nombre d'entrées• économique
•Mémoire conséquente sinombreuses entrées
Nombre de mintermes limité
Taille très faible Limité à peu d ’entrées
comparatif des réseauxprogrammables
-18-Emmanuel Boutillon
Programmation desinterconnections
Par connexion ou non de deux fils
F1
F2
F1
F2
Par l’utilisation de multiplexeur
F1
F2
F1’ Le nombre de connexionsréalisables est limité à ce quiexiste...
!
- 10 -
-19-Emmanuel Boutillon
Programmation des registres et E/S
clk
DQ
rst
Registre
Possibilité d ’utiliser ou non le registre
Possibilité de programmerle PAD en mode entrée ousortie.
-20-Emmanuel Boutillon
Système d’entrée sortie complet
DFF
DFF
OE
OUT
IN
broche
la broche peut être :
entrée simplesortie simplebidirentrée avec DFF (structure FPGA)sortie avec DFF (structure FPGA)inutilisée pour faciliter le routage (structure PAL)avec logique JTAG
- 11 -
-21-Emmanuel Boutillon
Gestion des horloges
Mise en place d ’un arbre de d ’horloge pour effectuer de la logique synchrone.
Principe : système asservi en phase
CLK
CLK_OUT
PLL
Õ compensation le "skew" d’horlogeÕ multiplication de la fréquence si diviseur dans la boucle de réaction
-22-Emmanuel Boutillon
Gestion de la complexité
Pour les CLP complexes, il est possible de définir des niveaux de hiérarchie du matériel.
=> Au niveau des interconnections=> Au niveau du regroupement de fonctions logiques
Il est aussi possible de diviser le circuit en fonctionnalitésdifférentes :
=> Zone de mémoire RAM=> Zone de CLP=> Zone spécialisée
- 12 -
-23-Emmanuel Boutillon
technologiesde programmation :
- EEPROM- SRAM
- antifusible
architectures du plan actif : - PAL hiérarchique (EPLD)
- gate-array (FPGA) - mixtes (CPLD ALTERAs)
Entrées / Sorties
Entrées/Sorties
Plan actif : cellules logiques
Plan de programmation : interconnexion
Entrées / Sorties
programmationou configuration
Entrées / Sorties
Principes du CLP
-24-Emmanuel Boutillon
å Comment et pourquoi faire de la logiqueprogrammable ?
� Les technologies de personnalisation
ê PAL, EPLD et FPGA
� Spécificité du développement des CLPs
� Situation présente et évolution.
PLAN
- 13 -
-25-Emmanuel Boutillon
Les composants logiques programmables :
Les technologies de personnalisation
➯ Fusibles
➯ Anti-fusibles
➯ UV PROM (obsolète) EEPROM
➯ SRAM
➯ Métalisation
➯ Comparaison des différents techniques.
Le circuit est personnalisé par création/destruction de connections sur la structure prédéfinie.
-26-Emmanuel Boutillon
Les composants logiques programmables : Technologie de personnalisation :
Fusibles métalliques ou Si
Lignes métalliques : interconnexions
Intact «Programmé»
Problème de l’électro-migration
Même structure en ligne polysilicium
Ou Transistor «grillable» joue le rôle de fusible
- 14 -
-27-Emmanuel Boutillon
Les composants logiques programmables : Technologie de personnalisation :
Antifusibles
-28-Emmanuel Boutillon
Les composants logiques programmables : Technologie de personnalisation :
UV-EPROM / EEPROM
SAMOS : Stacked MOS
Non-volatile
- 15 -
-29-Emmanuel Boutillon
Les composants logiques programmables : Technologie de personnalisation :
SRAM
Besoin d’une mémoire externed’initialisation :Processeur associé ouEEPROM série
-30-Emmanuel Boutillon
Prédiffusés (Gate Array)
● Circuits génériques au «catalogue»(ressources sans les interconnexions finales)
● Développement / production rapides
● Pas d ’utilisation optimale du Si
Exemple de métalisation pour obtenir un registre.
Les outils de CAO vont permettrede dériver le dessin du ou desmasques de connexions en tenant compte du schéma et du circuit choisi
Les ressources peuvent être uniques(par exemple des NAND) ou plusdiversifiéesLe routage se fait «dessus» : sea of gateou «à coté» : row-based
- 16 -
-31-Emmanuel Boutillon
Comparaison
Critères pour les interconnexions :rapidité de propagation à travers l ’interrupteur (produit résistance - capacité parasite)densité possible des interconnexions (surface de la cellule)facilité d ’utilisation (ISP, support, PROM de configuration)maintien de la configuration (volatile)reprogrammablilité (OTP)
Typed’interconnexion
EPROM Antifusible SRAM
Rapidité - + -
Densité - + --
Facilité + - +
Reprogrammabilité + non ++
-32-Emmanuel Boutillon
å Comment et pourquoi faire de la logiqueprogrammable ?
� Les technologies de personnalisation
ê PAL, EPLD et FPGA
� Spécificité du développement des CLPs
� Situation présente et évolution.
PLAN
- 17 -
-33-Emmanuel Boutillon
Taxinomie des CLPs (PLD)
Circuits logiques programmable
(Programmable Logic Device)
PLD EPLD-CPLD FPGA
SRAM antifusePAL GAL
UVPROM EECMOS isp
Les noms peuvent changer selon l‘auteur, le fondeur ...!
-34-Emmanuel Boutillon
Vocabulaire (1)
a. PAL, GAL ( Programmable Array Logic, Généric Array Logic).
b. EPLD-CPLD (Erasable PLD ou Complex PLD)Les EPLD sont programmables électriquement et effaçables aux UV ;Les EEPLD sont effaçables électriquementPrincipe similaire aux PAL mais avec interconnexions réalisées en techno UVPROMOn trouve également les pLSI et ispLSI (in situ programmable)
c. FPGA (Field Programmable Gate Array)C ’est un ensemble de blocs logiques élémentaires que l ’utilisateur peut interconnecter pour réaliser les fonctions logiques de son choixLa densité des portes est importante et sans cesse en évolution
FPGA à SRAM ou LCA Logic Cell Array (1985 par Xilinx)FPGA à antifusibles (1990 Actel) non effaçables
- 18 -
-35-Emmanuel Boutillon
Vocabulaire (2)ASIC Application Specific Integrated Circuit - Circuit intégré conçu à la demandeCPLD Complex Programmable Logic Device - Réseau logique programmable complexeDRAM Dynamic Random Access Memory - Mémoire dynamique à accès aléatoireDSP Digital Signal Processor - Processeur orienté vers le traitement du signalEDIF Electronic Design Interchange FormatEEPLD Electrically Erasable Programmable Logic Device - PLD effaçable électriquementFPGA Field Programmable Gate Array - Réseau de portes programmablesGAL Generic Array Logic - PAL génériqueISP In-System (In Situ) Programmable - Composant programmable sur carteJEDEC Joint Electronic Device Engineering Council - Organisme de normalisationJTAG Joint Test Action Group - Bus de test des composantsLCA Logic Cell Array (Xilinx) - Réseau de cellules logiquesLUT Look-Up TableMAX Multiple Array Matrix - Megapals d'AlteraNOVRAM ou NVRAM Non Volatile Random Access Memory - RAM non volatileOTP One Time Programmable - Programmable une seule foisPAL Programmable Array Logic - Réseau logique programmablePGA Programmable Gate Array - Réseau de portes programmablePLA Programmable Logic Array - Réseau logique programmablePLD Programmable Logic Device - Dispositif logique programmable, EPLD : Erasable PLD : PLD EffacableROM Read Only Memory, Mémoire à lecture seule, PROM : Programmable ROM,. EPROM: Erasable : Effacable,
EEPROM : Electricaly EPROM : Mémoire à lecture seule, électriquement effaçable.RAM Random Access Memory - Mémoire à accès aléatoireSDF Standard Delay FileSOG Sea-of-Gates - Mer de portes : réseau actif logique prédiffuséSRAM Static Random Access Memory - Mémoire statique à accès aléatoireTTL Transistor Transistor Logic - Logique transistor-transistorVHDL VHSIC Hardware Description Language - Langage de description matérielle VHSIC
-36-Emmanuel Boutillon
Nomenclature des PALs
● Convention de dénomination PAL II AB 00 (CE) C ZZ DEF➯ PAL (nbr d ’entrées) (structure de sortie) (nbr sorties) (CMOS Eraseble) (conso.) (vitesse)
(boitier)
● Types de sortiesType Structure de sortie
H combinatoire à logique positive
L combinatoire à logique négative
P combinatoire à polarité programmable
C combinatoire à logique complémentaireR logique à registre
RA logique asynchrone à registre
RP logique à registre programmable
V logique à macrocellules (versatiles)
- 19 -
-37-Emmanuel Boutillon
Principe des PAL
Possibilité de rebouclage
Vedette : PAL22V10CEProgrammable array logic22 I/O - 10 Versatile OutputsCMOS ERASABLE
Architecture générale des PALs
-38-Emmanuel Boutillon
PAL22V10CE : sortie Versatile
Choix de la polarité de la logiqueProgrammation entrée sortie
Rebouclage programmable.
- 20 -
-39-Emmanuel Boutillon
PAL
22V
10
-40-Emmanuel Boutillon
Architecture PAL hiérarchique (EPLD)
• Ensemble de blocs logiques LAB (Logic Array Block) composés de macrocellules• Une matrice d'interconnexion PIA (Programmable Interconnect Array)• Chaque E/S est liée à une macrocellule
PIA
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
matrice d’interconnexion
. . .
. . .
LAB
LAB
LAB
LAB
LAB
macrocellule
. . .
macrocellulemacrocellule
- 21 -
-41-Emmanuel Boutillon
Routage d’un EPLD
➯ routage systématisé
➯ modèle électrique et délais prédictibles
➯ placement non critique (temps de compilation faible
LABE/S LAB LAB LAB
-42-Emmanuel Boutillon
Exemple : EP610/1810 (1)
- 23 -
-45-Emmanuel Boutillon
PLD / CPLD / FPGA : L’offre ALTERA :
MAX9000 (2)
-46-Emmanuel Boutillon
MAX9000 (3)
- 24 -
-47-Emmanuel Boutillon
Architecture gate-array (FPGA)
• Ensemble de cellules logiquesdisposées en matrice et séparées pardes canaux de routage organisés enRangées/Colonnes. A chaqueintersection se trouve uncommutateur.• Le temps de propagation dépenddu routage choisi pour réaliserl'interconnexion.
canaux de routage
cellule logique
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
-48-Emmanuel Boutillon
rangée pour connexions locales=segments
colonne pourconnexions locales
commutateur
cellulelogique
rangée pour connexions globales= lignes longues
exemple : XC4000 XILINX
routage dans un FPGA
cellulelogique
- 25 -
-49-Emmanuel Boutillon
A
B
A
B
grande adaptabilité du routage
routage dans un FPGA
-50-Emmanuel Boutillon
AAAroutage localdans le bloc
A
B
cellules dans le même bloc cellules dans blocs différents :1 ligne rangée et colonne occupée
1 commutation max => temps de propagation + déterministebesoin de + de lignes
routage dans un FPGA : FLEXALTERA
B
- 28 -
-55-Emmanuel Boutillon
FLEX10K(5)
Mode normal
Mode arithmétique
-56-Emmanuel Boutillon
FLEX10K(6)
- 29 -
-57-Emmanuel Boutillon
performances
granularité fineflexibilité
rapidité de compilation
prédictibilité des temps de propagation
grand nombrede registres
type EPLD
typeFPGA
Intérêts des deux architectures
-58-Emmanuel Boutillon
EPLD FPGA
• machine à états complexe
• machine à étatsperformante• intégration de circuits logiques et PALs• temps de calcul pin à pinprédictible.
• traitement en pipeline
• arithmétique• machine à état codée "hot line"• applications à haut niveau d'intégration• nombre registres et E/S
12
34
5
Applications EPLD/FPGA
- 31 -
-61-Emmanuel Boutillon
XILINX : Famille VIRTEX
&/% &/%
&/%
BRAM
BRAM
BRAM
BRAM
'//
CL IOB
IOB
IOB
IOB
IOB
IOBIOB
IOB
'//
'// '//
CLCL
CL
&/%
4th GenerationLogic/Memory/Routing Fabric
DLL Technology for High-Performance Clock & I/O
Select I/O Technology
Thermal ManagementSelectMAP
Advanced Configuration Technology
Ultra-High PerformanceSynchronous Dual-Port SRAM
-62-Emmanuel Boutillon
å Comment et pourquoi faire de la logiqueprogrammable ?
� Les technologies de personnalisation
ê PAL, EPLD et FPGA
� Comment choisir un FPGA
� Situation présente et évolution.
PLAN
- 32 -
-63-Emmanuel Boutillon
Comment choisir un FPGA ?
Caractéristiques techniques du FPGA- Performances (complexité, vitesse, conso.)
- Nombre E/S et interface
- Tension d’alimentation
- Boitié
Qualité des softs associés au FPGA (CAO et IP)
Technique de programmation (Field/InSitu)
Technique de debug et de test
Critères économiques
- prix, disponibilité
- pérennité et flexibilité de la famille.
-64-Emmanuel Boutillon
PC et/ou station de travail
SAISIE SYNTHESEPLACEMENT
ROUTAGE
VERIFICATION
PROGRAMMATIONCONFIGURATION
CAO pour conception de CLP
spécifications
Très similaires à celle des circuits VLSI :
TechnologieCLP
∆ : Synthèse et P/R spécifique :• nombre de cellules figé par circuit • 1 cellule = entre 1 et 20 portes 2 entrées
Autonomie :réalisation= téléchargement de la listed’équipotentielles dans le circuit
- 33 -
-65-Emmanuel Boutillon
partitionnementcircuits multiples floorplanning placement routage
"Netlist " après synthèse
versprogrammeur
CLP+
addercontrol
FIFO
timing
glue
placement routage
Chaque vendeur de CLP fournit son outil de P/R dédié
CLP
Bloc cellule équipotentielle
-66-Emmanuel Boutillon
Importance de la qualité des softs
Les FPGAs deviennent très complexes et très flexibles.=> L’optimisation du P/R devient très complexe=> Logiciels performants
Hors les logiciels de CAO pour les CLPs manquent de maturités : => très lents (24 h pour un placement routage) => peu stables (machine à rebouter) => peu efficaces et non déterministes :
a) temps de propagation trop longb) en échec (pas de solution trouvée). =>il faut alors guider « à la main » le placement
- 34 -
-67-Emmanuel Boutillon
Synthèse sur FPGA
Pour optimiser la synthèse, il faut la guider :
=> Directive global de compilation :Effort d ’optimisation, critères de synthèse (Vitesse vs Surface, Fan out)
=> Directive locale de compilation dans le texte-- « mot clef » « directive compilation »
=> Directive hiérarchique de compilationtel bloc, telle méthode (insertion libre de registres, méthode A).
=> Utilisation d ’opérateurs « optimisés par le fondeur »appels de macro-blocs additionneurs, multiplieurs,... paramétrables
PROBLEME : Le code VHDL devient spécifique au FPGA
-68-Emmanuel Boutillon
Placement sur FPGA
Problème NP-complet qui conditionne :- la possibilité de trouver une solution de routage- le chemin critique
Solution :- Indiquer « à la main » le placement des blocs dans lefloor plan.- Placement routage incrémental
Assignation manuelle ou automatique des PAD E/S sur lesentrées/sorties du composant VHDL.
- 35 -
-69-Emmanuel Boutillon
Intellectual Property (IP)
● Les structures matérielles deviennent du consommable
● Achat ou location d ’un design paramétrable
● Licence ou royalties
● Développement et échange d’IP grâce aux langagesstandards
La qualité d ’une CLPs dépend aussi des IPs disponibles pour accélérer la conception (de même que la qualité d’un systèmed ’exploitation dépend des logiciels existant).
-70-Emmanuel Boutillon
IP MegaStore: Search Engine
www.altera.com/IPmegastore
- 36 -
-71-Emmanuel Boutillon
The Portfolio (XILINX, ALTERA)
Communications
ADPCM (u-law, a-law)
ATM Controller
Cell Delineation
CRC
Ethernet MAC(10/100/Gigabit)
HDLC Protocol Core
IMA Controller
Intermediate Data RateFramer/DeFramer
Multi-Channel ATM TC
Packet Over SONETController
Rank Order Filter
Speedbridge
Telephony Tone Generator
Utopia Level II/III Masterand Slave
Bus Interface
CAN Bus
IIC Slave
IIC Master
IEEE 1394
PCI Target
PCI Master/Target
PCI-X Master/Target
PowerPC Bus Arbiter
PowerPC Bus Master
PowerPC Bus Slave
USB Function Controller
USB Host Controller
Digital Signal Processing
Adaptive Filter
Binary Pattern Correlator
Biorthogonal Wavelet Filter
Complex Multiplier Mixer
CSC
Decimating Filter
Digital Modulator
Discrete Cosine Transform
Early/Late Gate Symbol
FFT
FIR Compiler
FIR Filter Library
Floating Point Adder/Divider
IIR Compiler
Image Processing Library
Integer Divider
NCO
Reed Solomon Compiler
Square Root Operator
Symbol Interleaver/Deinterleaver
Viterbi Decoder
Processor, Peripheral
2910
49410
6402 UART
6850 UART
16450/550 UARTs
8251 UART
8237 DMA Controller
8255 Peripheral Interface
8259 Interrupt Controller
8254 Timer/Counter
8051
8052
6502
Z80
Excalibur NIOS Processor
LX-4080R
Xtensa 32-bit Processor
SDRAM Controller
-72-Emmanuel Boutillon
EPLD
Technologie EEPROM
programmation sur site via des broches dédiées : ISP (In system Programmation)
connecteur de configurationbroches JTAG
programmateur
Programmation
- 37 -
-73-Emmanuel Boutillon
Technologie SRAM
Configuration
mémoire de configuration
configuration autonome sur site : ICR (In Circuit Reconfiguration)
microcontrôleur
broches de configurationdédiéesou port JTAGCLPFPGA
-74-Emmanuel Boutillon
Debug : Analyseur embarqué
,QWHUQDO�&KLS�OHYHO�$FWLYLW\
([WHUQDO%RDUG�OHYHO$FWLYLW\
Certains constructeurs proposent des IPs « analyseurlogique »
Cela permet de sortir du FPGA des signaux internes pourle debug du système. + Simulation en temps réel (très important).- Synthèse et placement à chaque modification de l ’environnement de test.
- 38 -
-75-Emmanuel Boutillon
JTAG pour le test : boundary scan test
puce
TDI TD0
puce
TDI TD0
ligne à testercircuit Jtag 1 circuit Jtag 2
Le boudary scan test impose :• broches dédiées : TDI,TDO,TMS,TCLK,nTRST
• controleur JTAG Test Access Port avec registre d'instruction• registre à décalage sur les broches (Boundary scan register)
-76-Emmanuel Boutillon
Critère économique
Coût du composant : évidemment...
Coût du développement : dépend de la culture de l’entreprise=> Savoir faire=> Réutilisation de code déjà existant=> Existence ou non des logiciels de CAO(conditionne aussi le temps de développement)
Coût de maintenance :=> extension de la famille FPGA : nouvelle génération de produit
- 39 -
-77-Emmanuel Boutillon
å Comment et pourquoi faire de la logiqueprogrammable ?
� Les technologies de personnalisation
ê PAL, EPLD et FPGA
� Comment choisir un FPGA
� Situation présente et évolution.
PLAN
-78-Emmanuel Boutillon
● opérateurs➯ +,- : chaîne de retenue, cellule utilisée en "full adder"
➯ * : chaîne de retenue pour arbre d’addition + LUT ou RAM pour logique câblée
➯ non linéaires : LUT, mémoire
● mémoire temporaires➯ nombreux registres pour pipeline et retards
➯ blocs mémoires
● Gestion de l’horloge➯ PLL pour diminuer le "skew" et augmenter la fréquence
Intérêts des CLPs pour le traitementdu signal
- 40 -
-79-Emmanuel Boutillon
coprocesseur"front end" :décodage canal
filtrage
processeur"back end"
données au débit élevé
canal 1
canal 2
canal 2
info au débit moins élevé
CLP processeur DSP, RISC,...
performancescalcul et mémoire distribués
centralisation du calcul et de la mémoirefonctions multiples et algorithme complexe
contrôle
interfaceasynchrone
gestion système
complémentarité CLPprocesseur
-80-Emmanuel Boutillon
Evolution (Roadmap)
Circuit Année N (T ou gates)
4004 1971 2250 T
Pentium I 1993 3100000 T
Pentium IV 2000 42000000 T
ALTERA 2000 1à 4.106 Portes
- 41 -
-81-Emmanuel Boutillon
L’offre ALTERA (début 2001)
ALTERADevice
APEXHigh Density, CAM,High Performance IOs FLEX, ACEXDensityMemory
ExcaliburNIOS, ARM, MIPSEmbedded ProcessorPeripherals, More Memory
MAXLogic
-82-Emmanuel Boutillon
PLD / CPLD / FPGA : L’offre ALTERA :
EXCALIBUR
Processeur embarqué dans une FPGA- Primitive VHDL synthétisé : NIOS- Processeur matériel ARM ou MIPS + FPGA
Performance(MIPs)
20
50
100
200 ARMCore
MIPSCore
0 Soft Core Hard Cores
Core
TM
- 42 -
-83-Emmanuel Boutillon
● Configurable Soft Core
● Optimized for ALTERA’s PLDArchitecture
● 16 or 32 bits Data Path
● 16 bits instruction set
● RISC base, 4-stage pipeline
● 50 MIPS performance
● 1100 LE for 16-bit mode
● 1700 LE for 32-bit mode
➯ 12% of EP20K200E
NIOS Embedded Processor
Timer
IRQ
PB
M CPU
UART
APEX EP20K200E
Your DesignHere
FLASH
SRAM
SerialPort
-84-Emmanuel Boutillon
Nios RISC Processor BlockDiagram
● Standard RISCComponents
● Fully-SynchronousInterface
- 43 -
-85-Emmanuel Boutillon
Nios Compile-Time Parameters
● Data Path (32 or 16)
● Address Bus Width (10 to 33-bits)
● Register File Size (128, 256 or 512)
● Reset Address
● Exception Vector Table Address
● Barrel-Shifter Speed (1, 3, 7, 15 or 31Bits/Clock)
● Hardware-Assisted Multiply (MSTEP)
-86-Emmanuel Boutillon
Nios Peripheral List & PBM
Nios Core
Address Decode
InterruptControl
Wait StateGeneration
Data InMultiplexer
Bus Sizing(Optional)
PeripheralsPeripheral Bus Module
UART
Timer
PIO
Int.& Ext.Memory
User-definedPeripheral
User-definedPeripheral
Processor Core
Port Interface
- 44 -
-87-Emmanuel Boutillon
Nios Flexibility & Scalability
APEX EP20K100E
APEX EP20K200E
APEX EP20K1000E
High-PerformanceEmbedded Processor Custom
DSPMulti-Processor
Micro-Coded System75K Gates Available
150K Gates Available
500K GatesAvailable
FFT
ESB
ESB
ESB
ESB
ESB
ESB
ESB
ESB
ESB
ESB
ESB
ESB
● Before Nios
➯ 68XXX = 8 MIPS
➯ ARM 7 = 53 MIPS
➯ Pentium III = 500 MIPS
● After Nios
➯ 1 Nios = 44 MIPS
➯ 40 Nios = 1760 MIPS
-88-Emmanuel Boutillon
ARM/MIPS : Logical Structure
EBI
SRAM(Single Port)
SDRAMController
DPRAM
SDRAMInterface
FlashInterface B
ridg
e
Master Port
Slave Port
Dual-PortRAMInterface
ARM- or MIPS-Based
ProcessorPL
Ls
PLD
- 45 -
-89-Emmanuel Boutillon
EPXA10
SRAM
DPRAM
EPXA4
SRAM
DPRAM
EPXA1
SRAM
DPRAM
Embedded Processor PLD
EmbeddedProcessor
Stripe
PLD
JTAG
TraceModule
ARM922T
ExternalMemory
Interfaces
InterruptController
PLL
Timer
UART
WatchdogTimer
-90-Emmanuel Boutillon
ARM/MIPS : Ressources
- 46 -
-91-Emmanuel Boutillon
ARM/MIPS : Design WorkFLow
Notion deCo-Design
-92-Emmanuel Boutillon
Les acteurs du marché des PLD/FPGA
(en Million$) Ventes 1999 Ventes 2000• ALTERA 837 1377• XILINX 899 1558
• LATTICE 410 568 • ACTEL 172 226• LUCENT • ATMEL• CYPRESS• ...
Permet aux PME d’accéder aux circuitsintégrés complexes
- 47 -
-93-Emmanuel Boutillon
Les acteurs du marché des ASIC
Prédiffusés(Million$) 1999
• FUJITSU 494• NEC 370• TOSHIBA 350• HITACHI 300• LSI Logic 200
Précaractérisés(Million$) 1999
• IBM micro-e 2200• AGERE (LUCENT) 1900• LSI Logic 1450• NEC 1050• FUJITSU 820
-94-Emmanuel Boutillon
Evolution des marchés
Répartition 99 (en $) des circuits CMOSet prévisions
99 99 00 01 02 03• PLD 10 % 0,5 0,6 0,7 0,9 1• Prédiffusés 12 % 0,4 0,3 0,3 0,3 0,2• Précaractérisés 44 % 2,1 2,7 3,4 4,2 4,9• Full Custom 4 % 0,03 0,02 0,01 0,01 0• Glue 9 % • Autres 21 %
Pour un marché de 25,8 Md$ en 99Forte croissance des PLD/FPGA et PrécaractérisésBaisse (et mort) des prédiffusés et des full custom
- 48 -
-95-Emmanuel Boutillon
Le futur (1)
FPGA avec Processeur … ou Processeur avec zone de FPGA ?
FPGA reconfigurable dynamiquement :- de façon déterministe (filtre A puis B sur image).- de façon dynamique en fonction des données…
=> Problèmes de recherche qui débutent.- software radio : la configuration est télé-chargée ,- partitionnement logiciel-matériel- prouver que cela marche...
-96-Emmanuel Boutillon
Le futur (2)
Circuit programmable Analogiques et Mixtes : En cours(www.anadigm.com)