Sylvain Martel - INF1500 1 INF1500 : Logique des systèmes numériques Cours 6: Circuits séquentiels plus complexes (MSI)
Sylvain Martel - INF1500 1
INF1500 : Logique des systèmes numériques
Cours 6: Circuits séquentiels plus complexes (MSI)
Sylvain Martel - INF1500 2
Registres
Un registre est un ensemble de bascules et de quelques portes logiques pour garder en mémoire un code binaire de façon temporaire. Dans ce chapitre, on considère principalement les registres construits avec des bascules D.
En plus d’une horloge, un registre a besoin d’un signal de contrôle pour indiquer quand les données placées àl’entrée doivent être chargées en mémoire. Une façon robuste de réaliser ce circuit consiste à placer un multiplexeur à l’entrée de chaque bascule. Le signal de contrôle est appliqué à la ligne de sélection du multiplexeur. Le diagramme suivant représente un registre à 1 bit.
Sylvain Martel - INF1500 3
Registres - Suite
Le registre est chargé de la valeur D0 sur une transition d’horloge quand le signal ‘charge’ a la valeur 1. Tant que ‘charge’ vaut 0, le registre garde en mémoire la valeur qu’il contient.
Sylvain Martel - INF1500 4
Registre à chargement parallèle
En plaçant plusieurs registres à 1 bit en parallèle, on peut garder en mémoire des codes à plusieurs bits. On obtient ainsi un registre à chargement parallèle. Le diagramme suivant représente un registre à chargement parallèle à 4 bits.
Sylvain Martel - INF1500 5
Pentium
Sylvain Martel - INF1500 6
Processeur: Temps par étage du pipeline (UCT – CPU)
T1 T2 T3
Horloge
FREQ = 1 / MAX (T1, T2, T3)
Registre
Sylvain Martel - INF1500 7
Registre à décalage(Shift Register)
Un registre à décalage permet d’effectuer un décalage sériel de son contenu. Il y a plusieurs applications pour ce genre de registre. On pense entre autres aux communications sérielles RS-232 et à la multiplication et la division binaires.
Le décalage peut s’effectuer vers la droite, la gauche ou les deux.
Sylvain Martel - INF1500 8
Shift-Register (SR)
74x175
CLR
CLK
1D1Q
9
2
1Q3
1
4
2D5
3D12
4D13
2Q7
6
3Q10
11
4Q
2Q
3Q
4Q
15
14
(b)
(a)
D Q
QCLK
CLR
(2)
(3)
(4)1Q
1Q_L
1D
D Q
QCLK
CLR
(7)
(6)
(5)2Q
2Q_L
2D
D Q
QCLK
CLR
(10)
(11)
(12)3Q
3Q_L
3D
D Q
QCLK
CLR
(15)
(14)
(13)
(9)
(1)
4Q
4Q_L
4D
CLK
CLR_L
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 9
Multiplication et Division (SR)
0 0 1 0 = 2
0 1 0 0 = 2 x 2 = 4
0 0 1 0 = 4 ÷ 2 = 2
Sylvain Martel - INF1500 10
Pentium
MultiplicationDivision
Sylvain Martel - INF1500 11
Compteurs
Un compteur est un registre dont le contenu change (en général) avec chaque coup d’horloge. Le compteur passe à travers une séquence prédéfinie d’états indépendamment de tout signal d’entrée (àpart l’horloge). La sortie du compteur est donnée directement par ses variables d’état, c’est à dire par la valeur de chaque bascule.
Par exemple, un compteur binaire à trois bits aurait la séquence {000, 001, 010, 011, 100, 101, 110, 111, 000, 001, 010, etc.}.
Il y a plusieurs sortes de compteurs et plusieurs façons de les réaliser.
Sylvain Martel - INF1500 12
Types de compteurs
Compteurs à déferlement (en cascade)
Dans un compteur à déferlement (ripple counter), les différentes bascules n’ont pas d’horloge commune. La sortie d’une bascule sert plutôt de signal d’horloge à la bascule suivante.
Ce genre de circuit n’est pas très fiable, surtout si le nombre de bascules est grand, parce qu’il est de nature asynchrone (pas d’horloge commune). Cependant, il est très simple.
L’utilisation de bascules JK connectées en configuration T (Toggle) simplifie grandement le circuit par rapport àl’utilisation de bascules D.
Sylvain Martel - INF1500 13
Types de compteurs - Suite
Compteurs synchrones
Dans un compteur synchrone, les bascules partagent une horloge commune.
Autres compteurs
Compteurs vers le haut, vers le bas, vers le haut ou le bas, avec ou sans chargement parallèle, avec ou sans signal de remise à zéro ou à un, avec ou sans possibilité de décalage vers la droite ou la gauche, BCD, avec une séquence arbitraire, alouette, etc.
Sylvain Martel - INF1500 14
Compteurs en cascade (asynchrones)
Q
QTCLK
T
T
T
Q0
Q1
Q2
Q3
Q
Q
Q
Q
Q
Q
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 15
Compteurs synchrones 2 bits
EN
CLK
D0 Q0
D1 Q1
MAX
D Q
QCLK
D Q
QCLK
current state
excitation
output
input
clock signal
Next-state Logic F State Memory Output Logic G
EN′
EN
Q0′
Q0
Q1′
Q1
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 16
Compteurs synchrones 4 bits
Q
T
EN
CLK
CNTEN
Q
T
Q
T
Q
T
Q0
Q1
Q2
Q3
EN
EN
EN
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 17
Compteur 74LS163
74x163
CLR
CLK
LD
QA
QB
2
14
11
1
9
ENP
ENT
7
10
A
B
3
4
C
D
5
6QC
QD15
RCO
13
12
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
74x163
CLR
CLK
LD
QA
QB
2
14
11
1
9
ENP
ENT
7
10
A QA
QB
QC
QD
RCO
B
3
4
C
D
5
6QC
QD15
RCO
U1
13
12
CLOCK
RPU+5 V
R
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 18
Compteur 74LS163 (gate level)
Q
Q
CLK
CK
D QA(14)
Q
QCK
D QB(13)
Q
QCK
D QC(12)
Q
QCK
D QD(11)
RCO(15)
(6)D
(7)ENP
(10)ENT
(5)C
(4)B
(3)A
(1)CLR_L
(9)
(2)
LD_L
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 19
Compteurs 74LS161 et 74LS163(timing diagram)
CLK
QA
QB
QC
QD
COUNT 0 1 2 8 9 10 11 12 13 14 15 03 4 5 6 7
RCO
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 20
Montage avec le 74LS163
74x163
74x00
CLR
CLK
LD
QA
QB
2
14
11
1
1
2
9
ENP
ENT
7
10
A Q0
Q1
Q2
Q3
B
C
D
QC
QD15
3
RCO
13
12
S11XX_L
U1
U2
+5 V
CLOCK
RPUR
3
4
5
6
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Démarre toujoursà la valeur binaire DCBA = 0011
À Q3Q2Q1Q0=1100, on recharge DCBA à 0011 via LD
Sylvain Martel - INF1500 21
Montage avec le 74LS163 - Suite
Un compteur modulo-9 avec la séquence 3,4,…,9,3,4,…
CLOCK
Q0
Q1
Q2
Q3
COUNT 11 12 38 9 103 4 5 6 7
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 22
Montage en cascade synchrone avec deux 74LS163
74x163
CLR
CLK
LD
QA
QB
2
14
11
1
9
ENP
ENT
7
10
A Q0
Q1
Q2
Q3
B
3
4
C
D
5
6
Q4
Q5
Q6
Q7
RCO8
QC
QD15
RCO
13
12
U1
74x163
CLR
CLK
LD
QA
QB
2
1
9
14
11
ENP
ENT
7
10
A
B
3
4
C
D
5
6QC
QD15
RCO
13
12
U2
CLOCK
RESET_L
D0
D1
D2
D3
D4
D5
D6
D7
LOAD_L
CNTEN
RCO4
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 23
Montage avec le 74LS163
74x163
CLR
CLK
LD
QA
QB
2
14
11
1
9
1
9
ENP
ENT
7
10
A Q0
Q1
Q2
Q3
B
3
4
6
C
D
5
4
5
31
2
6
Q4
Q5
Q6
Q7
MAXCNT
QC
QD15
RCO
13
12
U2
U1
U1
74x163
CLR
CLK
LD
QA
QB
2
14
11
ENP
ENT
7
10
A
B
3
4
C
D
5
6QC
QD15
RCO
13
12
U3
CLOCK
RESET_L
GO_L
RELOAD_L
CNTEN
RPU
74x00
74x00
+5 V
R
RCO4
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Compteur modulo-193 avec la séquence 63,64,…,266,63,64,…
Sylvain Martel - INF1500 24
Symboles
CNT
RST (CLR)
4
COUNTER
Q[3:0]
RST
DFF
D
RST (CLR)
4
SPC
Q[3:0]
D÷ ?
RST (CLR)
PSC
D4D[3:0]
Q
RST (CLR)
REG
D4D[3:0]
Q4
Q[3:0]
LD
Sylvain Martel - INF1500 25
Simple Ordinateur
Horloge (oscillateur)
Pipeline (UCT (CPU))
Mémoire
Instructions
Résultats
Mémoire
RESET
Mémoire
Mémoire
D1 D2
Sylvain Martel - INF1500 26
Structure d’un RAM statique (SRAM)
OUTIN
SEL_LD Q
CWR_L
IN
SEL
WR
OUT
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 27
RAM statique (SRAM)
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
DOUT3 DOUT2 DOUT1 DOUT0
3-to-8decoder
DIN3 DIN2 DIN1 DIN0bitline word line
0
1
2
32
1
0 4
5
6
7
A2
A1
A0
WE_L
CS_L
OE_L
WR_L
IOE_L
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 28
Structure d’une RAM statique
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
IN OUT
SEL
WR
DIO3 DIO2 DIO1 DIO0
7
WE_L
CS_L
OE_L
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 29
Diagramme temporel d’une RAM statique, en lecture
ADDR
CS_L
OE_L
DOUT
tAA tOZ tOZ tOE
tOH
tOE
tACS
stable stable stable
≥ tAA max(tAA,tACS)
valid validvalid
Note: WE_L = HIGH
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 30
Diagramme temporel d’une RAM statique, en écriture
ADDR
CS_L
WE_L
DIN
tAS tWP tAH
stable stable
tCSW
tDS tDH
tAS
tWP tAH
tCSW
tDS tDH
validvalid
(WE-controlled write) (CS-controlled write)
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 31
Pentium
SRAM (Cache)
Sylvain Martel - INF1500 32
Simple UCT
0101
0001
SRAMAdresse
00
01
Compteur
Décodeur EXEC 0
EXEC 15Data 0Data 1
Oscillateur
Décodeur
Sylvain Martel - INF1500 33
Simple UCT (Codes pour les instructions)
0101
0001
SRAM
Sylvain Martel - INF1500 34
D
CLK
PR_L
CLR_L Q
QN
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
74x175
CLR
CLK
1D1Q
9
2
1Q3
1
4
2D5
3D12
4D13
2Q7
6
3Q10
11
4Q
2Q
3Q
4Q
15
14
(b)
(a)
D Q
QCLK
CLR
(2)
(3)
(4)1Q
1Q_L
1D
D Q
QCLK
CLR
(7)
(6)
(5)2Q
2Q_L
2D
D Q
QCLK
CLR
(10)
(11)
(12)3Q
3Q_L
3D
D Q
QCLK
CLR
(15)
(14)
(13)
(9)
(1)
4Q
4Q_L
4D
CLK
CLR_L
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Hiérarchie: Registre
Sylvain Martel - INF1500 35
Exercices
0101
0001
SRAMAdresse
00
01
Compteur
Décodeur EXEC 0
EXEC 15Data 0Data 1
Oscillateur
Décodeur
Sylvain Martel - INF1500 36