Vous êtes sur la page 1sur 85

Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

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
aussi configurable

M. H. BEDOUI 1
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Historique

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


1640 Blaise Pascal, invente une machine mécanique à additionner et soustraire
1875 Sir J.W. Swan, 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

M. H. BEDOUI 2
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : 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

M. H. BEDOUI 3
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : 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 marchet 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

M. H. BEDOUI 4
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : marché
REVENUS NETS DE XILINX ET ALTERA

1200000

1000000
REVENUS NETS EN $

800000

600000

400000

200000

0
1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
ANNEE

XILINX ALTERA

M. H. BEDOUI 5
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : marché
PARTS DE MARCHE DES FABRICANTS DE FPGA

40

35

30

25
Xilinx
Altera
% 20
Lattice
Other
15 Actel

10

0
1998 1999 2000
ANNEE

M. H. BEDOUI 6
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : marché
PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000

Actel
Other 6%
8%

Xilinx
Lattice 38%
14%

Altera
34%

M. H. BEDOUI 7
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Évolution de la technologie

0.6 µ 0.5 µ 0.35 µ 0.25 µ 0.18 µ


Technologie : trois couches trois couches quatre couches cinq couches six couches
de métal de métal de métal de métal de métal
Taille relative : 100% 78% 32% 19% 12%

Année : 1994 1995 1996 1998 1999

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


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

M. H. BEDOUI 8
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : É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

M. H. BEDOUI 9
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Coût de production

300 mm
200 mm

L’augmentation de la taille de 200mm à 300mm permet des


économies d’échelles =>

Pour un coût égal à 1.9 fois celui du 200 mm

Intégration de 2.3 à 2.5 fois plus => diminution des prix de reviens

M. H. BEDOUI 10
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Problème technique


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

300 mm

200 mm

Ressources surnuméraires déconnectables


permettent de prévoir le % de perte à la
fabrication

M. H. BEDOUI 11
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

1,2
FPGA : Évolution
INDICE PRIX PAR ELEMENT LOGIQUE

0,8 Le prix par élément logique


(Source : Altera)

diminue de 40 % par an
0,6

0,4

0,2

0
1995 1996 1997 1998 1999 2000

M. H. BEDOUI 12
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Évolution

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

Densité (logique) + 55% par an

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

M. H. BEDOUI 13
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Évolution

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

M. H. BEDOUI 14
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA /ASIC

FPGA ? ASIC

M. H. BEDOUI 15
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA /ASIC

Les FPGA sont au cœurs des systèmes

M. H. BEDOUI 16
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA /ASIC
TEMPS DE MISE EN OEUVRE COMPARES

FPGA

ASIC

0 1 2 3 4 5 6 7 8 9 10

APPRENTISSAGE SAISIE COMPILATION SIMULATION FABRICATION

M. H. BEDOUI 17
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA /ASIC : avantages et inconvénients
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)

M. H. BEDOUI 18
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA /ASIC : avantages et inconvénients


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

M. H. BEDOUI 19
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA /ASIC : avantages et inconvénients

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

M. H. BEDOUI 20
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA ; 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 profitent 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 …. »

M. H. BEDOUI 21
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Architecture et conception

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

M. H. BEDOUI 22
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Architecture et conception, îlots de calcul

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

M. H. BEDOUI 23
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Architecture et conception, îlots de calcul

Élément configurable :
• élément logique
• élément de mémorisation
EC • élément arithmétique
• entrée/sortie

Réseau de routage :
• lignes horizontales
• lignes verticales

Matrice de connexions

BC MC
Bloc de connexions

M. H. BEDOUI 24
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Architecture et conception, îlots de calcul

Les blocs de connexions


EC

BC
EC

M. H. BEDOUI 25
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, îlots de calcul

Les matrices de connexions

MC

0 1 2 3 0 1 2 3 0 1 2 3

3 3 3 3 3 3
2 2 2 2 2 2
1 1 1 1 1 1
0 0 0 0 0 0

0 1 2 0 1 2 0 1 2
3 3 3
DISJOINT UNIVERSEL WILTON

M. H. BEDOUI 26
Systèmes temps réel embarqués 2006

Programmable Switch Matrix


programmable switch element

turning the corner, etc.

Lect #14 Rissacher EE365

M. H. BEDOUI 27
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Architecture et conception, îlots de calcul

Topologie du routage : 1) la segmentation (horizontale ou verticale)

