Вы находитесь на странице: 1из 96

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

-1-
Emmanuel Boutillon
PLAN

 Comment et pourquoi faire de la logique


programmable ?
 Les technologies de personnalisation
 PAL, EPLD et FPGA
 Spécificité du développement des CLPs
 Situation présente et évolution.

-2-
Emmanuel Boutillon
Position du problème

Matériel Logiciel

circuits personnalisés circuits existants


microprocesseurs
processeurs DSPs
circuits mémoires
logiques périphériques
ASICs
programmables
FPGA
EPLD
-3-
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

-4-
Emmanuel Boutillon
Coût CLP/ASIC
NRE
Coût à la pièce

le seuil augmente si le nombre de portes baisse


ASIC seuil mini = 1000 pièces
CLP

seuil

Nombre de pièces
-5-
Emmanuel Boutillon
Temps de conception

ASIC Placement
spec Code+synth Routage
fab

FPGA
P
spec Code+synth Time to market
R

mP

+ spec Code
logiciel temps

-6-
Emmanuel Boutillon
Les performances
f

fréquence
de traitement
80
circuit personnalisé : traitement parallèle
70

60

F clock 50

40

30 processeur : traitement séquentiel


20
fclock
10
f=
nb op/cycle

1 2 3 4 8 12 16 20 24 28 32 36 40 44 48 52

Nb opérations/cycle

-7-
Emmanuel Boutillon
Démocratisation de la conception
T0 Temps Tfin log10(complexité)

Idée Produit 3

Spécifications 4

RTL 5

Porte 7
Affaire de
Transistor Spécialistes avec 8
un équipement
Masque lourd 10
Fonderie
-8-
Emmanuel Boutillon
Intérêts propres aux CLPs

 prototypage
 conception rapide de démonstrateurs
 autonomie (pas de fondeur)
 Reprogrammation
 maintenance in situ

-9-
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 notion


de « programmabilité ».

-10-
Emmanuel Boutillon
Fonction logique simple :
Réseau logique
Toute fonction logique booléenne peut s'exprimer sous forme canonique

exemple : S = A2A1A0 + A2A1A0 + A2A1A0 + A2A1A0

minterme ou terme produit


Matrice ET
Ai
produits des entrées

Matrice OU
Sj
somme des produits

= Réseau logique programmable


-11-
Emmanuel Boutillon
Mémoire
fonction logique 2 entrées : f(A1,A0 ) = f(0,0)A1A0 + f(0,1)A1A0 + f(1,0)A1A0 +f(1,1)A1A0

mémoire 4 mots de 1 bit : d= d0A1A0 + d1A1A0 + d2A1A0 + d3A1A0

A0
A1
adresse=entrées

F(A1,A0)=d= A1A0 + A1A0


d0=0 d2=1
d1=1 d3=0

liaison non programmable


liaison programmable

-12-
Emmanuel Boutillon
Mémoire

mémoire 16 mots de 2 bits => 2 fonctions logiques de 4 entrées

A0
A1
matrice
A2
A3 ET
adresse=entrées figée

matrice S0
OU S1
programmable
liaison non programmable
liaison programmable

-13-
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 0
001 1
010 0
F(a,b,c)
011 1 SRAM
100 0 Adresse
101 1 (a,b,c)
110 0
111 1
=> Mode de lecture différent du résultat

-14-
Emmanuel Boutillon
PAL
Programmable Array Logic

A
B
matrice
C
D ET
programmable

S0
matrice
S1
OU S2
figée S3
liaison non programmable
liaison programmable somme de produits = Macrocellule
PLD : 4 fonctions de 12 mintermes (max) de 3 variables
Au déparet #70-85 : programmation « à la main » (fichier de fusibles)
-15-
Emmanuel Boutillon
cellule logique à MUX

 utilisée pour la technologie ANTIFUSIBLE


équivaut à une LUT cablée

e0 mux
e1
sortie
e2
e3
sortie = abe0 ou abe1 ou abe2 ou abe3
a b
intérêt : surface réduite
cellule grain fin
-16-
Emmanuel Boutillon
comparatif des réseaux
programmables
type structure avantage inconvénient
ET •Mémoire conséquente si
MEMOIRE toutes les fonctions nombreuses entrées
OU => 22n possibles

ET • grand nombre d'entrées


PAL Nombre de mintermes limité
• économique
OU

Taille très faible Limité à peu d ’entrées


MUX

-17-
Emmanuel Boutillon
Programmation des
interconnections
Par connexion ou non de deux fils

F1 F1

F2 F2

Par l’utilisation de multiplexeur


F1’ Le nombre de connexions
F1 ! réalisables est limité à ce qui
existe...
F2
-18-
Emmanuel Boutillon
Programmation des registres et E/S

D
Registre Q
clk
rst
Possibilité de programmer
Possibilité d ’utiliser le PAD en mode entrée ou
ou non le registre sortie.

-19-
Emmanuel Boutillon
Système d’entrée sortie complet
OE

DFF
OUT broche

DFF
IN

entrée simple
sortie simple
bidir
la broche peut être : entrée avec DFF (structure FPGA)
sortie avec DFF (structure FPGA)
inutilisée pour faciliter le routage (structure PAL)
avec logique JTAG

-20-
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
PLL

