Logique Séquentielle et Systèmes de Mémoire
Logique Séquentielle et Systèmes de Mémoire
on se rappelle que l'état présent est une sortie de l’élément mémoire, tandis que
l'état futur en est une entrée. 1 1 1 1 1 1 1
h 0 0 0 0 0 0 0
T
Front montant Front descendant
Q
0
Elément de
commande mémoire Valeur
mémorisé
Commande Qn Qn+1
Qn: Etat présent
Set X 1 0
Qn+1 ou Q+: Etat suivant
Reset X 0 0
0 0
Mémorisation 1 1
L’élément de mémoire est dit dans l’état « Set » si Q=1 et Q’=0 (Hold State)
L’élément de mémoire est dit dans l’état « Reset » si Q=0 et Q’=1
7
Bascule RS asynchrone
Bascule RS asynchrone
2 portes NOR Schéma équivalent
R
Q __
S Q S R Qn Qn+1 Qn+1
Q' R Q' 0 0 0 0 1
S
0 0
2 entrées: S et R 1
2 Sorties: Q et Q’
Elle est formé de deux portes NOR en connectant leurs sorties à
l’entrée de l’autre porte. 0 1
0
La bascule RS est dite dans l’état « Set » si Q=1 et Q’=0
La bascule RS est dite dans l’état « Reset » si Q=0 et Q’=1
Qn+1 = (R + Q’n)’ (Hold State)
Q’n+1 = (S + Qn)’
8
1 0
0 1
0 0
9 11
1 0 0 0
0 1
13 15
Bascule S’R’
Bascule formé de deux portes NAND en connectant leurs
sorties à l’entrée de l’autre porte NAND.
S R Qn+1 S' S’ R’ Q
Q
0 0 Figée 1 1 No change
1 0 0 (reset)
0 1 0 (reset) Q' 0 1 1 (set)
R' 0 0 Interdit
1 0 1 (set) 0 Set 0 0
S 0
PS NS
0 0 Reset 0
R 0 S’ R’ Qn Qn Qn+1 Qn+
1
1 PS: Etat présent Qn
Q 0 0 0 0 1 X X 1 0 set NS: Etat suivent Qn+1
1 1 1 1 0 X X 0 1 reset
/Q 0 1 1 0 1 0 1 hold
Mise à 1 Figée Mise à 0 1 1 1 0 1 0 hold
0 0 X X 1 1 interdit
1*Q = Q
Bascule D 1/ 0 S 1/ 0/ 1
D 1/ 0
(Data) Q
C=1
Qn S R Qn+1 0/ 1 0/ 1
D Q H
0 0 0 0 1
0 0 1 0
H Q R Q
0 1 0 1 0/ 1
0 1 1 indéterminé 0/ 1 1/ 0
Symbole logique
1 0 0 1
Mode transparent
Mode transparent
Verrouillées sur
Verrouillées sur
Verrouillées sur
Mode transparent
Mode transparent
1 0 1 0
1 1 0 1
Q=0
Q=1
Q=0
1 1 1 indéterminé
H
Table de vérité
S R Qn+1 C S R S’ R’ Q
0 x x 1 1 mémorisation H D Qn+1 D
0 0 Qn mem 1 0 0 1 1 mémorisation
0 1 0 Reset 1 0 1 1 0 0 (reset) 0 X Qn Q
1 0 1 Set 1 1 0 0 1 1 (set)
1 1 indéterminé 1 1 1 0 0 indéterminé 1 0 0
Quand H = 1, Qn+1= D, mode transparent
1 1 1
Qn+1 = S + R'.Qn Dans ce cas si D change, Q suit fidèlement D
Qinitial=0
Avec S.R = 0
Quand H = 0, Qn+1= Qn, sorties verrouillées
Bascule D H D Qn+1
Bascule D asynchrone Bascule D: bascule de recopie. 0 X Qn
• H=0 : mode mémorisation 1 0 0
Une bascule D (" Données " ou " Data ") est en fait une bascule RSH
particulière, pour laquelle on a en permanence D=S=R’. • H=1: mode d’acquisition (recopie D) 1 1 1
C D Q
D (“data”) et C (“control”). 0 x mémorisation Différentiation des entrées:
Quand C = 0, S’= R’ = 1, mémorisation. 1 0 0
1 1 1
• D: entrée des données
Quand C = 1, la sortie Q est égal à l’entrée D.
• H(Horloge): entrée de contrôle de commande
sorties.
(a) Circuit
D Q
D Clock
Q
D
CLK
Qm
QM Q = Qs
Bascule D Bascule JK
Bascule D asynchrone J=K=0 bascule figée mémorisation
D J=1 et K=0, la bascule met la sortie Q à 1 au front montant de l’horloge.
D Q
CLK J=0 et K=1, la bascule met la sortie Q à 0 au front montant de l’horloge.
CLK
J=K=1 l’état se sortie Q change après chaque front d’horloge montant suivant.
Q
H
Mode transparent
J H J n Kn Qn+1
Bascule D synchrone
↑ 0 0 Qn
D K ↑ 0 1 0
↑ 1 0 1
D Q CLK ↑ 1 1 /Qn
CLK Q X X X Qn
Q
set
Active sur front montant toggle J=K=0 reset J= 1 K=0
J=K=1 figée J= 0 K=1
La bascule JK Bascule T
T Q
J T
J Q D
J H T Q H
K H
D Q
K K H
H /Q
T=J=K H T Qn+1
D = T Q n + T Qn
H=0, Qn+1 = Qn
x 0 Qn
H=0, Qn+1 = Qn 1 /Qn
H
D = J Qn + K Q n Au front montant Qn+1 = D
J=K=1 , Qn+1 = Qn
H , Qn+1 = D
JK J=K=0 , Qn+1 = Qn T = 0 D = Qn Qn+1 = T Qn + T Qn
H J n Kn Qn+1 T T = 1 D = /Qn
1X 0 1 1
0X ↑ 0 0 Qn Mémorisation
0 1 X0
↑ 0 1 0 reset 0 1
X1 ↑ 1 0 1 set
Pas de front ↑ 1 1 /Qn Togle 0
montant X X X Qn Mémorisation
Cr
? Pr Q ? Pr Q Pr Cr Dn Qn+1 H
H H
0 1 X 1 D
? Cr Q ? Cr Q
1 0 X 0
Pr
Cr et Pr actives au niveau haut
0 0 X Interdit
Cr et Pr actives au niveau bas
1 1 0 0 Clr
1 1 1 1 Q
Résumé
PRE
Circuit Séquentiel
Flip-flops J Q
CLK
Set Toggle Set Reset Toggle Latch Souvent des bascules D mais
CLK on peut avoir les 4 bascules
(SR, JK, D or T) T
J
K Set
Le nombre de bascules utilisé
PRE Reset dépend du nombre d’état J
CLR K
Q
39
Les états sont représentés par des cercles avec leur nom inscrit à l’intérieur ; les transitions
entre les états sont représentées par des arcs dirigés reliant les cercles ; les conditions Implantation à l’aide des bascules JK
enclenchant ces transitions sont notées sur les arcs ; et finalement la valeur des sorties est
généralement indiquée soit sur l’arc (séparée des entrées par un trait oblique : /) ou à l’intérieur Table d’excitation
du cercle (séparée du nom de l’état par un trait oblique : /)
Une table de vérité ne donne pas assez d’informations sur le passé de la bascule. Une
Diagramme d’états: machine de Moore table de transition ne s’intéresse pas à la sortie en fonction d’un état particulier de
X=0 l’entrée, mais à l’état d’entrée nécessaire à une transition particulière de la sortie.
Table d’excitation de la bascule JK
Dans le graphe des états de la machine de Moore:
Y /Z - chaque sommet correspond à un état présent y
Table de vérité Table d’excitation
- chaque flèche correspond à un état d’entrée x et
pointe vers un état futur yn+1 J K Qn Qn+1 Qn Qn+1 J K Opération
X=1 - l’état de sortie z est indiqué dans les sommets
0 0 0 0 0 0 0 X Figée/reset
Diagramme d’états: machine de Mealy 0 0 1 1 0 1 1 X Set/complément
0 1 0 0 1 0 X 1 Reset/complément
X=0/Z 0 1 1 0 1 1 X 0 Figée/set
1 0 0 1
chaque sommet correspond à un état présent y 1 0 1 1
Y chaque flèche correspond à un état d’entrée x et 1 1 0 1
pointe vers un état futur yn+1 1 1 1 0
l’état de sortie z est indiqué sur les flèches
X=1/Z
+ 1 X
Q Q J K 0 0 1 0 1 0 X
0 1 0 0 1 0 X X 0
0 0 0 X 0 1 1 1 0 1 X X 1
Soit le diagramme d’état suivant qui correspond à un compteur modulo 4 avec une 0 1 1 X 1 0 0 1 0 X 0 0 X
1 0 X 1 1 0 1 1 1 X 0 1 X
entrée X tel que: X 0
0 1 1 X 0 1 1 0 1 1 X 0
X= 0 Circuit figé 2. Diagramme d’état 1 1 1 0 0 X 1 X 1
X=1 Circuit compte 00
Etat Etat suivant Equation de conception QBx QB
1 1 présent x=0 x=1 QA 00 01 11 10
0
0 QAQB QA+QB+ QA+QB+ 1
01 11 0 0 0 0 0 1 QB QB QA 1 X X X X
QBx QBx
0 0 1 0 1 1 0 QA 00 01 11 10 QA 00 01 11 10 x
1 0 1 0 1 1 0 0
1 X X X X 1 JA = QB.x
1 1 1 1 1 0 0
1 QA 1 0 1 X X QA 1 X X 1
10 QB
x x QBx
QA 00 01 11 10
0 JB = x KB = x 0 X X X X
On apprend à transformer un diagramme d'état en équations de QA 1 1
récurrences. Cela se fait très simplement à l'aide d'un tableau état x
présent/état futur. KA = QB.x
QBx QB
QA 00 01 11 10 QBx QB
0 1 QA 00 01 11 10
0 1 1
QA 1 1 1 1
QA 1 1 1
x
x
DA = [Link]'+ xQA’QB +QAx' DB = QB'.x + QB.x’
= QB xor QA
QA
QB
Qn Qn+1 J K T D Q QB
Q' Q Q' Q
0 0 0 X 0 T T
Q' QB'
0 1 1 X 1 Clk
1 0 X 1 1 Clk
1 1 X 0 0
TA = QB x, TB = x
x 51
Références nominatives
CTR : compteur
Symbole distinctif des compteurs CTR DIV m : compteur-décompteur par
m ou modulo m
Entrée de comptage UP : Incrémente de 1 la sortie du compteur.
Entrée de décomptage DOWN : Décrémente de 1 la sortie du compteur.
Sortie fin de cycle de comptage CO : Carry. état indiquant que le Compteur est plein.
Sortie fin de cycle de décomptage BO : Borrow. État indiquant que le compteur est vide
Entrée de validation EN, CTEN, CE, OE : Valide le circuit, les sorties
clk q0 fréquence f/2
Entrée d’horloge CLK, H : Signal permettant l’évolution des sorties q1
(freq. f) compteur fréquence f/4
Entrée dynamique État interne = 1 sur le front montant du signal q2
n-bit fréquence f/8
Entrée dynamique avec négation O État interne = 1 sur le front
…
logique descendant du signal
qn-1
H : niveau haut (stable) fréquence f/2n
L : niveau bas (stable)
X : niveau indifférent
Symbole des tables de ou : flanc ou front descendant
fonctionnement du signal (passage de H à L.
ou : flanc ou front ascendant (ou montant)
du signal (passage de L à H).
HIGH Q1 0 0 1 1 0 0 1 1 0
J Q0 J Q1 J Q2
4
CLK C Q0 C Q1 C
8 200 Hz
K K K
FF0 FF1 FF2
100 Hz 400 Hz
CLK 1 2 3 4 5 6 7 8
50 Hz 2
Q0 0 1 0 1 0 1 0 1 0
16
Q0
Horloge
Q1 0 0 1 1 0 0 1 1 0
Q1
800 Hz
Q2 0 0 0 0 1 1 1 1 0
Q[2..0] 0 1 2 3 4 5 6 7 0
Cette table représente un compteur MOD 8. Le compteur revient à 000 a la 8ième impulsion de
l’horloge
Si on connectant les trois sorties Qa, Qb, et QC à 3 LED, cela représente un compteur qui compte
Q[3..0] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 Valeur décimale de 0 à 7 .
1
0 Qa•1
0 1
0 Qb•1
0
Input
1 J Qa 1 J Qb 1 J Qc 1 J Qa 1 J Qb 1 J Qc
>Clk >Clk >Clk >Clk >Clk >Clk
1 K Qa 1 K Qb 1 K Qc 1 K Qa 0 1 K Qb 0 1 K Qc
0
1 Qa•1 0
1 Qb•1
In Qc Qb Qa
0
1
Au front
0 descendant
0 0 de0 l’horloge
on a: Qa,n+1 = /Qa,n toggles . Up/Down
1 1 1 1
Qa 2 descendant
Au front 1 1 de 0 /Q
a Quand l’entrée Up/Down=0 l’horloge Clk est reliée à la sortie Q de la bascule
on a: 3Qb,n+1 =
1 /Q0b,n,toggle
1 précédant.
Qa
Qb Le front4 descendant
1 0 de0/Qa
correspont au front montant
Le compteur compte.
de Qa. 5 0 1 1
Au front
6 montant
0 1 de0 Qb
Qc on a Qc,n+1= /Qc,n Quand l’entrée Up/Down = 1 l’horloge Clk est reliée à la sortie /Q de la
bascule précédant.
7 0 0 1
toggles .
Le compteur décompte.
Si on place des LEDs à la sortie de chaque bascule on aura.
C C C C
compteur i Compteur i+1
CLK
modulo 8
K K K K modulo 4
CLR CLR CLR CLR
1 2 3 4 5 6 7 8 9 10 11
Clock 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
D 0 Clk
1 0 1 0 1 0 1 0 1 0
C 0 0 1 1 0 0 1 1 0 0 0
Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
B 0 0 0 0 1 1 1 1 0 0 0
A 0 0 0 0 0 0 0 0 1 1 0 Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
Sortie
NAND Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Q3
Clk Q Q Q
T2 T1 T0
Q0 Clk
1
Q1
Exemple 4
Example: Compteur 3 bits avec des bascules Jk
Compteur complexe: Séquence 000010011101110000
Etat Etat Entrées des État présent État suivant Entrée des bascules
Diagramme des états
QC,nQB,nQA,n QC,n+1QB,n+1QA,n+1 TCTBTA
présent suivant Bascules JK
Q2 Q1 Q0 Q2+ Q1+ Q0+ J2K2 J1K1 J0K0
0 0 0 0 0 1 000 010
0 0 1 0 1 0 0 0 0 0 1 0 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0 0 0 1 X X X XXX
1 0 0 1 0 1 110 011 0 1 0 0 1 1 0 0 1
1 0 1 1 1 0 0 1 1 1 0 1 1 1 0
1 1 0 1 1 1 1 0 0 X X X XXX
1 1 1 0 0 0
101 1 0 1 1 1 0 0 1 1
Q2 Q1 Q0 1 1 0 0 0 0 1 1 0
Table d’excitation Table des états
1 1 1 X X X XXX
Q Q Q
QnQn+1 T
J K J K J K 00 0 QBQA QBQA QBQA
Clk 01 1 QC 00 01 11 10 QC 00 01 11 10 QC 00 01 11 10
1 10 1 0 0 X 1 0 0 1 X 1 0 0 0 X 0 1
11 0
1 X 0 X 1 1 X 1 X 1 1 X 1 X 0
Compteurs synchrones
Remarque : Dans un compteur binaire , le nième bit (bleu souligné) est toujours
complémenté
QA’
011…11 100…00 QA QB
QB’ TB QC’
ou 111…11 000…00 TA
QC
Donc, Xn est complémenté si Xn-1Xn-2 ... X1X0 = 11…11.
Comme résultat, si nous utilisons des bascules T, alors Q B’
QA
Tn = Xn-1 . Xn-2 . ... . X1 . X0 TC QC
Exemple n=3 QC
Horloge Q 2Q 1Q 0 Q1 change Q0 change à chaque cycle
0 0 0 0
Q2 change Le bit Q1 change quand Q0=1
1 0 0 1 Donc T1=Q0
2 0 1 0
Le bit Q2 change si à la fois Q1 et Q0
sont égaux à 1. TC QC TB TA
TS TS TS
3 0 1 1
Donc T2=Q1Q0 QB QA
4 1 0 0
En général, pour un compteur n bits, CLK CLK CLK
5 1 0 1 R R R
une bascule i change d’état si les 1
6 1 1 0 états des bascule précédentes sont Count 0
7 1 1 1 dans l’état 1.
8 0 0 0
/Reset
Ti=Qi-1Qi..Q0
Exemple 5
Compteur à décade BCD: Bascules T Compteurs/Décompteurs synchrones
Exemple: Compteur à décade BCD en utilisant des bascules T Exemple: Compteur/Décompteur binaire synchrone 3-bit
T0 = 1
T0 = 1 T1 = ([Link]) + (Q0'.Up' )
T1 = Q3'.Q0 T2 = ( [Link] ) + (Q0'. Q1'. Up' )
T2 = Q1.Q0
T3 = Q2.Q1.Q0 + Q3.Q0
Q0 Q1
1 T T T Q2
Q0 Q Q Q
Up C C C
1 T T Q1 T Q2 T Q3 Q' Q' Q'
Q Q Q Q
C C C C
Q' Q' Q' Q'
CLK CLK
Registre 4 bits
Registre à chargement parallèle
Qi
Qi+
Ii
Registre à entrée série et sortie série Registre à décalage a droite Q3+ Q2+ Q1+ Q0+ = Din Q3 Q2 Q1
Registre à décalage à gauche Q3+ Q2+ Q1+ Q0+ = Q2 Q1Q0 D0
PS NS
Top Q3 Q2 Q1 Q0 Din Q3+ Q2+ Q1+ Q0
↑Clk 0 0 0 0 1 0 0 0 1
↑Clk 0 0 0 1 0 0 0 1 0
↑Clk 0 0 1 0 0 0 1 0 0
↑Clk 0 1 0 0 0 1 0 0 0
Q3 Q2 Q1 Q0 Transfert série
Din D3 Q 3 D2 Q2 D1 Q1 D0 Q0 Dout
D Q D Q D Q D Q
S2S1=11 Chargement en //
0 0 0 0 0 0 0 1 1 0 1
0 0 0 1 0 0 1 0 1 0 1
0 0 1 0 0 0 1 1 1 0 1
0 0 1 1 0 1 0 0 1 0 1
Comptage
0 1 0 0 0 1 0 1 1 0 1
0 1 0 1 0 1 1 0 1 0 1
0 1 1 0 0 1 1 1 1 0 1
1 0 0 0 1 0 0 1 1 0 1
1 0 0 1 0 0 0 0 1 1 X Chg en // de 0000
Donc Clr = 1,
LD= Q3Q0
Count =1
106 / 28
LD
Donc Clr = 1, 0 E3 Q3
LD= Q3Q0
Count =1 0 E2 Q2
0 E1 Q1
0 E0 Q0
1
Count
CLR
1 CLK