EC EC EC EC

Canal de 4 lignes de longueur 1

Canal de 2 lignes de longueur 2

Canal d’une ligne de longueur 4

M. H. BEDOUI 28
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, îlots de calcul

Topologie du routage : 2) la population (horizontale ou verticale)

EC EC EC EC

Ligne complètement peuplée Ligne dépeuplée

M. H. BEDOUI 29
Systèmes temps réel embarqués 2006

CLB input and output connections -- buried


in the sea of interconnect

Lect #14 Rissacher EE365

M. H. BEDOUI 30
Systèmes temps réel embarqués 2006

Detail

connections
controlled by
RAM bits

Lect #14 Rissacher EE365

M. H. BEDOUI 31
Systèmes temps réel embarqués 2006

Programmable Switch Matrix


programmable switch element

turning the corner, etc.

Lect #14 Rissacher EE365

M. H. BEDOUI 32
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Architecture et conception, 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

M. H. BEDOUI 33
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, Architecture hiérarchique

Réseau de routage de
niveau 2

Élément Hiérarchique de
niveau 2

Réseau de routage de Réseau de routage de


niveau 1 niveau 3

Élément Hiérarchique de Élément Hiérarchique de


niveau 1 niveau 3
• éléments logiques
• éléments de mémorisation
• ...

M. H. BEDOUI 34
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle

FPGA : Architecture et conception, 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

M. H. BEDOUI 35
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, architecture logarithmique
Cellule logique
Cell Cell Cell Cell de base Cell Cell Cell Cell

Cell Cell Cell Cell Cell Cell Cell Cell


Matrice de 16
cellules
Cell Cell Cell Cell Cell Cell Cell Cell

Lignes de
Cell Cell Cell Cell longueur Cell Cell Cell Cell
4 cellules

4*4 4*4 4*4 4*4 16*16 16*16 16*16 16*16


Lignes de
longueur
4*4 4*4 4*4 4*4 16 cellules 16*16 16*16 16*16 16*16

4*4 4*4 4*4 4*4 16*16 16*16 16*16 16*16

Lignes de
4*4 4*4 4*4 4*4 longueur 16*16 16*16 16*16 16*16
64 cellules

M. H. BEDOUI 36
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, éléments logiques

Les éléments logiques configurables (CLB=EC,


1Slice=2CLB) 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 (Kit mémoire 16x2 bits/CLB),
 Et de la bascule D.

On rencontre toutefois des cellules logiques


rudimentaires à base de multiplexeurs

M. H. BEDOUI 37
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, éléments logiques
Élément logique de base avec LUT
Carry-In

ENTREES

LUT D
SORTIES

FAST
CARRY
CHAIN
HORLOGE

Carry-Out

M. H. BEDOUI 38
Look-Up Tables
• Combinatorial logic is stored in Look-Up
Tables (LUTs) A B C D Z
– Also called Function Generators (FGs) 0 0 0 0 0
– Capacity is limited by the number of inputs, not 0 0 0 1 0
by the complexity 0 0 1 0 0
• Delay through the LUT is constant 0 0 1 1 1
0 1 0 0 1
Combinatorial Logic 0 1 0 1 1
A . . .
B 1 1 0 0 0
Z
C 1 1 0 1 0
D
1 1 1 0 0
Basic Architecture 39 1 1 1 1 1

39
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, LUT
Ce sont de petits éléments de mémorisation, qui
reflètent la table de vérité d’une fonction logique.
In 0 In 1 In 2 In 3

LUT = Table de scrutation


LUT 4 entrées = RAM 2octets
SRAM

SRAM

In 0
SRAM
In 1
LUT 4 Out
In 2 SRAM
In 3
SRAM

SRAM
Out

M. H. BEDOUI 40
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, LUT

In 0 In 1 In 2 In 3

1111 0

1110 1

1101 1

1100 0

1011 0

1010 1
Out

M. H. BEDOUI 41
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, LUT

In 0 = 0 In 1 In 2 In 3

1111 0

1110 1

1101 1

1100 0

1011 0

1010 1
Out

M. H. BEDOUI 42
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, LUT

In 0 =0 In 1 In 2 In 3

1111 0

1110 1

1101 1

1100 0

1011 0

1010 1
Out

M. H. BEDOUI 43
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, LUT

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

1111 0

1110 1

1101 1

1100 0

