Vous êtes sur la page 1sur 31

Chapitre 1 : La logique séquentielle

Chapitre 1 : La logique séquentielle
Chapitre 1 : La logique séquentielle
Chapitre 1 : La logique séquentielle
Chapitre 1 : La logique séquentielle
Introduction
Introduction

Un circuit particulier :

e

s
s
s
s
s
s
s

s

s
s
s
s
Introduction Un circuit particulier : e s s= s+e ??? On définit un état présent s

s= s+e ???

On définit un état présent s et un état suivant s +

S est une variable d’état car elle intervient des deux cotés de l’équation

e s+ s
e
s+
s

s + = s+e

S

e

s

+ =s+e

0

0

 

0

0

1

 

1

1

0

 

1

1

1

 

1

1   1 1 0   1 1 1   1 Si s=0 et e=0 alors
1   1 1 0   1 1 1   1 Si s=0 et e=0 alors

Si s=0 et e=0 alors s + =0 état stable Si s=1 et e=1 alors s + =1 état stable Si s=1 et e=0 alors s + =1 état stable

Si s=0 et e=1 alors s + =1 état instable

Détecteur de 1 sur e (impossible en combinatoire)

Introduction
Introduction

Dans l’exemple précédent, la sortie de la machine logique dépend de l’entrée et de la valeur de la sortie aux instants précédents.

