©pierre marchand, 2001 166 objectifs : À la fin ce cette unité, vous comprendrez le...
TRANSCRIPT
©Pierre Marchand, 2001 1
Objectifs :À la fin ce cette unité, vous comprendrez le fonctionnement des circuits séquentiels (à mémoire) utilisés dans les ordinateurs.
Pour y arriver, vous devrez avoir atteint les objectifs suivants :
- décrire le fonctionnement d'un automate fini;
- distinguer un circuit asynchrone d'un circuit synchrone;
- synthétiser un circuit séquentiel synchrone simple;
- analyser un circuit séquentiel synchrone simple.
Unité 6: Logique séquentielle
©Pierre Marchand, 2001 2
5.3 Circuits séquentielsDans les circuits combinatoires, les signaux de sortie ne dépendent que des signaux d ’entrée présents au même instant.
Dans les circuits séquentiels, il y a de la rétroaction : les signaux de sortie ne dépendant pas uniquement des entrées, mais aussi de leur séquence. Le circuit se rappelle des entrées et des états antérieurs : il a une mémoire du passé.
L’étude des circuits combinatoires repose sur l’algèbre de Boole. Celle des circuits séquentiels repose sur la théorie des automates finis.
Unité 6: Logique séquentielle
©Pierre Marchand, 2001 3
5.3 Circuits séquentiels5.3.1 Concept d’automate fini
Un automate fini possède un nombre fini d’éléments et de mémoires.
Un automate fini ne peut prendre que 2n états appelés états internes, où n est le nombre de bits de mémoire.
On peut caractériser un automate par :
• Sa fonction de transfert
• Sa table de transition
• Son diagramme d’états ou de transition
Unité 6: Logique séquentielle
©Pierre Marchand, 2001 4
5.3 Circuits séquentiels5.3.1 Concept d’automate fini
Exemple :
Diagramme d’état ou de transition
Unité 6: Logique séquentielle
q=0 q=1
entrée / sortie1/0
0/1
0/0 1/1
Fonction de transfert :q(t+1) = e(t)s(t) = q(t)
état état
Table de transition
q(t) e(t) 0 10 0 11 0 1
q(t) e(t) 0 10 0 01 1 1
q(t+1)
s(t)
©Pierre Marchand, 2001 5
5.3 Circuits séquentiels5.3.1 Concept d’automate fini
Automate de Moore
q(t+1) = f [e(t), q(t)]
s(t) = g [q(t)]
Unité 6: Logique séquentielle
Logiquecombinatoire
e(t)s(t)
LogiquecombinatoireÉtat q(t)
Les états futurs dépendent des entrées présentes e(t) et des états internes présents q(t).Les sorties ne dépendent que des états internes présents q(t).
©Pierre Marchand, 2001 6
5.3 Circuits séquentiels5.3.1 Concept d’automate fini
Automate de Mealy
q(t+1) = f [e(t), q(t)]
s(t) = g [e(t), q(t)]
Unité 6: Logique séquentielle
Logiquecombinatoire
e(t) s(t)
État q(t)
Les sorties s(t) dépendent des états internes présents q(t) et des entrées présentes e(t).
q(t)
©Pierre Marchand, 2001 7
5.3 Circuits séquentiels5.3.2 Circuits asynchrones et synchrones
Dans les circuits asynchrones, la sortie est modifiée dès qu’il y a un changement de l’état des entrées.
Dans les circuits synchrones, la sortie ne change qu’après un signal d’horloge. Les circuits synchrones sont plus simples à synthétiser et à analyser.
5.3.3 Bistables
L’élément de base de tout circuit séquentiel est le bistable (bascule, flip-flop), qui est un circuit, lui-même asynchrone, qui servira d’élément de mémoire pour les circuits synchrones ou asynchrones.
Unité 6: Logique séquentielle
©Pierre Marchand, 2001 8
5.3 Circuits séquentiels5.3.3Bistables
Bistable RS
Unité 6: Logique séquentielle
S
R Q1
Q2
On observe que si S = 0 et R = 0, le circuit est dans l’un de deux états stables : Q1 = 0 et Q2 = 1 ou Q1 = 1 et Q2 = 0.
0
0 0
1 0
0 1
0
1
0
0
1
©Pierre Marchand, 2001 9
5.3 Circuits séquentiels5.3.3Bistables
Bistable RS
Unité 6: Logique séquentielle
Si S = 1 et R = 0, alors Q1= 1 et Q2 = 0.C’est la transition «SET».
Si S = 0 et R = 1, alors Q1 = 0 et Q2 = 1.C ’est la transition «RESET».
1
0 1
00
1 0
1
0
1
1
0
S
R Q1
Q2
©Pierre Marchand, 2001 10
5.3 Circuits séquentiels5.3.3Bistables
Bistable RS
Unité 6: Logique séquentielle
S
R Q1
Q2
Si S = 1 et R = 1, alors Q1= 0 et Q2 = 0.Mais cette combinaison n’est pas désira-ble, car si on remet nos entrées simul-tanément à 0, on ne peut pas prévoir l’état final du circuit.
On remarque que dans les trois autres cas, Q2 = Q1.
1
1 0
0
0
0
©Pierre Marchand, 2001 11
5.3 Circuits séquentiels5.3.3 Bistables
Bistable RS
On résume ce comportement dans le tableau suivant :
Unité 6: Logique séquentielle
Qn+1 = Sn + Rn.Qn1 1
Sn Rn
0 0
1 0 1 0
0 1 0 1
1 1 0 0
Q1n
Q1n
Q1n+1
Q2n+1
Ou encore :
S
R Q
Q
set
reset
stable
interdit
©Pierre Marchand, 2001 12
5.3 Circuits séquentiels5.3.3 Bistables
Bistable RS avec horloge
Unité 6: Logique séquentielle
S
RQ
Q
CQn+1 = Sn + Rn.Qn
ouQn+1 = Cn.Qn + Cn(Sn+Rn.Qn)
S QCR Q
©Pierre Marchand, 2001 13
5.3 Circuits séquentiels5.3.3 Bistables
Bistable D avec horloge
Unité 6: Logique séquentielle
D
Q
Q
C
L’inverseur élimine complètement la possibilité d’avoir la com-binaison 1-1 à l’entrée des NOR.
Qn+1 = Dn
ouQn+1 = DnC + QnC
C Dn Qn+1
0 0 Qn
0 1 Qn
1 0 01 1 1
D Q
C Q
©Pierre Marchand, 2001 14
5.3 Circuits séquentiels5.3.3Bistables
Bistable T asynchrone
Bistable T synchrone
Unité 6: Logique séquentielle
D Q
C QT
Qn+1 = TnQn + TnQn
T
Q
ou S QCR Q
T
S QCR Q
T
Qn+1 = CnQn + Cn(TnQn + TnQn)
C
Q
TC
©Pierre Marchand, 2001 15
5.3 Circuits séquentiels5.3.3 Bistables
Application : registre D de 4 bits
Unité 6: Logique séquentielle
D Q
C Q
D3
D3
D Q
C Q
D2
D2
D Q
C Q
D1
D1
D Q
C Q
D0
D0
écriturelecture
©Pierre Marchand, 2001 16
5.3 Circuits séquentiels5.3.3 Bistables
Application : décaleur à droite
Unité 6: Logique séquentielle
D3 Q
C Q
D2 Q
C Q
D1 Q
C Q
D0 Q
C Q
horloge
0
Q3 Q2
Qn+1 = Dn = 0
Qn+1 = Dn = Qn
Qn+1 = Dn = Qn , etc.2 2 3
3 3
Q1 Q0
1 1 2
©Pierre Marchand, 2001 17
5.3 Circuits séquentiels5.3.3 Bistables
Application : compteur binaire asynchrone modulo-16
Unité 6: Logique séquentielle
Q
T Qhorloge
Q
T Q
Q
T Q
Q
T Q
A B C D
horloge
A
B
C
D
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
©Pierre Marchand, 2001 18
5.3 Circuits séquentiels5.3.3 Bistables
Bistables déclenchés par une montée ou une descente de l’horloge (edge-triggered)
Dans les circuits précédents, il est sous-entendu que le signal d’horloge est court, i.e. de l’ordre du temps de réponse du circuit. Sinon, un circuit comme celui du bistable T pourrait bas-culer plusieurs fois pendant le temps où l’horloge est 1.
Ces circuits sont représentés par les diagrammes suivants :
Unité 6: Logique séquentielle
D Q
Q
D Q
QQn+1 = Dn
Leur sortie change seulement au moment de la transition, selonla valeur de D à cet instant précis.
©Pierre Marchand, 2001 19
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Pour faire la synthèse d’un circuit séquentiel, on établit d’abord son diagramme de transition.
On contruit ensuite sa table d’états.
On réalise le circuit combinatoire associé à chaque bistable.
On réalise le circuit combinatoire associé à chaque sortie.
Unité 6: Logique séquentielle
©Pierre Marchand, 2001 20
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 1 : compteur binaire synchrone modulo-4 sans entrée
Diagramme de transition Table d’états
Unité 6: Logique séquentielle
00
11
10
01 Q1n
Q2n
Q1n+1
Q2n+1
0 0 0 10 1 1 01 0 1 11 1 0 0
Q1Q2
©Pierre Marchand, 2001 21
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 1 : compteur binaire synchrone modulo-4 sans entrée
Réalisation au moyen de bistables D
Unité 6: Logique séquentielle
Q1n
Q2n
Q1n+1
Q2n+1
0 0 0 1 0 10 1 1 0 1 01 0 1 1 1 11 1 0 0 0 0
D1n
D2n
D1n =Q1
n+1 =Q1n ⊕Q2
n
D2n =Q2
n+1 =Q2n
D1 Q1
C Q1
D2 Q2
C Q2
©Pierre Marchand, 2001 22
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 1 : compteur binaire synchrone modulo-4 sans entrée
Réalisation au moyen de bistables T synchrones
Pour le tableau, si , sinon ,
et si , sinon .
Unité 6: Logique séquentielle
Q1n
Q2n
Q1n+1
Q2n+1
0 0 0 1 0 10 1 1 0 1 11 0 1 1 0 11 1 0 0 1 1
T1n
T2n
T1n =Q2
n
T2n =1
T1 Q1
C Q1
T2 Q2
C Q2
1
T1n =1 Q1
n+1 ≠Q1n
T1n =0
T2n =1 Q2
n+1 ≠Q2n
T2n =0
©Pierre Marchand, 2001 23
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 2 : compteur binaire synchrone modulo-4 avec entrée
Diagramme de transition Table d’états
Unité 6: Logique séquentielle
00
11
10
01Q1Q20/00
0/01
1/01 1/10
0/10
0/11
1/00 1/11
Q1n
Q2n
Q1n+1
Q2n+1
0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0
x
©Pierre Marchand, 2001 24
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 2 : compteur binaire synchrone modulo-4 avec entrée
Réalisation au moyen de bistables T
Unité 6: Logique séquentielle
Q1n
Q2n
Q1n+1
Q2n+1
0 0 0 0 0 0 00 0 1 0 1 0 10 1 0 0 1 0 00 1 1 1 0 1 11 0 0 1 0 0 01 0 1 1 1 0 11 1 0 1 1 0 01 1 1 0 0 1 1
xn T1n
T2n
T1n =x.Q2
n
T2n =x
0 100 0 001 0 111 0 110 0 0
Q1n Q2
nxn
T1n
©Pierre Marchand, 2001 25
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 2 : compteur binaire synchrone modulo-4 avec entrée
Réalisation au moyen de bistables T synchrones
Unité 6: Logique séquentielle
T1 Q1
C Q1
T2 Q2
C Q2
x
x
Nous ne nous sommes pas préoccupés des sorties, puisque selonLe diagramme de transition, il est évident qu’elles sont égales à et respectivement. Q2
n+1 Q1
n+1
©Pierre Marchand, 2001 26
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 2 : compteur binaire synchrone modulo-4 avec entrée
Réalisation au moyen de bistables D
Unité 6: Logique séquentielle
Q1n
Q2n
Q1n+1
Q2n+1
0 0 0 0 0 0 00 0 1 0 1 0 10 1 0 0 1 0 10 1 1 1 0 1 01 0 0 1 0 1 01 0 1 1 1 1 11 1 0 1 1 1 11 1 1 0 0 0 0
xn D1n
D2n
D2n =xn.Q2
n +xn.Q2n =xn ⊕Q2
n
D1n =Q1
n.Q2n +xn.Q1
nQ2n +xn.Q1
n.Q2n
0 100 0 001 0 111 1 010 1 1
D1n
Q1n Q2
n xn
D2n
Q1n Q2
n xn
0 100 0 101 1 011 1 010 0 1
=Q1n ⊕xnQ2
n
©Pierre Marchand, 2001 27
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 2 : compteur binaire synchrone modulo-4 avec entrée
Réalisation au moyen de bistables D
Unité 6: Logique séquentielle
D1 Q1
C Q1
D2 Q2
C Q2
x
x
©Pierre Marchand, 2001 28
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Unité 6: Logique séquentielle
A
x = 0
B
C
x = 0x = 1
x = 1
x = 0
x = 1
Les feux alternent de A à B à chaque coup d’horloge quand x = 0. Dans l’état A, la circulation se fait dans la direction NS, dans l’état B, dans la direction EO.Un piéton peut traverser après avoir appuyé sur le bouton (x = 1) car quand x =1, on passe à l’état C dans lequel les feux sont sous deux rouges pour la durée d’une horloge ou tant que le bouton est enfoncé.
©Pierre Marchand, 2001 29
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Cette réalisation un peu naïve présente quelques problèmes :
Si un malin appuie sans cesse sur le bouton, la circulation automobile est complètement paralysée. D’autre part, comme le système une fois dans l‘état C retourne toujours dans l’état A, il se pourrait qu’on n’arrive presque jamais dans l’état B s’il y a fréquemment des piétons.
Unité 6: Logique séquentielle
©Pierre Marchand, 2001 30
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Une meilleure réalisation serait la suivante :
Unité 6: Logique séquentielle
A
x = 0
B
Cx = 0ou 1
x = 1
x = 0
D
x = 1
Entrée Sortieprésente x présente
0 1 z1z2
A B C 0 1B A D 1 0C B B 0 0D A A 0 0
Étatprésent
Étatsuivant
©Pierre Marchand, 2001 31
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Codage des états : on attribue arbitrairement
Q1Q2 = 00 représente A
Q1Q2 = 01 représente B
Q1Q2 = 10 représente C
Q1Q2 = 11 représente D
Unité 6: Logique séquentielle
Entrée Sortieprésente x présente
0 1 z1z2
00 10 10 0 101 00 11 1 010 01 01 0 011 00 00 0 0
Étatprésent
Étatsuivant
©Pierre Marchand, 2001 32
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Table de transition
Unité 6: Logique séquentielle
Entrée État État Sorties Bistablesx présent suivant présentes D1D2
Q1Q2 Q1+Q2
+ z1z2
0 00 01 01 010 01 00 10 000 10 01 00 010 11 00 00 001 00 10 01 101 01 11 10 111 10 01 00 011 11 00 00 00
©Pierre Marchand, 2001 33
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Tables de Karnaugh pour les entrées des bistables :
Unité 6: Logique séquentielle
00 01 11 100 0 0 0 01 1 1 0 0
00 01 11 100 1 0 0 11 0 1 0 1
D1 D2
Q1Q2 Q1Q2x x
D1 =x.Q1 D2 =Q1.Q2 +x.Q2 +x.Q1.Q2
©Pierre Marchand, 2001 34
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Tables de Karnaugh pour les sorties :
Unité 6: Logique séquentielle
00 01 11 100 0 1 0 01 0 1 0 0
00 01 11 100 1 0 0 01 1 0 0 0
z1 z2
Q1Q2 Q1Q2x x
z1 =Q1.Q2 z2 =Q1.Q2
©Pierre Marchand, 2001 35
5.3 Circuits séquentiels5.3.4 Synthèse d’un circuit séquentiel
Exemple 3 : Système de contrôle de feux de circulation
Circuit :
Unité 6: Logique séquentielle
D2 Q2
Q2
D1 Q1
Q1 z1
z2
x
horloge