CLK_OUT

 compensation le "skew" d'horloge


 multiplication de la fréquence si diviseur dans la boucle de réaction

-21-
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és


différentes :

=> Zone de mémoire RAM


=> Zone de CLP
=> Zone spécialisée
-22-
Emmanuel Boutillon
Principes du CLP

programmation Entrées / Sorties


ou configuration
Plan de programmation :
interconnexion

Entrées / Sorties Entrées / Sorties

Plan actif : cellules logiques

Entrées/Sorties
technologies architectures du plan actif :
de programmation : - PAL hiérarchique (EPLD)
- EEPROM - gate-array (FPGA)
- SRAM - mixtes (CPLD ALTERAs)
- antifusible

-23-
Emmanuel Boutillon
PLAN

 Comment et pourquoi faire de la logique


programmable ?
 Les technologies de personnalisation
 PAL, EPLD et FPGA
 Spécificité du développement des CLPs
 Situation présente et évolution.

-24-
Emmanuel Boutillon
Les composants logiques programmables :

Les technologies de personnalisation


Le circuit est personnalisé par création/destruction de
connections sur la structure prédéfinie.

 Fusibles
 Anti-fusibles
 UV PROM (obsolète) EEPROM
 SRAM
 Métalisation
 Comparaison des différents techniques.

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

-26-
Emmanuel Boutillon
Les composants logiques programmables : Technologie de personnalisation :
Antifusibles

-27-
Emmanuel Boutillon
Les composants logiques programmables : Technologie de personnalisation :
UV-EPROM / EEPROM

Non-volatile

SAMOS : -28-
Stacked MOS
Emmanuel Boutillon
Les composants logiques programmables : Technologie de personnalisation :
SRAM

Besoin d’une mémoire externe


d’initialisation :
Processeur associé ou
EEPROM série

-29-
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
Les ressources peuvent être uniques
(par exemple des NAND) ou plus
diversifiées
Le routage se fait «dessus» : sea of gate
ou «à coté» : row-based
Les outils de CAO vont permettre
de dériver le dessin du ou des
masques de connexions en tenant
compte du schéma et du circuit choisi

Exemple de métalisation pour obtenir un registre.


-30-
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)

Type EPROM Antifusible SRAM


d'interconnexion

Rapidité - + -

Densité - + --

Facilité + - +

Reprogrammabilité + non ++

-31-
Emmanuel Boutillon
PLAN

 Comment et pourquoi faire de la logique


programmable ?
 Les technologies de personnalisation
 PAL, EPLD et FPGA
 Spécificité du développement des CLPs
 Situation présente et évolution.

-32-
Emmanuel Boutillon
Taxinomie des CLPs (PLD)

Circuits logiques programmable


(Programmable Logic Device)

PLD EPLD-CPLD FPGA

PAL GAL SRAM antifuse

UVPROM EECMOS isp

Les noms peuvent changer selon


! l‘auteur, le fondeur ...

-33-
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 électriquement
Principe similaire aux PAL mais avec interconnexions réalisées en techno UVPROM
On 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 choix
La 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

-34-
Emmanuel Boutillon
Vocabulaire (2)
ASIC Application Specific Integrated Circuit - Circuit intégré conçu à la demande
CPLD Complex Programmable Logic Device - Réseau logique programmable complexe
DRAM Dynamic Random Access Memory - Mémoire dynamique à accès aléatoire
DSP Digital Signal Processor - Processeur orienté vers le traitement du signal
EDIF Electronic Design Interchange Format
EEPLD Electrically Erasable Programmable Logic Device - PLD effaçable électriquement
FPGA Field Programmable Gate Array - Réseau de portes programmables
GAL Generic Array Logic - PAL générique
ISP In-System (In Situ) Programmable - Composant programmable sur carte
JEDEC Joint Electronic Device Engineering Council - Organisme de normalisation
JTAG Joint Test Action Group - Bus de test des composants
LCA Logic Cell Array (Xilinx) - Réseau de cellules logiques
LUT Look-Up Table
MAX Multiple Array Matrix - Megapals d'Altera
NOVRAM ou NVRAM Non Volatile Random Access Memory - RAM non volatile
OTP One Time Programmable - Programmable une seule fois
PAL Programmable Array Logic - Réseau logique programmable
PGA Programmable Gate Array - Réseau de portes programmable
PLA Programmable Logic Array - Réseau logique programmable
PLD Programmable Logic Device - Dispositif logique programmable, EPLD : Erasable PLD : PLD Effacable
ROM 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éatoire
SDF Standard Delay File
SOG Sea-of-Gates - Mer de portes : réseau actif logique prédiffusé
SRAM Static Random Access Memory - Mémoire statique à accès aléatoire
TTL Transistor Transistor Logic - Logique transistor-transistor
VHDL VHSIC Hardware Description Language -35-- Langage de description matérielle VHSIC
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 sorties
Type Structure de sortie
H combinatoire à logique positive
L combinatoire à logique négative
P combinatoire à polarité programmable
C combinatoire à logique complémentaire
R logique à registre
RA logique asynchrone à registre
RP logique à registre programmable
V logique à macrocellules (versatiles)

-36-
Emmanuel Boutillon
Principe des PAL
Architecture générale des PALs

