Académique Documents
Professionnel Documents
Culture Documents
Daniel Etiemble
de@lri.fr
Le spectre d’implémentation
1
M1 Informatique Architectures avancées 3
2006-2007 D. Etiemble
2
Logique à deux niveaux : PALs et PLAs
Entrées
Réseau de Réseau de
portes ET Termes produit portes OU
Sorties
3
PALs versus PLAs
ROM : Réseau 2D de 1 et de 0.
Une ligne est un mot. Entrées du décodeur : adresse
Largeur d’une ligne : taille du mot
L’adresse est l’entrée ; le mot sélectionné est la sortie
+5V +5V +5V +5V
n
2 -1
4
ROM et logique combinatoire
Implémentation de logique combinatoire (forme canonique à deux niveaux) avec
une ROM
F0 = A' B' C + A B' C' + A B' C
F1 = A' B' C + A' B C' + A B C
F2 = A' B' C' + A' B' C + A B' C'
F3 = A' B C + A B' C' + A B C'
A B C F0 F1 F2 F3
0000 0 1 0 ROM
0011 1 1 0 8 mots x 4 bits/mot
0100 1 0 0
0110 0 0 1
1001 0 1 1
1011 0 0 0
1100 0 0 1 A B C F0 F1 F2 F3
1110 1 0 0 adresse sorties
Table Schéma
M1 Informatique Architectures avancées 9
2006-2007 D. Etiemble
Structure ROM
• Comme un PLA, mais avec un réseau ET complet (décodeur)
• Réseau OU complètement flexible (contrairement aux PALs)
N lignes d’adresse
• • •
entrées
réseau
Décodeur 2n lignes mémoire
de mots (2n mots
de m bits)
sorties
• • •
m lignes de données
5
ROMs et PLAs
• PLA : topologies généralisées avec plans ET et OU
– Compact : term ET partagé
– A besoin d’un programme CAO : forme somme de produits optimisée
– Plus lent que les PAL
• ROM : Le plan ET est prédéterminé
– Implémentation sous forme canonique
– Le plan ET est aussi appelé décodeur d’adresses
– Satisfaisant lorque
• La plupart des combinaisons d’entrée sont utilisées
• Peu de partage de termes produit
• Pas d’outils de CAO
– La taille double par entrée
– Pas de termes indifférents
– Le plus lent
CPLD/EPLD
Altera EPLD (Erasable Programmable Logic Devices)
Bloc de base Altera = MACROCELL
CLK
Réseau ET-OU avec
8 termes produit
+ MUX
Clk
MUX Plot E/S
Programmable
MUX pad
ET sortie
Q
Contrôle
inversion
MUX
F/B Bloc logique
séquentielle
Polarité programmable
Contre-réaction programmable
M1 Informatique Architectures avancées 12
2006-2007 D. Etiemble
6
Stratégies d’implémentation
Les structures ET-OU sont relativement limitées
Ne peuvent partager les signaux et termes produits entre macrocellules
Solution Altera : matrice de réseaux (MAX)
Routage global :
Réseau
Blocs d’interconnexion
De réseaux LAB A LAB H programmable
logiques
Les FPGA
Elément logique Pistes
LE LE LE LE
LE LE LE LE
LE LE LE LE
7
Elément logique
Adresse Adresse Contenu
• LUT (Look-up table) 0 0000 0
– SRAM à 4 ou 5 bits d’adresse 1 0001 1
et 1 bit de sortie 2 0010 1
– Implante toutes les tables de 3 0011 0
vérité de 4 ou 5 entrées 4 0100 1
5 0101 0
• Avantage 6 0110 0
– Programmable (SRAM) 7 0111 1
– Toutes les fonctions sont 8 1000 1
équivalentes 9 1001 0
• XOR 10 1010 0
11 1011 1
12 1100 0
13 1101 1
14 1110 1
15 1111 0
M1 Informatique Architectures avancées 15
2006-2007 D. Etiemble
8
Elément logique Cyclone (Altera)
9
Elément logique : retenues rapides
S S
10
De la conception au FPGA
Compilation de circuit
• De la fonction aux
élements logiques
physiques
LUT
?
• Routage : sélectionner
fils et commutateurs
pour les connexions
11
L’additionneur 1 bit
A B
SYNTHESE LOGIQUE
Co FA Ci
A
B LUT Co
Ci
M1 Informatique Architectures avancées 23
2006-2007 D. Etiemble
RAM enfouie
12
Multiplieurs enfouis
Simulation RTL
• Simulation fonctionnelle
• Vérifie le fonctionnement
logique et le flot de données
(Pas d’analyse temporelle)
LE Synthèse
• Traduit la conception en primitives matérielles spécifiques
MEM I/O •Optimisation pour satisfaire les contraintes en surface et
performance
13
Flot de conception FPGA
tclk
Analyse temporelle
- vérifie que les spécifications temporelles sont satisfaites
- Analyse temporelle statique
14
Exemple (Xilinx)
Altera NIOS II
• Processeur RISC
32 bits (soft core)
15
Altera NIOS
Altera NIOS
16
FPGA Cyclone d’Altera
• Caractéristiques
– Architecture
– Applications
• http://www.altera.com/products/devices/cost/cst-cost_step1.jsp
• Cyclone FPGA EP1C6-C7
– Caractéristiques
– Ressources logiques
– Ressources mémoire
– Horloges
– Entrées-sorties
17
Structure des blocs du réseau logique Cyclone
18
Blocs mémoire enfouis
19
Elément d’entrée-sortie
Configuration
• Méthodes
– JTAG
• ByteBlaster pod
– EPC2
• Built-in ByteBlaster
circuitry
• FPGA automatically
configures from EPC2
- should erase EPC2 if
that is not desirable
• Fichiers
– Fichier objet SRAM
(*.SOF)
– Fichier objet
programmeur (*.POF)
20
Evolution des FPGA
• Spécialisation
– Mémoire
– E/S
• Coeur IP (“Intellectual Property”)
– Implantation de fonctionnalités particulières
– http://www.altera.com/products/ip/ipm-index.html
• Evolution vers les Systèmes sur puce (SoC)
Communication
Interface
tile North Ctrl
Multiplier
West East
uProc
ctrl
West
East
FPGA Multiplier
South Core
Core
21