Vous êtes sur la page 1sur 40

Synthèse des Systémes Logiques

séquentiels

Pr. Abdelouahed TAJER

1
Du combinatoire au séquentiel
Logique combinatoire : la fonction à t ne dépend que
du vecteur d’entrées à t

Systèmes plus complexes :


• Un appui sur un bouton allume la lumière, un
deuxième appui l’éteint
• Une impulsion démarre les essuie-glaces qui
s’arrêtent en position de repos

Même vecteur d’entrée = 2 états de sortie différents


Non réalisable en combinatoire

2
Combinatoire vs séquentiel (2)
Il faut que le système dispose d’autres informations.
Le système calcule lui-même son état courant.

Exemple : le système calcule si c’est la première


ou la deuxième fois qu’on appuie sur le bouton
n
E
fct. combi. Sortie = fct combi.
vecteur d’entrée
fct. combi. de n+m variables
m

3
Combinatoire vs séquentiel (3)
Représentation symbolique :
E
n Sortie
fct. combi.

La sortie est une fonction séquentielle des entrées E.


Les sorties «secondaires» sont appelées variables internes.

4
Logique séquentielle : définitions
• La sortie dépend du vecteur d’entrée et de
l’histoire du vecteur d’entrée (et de l’état initial).
id. système possède une fonction mémoire

• Un vecteur d’entrée induit plusieurs vecteurs de


sortie

• Le système calcule vecteur de variables internes


VI telles que : f(E,VI) est combinatoire
id. est un système bouclé

Ces trois définitions sont équivalentes

5
Exemple

E >=1
Équation du circuit:

S S=S+E

Solutions >> états stables

On remarque :
• 2 états stables : S = 0, S = 1
• L’état S = 0 n’est pas définitif –
l’entrée E permet de le quitter. Mémoire qui ne peut pas oublier
• L’état S = 1 est définitif – la
valeur de E n’a plus aucune
influence.

6
Etude des SLS Asynchrones

Hypothèses importantes :
- Temps continu
- non simultanéité des événements

étude

SLS Asynchrones Le plus compliqué

7
Analyse des SLS Asynchrones

Méthode :

• a) Recherche des variables secondaires ou internes (boucles)


• b) Ouverture (fictive) des boucles
• c) Calcul des fonctions d’excitation Y = f(E,y)
• d) Mise des fonctions dans un tableau de Karnaugh
(table d’excitation: colonnes = entrées, lignes = VS)
• e) Calcul des fonctions de sortie
• f) Recherche des états stables (Y0 = f(Ex,y0))
• g) Graphe de fluence : analyse complète et formelle
du système

8
Analyse des SLS Asynchrones

Exemple complet
A A Q1
Q1
q2
Q2
b)
Q2 B
B
a) Ouverture fictive

c)
AB 00 01 11 10
q2 0 0 0 0 1
Etat stable : Q2 = q2
1 1 0 0 1
Q2
d) 9
Analyse des SLS Asynchrones

AB 00 01 11 10 AB 00 01 11 10
e) q2 0 0 0 0 1 f) q2 0 1 2 3 4 Ecriture
symbolique
1 1 0 0 1 1 5 2 3 4
Q2 Q2
AB 00 01 11 10 00/10 01/10
q2 0 1 1 0 0
1 2
1 0 0 0 0
Q1 00/01
Equation des sorties 5
10/01 11/00
4 3
Graphe de fluence AB/Q1Q2 g)
10
Analyse des SLS Asynchrones

00/10 01/10

1 2
AB/Q1Q2 Séquentiel :
même vecteur entrée
00/01
5 et sorties différentes

10/01 11/00
4 3
Analyse formelle : A => mise à 1 de Q2, B => mise à 0 de Q2
Si A,B = 0,0 on garde le dernier état
On a Q2 = not(Q1)
sauf si A,B = 1,1 alors Q2 = Q1= 0

Système mémoire RS (Reset/Set)


11
Analyse des SLS Asynchrones

Système mémoire RS (Reset/Set)

R Q

S Q

S R Q
0 0 Qp
Mémoire RS prioritaire au 0
1 0 1
0 1 0
1 1 0
12
Synthèse des SLS Asynchrones

Synthèse Du cahier des charges à la réalisation

Méthode d’Huffmann (méthode pédagogique)