1011 0

1010 1
Out

M. H. BEDOUI 44
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, LUT

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

1111 0

1110 1

1101 1

1100 0

1011 0

1010 1
Out

M. H. BEDOUI 45
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, LUT

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

1111 0

1110 1

1101 1

1100 0

1011 0

1010 1 Out= 1 = In3 • In2 • In1 • Ino

M. H. BEDOUI 46
Systèmes temps réel embarqués 2006

Configurable Logic Block (CLB)

Lect #14 Rissacher EE365

M. H. BEDOUI 47
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, multiplixeur
Élément logique de base avec multiplexeur
Multiplexeur = aiguillage

X1
Cellule très simple
X2 Cas du circuit Xilinx
1 XC6000
0

C
X3
SORTIE
Q
D S

CLK Q

M. H. BEDOUI 48
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, éléments de mémorisation

Toutes les nouvelles générations de FPGA, chez tous


les fabricants disposent d’éléments de
mémorisation, car dans les systèmes d’électronique
numérique les accès mémoires restent des points
faibles

En disposant de larges zones mémoires


(configurables) à l’intérieur du circuit on limite ainsi
le nombre d’accès externes.
Très intéressants pour réaliser des machines d’états

M. H. BEDOUI 49
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, éléments de mémorisation
Exemple des blocks SelectRAM dans les circuits
Spartan II, Virtex et Virtex II de Xilinx
Elements de mémorisation configurables en
double port ou simple port

Taille max
2*18-Koctets

M. H. BEDOUI 50
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, éléments de mémorisation
Configurations possibles pour chacun des ports :

16384*1bit (ADD sur 14 bits)


8192*2 bits (ADD sur 13 bits)
4096*4 bits (ADD sur 12 bits)
2048*9 bits (ADD sur 11 bits)
1024*18 bits (ADD sur 10 bits)
512*36 bits (ADD sur 9 bits)

M. H. BEDOUI 51
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, opérateurs câblé

Dans les ressources logiques à dispositions, on peut


trouver des opérateurs câblés optimisés.
Exemple : Multiplieurs configurables Virtex II Xilinx

Embedded Multiplieur
18*18

M. H. BEDOUI 52
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, opérateurs câblé

Configurations possibles des Multiplieurs du circuit Virtex II Xilinx


S IG N E
C O N F IG U R A T IO N PO RT A PO RT B S O R T IE
N O N -S I G N E
M U L T IP L IE U R 1 7 * 1 7 17 17 34 N O N -S IG N E
M U L T IP L IE U R 8 * 8 8 8 16 N O N -S IG N E
M U L T IP L IE U R 8 * 8 8 8 16 S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 N O N -S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 S IG N E
M U L T IP L IE U R 6 * 6 6 6 12 S IG N E
M U L T IP L IE U R 5 * 5 5 5 10 N O N -S IG N E
M U L T IP L IE U R 5 * 5 5 5 10 N O N -S IG N E
M U L T IP L IE U R 5 * 5 5 5 10 N O N -S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 S IG N E
M U L T IP L IE U R 7 * 7 7 7 14 N O N -S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 S IG N E
M U L T IP L IE U R 3 * 3 3 3 6 S IG N E
CO M PLEM EN T à 2 18 - 18 -
CO M PLEM EN T à 2 9 - 9 -
VA LEU R A BSO LU E 18 - 17 -

M. H. BEDOUI 53
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, cœur de processeur

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

M. H. BEDOUI 54
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, cœur de processeur
RAM double port RAM simple port Cœur
Altera propose le circuit Excalibur ARM 922T
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
Matrice FPGA

M. H. BEDOUI 55
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, cœur de processeur
PLL UART External Trace
Processor & Memory
Interfaces Module SRAM SRAM SRAM
Interfaces
Coeur de
JTAG Timer processeur
I-CACHE Interrupt
D-CACHE
Watchdog ARM922T DPRAM DPRAM DPRAM
ARM 8K Bytes Controller
8K Byte
Timer

XA1

LEs 4160 32 Kbytes SRAM


ESB Bytes 6.5K 16 Kbytes DPRAM

FPGA
XA4
LEs 16400
128 Kbytes SRAM
ESB Bytes 26K 64 Kbytes DPRAM

LEs 38400 XA10


256 Kbytes SRAM
ESB Bytes 40K 128 Kbytes DPRAM