Possibilité de rebouclage
Vedette : PAL22V10CE
Programmable array logic
22 I/O - 10 Versatile Outputs
CMOS ERASABLE
-37-
Emmanuel Boutillon
PAL22V10CE : sortie Versatile

Choix de la polarité de la logique


Programmation entrée sortie
Rebouclage programmable.
-38-
Emmanuel Boutillon
PAL22V10

-39-
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
macrocellule E/S
LAB macrocellule

matrice d'interconnexion
E/S E/S
macrocellule

...
E/S E/S
LAB LAB
E/S E/S
...

...
E/S E/S
LAB LAB
E/S E/S
E/S

E/S

-40-
Emmanuel Boutillon
Routage d’un EPLD

E/S LAB LAB LAB LAB

 routage systématisé
 modèle électrique et délais prédictibles
 placement non critique (temps de compilation faible

-41-
Emmanuel Boutillon
Exemple : EP610/1810 (1)

-42-
Emmanuel Boutillon
Exemple (ALTERA) : P610/1810 (2)

-43-
Emmanuel Boutillon
MAX9000 (1)

-44-
Emmanuel Boutillon
PLD / CPLD / FPGA : L’offre ALTERA :
MAX9000 (2)

-45-
Emmanuel Boutillon
MAX9000 (3)

-46-
Emmanuel Boutillon
Architecture gate-array (FPGA)

• Ensemble de cellules logiques


disposées en matrice et séparées par
E/S

E/S

E/S

E/S

E/S

E/S

E/S

E/S

E/S
des canaux de routage organisés en
E/S
E/S Rangées/Colonnes. A chaque
E/S
E/S intersection se trouve un
E/S
E/S
commutateur.
E/S
E/S
• Le temps de propagation dépend
E/S
du routage choisi pour réaliser
E/S
E/S
l'interconnexion.
E/S
E/S
E/S
E/S canaux de routage
E/S
E/S
E/S
E/S

E/S

E/S

E/S

E/S

E/S

E/S

E/S

E/S

cellule logique

-47-
Emmanuel Boutillon
routage dans un FPGA

commutateur
rangée pour connexions globales
= lignes longues
cellule cellule
logique logique

rangée pour connexions locales


=segments

colonne pour
exemple : XC4000 XILINX connexions locales

-48-
Emmanuel Boutillon
routage dans un FPGA

A A

B B

grande adaptabilité du routage

-49-
Emmanuel Boutillon
routage dans un FPGA : FLEX
ALTERA

routage local AA A A
dans le bloc
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éterministe


besoin de + de lignes
-50-
Emmanuel Boutillon
FLEX10K(1)

-51-
Emmanuel Boutillon
FLEX10K(2)

-52-
Emmanuel Boutillon
FLEX10K(3)

-53-
Emmanuel Boutillon
FLEX10K(4)

-54-
Emmanuel Boutillon
FLEX10K(5)

Mode normal

Mode arithmétique
-55-
Emmanuel Boutillon
FLEX10K(6)

-56-
Emmanuel Boutillon
Intérêts des deux architectures
type type
EPLD FPGA

performances

rapidité granularité fine


de compilation flexibilité

prédictibilité des
grand nombre
temps de propagation
de registres

-57-
Emmanuel Boutillon
Applications EPLD/FPGA
EPLD FPGA
• machine à états complexe • traitement en pipeline
1
2
5
3
4 • arithmétique
• machine à états • machine à état codée "hot line"
performante • applications à haut niveau
• intégration de circuits d'intégration
logiques et PALs • nombre registres et E/S
• temps de calcul pin à pin
prédictible.
-58-
Emmanuel Boutillon
APEX20K(1)

-59-
Emmanuel Boutillon
APEX20K(2)

-60-
Emmanuel Boutillon
XILINX : Famille VIRTEX
4th Generation DLL Technology for
Logic/Memory/Routing Fabric High-Performance Clock & I/O

CL DLL IOB IOB DLL CL

B B
I I
R R Ultra-High Performance
Select I/O Technology O CLB CLB O
A A Synchronous Dual-Port SRAM
B B
M M

B B
I I
R R
O CLB CLB O
A A
B B
M M

CL DLL IOB IOB DLL CL

SelectMAP
Thermal Management Advanced Configuration Technology

-61-
Emmanuel Boutillon
PLAN

 Comment et pourquoi faire de la logique


programmable ?
 Les technologies de personnalisation
 PAL, EPLD et FPGA
 Comment choisir un FPGA
 Situation présente et évolution.

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

-63-
Emmanuel Boutillon
CAO pour conception de CLP
Très similaires à celle des circuits VLSI :
D: Synthèse et P/R spécifique :
• nombre de cellules figé par circuit
spécifications • 1 cellule = entre 1 et 20 portes 2 entrées

Autonomie :
réalisation= téléchargement de la liste
VERIFICATION d’équipotentielles dans le circuit

PLACEMENT PROGRAMMATION
SAISIE SYNTHESE CONFIGURATION
ROUTAGE

Technologie
CLP

PC et/ou station de travail

-64-
Emmanuel Boutillon
placement routage
Chaque vendeur de CLP fournit son outil de P/R dédié
"Netlist " après synthèse

vers
programmeur
partitionnement
circuits multiples floorplanning placement routage

control
adder

CLP glue FIFO

timing

+ CLP

Bloc cellule équipotentielle

-65-
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 long
b) en échec (pas de solution trouvée).
=>il faut alors guider « à la main » le placement