• (a) Cahier des charges
• (b) Graphe de fluence (formalisation)
• (c)Matrice primitive des états
1 colonne par vecteur d’entrée
1 ligne par état stable et transitions possibles
• (d) Matrice contractée (étape spécifique de la méthode)
• (e) Codage des lignes, détermination du nombre de VS
• (f) Matrice d’excitation et équations d’excitation
• (g) Matrice des sorties et équations des sorties
• (h) Schéma de réalisation
13
Modèle d’états

 Le comportement de certains circuits est une succession d'états


stables.
 Le changement d'état ne se produit que lors du changement de
valeur d'un signal. Ce changement est appelé événement.
 Le modèle utilisé pour décrire le comportement de ces circuits met
en relation : l'état présent, des événements et les états suivants. Ce
modèle est appelé modèle d'états.
 Un circuit dont le comportement peut être modélisé uniquement par
des expressions booléennes ne faisant appel qu’au variable d’entrée
est appelé circuit combinatoire.
 Un circuit dont le comportement doit être modélisé par un modèle
d'états est appelé circuit séquentiel.
 On appelle « variables d’états » l'ensemble des variables
nécessaires à la représentation du passé.

14
Graphe d’évolution des états

Un nœud représente un état interne particulier.


i caractérisé par des variables internes (chaque nœud
est numéroté)

Une branche orientée reliant deux nœuds représente


j l’évolution du système vers un nouvel état interne qui
ne dépend que de l’état interne initial et des valeurs
des variables externes.
i

15
Machine à état
Une machine à états (M.A.E.) en anglais Finite State Machine (F.S.M.)
est un système dynamique, qui peut se trouver, à chaque instant, dans
une position parmi un nombre fini de positions possibles.

Elle parcourt des cycles, en changeant éventuellement d’état lors des


transitions actives de l’horloge. L’architecture générale d’une machine
à état est présentée ci-dessous.

 Machine de Moore: sorties ne dépendent que de l’état actuel

 Machine de Mealy: les sorties dépendent de l’état actuel et des


entrées

16
Machine à état

17
Introduction au bistable
Lampe 2 boutons poussoirs: Arrêt (A), Marche (M)
Cahier des charges
M A L
Aucun bouton enfoncé: lampe éteinte
0 0 0
Appui sur « M »: lampe s’allume
1 0 1
Relâche « M »: lampe reste allumée
0 0 1
Appui sur « A »: lampe s’éteint
0 1 0
Relâche « A »: lampe reste éteinte
0 0 0
Système séquentiel! (synthèse: Huffman)

18
19
Introduction au bistable (2)
Matrice des phases
 Graphe de fluence AM/L
00 01 11 10 L

0
1

1
2

1
3

0
4

0
5

20
Introduction au bistable (2)
Matrice des phases
 Graphe de fluence AM/L 00 01 11 10 L

0
1 2

1
3 2

1
3 4

0
5 4

0
5

Nous savons qu'il est impossible que deux variables commutent simultanément. Pour
matérialiser ceci sur la matrice primitive, il convient de hachurer pour les éliminer, toutes les
cases pour lesquelles sur une même ligne deux variables changent par rapport à la
combinaison des variables qui a provoqué l'état stable inclus dans cette ligne.
Pour l'état stable 1 a = 0, m = 0, il faut hachurer la case où a = 1, m= 1 ;
Pour l'état stable 2 a = 0, m = 1, il faut hachurer la case où a = 1, m= 0 ;
…...
21
Introduction au bistable (2)

Il est maintenant nécessaire d'examiner les cases restantes.

Ligne 1 : Case 10 (a = 1, m = 0). Si l'on appuie sur «a» alors


que L est éteinte, on évolue vers une situation analogue à l'état 00 01 11 10 L
stable 4 (a = 1, m = 0, L = 0), on écrit donc 4 dans la case ce
qui montre que l'on passe par l'état transitoire 4. 0
1 2 4
Ligne 2 : Case 11 (a = 1, m = 1). Si l'on appuie sur «a» alors
1
que «m» n'a pas été relâché, on va vers 5 l'extinction de la 3 2 5
lampe donc vers l'état stable (a = 1, m = 1, L = 0). On inscrit 5
dans la case. 1
3 2 4
…....
Ligne 5 : 0
1 5 4
1) Case 01 (a = 0, m = 1)
On relâche «a» alors que «a» et «m» étaient actionnés et que L 0
était éteinte. La lampe se rallume car on revient à l'état stable 2 2 5 4
(a = 0, m = 1, L = 1), on écrit donc 2 dans la case. 2) Case 10
(a = 1, m = 0)
On relâche le bouton marche alors que L est éteinte, on revient
donc vers l'état stable 4 a=1, m= 0 L= 0), on écrit donc 4 dans
la case.
22
Introduction au bistable (2)
Matrice des phases
 Graphe de fluence AM/L