et de la valeur de la sortie aux instants précédents. Système séquentiel s + = s(t+

Système séquentiel s + = s(t+ ) = F(x,s(t))

La notion d’état présent et suivant provient des imperfections des composants utilisés. Dans ce cas, on peut faire la modélisation suivante :

s + i Circuit x i Combinatoire s i Idéal
s + i
Circuit
x i
Combinatoire
s i
Idéal

Seul s i est accessible à la mesure et s + i = F(x i ). s + i état suivant qui correspond à

s i après un retard

Introduction
Introduction

En reprenant l’exemple précédent, on voit apparaître :

x

Q+ Q s
Q+
Q
s

X : le vecteur de commande

Q + : le vecteur de variables d’état suivant

Q

: le vecteur de variables d’état présent (variables d’excitation secondaire)

S

: le vecteur de sortie

• Une équation d’évolution sur les variables d’état :

Q + (t) = Q(t+ ) = F(X,Q(t))

• Une équation de sortie de la machine logique :

S(t) = G(Q)

Machine de Moore

S(t) = G(X,Q)

Machine de Mealy

Introduction
Introduction
Vecteur Machine de Mealy d’entrée (Commande ou primaire Vecteur
Vecteur
Machine de Mealy
d’entrée
(Commande
ou primaire
Vecteur
E de Sortie Circuit Excitation Circuit de bouclage Etat présent X Combinatoire Circuit Combinatoire de
E
de
Sortie
Circuit
Excitation
Circuit
de bouclage
Etat présent
X
Combinatoire
Circuit
Combinatoire
de Sortie
d’Entrée
Etat
Q
S
suivant
clock
Q +
Machine de Moore

Clock (pour machine synchrone uniquement)

Vecteur des variables d’état (interne ou d’excitation secondaire)

Introduction
Introduction

Le montage élémentaire :

S

R

Introduction Le montage élémentaire : S R Y + S y y y z z z

Y +

S y y y z z z R
S
y
y
y
z
z
z
R

Z +

Variables d’état :

2 bouclages

y y z z z R Z + Variables d’état : 2 bouclages 2 variables Équation

2 variables

Équation d’évolution :

Y

+ = S + z

Z

+ = R + y

Équation de sortie :

y

 

z

S =

Introduction
Introduction

La table de vérité avec : Y

+ = S + z

Z

+ = R + y

 

S

R

y

z

Y +

Z +

 

0

0

0

0

1

1*

0

0

0

1

0

1

SR=00

0

0

1

0

1

0

0

0

1

1

0

0*

 

0

1

0

0

1

0

0

1

0

1

0

0

SR=01

0

1

1

0

1

0

0

1

1

1

0

0*

 

1

0

0

0

0

1

1

0

0

1

0

1

SR=10

1

0

1

0

0

0

1

0

1

1

0

0*

 

1

1

0

0

0

0

1

1

0

1

0

0

SR=11

1

1

1

0

0

0

1

1

1

1

0

0*

État stable

État transitoire

Y =z

+

+

Y =z

et

Z =y

+

+

et Z =0

Y

+

=

0 et

Y

+

=0 et

Z =y

+

Z

+

=0

* y et z changent de valeurs en même temps, ce qui est impossible statistiquement, soit y ou z change de valeur en premier. D’une manière générale, on considère qu’une seule variable peut changer de valeur à un moment donné. On appelle cela le mode fondamental.

Introduction
Introduction

En résumé :

• si SR=00

• si SR=01

• si SR=10

• si SR=11

état stable (effet mémoire): • si SR=00 • si SR=01 • si SR=10 • si SR=11 état stable (z=0,y=1)

état stable (z=0,y=1)• si SR=10 • si SR=11 état stable (effet mémoire) état stable (z=1,y=0) état stable (z=0,y=0)

état stable (z=1,y=0)SR=11 état stable (effet mémoire) état stable (z=0,y=1) état stable (z=0,y=0) T bl a e d

état stable (z=0,y=0)mémoire) état stable (z=0,y=1) état stable (z=1,y=0) T bl a e d e v é ité

T bl

a

e

d

e v

é ité

r

r

éd

u

it

ét

e (

a

t

t

s a

bl

e)

   
 

S

R

 

Z

+

Y

+

 

0

0

 

Z

 

Y

0

1

 

0

 

1

1

0

 

1

 

0

1

1

 

0

 

0

0   1   0 1 1   0   0 Pas de Circuit Combinatoire de

Pas de Circuit Combinatoire de Sortie

Si Z est la sortie Q alors :

S = 1 entraîne Q = 1 d’ou S = set

R = 1 entraîne Q = 0 d’ou R = reset

On peut remarquer que Y=Z sauf dans le cas SR=11. Afin de garder cette symétrie on interdit ce cas alors :

• Z = Q

• Y = Q

Aspects technologiques
Aspects technologiques

Chronogramme :

Tpw min : temps minimal pour que l’écriture en entrée soit validée

S

R

Q

Q

Mémorisation de l’état Set Set Mémorisation de l’état Reset Tp LH (SQ) Tp HL (RQ)
Mémorisation de
l’état
Set
Set
Mémorisation de
l’état
Reset
Tp LH (SQ)
Tp HL (RQ)
Tp HL (SQ)
Tp LH (RQ)

Ces temps limitent la vitesse maximale d’utilisation de ces circuits

Aspects technologiques
Aspects technologiques

Ce montage permet de garder en mémoire des entrées impulsionnelles. On appelle celui- ci une bascule (flip-flop ou latch). Sa représentation est celle-ci :

S Q R Q
S
Q
R
Q

S

Q

R

Q

Sa représentation est celle-ci : S Q R Q S Q R Q Il est possible

Il est possible de réaliser une bascule RS avec des portes NAND : le résultat est identique à ceci près que la combinaison interdite est la combinaison 00 et 11 correspond à la mémorisation.

Exemple : un dispositif anti-rebond
Exemple : un dispositif anti-rebond
Q
Q

aléas

Bascule RS à base de NAND si SR=11 : effet mémoire si SR=01 : Q=1,
Bascule RS à base de NAND
si SR=11 : effet mémoire
si SR=01 : Q=1, Q=0
si SR=10 : Q=0, Q=1
si SR=00 : Q=0,Q=0

Disparition des aléas

Aspects technologiques
Aspects technologiques

Prise en compte des perturbations sur les entrées :

S

R

Q

Q

Set Reset
Set
Reset

Perturbation sur S

les entrées : S R Q Q Set Reset Perturbation sur S Mémorisation de l’état Mémorisation
les entrées : S R Q Q Set Reset Perturbation sur S Mémorisation de l’état Mémorisation

Mémorisation de l’état

Mémorisation de l’état

sur S Mémorisation de l’état Mémorisation de l’état La perturbation impulsionnelle a modifié la sortie de

La perturbation impulsionnelle a modifié la sortie de manière durable

Mémorisation de l’état La perturbation impulsionnelle a modifié la sortie de manière durable Information erronée

Information erronée

Introduction
Introduction

Avec ce montage, la sensibilité aux perturbations est importante aussi on utilise un signal de validation des entrées (anti glitch) :

Validation sur niveau :

LATCH

S(H) H
S(H)
H

R(H)

S

glitch) : • Validation sur niveau : LATCH S(H) H R(H) S R Q Q H=0
glitch) : • Validation sur niveau : LATCH S(H) H R(H) S R Q Q H=0
glitch) : • Validation sur niveau : LATCH S(H) H R(H) S R Q Q H=0

R

: • Validation sur niveau : LATCH S(H) H R(H) S R Q Q H=0 SR=00
: • Validation sur niveau : LATCH S(H) H R(H) S R Q Q H=0 SR=00

Q

Q

H=0

• Validation sur niveau : LATCH S(H) H R(H) S R Q Q H=0 SR=00 :

SR=00 : mémoire

H=1

niveau : LATCH S(H) H R(H) S R Q Q H=0 SR=00 : mémoire H=1 Bascule

Bascule SR

Si S(H) et R(H) subissent une perturbation pendant le niveau actif de H, le résultat devient erroné. Si la perturbation arrive pendant le niveau bas pas de conséquence. Mais si H subit une perturbation …