M. H. BEDOUI 56
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, cœur de processeur
Xilinx propose aussi une version de son circuit Virtex II
avec un cœur de processeur le Virtex II-Pro intégré
comprenant :

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

 matrice VIRTEX avec capacité de 900 milles portes

Altera propose un circuit avec un cœur de processeur

Le Nios II à développer si nécessaire, outil fourni


 Cyclone avec un processeur RISC 32 bits, 50 MHz
 Startix, 2 processeurs

M. H. BEDOUI 57
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, entrées sorties

Comme tous composants d’électronique numérique


les FPGA disposent de ressources d’entrées-sorties
pour communiquer avec l’extérieur

Ces ressources sont aussi configurables

M. H. BEDOUI 58
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, entrées sorties
Exemple des blocs d’entrées sorties du composants Virtex de Xilinx

On peut choisir de mettre ou pas une résistance de


Pull Up ou Pull Down, et de positionner un Slew Rate

M. H. BEDOUI 59
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, entrées sorties
NOM Caractéristques Output Input Vdiff Vref Zo
Vcco Vcco

LVTTL Chip-to-chip interface 3.3 3.3 - -


Low Voltage TLL
Quelques standards LVCMOS2 Chip-to-chip interface 2.5 2.5 - -
Low Voltage CMOS
configurables sur les LVCMOS18 Chip-to-chip interface 1.8 1.8 - -
Low Voltage CMOS
entrées sorties, par SSTL3 I & II Memory bus standard 3.3 - 1.5 1.5 25 - 50
Stub Series Terminated Logic HITATCHI & IBM

bancs SSTL2 I & II


Stub Series Terminated Logic
Memory bus standard
HITATCHI & IBM
2.5 - 1.25 1.25 25 – 50

HSTL I Memory bus standard 1.5 - 0.75 0.75 50 – 70


Higt Speed Transceiver Logic IBM

HSTL III & IV Memory bus standard 1.5 - 0.9 1.5 50 – 70


Higt Speed Transceiver Logic IBM

CTT Memory bus standard 3.3 - 1.5 1.5 10 –


Center Tap Terminated FUJITSU 100

GTL High speed bus standard - - 0.8 1.2 50


Attention: l’utilisation Gunning Transceiver Logic Terminated XEROX

GTL + High speed bus standard - - 1.0 1.5 50


de certain standards Gunning Transceiver Logic Plus XEROX

AGP-2X Bus standard for graphic applications 3.3 - 1.32 - 50 - 85


demande des Advance Graphic Port INTEL

LVDS Differential I/O standard 2.5 - - - 100

connexions Low Voltage Differential Signal

PCI33_3 Bus application 3.3 3.3 - -

particulières Peripheral Component Interface

PCI66_3
INTEL

Bus application 3.3 3.3 - -


Peripheral Component Interface INTEL

LVPECL Differential I/O standard 3.3 - - -


Low Voltage Positive Emitter Coupled

M. H. BEDOUI 60
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, entrées sorties
L’adaptation d’impédance

M. H. BEDOUI 61
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, entrées sorties
Le contrôleur d ’impédance

M. H. BEDOUI 62
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, entrées sorties

Beaucoup de normes disponibles en entrées sorties


=> différentes adaptions d’impédances
=> de nombreuses résistances sur la carte

Aujourd’hui de nouvelles solutions permettent de mieux répondre à


ces problèmes d’adaptation:
les contrôleurs d’impédance:
• XILINX => XCITE : Xilinx Controlled Impedance Technology
(disponible sur Virtex II et Virtex II Pro)
• ALETRA => TERMINATOR TECHNOLOGIE
(disponible sur Stratix)

M. H. BEDOUI 63
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, entrées sorties

M. H. BEDOUI 64
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, 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 !!!

M. H. BEDOUI 65
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, horloges
Le problème 1 : JITTER : bruit de phase

Le problème 2 : CLOCK SKEW : Décalage entre


les transitions de la même horloge à différents
points d’un circuit.
Le problème 3 : on peut avoir besoin de
plusieurs horloges dans un même circuit

M. H. BEDOUI 66
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, horloges
Solutions d’asservissement des horloges

Les PLL (analogique)


Phase-Locked Loop
( ALTERA )

Les DLL (numérique)


Delay-Locked Loop
( XILINX )

M. H. BEDOUI 67
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, alimentations
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