00 01 11 10 L

0
1 2 4

1
3 2 5

1
3 2 4

0
1 5 4

0
2 5 4

A priori 3 VI !

23
Condition de fusion pour la réduction:
Recherche de la matrice contractée

Il est souhaitable de ramener la matrice primitive des états à une matrice


contractée afin de diminuer le nombre de lignes supplémentaires, celles-ci
introduisant de nouvelles excitations et de nouvelles variables complémentaires ou
transferts.

Règles de contraction ou de fusion :

 Il est possible de contracter la matrice primitive des états en superposant deux


lignes si elles présentent verticalement les mêmes états.
 On peut fusionner deux lignes en une seule lorsqu'il y a un état stable ou un
transitoire de même numéro situé dans la même colonne ou un état stable ou
transitoire avec une case hachurée située dans la même colonne, en effet, la case
hachurée indique que, pour des raisons technologiques, ce cas ne peut se
produire et est donc indifférent.
 Les états de sortie n'interviennent pas dans les superpositions possibles mais si
on a le choix on préfèrera des états de sortie identiques.
24
Condition de fusion pour la réduction:
Recherche de la matrice contractée

Étude des possibilités :

Comparons la ligne 1 avec la ligne 2 : elles ne sont pas superposables car pour a = 0
et m = 0, on a l'état stable 1 sur la première ligne et l’état transitoire 3 sur la seconde.

Comparons la ligne 1 avec la ligne 3 : elles ne sont pas superposables car on a 1 sur
la première ligne et 3 sur la troisième pour a = 0 et m = 0.

Comparons la ligne 1 avec la ligne 4 : ces deux lignes sont superposables car on a
l'état stable correspond à l’état transitoire 1, à l’état transitoire 2 correspond une
impossibilité, à une impossibilité correspond l’état transitoire 5 et à l’état transitoire
4 correspond l’état stable 4
.

25
Condition de fusion pour la réduction:
Recherche de la matrice contractée

Étude des possibilités :

Comparons la ligne 1 avec la ligne 5 : ces deux lignes sont superposables.

Pour la ligne 2, les combinaisons possibles sont :


Lignes 2 et 3 superposables.
Lignes 2 et 4 non superposables.
Ligne 2 et 5 superposables.

Pour la ligne 3, les combinaisons possibles sont :


Lignes 3 et 4 non superposables
Lignes 3 et 5 superposables

Pour la ligne 4, les combinaisons possibles sont : Lignes 4 et 5 superposables


.

26
Condition de fusion pour la réduction:
Recherche de la matrice contractée

Polygone de fusionnement (ou de fusion)


Répartissons sur un cercle en comptant dans le sens des aiguilles d'une montre les
cinq points matérialisant les cinq lignes de la matrice primitive des états, nous
obtenons :

Relions ensemble toutes les lignes superposables comme représenté́

27
Condition de fusion pour la réduction:
Recherche de la matrice contractée

Interprétation du polygone de fusion


Nous obtenons deux triangles de sommets 1-5-4 et de sommets 2-5-3.
Règle :
Nous pouvons fusionner par exemple 2-3-5...n sommets reliés entre eux mais chaque
sommet ne doit figurer que dans un seul groupement de telle sorte que dans notre cas,
on peut réaliser les groupements :
1-4-5 et 2-3 ou 2-3-5 et 1-4

Nous préférerons 1-4-5 et 2-3 car à l'intérieur de chaque groupement l'état des sorties
est identique.

Ceci va faciliter ultérieurement les groupements dans l'ultime tableau de Karnaugh,


mais ce n'est pas obligatoire et surtout pas toujours possible.

28
Introduction au bistable (3)
Matrice des phases
réduite
AM
00 01 11 10 L
00 01 11 10

0
1 2 4
0 1 2 5 4

3 2 5
1
x 1 3 2 5 4
1
3 2 4

0 Gain de 2 VI !
1 5 4

0
2 5 4 Eq. Combinatoire X=f(A,M,x)

