You are on page 1of 11

Objectifs

Connatre et comprendre

Circuits Logiques
ELE1300

Les deux types de machines tats de base

tre capable de
Reformuler un problme sous forme dune
machine tats
Construire le circuit logique correspondant un
diagramme dtats et rciproquement.

Conception et analyse de circuits


squentiels simples (machines tats)
JP David

Circuits logiques - JP David

22 mars 2016

La table de transition

Cyberntique

Chant
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

22 mars 2016

Minute courante
Rire
Orgue
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

Encens
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Circuits logiques - JP David

Minute suivante
Chant
Rire

La table de transition
Chant
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

Minute courante
Rire
Orgue
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

Encens
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Comportement squentiel associ

Minute suivante
Chant
Rire
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
1
1

10
E0/00

01

E1/10

00

11
10
11
00

-0

-1

01

E2/01

-0

E3/11

-1

Sorties (dans les tats) : Chant Rire


Entres (sur les arcs) : Orgue Encens

22 mars 2016

Circuits logiques - JP David

Circuit logique squentiel : un circuit dont la sortie ne dpend pas


seulement des entres prsentes, mais galement de lhistorique des
entres. Il contient des lments de mmorisation pour garder ltat du
circuit.

Entres

Circuit
combinatoire

Machine tats finis : Cest une machine tats qui a une quantit
finie de mmoire pour reprsenter les tats. (en anglais : FSM
Finite State Machine)

Circuits logiques - JP David

Le circuit squentiel

Circuits squentiels

22 mars 2016

Circuits logiques - JP David

22 mars 2016

Sorties

Mmoire
Horloge

22 mars 2016

Circuits logiques - JP David

Les machines de Mealy

Les machines de Moore


Cest une version simplifie des machines de Mealy

CIRCUIT

ENTRES

EF

COMBINATOIRE(1) clk

MMOIRES
(bascules D, T, JK)

EP

CIRCUIT

SORTIES

COMBINATOIRE(1) clk

22 mars 2016

SORTIES

CIRCUIT
COMBINATOIRE(2)

(bascules D, T, JK)

(1) Communment appel IFL (Input-Forming Logic)

(2) Communment appel OFL (Output-Forming Logic)

(2) Communment appel OFL (Output-Forming Logic)

Circuits logiques - JP David

Ds quune entre change, seule la prvision de ltat futur EF change mais


ce nest pas visible au niveau des sorties
Ds que lhorloge clk arrive, les mmoires changent (et donc ltat prsent EP).
Ce changement se rpercute ensuite sur :
la prvision de ltat futur EF
les sorties
On nobserve donc un changement des sorties que lorsque lhorloge clk arrive
9

Exemple : le compteur
3210
0000
0001
0010
0011
0100
0101
0110
0111
1000

EP

MMOIRES

(1) Communment appel IFL (Input-Forming Logic)

Ds quune entre change, deux signaux changent presquinstantanment :


la prvision de ltat futur EF
les sorties
Ds que lhorloge clk arrive, les mmoires changent (et donc ltat prsent EP). Ce
changement se rpercute ensuite sur :
la prvision de ltat futur EF
les sorties
Les sorties peuvent donc varier tout moment et ragir directement aux entres
22 mars 2016

EF

CIRCUIT

ENTRES

COMBINATOIRE(2)

10

Enable et Reset synchrone


Lorsque Enable est faux, cest
comme sil ny avait pas
dhorloge

Le bit i sinverse au
flanc montant de
lhorloge si et
seulement si tous les
bits dindice plus
faible sont vrais.

Lorsque Reset est Vrai, la


sortie sannulera au prochain
coup dhorloge
D

22 mars 2016

Reset

Reset

11

Ena

Ena

Chaque bascule Ti est


donc prcde par
une porte logique
AND i entres.
Circuits logiques - JP David

Circuits logiques - JP David

22 mars 2016

Circuits logiques - JP David

12

(Pre)Set synchrone
Lorsque Set est Vrai, la sortie
deviendra vraie au prochain
coup dhorloge
D

Le compteur avec reset sync.


Compteur

reset

Set

Set
Q

horloge

Remarques
Enable est en gnral prioritaire sur Set et Reset. Donc, si Enable est faux,
Set et Reset sont sans effet.
Il existe aussi des bascules avec Set et Reset asynchrones. Dans ce cas, ds
quun de ces signaux est activ, la sortie se met Vrai ou Faux respectivement,
comme pour un bistable SR.
Dans tous les cas, mieux vaut consulter la fiche technique du fabricant.
22 mars 2016