Dans la plupart des cas il faut deux alimentations


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

M. H. BEDOUI 68
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, alimentations

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

M. H. BEDOUI 69
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, alimentations

RESEAU D’HORLOGE
21%

ENTREES SORTIES
9% RESSOURCES DE ROUTAGE
65%

RESSOURCES LOGIQUES
5%

M. H. BEDOUI 70
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, alimentations
Modélisation de la consommation de puissance
La consommation globale du circuit peut être donnée par le model
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

M. H. BEDOUI 71
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, alimentations

Modélisation de la consommation de puissance

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

M. H. BEDOUI 72
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception

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.

M. H. BEDOUI 73
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration

Types de configuration
On peut trouver 4 types de configuration :
• La configuration simple contexte (la plus utilisée)
• La configuration partielle simple contexte
• La configuration partielle multi-contextes (la plus
prometteuse)

M. H. BEDOUI 74
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Configuration simple contexte

1 matrice de configuration
SRAM
(méthode de scan-path) FPGA
Le FPGA est reconfiguré entièrement
C’est le type de configuration la plus utilisée

M. H. BEDOUI 75
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Configuration partielle
Décodeur
ligne

Décodeur
colonne
1 matrice de configuration
SRAM FPGA
Le FPGA est reconfiguré partiellement,
on peut ne modifier qu’une partie de la configuration

M. H. BEDOUI 76
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Configuration multi-contextes
Décodeur
ligne

Décodeur
contexte Décodeur
colonne
4 matrices de configuration SRAM
Le FPGA est reconfiguré partiellement,
on peut rapidement passer d’un contexte à un autre

M. H. BEDOUI 77
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Configuration dynamique
Ce type de configuration est le plus prometteur puisqu’il ouvre la voie
au domaine des architectures dynamiquement reconfigurables et des
techniques « RUN TIME RECONFIGURABLE »

M. H. BEDOUI 78
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Techniques de configuration des FPGA
On rencontre couramment 6 techniques de configuration :
• Master mode série ou parallèle
• Slave mode série ou parallèle
• Peripheral mode série ou parallèle
La sélection de la technique de configuration se fait grâce à des bits de
configuration du FPGA

Dans tous les cas la configuration se fait via un fichier de configuration


binaire : le Bitstream

Les entrées sorties utilisées pendant la configuration sont aussi des I/O
du circuits utilisables en fonctionnement

M. H. BEDOUI 79
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration

Master Mode
Dans ce cas le FPGA est maître de sa configuration

Data Data-in

EPROM FPGA
CLK CLK

OE CTRL

MODE SERIE

M. H. BEDOUI 80
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration

Master Mode

Dans ce cas le FPGA est maître de sa configuration


8 bits
Data(7:0) Data-in(7:0)

ADD (11:0) ADD (11:0)

EPROM FPGA

OE CTRL

MODE PARALLELE

M. H. BEDOUI 81
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Slave Mode
Dans ce cas le FPGA est esclave, il subit sa configuration

Data Data-in

EPROM FPGA
CLK CLK

OE

Autre FPGA
circuit logique de contrôle
ou câble de configuration

M. H. BEDOUI 82
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration

Peripheral Mode
Le FPGA est vue comme un périphérique du microprocesseur

8 bits
Data(7:0) Data-in(7:0)

ADD (11:0) Chip_Selec


FPGA
µP

CTRL CTRL

Le microprocesseur peut être un cœur de processeur


embarqué dans le circuit

M. H. BEDOUI 83
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Configuration et cœurs de processeurs
Configuration centrée sur le FPGA

ARM-Based Processor

Processor SRAM

Configuration
Unit Hard Logic

JTAG
Link
FPGA
Serial / Parallel Config-
uration FPGA Array
FPGA
Port
Configurator FPGA

Le FPGA est esclave pour sa configuration


mais il est maître de la configuration du processeur

M. H. BEDOUI 84
Systèmes temps réel embarqués 2006

Implantation logicielle et/ou matérielle


FPGA : Architecture et conception, configuration
Configuration et cœurs de processeurs
Configuration centrée sur le Processeur

JTAG
ARM--Based Processor Link

16 or 8-Bit SRAM
Processor
Flash EBI

Memory Configuration
Hard
Unit Logic

FPGA

Le processeur est maître de la configuration du FPGA

M. H. BEDOUI 85

Vous aimerez peut-être aussi