INF1500 : Logique des systèmes...
Transcript of INF1500 : Logique des systèmes...
Sylvain Martel - INF1500 1
INF1500 : Logique des systèmes numériques
Cours 9: Implémentations
Sylvain Martel - INF1500 2
Composantes74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
DEC0_L
DEC1_L
DEC2_L
DEC3_L
DEC4_L
DEC5_L
DEC10_L
DEC11_L
DEC12_L
DEC13_L
DEC14_L
DEC15_L
DEC6_L
DEC7_L
DEC8_L
DEC9_L
N0
N1
N2
N3
EN3_L
N4
EN2_L
EN1
74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
DEC18_L
DEC19_L
DEC20_L
DEC21_L
DEC22_L
DEC23_L
DEC16_L
DEC17_L
74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
DEC26_L
DEC27_L
DEC28_L
DEC29_L
DEC30_L
DEC31_L
DEC24_L
DEC25_L
1/2 74x139
1A
1G
1B
1Y0
1Y1
1Y2
1Y3
EN0X7_L
EN8X15_L
EN16X23_L
EN24X31_L
615
14
13
7
4
5
1
12
11
10
92
3
615
14
13
7
4
5
1
12
11
10
92
3
615
14
13
7
4
5
1
12
11
10
92
3
615
14
13
7
4
5
1
12
11
10
92
3
1 4
5
6
7
2
3
U2
U3
U4
U5
U1
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 3
ROM (Read Only Memory)
Une mémoire ROM consiste en :
Un décodeur avec n signaux d’entrée;
Un réseau OU programmé (ou programmable une fois) avec 2n mots de m bits chacun ;
m signaux de sortie.
Le réseau programmé comporte 2n lignes de m colonnes chacune. À l’intersection de chaque ligne avec une colonne on trouve un élément électronique à mémoire.
Une fois programmée, la ROM de 2n mots de m bits peut générer m fonctions de n variables simultanément.
Sylvain Martel - INF1500 4
ROM (Read Only Memory)
ADDR DATA
Sylvain Martel - INF1500 5
m0m1m2m3m4m5m6m7m8m9m10m11m12m13m14m15
ROM 16×8 bits
Sylvain Martel - INF1500 6
0
0110001F1111
1010001E0111
0010001D1011
1100001C0011
0100001B1101
1000001A0101
100111091001
000111080001
111011071110
011011060110
101011051010
001011040010
110011031100
010011020100
10001101100
000011000000
D0D1D2D3D4D5D6Hexa-décimal
A0A1A2A3
Sylvain Martel - INF1500 7
ROM (Read Only Memory) – Exemple: Changer la séquence normale d’un compteur
ADDR DATACLK
RST
Sylvain Martel - INF1500 8
ROM (Read Only Memory) – Exemple: Changer la séquence normale d’un compteur avec DISPLAY
ADDR DATACLK
RST
Sylvain Martel - INF1500 9
ROM (Read Only Memory) – Exemple: Séquences d’ effets spéciaux
ADDR
DATACLK
RST
LSB
ADDR
MSB
Sylvain Martel - INF1500 10
ROM (Read Only Memory) – Exemple: CLAVIERavec DISPLAY
ADDR DATA
Sylvain Martel - INF1500 11
ROM (Read Only Memory) - Suite
Il existe plusieurs sortes de mémoire ROM :
PROM : Programmable Read Only Memory, programmable une seule fois;
EPROM : Erasable Programmable Read Only Memory, programmable à plusieurs reprises, et effaçable à l’aide de rayons ultraviolets (facile à reconnaître avec la petite fenêtre); et
EEPROM : Electrically Erasable Programmable Read OnlyMemory, programmable à plusieurs reprises, et effaçable àl’aide d’impulsions électriques.
+ NVRAM, FLASH RAM, etc…
Sylvain Martel - INF1500 12
Autres types de mémoire que l’on retrouve dans un ordinateur (volatile vs. non-volatile)
ROM,PROM,EPROM,EEPROM,FLASH…
Sylvain Martel - INF1500 13
Choix – Electronique programmable
(PLA) PALGALCPLDFPGA
Sylvain Martel - INF1500 14
Circuits combinatoires (PAL)
F0 = /A2 . /A1 . /A0
F7 = A2 . A1 . A0
Sylvain Martel - INF1500 15
PAL (Programmable Array Logic)
Logique restreinte (par rapport aux CPLDs et FPGAs).C’est le plus populaire des simple PLDs.Programmable une seule fois par survoltage.Plan ET programmable.Plan OU fixe.
Sylvain Martel - INF1500 16
PAL 4L4
Sylvain Martel - INF1500 17
PAL 16L8
Sylvain Martel - INF1500 18
PLA (Programmable Logic Array)
Un PLA (Programmable Logic Array) est similaire à une ROM, mais il ne réalise pas tous les produits de termes comme une ROM. Un PLA à n entrées et m sorties peut réaliser m fonctions de n variables, en autant que chacune requiert un nombre limité de produits des variables en entrée. (En pratique, c’est presque toujours le cas).
Un PLA est composé de deux réseaux programmables, ET et OU.
Sylvain Martel - INF1500 19
PLA4 entrées,6 termeset 3 sorties
A3’A2A0
A3A2A0
A3A2’A1’
A2’A1
A1
A2A1
0 1 - 11 1 - 11 0 0 -- 0 1 -- - 1 -- 1 1 -
1 1 01 0 11 0 11 0 00 1 00 0 1
Sylvain Martel - INF1500 20
Résumé: ROM, PAL, PLA
Les ROM, PAL et PLA sont composés de deux réseaux : un réseau ET qui génère des mintermes, et un réseau OU qui permet de combiner plusieurs mintermes. La possibilité de programmer chacun de ces réseaux détermine si on a affaire à une ROM, un PAL ou un PLA. Le tableau suivant résume la situation.
Sylvain Martel - INF1500 21
GAL (Generic Array Logic)
C’est un PAL reprogrammable Il est constitué de plusieurs macro-cellules que l’utilisateur peut configurer en un bloc combinatoire simple, complexe ou bien en sortie avec registres.
Sylvain Martel - INF1500 22
CPLD (Complex Programmable LogicDevices)
D’un point de vue conceptuel, un CPLD consiste en plusieurs macro-cellules de PAL interconnectées par l’entremise d’une matrice de sélection. Contient de quelques dizaines à quelques centaines de macro-cellules.En général, les groupes de 8 à16 macro-cellules se regroupés dans un bloc de fonction.Selon le distributeur et la famille du CPLD, les blocs de fonction sont également interconnectés.
Sylvain Martel - INF1500 23
FPGA (Field Programmable Gate Array)Offre la plus grande capacité logique.Un FPGA est une matrice de blocs logiques, entourés de blocs d’E/S, reliés par des connections programmables.Un FPGA peut contenir entre 64 et plusieurs dizaines de milliers de blocs logiques et un nombre de bascules encore plus grand.Il existe deux types de FPGA:
À gros grains (‘coarse-grained’): contient des blocs logiques relativement gros, contenant deux tables de conversion ou plus ainsi que deux bascules ou plus.À grains fins (‘fine-grained’): contient d’avantage de blocs logiques simples. Ces blocs contiennent soit une fonction d’entrée double ou un multiplexeru 4-1 et des bascules.
Les FPGAs les plus denses sont construits à l’aide de la technologie des SRAMsLe procédé d’anti-fusibles est également utilisé parfois.
Sylvain Martel - INF1500 24
FPGA (Field Programmable Gate Array)
Un FPGA est composé à la base de :
un réseau de blocs de logique programmable (Configurable Logic Block -CLB), chaque bloc pouvant réaliser des fonctions complexes de plusieurs variables, et comportant des éléments à mémoire;un réseau d’interconnexions programmables entre les blocs; et,des blocs spéciaux d’entrée et de sortie avec le monde extérieur (Input/Output Block –IOB).
Sylvain Martel - INF1500 25
Sylvain Martel - INF1500 26
CLB
Sylvain Martel - INF1500 27
CLB
Combinatoire(Boolean)
Interconnection
Séquentiel
Sylvain Martel - INF1500 28
Table de correspondance - MUX
AB
LSB
C
1 0 0 0
AB
LSB
C
0 1 1 1
Sylvain Martel - INF1500 29
Table de correspondance - MUX
AB
LSB
C
1 1 1 0
AB
LSB
C
0 0 0 1
Sylvain Martel - INF1500 30
Table de correspondance – LUT + MUX
AB
LSB
C
1 1 1 0
AB
LSB
C
0 0 0 1
DFF DFF DFF DFF SR DFF DFF DFF DFF SR
BITSTREAM(Configuration
Bitstream)
Sylvain Martel - INF1500 31
Table de correspondance – MUX - Exercices
XY
LSB
C
? ? ? ?
Sylvain Martel - INF1500 32
Table de correspondance – « Partition » -Exercices
AB
LSB
C0
1 0 0 0
CD
LSB
C1
1 0 0 0
C0C1
LSB
OUT
1 00 0
(Simplification) + Partitioning
Sylvain Martel - INF1500 33
Placement + Routage
Combinatoire(Boolean)
Interconnection
Séquentiel
Bitstream
Bitstream
AB
CD
C0
C1
Ex: S0 = X; S1 = 0; S2 = X; S3 = 0H1 = X
Note: CLB a normalement 4 ou 5 entrées
Sylvain Martel - INF1500 34
Placement: CLB? + Routage: bits de configuration dans le bitstream pour interconnections entre CLBs
Sylvain Martel - INF1500 35
Avec FF
DFF
D
Combinatoire(Boolean)
Interconnection
AB
CD
AB
Q
Q
(S0 = 0)
Sylvain Martel - INF1500 36
Un autre exemple
DFF
D
AB
C
AB
Q
Q
COUT
OUT
Sylvain Martel - INF1500 37
Carte MODULA
Sylvain Martel - INF1500 38
Embedded ComputerIR Transceiver
64Kx16 SRAM
48 MIPS DSP48 MHz Oscillator
Outside Layer
Central Controller (CPLD)
STM Scan TubeDriving Section
PowerAmplifiers
High Power Rectification Bridge(Outside Section)
High Power Input Voltage Regulation
STM Interface (I/V Amplifier and A/D Converter)
Analog Section Power Converters
TemperatureSensor
Piezo-Drive SwitchingCircuit (One Leg)
IR Emitters
15 mm
Sylvain Martel - INF1500 39
ASIC (Application Specific Integrated Circuit) and VLSI (Very Large Scale Integration)
Contrôleurs
Sylvain Martel - INF1500 40
TTL, CMOS, etc…
ICs
Sylvain Martel - INF1500 41
Exercices – Bitstreams
Sylvain Martel - INF1500 42
Exercices - Décodeur 2-à-4 - Bitstream
Sylvain Martel - INF1500 43