Exemple : décodage d’adresse du 8052
Exemple : décodage d’adresse du 8052
Bus bidirectionnel Multiplexé Adresse/data D7 8 bits . DATA D0 µp 80C52 EPROM 8 bascules
Bus bidirectionnel
Multiplexé Adresse/data
D7
8 bits
. DATA
D0
µp 80C52
EPROM
8 bascules D
A15
.
Latch
A8
ALE
H
Bus Adresse
ADRESSE
A7
.
A0

Adress Latch Enable

Exemple : décodage d’adresse du 8052
Exemple : décodage d’adresse du 8052

Schéma équivalent :

Chronogramme :

S Q R Q
S
Q
R
Q
du 8052 Schéma équivalent : Chronogramme : S Q R Q H Validation sur niveau BUS

H

Validation sur niveau

BUS mu lti p ex l é D a a t Ad resse H au
BUS
mu
lti
p ex
l
é
D
a a
t
Ad
resse
H
au e
t
(k)
D
ata
BUS d’adresse A 7 A 0
Adresse Basse(k-1)
Adresse Basse(k)
ALE
BUS d’adresse A 15 A 0 Adresse Complète(k-1)
Adresse Complète(k)
Introduction
Introduction

Validation sur niveau :

Montage maître esclave

Introduction Validation sur niveau : Montage maître esclave H=1 H=0 S(H) H R R(H) S S

H=1

H=0

S(H)

H

R R(H)
R
R(H)
sur niveau : Montage maître esclave H=1 H=0 S(H) H R R(H) S S R Q

S

S

R

Q

Q

: Montage maître esclave H=1 H=0 S(H) H R R(H) S S R Q Q SR=00

SR=00 : mémoire

SR=S(H)R(H) : Bascule SR

SR=S(H)R(H) : Bascule SRR R(H) S S R Q Q SR=00 : mémoire SR=S(H)R(H) : Bascule SR S R

S R = 0 0 : m é m o i r e SR=00 : mémoire

H=1 : verrouillage des données sur la première bascule, la deuxième étant bloquée (H=0), ensuite H=0 blocage des entrées de la première bascule et synthèse des sorties pour la deuxième. Condition sur la période de H qui doit être supérieure à la moitié des différents temps de propagation.

Introduction
Introduction
Chronogramme : Synthèse des sorties du maître Synthèse des sorties de l’esclave H Entrée S(H)
Chronogramme :
Synthèse des sorties
du maître
Synthèse des sorties
de l’esclave
H
Entrée
S(H) R(H)
Q
Verrouillage du maître
m
Q
Esclave bloqué
s
Introduction
Introduction

•Validation sur front (edge triggered) :

Sur front montant

S Q R Q H
S
Q
R
Q
H

S

R

Q

Q

triggered) : Sur front montant S Q R Q H S R Q Q H Sur

H

Sur front descendant

Chronogramme : actif sur front montant H Entrée T p setup T p hold Q
Chronogramme : actif sur front montant
H
Entrée
T
p setup
T
p hold
Q
Q
+
Tpxx
Indépendant de la période de H !!!!

Le montage est sensible aux perturbations uniquement pendant T p setup et T p hold soit quelques ns.

Introduction
Introduction

Si l’évolution des sorties d’une machine logique se fait en fonction d’un signal exogène, on parle de machine

SYNCHRONE
SYNCHRONE

Si par contre les sorties d’une machine logique ne dépendent que de l’évolution de ces entrées et sorties alors il s’agit d’une machine

ASYNCHRONE
ASYNCHRONE
Différents types de bascules synchrones
Différents types de bascules synchrones

La bascule SR synchrone

Table de transition réduite

La bascule SR synchrone Table de transition réduite H S R + Q   0 0

H

S

R

+
+

Q

 

0

0

Q

0

1

0

1

0

1

1

1

 

Combinaison interdite

0 1 0 1 0 1 1 1   Combinaison interdite Équation de transition de la

Équation de transition de la bascule

Q + = S + RQ
Q
+ = S + RQ
Différents types de bascules synchrones
Différents types de bascules synchrones

La bascule JK synchrone : première bascule synchrone conçue à partir de la SR et qui permet d’utiliser la combinaison 11.

J S Q R K Q H
J
S
Q
R
K
Q
H
permet d’utiliser la combinaison 11. J S Q R K Q H J Q K Q
J Q K Q H
J
Q
K
Q
H
la combinaison 11. J S Q R K Q H J Q K Q H S

S = JQ

Q

+ = J Q + KQ Q

R = KQ

Q

+ = JQ + KQ

 

SR=11 impossible

Table de transition réduite

JK=11 possible

J

K

+
+

Q

0

0

Q

0

1

0

1