Lentre reset (synchrone) du


compteur dtermine la valeur
que prendra le compteur au
PROCHAIN cycle dhorloge.

N
compte

Circuits logiques - JP David

13

horloge
compte

reset

22 mars 2016

Circuits logiques - JP David

14

Le dcodeur Morse

Synthse de machines tats


1. Diagramme dtats
2. Tableau dtats
3. Tableau de transition

4. Expressions des sorties


5. Expressions des entres des bascules
6. Schma

22 mars 2016

Circuits logiques - JP David

15

22 mars 2016

Circuits logiques - JP David

16

Par exemple

Vue globale du systme

Machine tats MA1


Dtecte les points (01),
barres (10) et espaces (11)
en utilisant le compteur
ci-dessous.
Par dfaut, elle envoie 00.

Dans le texte ci-dessus, on observe :


des vrai courts (les points)
des faux courts (entre deux symboles)
Des vrai longs (les barres)
Des faux longs (entre deux mots)
22 mars 2016

Circuits logiques - JP David

compte

N
A

horloge

17

22 mars 2016

Circuits logiques - JP David

18

Fonctionnement de MA1

Deux entres

Quatre tats : Fauxc, Fauxl, Vraic, Vrail


Lorsque le signal dentre change de
valeur, ltat suivra au prochain flanc de
lhorloge et le compteur se remettra zro
Entre temps, si le compteur atteint une
valeur prdfinie (L vrai), on change dtat
pour dire quon est en prsence dun signal
long (une barre ou un espace).

M : le signal Morse
L : le signal du compteur qui indique que la
valeur seuil a t atteinte. Cela pourrait se
rsumer un simple bit du compteur

Trois sorties
Reset : remet la sortie du compteur zro au
prochain flanc montant de lhorloge
S10 : 00 = , 01 = point, 10 = barre, 11 = espace
Circuits logiques - JP David

Machine tats MA2


Reconnait les squences
Morse.
Pour cette application, on
reconnaitra seulement la
lettre A

reset

Fonctionnement de MA1

22 mars 2016

S10

19

22 mars 2016

Circuits logiques - JP David

20

Dtail des tats

Diagramme dtats

Fauxc(ourt) : Je suis dans cet tat tant que jai reu un petit
nombre de Faux conscutifs (ex: entre deux symboles). Si
je reois davantage de Faux, je passe ltat Fauxl(ong).
Fauxl(ong) : Je suis dans cet tat tant quand jai reu un
grand nombre de Faux conscutifs (entre deux lettres ou
deux mots).
Vraic(ourt) : Je suis dans cet tat tant que jai reu un petit
nombre de Vrais (ex: un point). Si je reois davantage de
Vrais, je passe ltat Vrail(ong).
Vrail(ong) : Je suis dans cet tat tant quand jai reu un
grand nombre de Vrais conscutifs (une barre).
Circuits logiques - JP David

22 mars 2016

21

Simulation (court faux)


cycle

10

cycle

10

CLK

entre : M(orse)

entre : M(orse)

entre : L(ong)

entre : L(ong)

FAUXC

FAUXC

FAUXC

tat suivant
(prvision)

FAUXC

FAUXC

FAUXC

VRAIC

VRAIC

VRAIC

VRAIC

VRAIC

tat courant

FAUXC

tat suivant
(prvision)

VRAIC

FAUXC

Sortie : R(eset)

FAUXC

FAUXC

FAUXL

FAUXL

FAUXL

FAUXL

FAUXC

VRAIC

VRAIC

VRAIC

VRAIL

VRAIC

VRAIC

VRAIC

VRAIC

Sortie : R(eset)

Sortie : S(ymbole)

Compteur

22

Simulation (long faux)

CLK

tat courant

Circuits logiques - JP David

22 mars 2016

00 = RIEN

22 mars 2016

Circuits logiques - JP David

Sortie : S(ymbole)

23

Compteur

11 =
ESPACE

00 = RIEN

14

22 mars 2016

15

16

17

18

19

Circuits logiques - JP David

00 = RIEN

24

2. Tables dtats
tat
prsent

3. Table de transitions

Sorties (RS10)

tat suivant

Entres (ML)

Entres (ML)

00

01

10

11

00

01

10

11

FAUXC

000

000

100

100

FAUXC