29
Introduction au
bistable (4)
On recherchera l'état L pour un état stable donné
dans la matrice primitive des états
- pour l'état stable 1 L =0
- pour l'état stable 2 L = 1
Matrice excitation = - pour l'état stable 3 L = 1
matrice de sortie - pour l'état stable 4 L =0
- pour l'état stable 5 L = 0
AM il reste trois cases à remplir pour les états
transitoires.
00 01 11 10
Nous reporterons l'état logique de la sortie (1 ou 0)
pour l'état stable vers lequel l'état transitoire
0 0 1 0 0 considèré évolue.
L'état transitoire 2 évolue vers l'état stable
x 1 1 1 0 0
L'état transitoire 5 évolue vers l'état stable
L'état transitoire 4 évolue vers l'état stable

L=X
30
bistable (4)

Matrice excitation = Réalisation


matrice de sortie

AM
00 01 11 10

0 0 1 0 0

x 1 1 1 0 0

L=X
31
Introduction au bistable (5)

32
Synthèse : exemple complet (cdc)
Synthèse d’un détecteur de sens

On veut S=0 si «sens des aiguilles d’une montre»


1 et S=1 sinon
0
A A
B B S=0
t
A S=1
Codeur B
incrémental

33
Synthèse : graphe
AB/S 1
11/0 01/0 00/0 10/0
1 2 3 4 A
B
t
10/1 11/1 01/1 00/1 A
8 7 6 5 B

Critêre de fin : n variables impliquent n flèches


partant de chaque état.

34
Synthèse : matrice des phases
AB/S
11/0 01/0 00/0 10/0 AB 00 01 11 10 S
1 2 3 4
2 1 8 0
3 2 7 0
10/1 11/1 01/1 00/1
3 6 4 0
8 7 6 5
5 1 4 0
5 6 4 1
3 6 7 1
2 7 8 1
Chaque ligne : 5 1 8 1
1 état stable
Transitions possibles
La valeur de la sortie

35
Synthèse : matrice des phases

AB 00 01 11 10 S xyz AB 00 01 11 10
2 1 8 0 000 2 1 8
3 2 7 0 001 3 2 7
3 6 4 0 011 3 6 4
5 1 4 0 010 5 1 4
5 6 4 1 110 5 6 4
3 6 7 1 111 3 6 7
2 7 8 1 101 2 7 8
5 1 8 1 100 5 1 8

Idée : état du système = 1 case


xyz : variables internes
Transitions possibles
par codage des lignes
dans la ligne
entre lignes

36
Synthèse : matrice des phases réduite
Amélioration de la méthode par Huffmann
(minimisation du nombre de VI car à l’époque problème de coût)

Idée : regrouper les lignes compatibles


état stables colonnes différentes/transitoires compatibles

AB 00 01 11 10 S xy AB 00 01 11 10
2 1 8 0 00 5 2 1 8
3 2 7 0 01 3 2 7 8
3 6 4 0 11 3 6 7 4
5 1 4 0 10 5 6 1 4
5 6 4 1
3 6 7 1 x,y : variables internes
2 7 8 1 (gain d’une VI)
5 1 8 1

37
Synthèse : matrice d’excitation
xy AB 00 01 11 10
00 5 2 1 8
01
Chercher l’équation combinatoire
3 2 7 8
11 3 6 7 4 liant X,Y à A,B,x,y
10 5 6 1 4
AB 00 01 11 10
xy 00 10 01 00 00
01 11 01 01 00
A 11 11 11 01 10
B S 10 11 00 10
x X 10
y fct. combi. Y

XY

38
Synthèse : matrice des sorties
xy AB 00 01 11 10
La sortie n’est utilisable
00 5 2 1 8 que pendant les états
01 3 2 7 8
11 3 6 7 4
stables
0 x (on
0 0 évite
0 0 les
10 5 6 1 4 0 x 1 0 x 1
glitches)
1 x 0 1 x 0
AB 00 01 11 10 S 1 x 1 1 1 1
2 1 8 0
3 2 7 0
3 6 4 0 xy AB 00 01 11 10
5 1 4 0 00 1 0 0 1
5 6 4 1 01 0 0 1 1
3 6 7 1 11 0
S = f(A,B,x,y)
1 1 0
2 7 8 1 10 1 1 0 0
5 1 8 1
S
39
Synthèse : réalisation
AB x

y
I0 S1 S0
I1 S
I2
I3
&

4 vers 1
>=1
&
>=1
X

>=1
&
>=1
Y
&

40

Vous aimerez peut-être aussi