-66-
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 compilation


tel 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


-67-
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 le
floor plan.
- Placement routage incrémental

Assignation manuelle ou automatique des PAD E/S sur les


entrées/sorties du composant VHDL.

-68-
Emmanuel Boutillon
Intellectual Property (IP)

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ème
d ’exploitation dépend des logiciels existant).

 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 langages
standards

-69-
Emmanuel Boutillon
IP MegaStore: Search Engine
www.altera.com/IPmegastore

-70-
Emmanuel Boutillon
The Portfolio (XILINX, ALTERA)
Communications Bus Interface Digital Signal Processing Processor, Peripheral
ADPCM (u-law, a-law) CAN Bus Adaptive Filter 2910
ATM Controller IIC Slave Binary Pattern Correlator 49410
Cell Delineation IIC Master Biorthogonal Wavelet Filter 6402 UART
CRC IEEE 1394 Complex Multiplier Mixer 6850 UART
Ethernet MAC PCI Target CSC 16450/550 UARTs
(10/100/Gigabit)
PCI Master/Target Decimating Filter 8251 UART
HDLC Protocol Core
PCI-X Master/Target Digital Modulator 8237 DMA Controller
IMA Controller
PowerPC Bus Arbiter Discrete Cosine Transform 8255 Peripheral Interface
Intermediate Data Rate
Framer/DeFramer PowerPC Bus Master Early/Late Gate Symbol 8259 Interrupt Controller
Multi-Channel ATM TC PowerPC Bus Slave FFT 8254 Timer/Counter
Packet Over SONET USB Function Controller FIR Compiler 8051
Controller USB Host Controller FIR Filter Library 8052
Rank Order Filter Floating Point Adder/Divider 6502
Speedbridge IIR Compiler Z80
Telephony Tone Generator Image Processing Library Excalibur NIOS Processor
Utopia Level II/III Master Integer Divider LX-4080R
and Slave
NCO Xtensa 32-bit Processor
Reed Solomon Compiler SDRAM Controller
Square Root Operator
Symbol Interleaver/Deinterleaver
-71-
Viterbi Decoder Emmanuel Boutillon
Programmation
Technologie EEPROM
connecteur de
configuration
broches JTAG

EPLD

programmateur

programmation sur site via des broches dédiées : ISP (In system Programmation)

-72-
Emmanuel Boutillon
Configuration
Technologie SRAM

mémoire de configuration
microcontrôleur
broches de configuration
dédiées
FPGA
CLP ou port JTAG

configuration autonome sur site : ICR (In Circuit Reconfiguration)

-73-
Emmanuel Boutillon
Debug : Analyseur embarqué

Certains constructeurs proposent des IPs « analyseur


logique »
External
Board-level
Activity

Internal
Chip-level
Activity

Cela permet de sortir du FPGA des signaux internes pour


le debug du système.
+ Simulation en temps réel (très important).
- Synthèse et placement à chaque modification
de l ’environnement de test.
-74-
Emmanuel Boutillon
JTAG pour le test : boundary scan test

TDI TD0 TDI TD0

puce puce

circuit Jtag 1 ligne à tester 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)

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

-76-
Emmanuel Boutillon
PLAN

 Comment et pourquoi faire de la logique


programmable ?
 Les technologies de personnalisation
 PAL, EPLD et FPGA
 Comment choisir un FPGA
 Situation présente et évolution.

-77-
Emmanuel Boutillon
Intérêts des CLPs pour le traitement
du signal
 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

-78-
Emmanuel Boutillon
complémentarité CLP
processeur
données au débit élevé info au débit moins élevé

canal 1 interface
coprocesseur processeur
asynchrone
canal 2 "front end" : "back end"
décodage canal gestion système
canal 2 filtrage contrôle

performances centralisation du calcul et de la mémoire


calcul et mémoire distribués fonctions multiples et algorithme complexe

CLP processeur DSP, RISC,...


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

-80-
Emmanuel Boutillon
L’offre ALTERA (début 2001)

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

200
ARM MIPS
Core Core
100
Performance
(MIPs)
50
TM

Core
20

0 Soft Core
-82- Hard Cores
Emmanuel Boutillon
NIOS Embedded Processor
 Configurable Soft Core
SRAM
Optimized for ALTERA’s PLD

PBM

IRQ

CPU
Architecture
FLASH
 16 or 32 bits Data Path
 16 bits instruction set
Timer
 RISC base, 4-stage pipeline
 50 MIPS performance Serial
UART
Port
 1100 LE for 16-bit mode
 1700 LE for 32-bit mode
 12% of EP20K200E
Your Design
Here

APEX EP20K200E

-83-
Emmanuel Boutillon
Nios RISC Processor Block
Diagram
 Standard RISC
Components
 Fully-
Synchronous
Interface

-84-
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 31
Bits/Clock)
 Hardware-Assisted Multiply (MSTEP)
-85-
Emmanuel Boutillon
Nios Peripheral List & PBM

Processor Core Peripheral Bus Module


Peripherals

Address Port UART


Decode Interface
Nios Core
Timer

Interrupt
Control PIO