FAUXL

VRAIC

VRAIC

FAUXL

000

000

111

111

FAUXL

FAUXL

VRAIC

VRAIC

101

101

000

000

FAUXC

FAUXC

VRAIL

110

110

000

000

FAUXC

FAUXC

11

00

01

10

11

00

000

000

100

100

00

01

10

10

VRAIC

01

000

000

111

111

01

01

10

10

VRAIC

VRAIL

10

101

101

000

000

00

00

10

11

VRAIL

VRAIL

11

110

110

000

000

00

00

11

11

25

Sorties (RS10)

tat suivant (Q+1Q+0)

Entres (ML)

Entres (ML)

01

11

10

00

01

11

10

00

000

000

100

100

00

01

10

10

01

000

000

111

111

01

01

10

10

11

110

110

000

000

00

00

11

11

10

101

101

000

000

00

00

11

10

Circuits logiques - JP David

Entres (ML)

10

00

22 mars 2016

Entres (ML)
01

27

Circuits logiques - JP David

22 mars 2016

26

Expression des sorties

3. Table de transitions:Karnaugh
tat
prsent
Q1Q0

tat suivant (Q+1Q+0)

00

Circuits logiques - JP David

22 mars 2016

tat
prsent
Q1Q0

Sorties (RS10)

R
00
01
11
10

00
0
0
1
1

01
0
0
1
1

11
1
1
0
0

10
1
1
0
0

S1
00
01
11
10

00
0
0
1
0

01
0
0
1
0

11
0
1
0
0

10
0
1
0
0

S0
00
01
11
10

00
0
0
0
1

01
0
0
0
1

11
0
1
0
0

10
0
1
0
0

22 mars 2016

R = Q1M + Q1 M = Q1 M

S1 = Q1Q0 M + Q1Q0 M

S0 = Q1 Q0 M + Q1Q0 M

Circuits logiques - JP David

28

Expression des bascules


Q+1
00
01
11
10

00
0
0
0
0

01
0
0
0
0

11
1
1
1
1

10
1
1
1
1

Q+0
00
01
11
10

00
0
1
0
0

01
1
1
0
0

11
0
0
1
1

10
0
0
1
0

Q1+ = M

+
0

Q = (Q1 + M )(Q1 + M )(Q0 + L)

Circuits logiques - JP David

22 mars 2016

Optimisation des sorties

29

Optimisation des bascules


Q+1
00
01
11
10

00
0
0
0
0

01
0
0
0
0

11
1
1
1
1

10
1
1
1
1

Q1+ = M

Q+0
00
01
11
10

00
0
1
0
0

01
1
1
0
0

11
0
0
1
1

10
0
0
1
0

Q0+ = R(Q0 + L)

22 mars 2016

Circuits logiques - JP David

R
00
01
11
10

00
0
0
1
1

01
0
0
1
1

11
1
1
0
0

10
1
1
0
0

R = Q1 M

S1
00
01
11
10

00
0
0
1
0

01
0
0
1
0

11
0
1
0
0

10
0
1
0
0

S1 = RQ0

S0
00
01
11
10

00
0
0
0
1

01
0
0
0
1

11
0
1
0
0

10
0
1
0
0

S 0 = S1 (Q1 M )

22 mars 2016

Circuits logiques - JP David

30

Schma final

31

22 mars 2016

Circuits logiques - JP David

32

Dtecteur de A (MA2)

Table dtats
tat
prsent
Q1Q0

Circuits logiques - JP David

22 mars 2016

33

Sorties (A)

tat suivant (Q+1Q+0)

Entres (S1S0)

Entres (S1S0)

Entres (S1S0)

01

10

11

00

01

10

11

Espace

Espace

Point

Autre

Espace

Point

Point

Autre

Pt-Bar Espace

Pt-Bar

Pt-Bar

Autre

Autre

Espace

Autre

Autre

Autre

Autre

Espace

Circuits logiques - JP David

22 mars 2016

tat
prsent

34

Sorties (A)

tat suivant

Entres (S1S0)

Entres (S1S0)

00

01

11

10

00

01

11

10

00

00

01

00

11

00

01

01

11

00

10

11

00

11

11

11

00

11

11

00

10

10

11

00

11

01

10

11

00

01

10

11

00

00

01

11

00

01

01

11

10

10

10

11

11

11

11

Circuits logiques - JP David

Entres (S1S0)

Table de transitions:Karnaugh

00

22 mars 2016

