Académique Documents
Professionnel Documents
Culture Documents
Look-Up MUX
SET
CLB SB CLB Table D Q
(LUT)
CLR Q
CLB SB CLB
SB SB SB
SB SB SB
Configurable Logic Blocks
CLB SB CLB
Interconnection Network
Configurable Logic Blocks
CLB SB CLB
I/O Signals (Pins)
Interconnection Network
3 4
5 6
1
12/04/2020
7 8
Clock
Plusieurs FPGA intègrent des
Flip-flops
tree microprocesseurs fixes.
N’utilisent pas de CLB ni de mémoire
du FPGA.
Architecture résultante très
performante, SoC-sur-FPGA.
Accès rapide entre le microprocesseur
Special clock
fixe et le reste de la logique, les
pin and pad multiplicateurs et la mémoire.
Clock signal from
outside world
Ce réseau est alimenté par une patte spéciale du FPGA à laquelle est
associé un amplificateur dédié.
9 10
Logic cell Logic cell Chaque Slice possède quatre sorties LUT Carry D
PRE
Q
CE
2
12/04/2020
Registres de sortie.
Y
Deux tables de correspondance H
à 4 entrées: H1 S1
Registres d’entrée.
fonction logique F4
Permettent de configurer les caractéristiques des terminaux
mémoire RAM F3 D Q
XQ
d’entrée/sortie de l’FPGA.
1.Utilisation du terminal comme entrée:
Table de
correspondance
mémoire ROM F2 F CLK
décalage F1
• Bistable de mémorisation.
• Choix de sortie directe ou mémorisée à travers le bistable.
• Courant de sortie maximal,etc.
13 14
BLOCS LOGIQUES INTERNES : NOTION DE LUT Exemple d’une configuration d’un CLB: NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS COMBINATOIRES
On montre comment un CLB peut être configuré afin de réaliser ces deux
Le concept du FPGA est basé sur l'utilisation d'une LUT (LookUp fonctions:
15 16
BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS COMBINATOIRES BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS COMBINATOIRES
X5 X4 X3 X2 X1 Y
0 0 0 0 0 0
La logique combinatoire est stockée dans les Look-Up Tables (LUTs) 0 0 0 0 1 1
0 0 0 1 0 0
0 0 0 1 1 0
Appelées aussi Générateurs de fonction “Function Generators 0 0 1 0 0 1
(FGs)”
Et si c’était une fonction à 5 0 0 1 0 1
0 0 1 1 0
0 0 1 1 1
1
0
0 LUT
entrées, combien de luts va t-elle 0 1 0 0 0
0 1 0 0 1
1
0
Leur capacité est limitée par le nombre d’entrées, et non pas de leur
utiliser?
0 1 0 1 0 0
0 1 0 1 1 1 OUT
0 1 1 0 0 1
compléxité. 0 1 1 0 1
0 1 1 1 0
1
1
0 1 1 1 1 1
1 0 0 0 0 0
Probablement 2 luts. 1 0 0 0 1
1 0 0 1 0
0
0
Délai à travers la LUT est constant. 1 0 0 1 1
1 0 1 0 0
0
0
1 0 1 0 1 0
1 0 1 1 0 0
1 0 1 1 1 1
1 1 0 0 0 0
1 1 0 0 1 1
LUT
1 1 0 1 0 0
1 1 0 1 1 1
1 1 1 0 0 0
1 1 1 0 1 1
1 1 1 1 0 0
1 1 1 1 1 0
17 18
3
12/04/2020
BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS SÉQUENTIELLES BLOCS D’ENTRÉE/SORTIE
IOB: IN, OUT, INOUT
Pour implémenter les fonctions séquentielles, un flip-flop D est utilisé.
On réalimente la sortie séquentielle dans une des entrées de la LUT si L'information peut être transmise
c’est nécessaire. directement ou mémorisée dans une
mémoire aussi bien à l'entrée qu'à la sortie.
Pour la voie de sortie, un multiplexeur permet
• Implémenter Flip Flop D dans un bloc: de contourner ou non la mémoire; pour la
voie d'entrée, il existe deux chemins
d'accès différents.
son échantillonnage.
Interconnexions Programmables:
Interconnexions Programmables: Définition
Topologie Générale du Réseau
Le réseau de connexions est un
élément fondamental de
l'organisation d'un circuit Elle résulte de la disposition
intégré programmable. adoptée pour les blocs fonctionnels
Il a un impact direct sur les du circuit (CLB et IOB).
performances du circuit par Le réseau est formé à partir de trois
son influence sur les délais de sous-réseaux:
transmission des signaux.
Il intervient dans le coût de 1. un réseau de pistes est-ouest,
fabrication vu la surface qui doit 2. un réseau de pistes nord-sud,
lui être attribuée (environ 80% 3. un réseau configuré en anneau
de la surface du circuit) et vu les à la périphérie du circuit.
exigences qu'il génère sur le
choix de la technologie
(nombreuses couches de
métallisation).
21 22
23 24
4
12/04/2020
CLB
Cas B
CHEMINS D’INTERCONNEXION
SEGMENTÉS (INDIRECTS)
27 28
29 30
5
12/04/2020
POINT DE CONNEXION PROGRAMMABLE COMPOSÉ MATRICES DE COMMUTATION DES FAMILLES 3000 ET 4000 DE XILINX
31 32
33 34
35 36
6
12/04/2020
Interconnexions Programmables:
Couches de métallisation FPGA : Zoom
Une exploitation efficace des Les interconnexions sont représentées sur la figure:
connexions => disposer de plusieurs
niveaux de métallisation afin de
permettre le croisement des pistes. 1. Les liaisons sont assurées par des canaux de lignes horizontales et
Il est intéressant de disposer d'au moins verticales sur lesquels les blocs logiques viennent se connecter
quatre niveaux de métallisation, à (connection block).
savoir:
1. un niveau pour organiser
2. Le routage des signaux est assuré par des boîtiers d'interrupteurs
l'alimentation des circuits (VDD et programmables (Switch box) situés au croisement des canaux.
GND),
2. un niveau pour les liaisons locales,
3. un niveau pour les liaisons nord-sud,
4. et un niveau pour les liaisons est-
ouest.
En pratique, la plupart des FPGA récents
exploitent des technologies à 5 et 6
couches de métallisation.
37 38
39 40
La famille Virtex
Implémentation de fonctions >= 5
Utilisation
De
9 Entrées
41 42
7
12/04/2020
La famille Virtex
La famille Virtex-II pro
43 44
45 46