Int.& Ext.
Wait State Memory
Generation

Data In User-defined
Multiplexer Peripheral

User-defined
Peripheral
Bus Sizing
(Optional)

-86-
Emmanuel Boutillon
Nios Flexibility & Scalability
High-Performance
Embedded Processor Custom
DSP
Multi-Processor
FFT Micro-Coded System
75K Gates
Available

ESB

ESB

ESB

ESB
APEX EP20K100E 150K Gates
Available

ESB
ESB

ESB

ESB
ESB

ESB

ESB

ESB
APEX EP20K200E

 Before Nios
 68XXX = 8 MIPS
 ARM 7 = 53 MIPS 500K Gates
 Pentium III = 500 MIPS
Available

 After Nios
 1 Nios = 44 MIPS
 40 Nios = 1760 MIPS
-87-
APEX EP20K1000E
Emmanuel Boutillon
ARM/MIPS : Logical Structure

Dual-Port
DPRAM
RAM
Interface

SRAM
(Single Port)
PLD
SDRAM SDRAM
Interface Controller
Bridge

Flash Master Port


EBI
Interface
Slave Port
ARM- or MIPS-
PLLs

Based
Processor
-88-
Emmanuel Boutillon
Embedded Processor PLD

External
PLL UART Trace
Memory SRAM SRAM SRAM
Interfaces Module
Embedded
JTAG Timer
Processor
Interrupt
Stripe Watchdog ARM922T DPRAM DPRAM DPRAM
Timer
Controller

EPXA1
PLD

EPXA4

-89-
EPXA10
Emmanuel Boutillon
ARM/MIPS : Ressources

-90-
Emmanuel Boutillon
ARM/MIPS : Design WorkFLow

Notion de
Co-Design

-91-
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 circuits
intégrés complexes
-92-
Emmanuel Boutillon
Les acteurs du marché des ASIC

Prédiffusés Précaractérisés
(Million$) 1999 (Million$) 1999

• FUJITSU 494 • IBM micro-e 2200


• NEC 370 • AGERE (LUCENT) 1900
• TOSHIBA 350 • LSI Logic 1450
• HITACHI 300 • NEC 1050
• LSI Logic 200 • FUJITSU 820

-93-
Emmanuel Boutillon
Evolution des marchés
Répartition 99 (en $) des circuits CMOS
et 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 99


Forte croissance des PLD/FPGA et Précaractérisés
Baisse (et mort) des prédiffusés et des full custom
-94-
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...
-95-
Emmanuel Boutillon
Le futur (2)

Circuit programmable Analogiques et Mixtes : En cours


(www.anadigm.com)

-96-
Emmanuel Boutillon