tat suivant (Q+1Q+0)

00

Table de transitions
tat
prsent
Q1Q0

Sorties (A)

35

22 mars 2016

Circuits logiques - JP David

36

Sorties et tats suivants

Rappel sur les bascules T et JK


Lors de ltape 4, il est possible quil soit plus avantageux dutiliser
des bascules autres que les bascules D, telles que les bascules JK ou
T. Reprenons donc ltape 4, mais cette fois en comparant
lutilisation de bascules D, T et JK.
+
+

A
00
01
11
10

00
0
0
0
0

01
0
0
0
0

11
0
0
0
1

10
0
0
0
0

A = Q1 Q0 S1S0

Q1+
00
01
11
10

00
0
0
1
1

01
0
1
1
1

11
0
0
0
0

10
1
1
1
1

Q1+ = Q1 S1 + S1 S 0 + Q0 S1S0

Q0+
00
01
11
10

00
0
1
1
0

01
1
1
1
1

11
0
0
0
0

10
1
0
1
1

+
0

Q = Q0 S1 + S1S0 + Q1S1 S0 + Q0 S1 S0

Q+

Q
Q

Bascule T
Circuits logiques - JP David

22 mars 2016

37

Dune bascule D vers T

Q+

T=D

AB
00

11

0
Circuits logiques - JP David

Q+

J = D, K = -

J=-,K=D

01

00
11

10

1
22 mars 2016

01

11

10

39

AB

D
00

Exemple de table de Karnaugh :


AB

10

Q
22 mars 2016

01

Il est possible de faire la mme chose pour les bascules JK. Examinons
les diffrents cas possibles de transitions dtats (Q -> Q+) :

T=D

Exemple de table de Karnaugh :


D

38

Dune bascule D vers JK

Il est possible de modifier la table de Karnaugh dune bascule D pour


obtenir la table de Karnaugh pour une bascule T. Examinons les
diffrents cas possibles de transitions dtats (Q -> Q+) :
Q

Bascule JK
Circuits logiques - JP David

22 mars 2016

Circuits logiques - JP David

01

11

10

00

01

11

10

K
Q

AB

00

AB

40

10

Application MA2
S1 S0

Q1 +

00 01 11 10
00

Q1Q0

01
11
10

0
0
1
1

0
1
1
1

0
0
0
0

1
1
1
1

S1 S0

Q0 +

00 01 11 10
00

Q1Q0

01
11
10

2 * (2 + 1) + (3+1)
+ (3 + 1) = 14

0
1
1
0

1
1
1
1

0
0
0
0

1
0
1
1

S1 S0

T1

00 01 11 10

0
0
0
0

00
Q1Q0

01
11
10

2 * (2 + 1) + 2*(3 + 1)

Analyse et comparaison de cot


0
1
0
0

0
0
1
1

S1 S0

00
Q1Q0

01
11
10

0
0
-

0 0 1
1 0 1
- - - - -

(3 + 1) + (2 + 1)
+ (2+1) = 10

22 mars 2016

S1 S0

J0

00 01 11 10
00

Q1Q0

01
11
10

0
0

0
0
0
0

00
Q1Q0

01
11
10

1
0
0
1

0
1
1
0

1
1
0
1

1
1

0
0

1
1

S1 S0

K1

00 01 11 10

4 * (3+1)
+ (4+1) = 21

00
Q1Q0 01
11
10

0
0

2*(2+1) + (2+1) = 9

Circuits logiques - JP David

0
0

1
1

(2+1) = 3

0
0

S1 S0

K0

00 01 11 10
00

Q1Q0

01
11
10

0
0
-

0
0
-

Q1 : Avec D :

14

Avec T :

17

Avec JK : 10 (pour J) + 3 (pour K) = 13

Bascules JK - K

Bascules JK - J
00 01 11 10

00 01 11 10

2 * (3 + 1) + (4+1)
+ (3 + 1) = 17 Bascules

Bascules D + (4+1) = 19

J1

1
1
0
0

S1 S0

T0

- 1 1
1 0
- -

Q0 : Avec D :

19

Avec T :

21

Avec JK : 9 (pour J) + 9 (pour K) = 18


Lorsque plusieurs types ont des cots gaux, on choisit par ordre de
prfrence les bascules D, les bascules T et finalement les bascules JK.

2*(2+1)
+ (2+1) = 9

41

22 mars 2016

Circuits logiques - JP David

42

11

You might also like