0

1

1

1

Q

Différents types de bascules synchrones
Différents types de bascules synchrones
J Q K Q H
J
Q
K
Q
H
Compléter : CI : Q=1 , Q= 0 Q + = JQ + KQ
Compléter : CI : Q=1 , Q= 0
Q
+ = JQ + KQ
Différents types de bascules synchrones J Q K Q H Compléter : CI : Q=1 ,
Différents types de bascules synchrones
Différents types de bascules synchrones

La bascule D synchrone : la plus utilisée actuellement.

J Q K Q H
J
Q
K
Q
H

D

D Q Q H
D Q
Q
H
: la plus utilisée actuellement. J Q K Q H D D Q Q H J

J = D

K = D

actuellement. J Q K Q H D D Q Q H J = D K =

Q

+ = JQ + KQ

Q

+ = DQ + DQ = D

Q

+ = D

 

Table de transition

D

+
+

Q

0

0

1

1

Différents types de bascules synchrones
Différents types de bascules synchrones
Compléter : CI : Q=1 , Q= 0 Q + = D
Compléter : CI : Q=1 , Q= 0
Q
+ = D
Différents types de bascules synchrones Compléter : CI : Q=1 , Q= 0 Q + =
Différents types de bascules synchrones Compléter : CI : Q=1 , Q= 0 Q + =
Différents types de bascules synchrones
Différents types de bascules synchrones

Q

+

= D

D Q Q
D Q
Q
Différents types de bascules synchrones Q + = D D Q Q H Le latch D

H

Le latch D

Compléter : CI : Q=1 , Q= 0
Compléter : CI : Q=1 , Q= 0
Différents types de bascules synchrones Q + = D D Q Q H Le latch D
Différents types de bascules synchrones
Différents types de bascules synchrones

La bascule T synchrone : T (Toggle) est une commande plutôt qu’une entrée.

T

T J Q H K Q
T
J Q
H
K Q
est une commande plutôt qu’une entrée. T T J Q H K Q D Q H
D Q H Q
D
Q
H
Q

J=T

K=T

qu’une entrée. T T J Q H K Q D Q H Q J = T

Q

+ = JQ + KQ

Q

+ = TQ +TQ

T agit comme une commande en autorisant (T=1) ou pas (T=0) le changement de valeur de la bascule à chaque front actif de H

T Q Q H
T Q
Q
H
Différents types de bascules synchrones
Différents types de bascules synchrones

Chronogramme : (H actif sur front montant)

T

H

Q 1

Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =
Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =
Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =
Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =
Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =
Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =
Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =

Fréquence de Q 1 = (fréquence de H) / 2

Chronogramme : (H actif sur front montant) T H Q 1 Fréquence de Q 1 =

Diviseur de fréquence

Les entrées de forçage
Les entrées de forçage

Utilisation d’entrées supplémentaires :

Preset ou Set : mise à 1 de Q et à 0 de Q

H

P Q C Q
P
Q
C
Q

Clear, Reset ou RAZ : mise à 0 de Q et à 1 de Q

Ces entrées dite de forçage sont asynchrones et prioritaires sur les autres entrées. Elles sont à utiliser lors de l’initialisation d’une machine logique ou en cas de disfonctionnement.

Les entrées de forçage
Les entrées de forçage
Les entrées de forçage
Les entrées de forçage
Les entrées de forçage
Timing : un ordre d’idée
Timing : un ordre d’idée
D Q Q H
D Q
Q
H

7474

Positive edge-triggered

flip-flop D Q Q H
flip-flop
D Q
Q
H

7476

Level sensitive Latch

Q

Q

D

H

7474

7476

Chronogramme

D Q Q H 7476 Level sensitive Latch Q Q D H 7474 7476 Chronogramme Même

Même comportement sauf lorsque H = 1

Timing : un ordre d’idée T su T h T su T h D Q
Timing : un ordre d’idée
T su
T h
T su
T h
D Q
20
5
20
5
ns
ns
ns
ns
D
Q
T w
25
H
ns
Clk
7474
T plh
T phl
25
ns
40
ns
Positive edge-triggered
13
ns
25
ns
Q

flip-flop

40 ns Positive edge-triggered 13 ns 25 ns Q flip-flop T T su T h T
40 ns Positive edge-triggered 13 ns 25 ns Q flip-flop T T su T h T
T T su T h T su h 20 5 20 5 D ns ns
T
T
su
T h
T su
h
20
5
20
5
D
ns
ns
ns
ns
T w
20
Clk
ns
T plh
T phl
C
»
Q
C
»
Q
27
ns
25 ns
Q
15
ns
14 ns
T plh
T phl
D
»
Q
D
»
Q
27 ns
16 ns

15

ns

7 ns

D Q Q H
D Q
Q
H

7476

Level sensitive Latch