Вам также может понравиться

  • Cours VHDL Fpga 1
    Cours VHDL Fpga 1
    Документ24 страницы
    Cours VHDL Fpga 1
    BassoumaHhmdi
    Оценок пока нет
  • TP Integration Num FPGA V1.7
    TP Integration Num FPGA V1.7
    Документ22 страницы
    TP Integration Num FPGA V1.7
    Ouma Imaa
    Оценок пока нет
  • Chapitre 21 Fpga+Vhdl
    Chapitre 21 Fpga+Vhdl
    Документ99 страниц
    Chapitre 21 Fpga+Vhdl
    nour
    Оценок пока нет
  • Guide de Démarrage - Stm32Cubeide Carte Extension 746Ng Ens: Anthony Juton, Pascal Varoqui - Février 2023
    Guide de Démarrage - Stm32Cubeide Carte Extension 746Ng Ens: Anthony Juton, Pascal Varoqui - Février 2023
    Документ21 страница
    Guide de Démarrage - Stm32Cubeide Carte Extension 746Ng Ens: Anthony Juton, Pascal Varoqui - Février 2023
    Anthony Juton
    100% (1)
  • Cours À Reproduire
    Cours À Reproduire
    Документ7 страниц
    Cours À Reproduire
    mrd9991
    Оценок пока нет
  • 387 2 Sin Fpga Schema 2 PDF
    387 2 Sin Fpga Schema 2 PDF
    Документ23 страницы
    387 2 Sin Fpga Schema 2 PDF
    Ghani Lami
    Оценок пока нет
  • 06b PLD Synthese de TP PDF
    06b PLD Synthese de TP PDF
    Документ10 страниц
    06b PLD Synthese de TP PDF
    Yacin Hamdi
    Оценок пока нет
  • Cours SoC 2011
    Cours SoC 2011
    Документ72 страницы
    Cours SoC 2011
    cointoin
    Оценок пока нет
  • Comment Rédiger Un Testbench
    Comment Rédiger Un Testbench
    Документ12 страниц
    Comment Rédiger Un Testbench
    haroun khecharem
    Оценок пока нет
  • Chap1 Réseaux Logiques Programmables PLD
    Chap1 Réseaux Logiques Programmables PLD
    Документ10 страниц
    Chap1 Réseaux Logiques Programmables PLD
    mustapha skander
    Оценок пока нет
  • Hadj Said Djamel
    Hadj Said Djamel
    Документ92 страницы
    Hadj Said Djamel
    Sarah Messaoui
    Оценок пока нет
  • Cours Technologie VHDL WE - V1.1
    Cours Technologie VHDL WE - V1.1
    Документ46 страниц
    Cours Technologie VHDL WE - V1.1
    Wajdi Elhamzi
    Оценок пока нет
  • EXAMEN
    EXAMEN
    Документ6 страниц
    EXAMEN
    Amira Dhorbani
    Оценок пока нет
  • VHDL
    VHDL
    Документ168 страниц
    VHDL
    MarouaneSaghir
    Оценок пока нет
  • VHDL Learning
    VHDL Learning
    Документ9 страниц
    VHDL Learning
    AZEDDINE
    Оценок пока нет
  • Cours VHDLmodfinal1
    Cours VHDLmodfinal1
    Документ57 страниц
    Cours VHDLmodfinal1
    kheled
    Оценок пока нет
  • Cours VHDL 10 Partie6 Ire Sequentiel
    Cours VHDL 10 Partie6 Ire Sequentiel
    Документ68 страниц
    Cours VHDL 10 Partie6 Ire Sequentiel
    Nouha Al-Majed
    Оценок пока нет
  • Modules VHDL
    Modules VHDL
    Документ109 страниц
    Modules VHDL
    Sidali Zelazel
    100% (1)
  • Cours FPGA
    Cours FPGA
    Документ47 страниц
    Cours FPGA
    Hamza Mhal
    Оценок пока нет
  • FPGA
    FPGA
    Документ27 страниц
    FPGA
    arnaudmariel
    Оценок пока нет
  • 1 Cours VHDL - Benaya
    1 Cours VHDL - Benaya
    Документ69 страниц
    1 Cours VHDL - Benaya
    AZEDDINE
    Оценок пока нет
  • Chap2 4 Fpga
    Chap2 4 Fpga
    Документ20 страниц
    Chap2 4 Fpga
    MENANI Zineddine
    Оценок пока нет
  • Chapitre 5 LE TMS320C6701 DSP PDF
    Chapitre 5 LE TMS320C6701 DSP PDF
    Документ9 страниц
    Chapitre 5 LE TMS320C6701 DSP PDF
    Smart Classe
    Оценок пока нет
  • DSP IIT 2télécom ch4 Modifié
    DSP IIT 2télécom ch4 Modifié
    Документ28 страниц
    DSP IIT 2télécom ch4 Modifié
    Rahma Fakhfakh
    Оценок пока нет
  • Systeme A Microprocesseur - Beddouri
    Systeme A Microprocesseur - Beddouri
    Документ69 страниц
    Systeme A Microprocesseur - Beddouri
    Achraf Rossoneri
    Оценок пока нет
  • Robotique
    Robotique
    Документ26 страниц
    Robotique
    LaiLaLfk
    Оценок пока нет
  • Chapitre 9 Arduino Et Matlab
    Chapitre 9 Arduino Et Matlab
    Документ21 страница
    Chapitre 9 Arduino Et Matlab
    rbenseghier
    Оценок пока нет
  • Cours VHDL 10 Partie5 Style Description Comportementale
    Cours VHDL 10 Partie5 Style Description Comportementale
    Документ37 страниц
    Cours VHDL 10 Partie5 Style Description Comportementale
    Adel Bba
    Оценок пока нет
  • Exercice Converti
    Exercice Converti
    Документ4 страницы
    Exercice Converti
    Ăkŕăm LôKâ
    Оценок пока нет
  • FR A01 Tia PDF
    FR A01 Tia PDF
    Документ6 страниц
    FR A01 Tia PDF
    drabni
    Оценок пока нет
  • Le Langage ABEL en Logique Sequentielle
    Le Langage ABEL en Logique Sequentielle
    Документ4 страницы
    Le Langage ABEL en Logique Sequentielle
    Nabil Bikri
    Оценок пока нет
  • TD VHDLPP
    TD VHDLPP
    Документ23 страницы
    TD VHDLPP
    Mël Djä
    Оценок пока нет
  • (En107) Fpga VHDL Se2 A - Autre - 2011
    (En107) Fpga VHDL Se2 A - Autre - 2011
    Документ12 страниц
    (En107) Fpga VHDL Se2 A - Autre - 2011
    Mustafa Semmaa
    Оценок пока нет
  • Chapitre IV - VHDL - 2020
    Chapitre IV - VHDL - 2020
    Документ30 страниц
    Chapitre IV - VHDL - 2020
    silami fatiha
    Оценок пока нет
  • 1774853
    1774853
    Документ32 страницы
    1774853
    meryem
    Оценок пока нет
  • Conception Numerique VHDL PDF
    Conception Numerique VHDL PDF
    Документ41 страница
    Conception Numerique VHDL PDF
    Romaysa jiji
    Оценок пока нет
  • Compte Rendu Counter Decounter
    Compte Rendu Counter Decounter
    Документ18 страниц
    Compte Rendu Counter Decounter
    Guergour Walid
    Оценок пока нет
  • Architecture Des FPGA
    Architecture Des FPGA
    Документ81 страница
    Architecture Des FPGA
    Ramzi Trabelsi
    100% (1)
  • Archi FPGA
    Archi FPGA
    Документ86 страниц
    Archi FPGA
    Smart Classe
    Оценок пока нет
  • Ele2302 Solutionnaire Examen Aut06
    Ele2302 Solutionnaire Examen Aut06
    Документ9 страниц
    Ele2302 Solutionnaire Examen Aut06
    Anouar Kacem
    Оценок пока нет
  • Cours 9 - Bus SPI
    Cours 9 - Bus SPI
    Документ4 страницы
    Cours 9 - Bus SPI
    Khalil Hsaine
    Оценок пока нет
  • Cours FPGA Et VHDL
    Cours FPGA Et VHDL
    Документ66 страниц
    Cours FPGA Et VHDL
    amine menad
    Оценок пока нет
  • Circuits Programmables
    Circuits Programmables
    Документ95 страниц
    Circuits Programmables
    Ryheb B'MRz
    Оценок пока нет
  • VHDL
    VHDL
    Документ101 страница
    VHDL
    Mariem Zoubir
    Оценок пока нет
  • TP 1
    TP 1
    Документ12 страниц
    TP 1
    Usb Mas
    Оценок пока нет
  • Introduction Au SystemC
    Introduction Au SystemC
    Документ42 страницы
    Introduction Au SystemC
    suprem
    Оценок пока нет
  • 3cours Fpga
    3cours Fpga
    Документ29 страниц
    3cours Fpga
    bouda sofiane
    Оценок пока нет
  • Le Langage VHDL ELKARI
    Le Langage VHDL ELKARI
    Документ112 страниц
    Le Langage VHDL ELKARI
    Ahmed Doghmi
    Оценок пока нет
  • Exercice N°01 TD01
    Exercice N°01 TD01
    Документ4 страницы
    Exercice N°01 TD01
    Ryheb B'MRz
    Оценок пока нет
  • Cours System On Chip
    Cours System On Chip
    Документ55 страниц
    Cours System On Chip
    Behij ben amor
    Оценок пока нет
  • Cours VHDL
    Cours VHDL
    Документ118 страниц
    Cours VHDL
    Hicham Loukili
    Оценок пока нет
  • TP 2
    TP 2
    Документ2 страницы
    TP 2
    Usb Mas
    Оценок пока нет
  • La Simulation VHDL - ModelSim
    La Simulation VHDL - ModelSim
    Документ16 страниц
    La Simulation VHDL - ModelSim
    Mouad Darif
    Оценок пока нет
  • TD1
    TD1
    Документ2 страницы
    TD1
    Abdelfatah Ferhat
    Оценок пока нет
  • Signes Secrets
    Signes Secrets
    От Everand
    Signes Secrets
    Рейтинг: 5 из 5 звезд
    5/5 (1)
  • Seminaire Baghli Dspace Irfo
    Seminaire Baghli Dspace Irfo
    Документ63 страницы
    Seminaire Baghli Dspace Irfo
    Abdelhamid Darib
    Оценок пока нет
  • Compte Rendu TP Electronique Numérique
    Compte Rendu TP Electronique Numérique
    Документ16 страниц
    Compte Rendu TP Electronique Numérique
    EL Yâssir
    Оценок пока нет
  • Basys 2
    Basys 2
    Документ26 страниц
    Basys 2
    Hichem Khamallah
    Оценок пока нет
  • Fpga VHDL
    Fpga VHDL
    Документ22 страницы
    Fpga VHDL
    Asmahene
    Оценок пока нет
  • Xx-Carte 4635H J VPU5-01
    Xx-Carte 4635H J VPU5-01
    Документ20 страниц
    Xx-Carte 4635H J VPU5-01
    Abderahmane Djebali
    Оценок пока нет
  • Laser 2020
    Laser 2020
    Документ1 страница
    Laser 2020
    abid hh
    Оценок пока нет
  • My Laser
    My Laser
    Документ1 страница
    My Laser
    abid hh
    Оценок пока нет
  • Lad Et Laser
    Lad Et Laser
    Документ1 страница
    Lad Et Laser
    abid hh
    Оценок пока нет
  • Informatique
    Informatique
    Документ1 страница
    Informatique
    abid hh
    Оценок пока нет
  • Cours 1
    Cours 1
    Документ1 страница
    Cours 1
    abid hh
    Оценок пока нет
  • Laser 2020
    Laser 2020
    Документ1 страница
    Laser 2020
    abid hh
    Оценок пока нет
  • Laser Cours
    Laser Cours
    Документ1 страница
    Laser Cours
    abid hh
    Оценок пока нет
  • Informatique Future
    Informatique Future
    Документ1 страница
    Informatique Future
    abid hh
    Оценок пока нет
  • Cours Informatique Future
    Cours Informatique Future
    Документ1 страница
    Cours Informatique Future
    abid hh
    Оценок пока нет
  • Informatique Pass Futur
    Informatique Pass Futur
    Документ1 страница
    Informatique Pass Futur
    abid hh
    Оценок пока нет
  • Cours 112
    Cours 112
    Документ1 страница
    Cours 112
    abid hh
    Оценок пока нет
  • Informatique Cours
    Informatique Cours
    Документ1 страница
    Informatique Cours
    abid hh
    Оценок пока нет
  • Rapport DSP
    Rapport DSP
    Документ20 страниц
    Rapport DSP
    abid hh
    Оценок пока нет
  • Mes Cours
    Mes Cours
    Документ1 страница
    Mes Cours
    abid hh
    Оценок пока нет
  • Cours DSP 2020
    Cours DSP 2020
    Документ1 страница
    Cours DSP 2020
    abid hh
    Оценок пока нет
  • Gaje Las
    Gaje Las
    Документ1 страница
    Gaje Las
    anjing
    Оценок пока нет
  • Mes Cours
    Mes Cours
    Документ1 страница
    Mes Cours
    abid hh
    Оценок пока нет
  • Mes Cours
    Mes Cours
    Документ1 страница
    Mes Cours
    abid hh
    Оценок пока нет
  • Gaje Las
    Gaje Las
    Документ1 страница
    Gaje Las
    anjing
    Оценок пока нет
  • DSP
    DSP
    Документ63 страницы
    DSP
    Karim Fathallah
    Оценок пока нет
  • Archi05 Sentieys DSP
    Archi05 Sentieys DSP
    Документ36 страниц
    Archi05 Sentieys DSP
    abid hh
    Оценок пока нет
  • DSP
    DSP
    Документ63 страницы
    DSP
    Karim Fathallah
    Оценок пока нет
  • VHDL
    VHDL
    Документ37 страниц
    VHDL
    Mouwaten Tounsi
    Оценок пока нет
  • Gaje Las
    Gaje Las
    Документ1 страница
    Gaje Las
    anjing
    Оценок пока нет
  • Cours Inf
    Cours Inf
    Документ1 страница
    Cours Inf
    abid hh
    Оценок пока нет
  • Gaje Las
    Gaje Las
    Документ1 страница
    Gaje Las
    anjing
    Оценок пока нет
  • Gaje Las
    Gaje Las
    Документ1 страница
    Gaje Las
    anjing
    Оценок пока нет
  • TP 08 Analyse D Harmoniques
    TP 08 Analyse D Harmoniques
    Документ2 страницы
    TP 08 Analyse D Harmoniques
    Tarak Benslimane
    Оценок пока нет
  • Ca R8 en
    Ca R8 en
    Документ28 страниц
    Ca R8 en
    viren72
    Оценок пока нет
  • 1 Un Semi-Conducteur
    1 Un Semi-Conducteur
    Документ4 страницы
    1 Un Semi-Conducteur
    Dr Meriem MEDJANI
    Оценок пока нет
  • Cours Inverseur
    Cours Inverseur
    Документ46 страниц
    Cours Inverseur
    Ra Chid
    Оценок пока нет
  • TPCO3
    TPCO3
    Документ7 страниц
    TPCO3
    sam zino
    100% (1)
  • TD 1ère Hacheur Onduleur Gradateur
    TD 1ère Hacheur Onduleur Gradateur
    Документ3 страницы
    TD 1ère Hacheur Onduleur Gradateur
    Cinquante-deux Le Saoudien
    Оценок пока нет
  • Polycopié TP EA SMP S5 Mouhib
    Polycopié TP EA SMP S5 Mouhib
    Документ22 страницы
    Polycopié TP EA SMP S5 Mouhib
    Salim ha Tatas
    Оценок пока нет
  • Aiwa z-r550 (ET)
    Aiwa z-r550 (ET)
    Документ16 страниц
    Aiwa z-r550 (ET)
    Mario González
    Оценок пока нет
  • I-Objectif:: TP 1: Thermoconductivité
    I-Objectif:: TP 1: Thermoconductivité
    Документ12 страниц
    I-Objectif:: TP 1: Thermoconductivité
    Mary
    Оценок пока нет
  • 17 Guide Technique
    17 Guide Technique
    Документ44 страницы
    17 Guide Technique
    Patran Valentin
    Оценок пока нет
  • Rapport Stage
    Rapport Stage
    Документ33 страницы
    Rapport Stage
    Ayoub Mohassine
    100% (5)
  • Thyristorp3 PDF
    Thyristorp3 PDF
    Документ7 страниц
    Thyristorp3 PDF
    Mer Oua
    100% (1)
  • Elaboration Et Caractérisation Des Nanopoudres de ZnO Par Voie Chimique Sol-Gel PDF
    Elaboration Et Caractérisation Des Nanopoudres de ZnO Par Voie Chimique Sol-Gel PDF
    Документ63 страницы
    Elaboration Et Caractérisation Des Nanopoudres de ZnO Par Voie Chimique Sol-Gel PDF
    MERIEM GASMI
    Оценок пока нет
  • Electronique Fondamentale
    Electronique Fondamentale
    Документ39 страниц
    Electronique Fondamentale
    Mustapha El Metoui
    Оценок пока нет
  • TP 5
    TP 5
    Документ2 страницы
    TP 5
    Nano Nj
    Оценок пока нет
  • Diode Gunn
    Diode Gunn
    Документ13 страниц
    Diode Gunn
    Arafet Belhaj
    Оценок пока нет
  • Resume Defaut
    Resume Defaut
    Документ6 страниц
    Resume Defaut
    Taouil Mohamed
    Оценок пока нет
  • Protection Par Disjoncteur Prof
    Protection Par Disjoncteur Prof
    Документ8 страниц
    Protection Par Disjoncteur Prof
    SaliouNiang
    Оценок пока нет
  • Manual Hayward
    Manual Hayward
    Документ12 страниц
    Manual Hayward
    Josse Ruiz
    Оценок пока нет