You are on page 1of 21

Chapitre 10 : Synthse des systmes squentiels asynchrones

Chapitre 10

Synthse des systmes squentiels asynchrones

Dans beaucoup de situation pratiques, les entres du systme raliser ne sont pas gres par une horloge et
sont donc sujettes modification des instants quelconques. Dans ce cas il n'est pas possible de concevoir un
systme synchrone. Dans ce chapitre nous nous intresserons donc la synthse des systmes squentiels
asynchrones.

10.1. Structure des systmes squentiels asynchrones

Dans le mode synchrone, les lments de mmorisation sont des bascules. Les modifications d'tat du
systme ne peuvent donc intervenir qu' des instants trs prcis dtermins par des signaux d'horloge. Par contre,
dans le mode asynchrone, la fonction de mmorisation est ralise par de simples boucles de rtroaction.
L'volution des tats ne dpend donc que des modifications intervenant sur les entres primaires (Ei) de la
machine. La reprsentation la plus gnrale d'un systme asynchrone est donn sur la Figure 10.1.

Ei Si
Rseau
yi combinatoire
Yi

't

Figure 10.1. Modle gnral d'un systmes squentiel asynchrone

Remarque : L'lment retard 't est un lment virtuel permettant de modliser les retards des signaux dans la
logique combinatoire.

Le circuit est dit dans un tat stable si et seulement si yi=Yi pour tout i= 1, 2, ..., k. En rponse un
changement d'entre, la logique combinatoire produit un nouvel ensemble de valeurs sur Yi. Si ces valeurs sont
diffrentes de celles de yi ce circuit entre dans un tat instable. On obtiendra un nouvel tat stable lorsqu'
nouveau on aura yi=Yi. Si aucun un tat stable n'est atteint le systme oscille.

Une variation d'entre est obligatoire pour que le systme volue d'un tat stable vers un autre tat stable.
D'autre part, vu les dlais inhrents aux structures, il est impossible de garantir le changement de deux variables
simultanment. La synthse d'un systme asynchrone doit interdire de telles situations. Cette restriction signifie
en effet qu'une seule entre peut changer un instant donn, et que le temps coul entre deux variations est plus
grand que le dlai interne de la structure. Lorsqu'un changement apparat sur une entre, nous ferons donc
l'hypothse qu'aucune variation sur toutes entres ne peut intervenir avant que le circuit soit dans un tat stable.

1
Chapitre 10 : Synthse des systmes squentiels asynchrones

Un tel mode de fonctionnement est appel mode fondamental. Notons qu'un mode de fonctionnement diffrent
appel mode puls est aussi possible mais ne sera pas tudi ici.

10.2. Mthode de synthse

La mthode de synthse de systmes squentiels asynchrones propose a pour but de minimiser le nombre de
variables secondaires (Yi). Ceci a pour effet direct de minimiser le nombre de fonctions du rseau combinatoire
et par consquent le nombre de portes du circuit. Cette mthode se dcompose en plusieurs tapes. Ces tapes
sont les suivantes:
1 : Modlisation du cahier des charges
- Graphe d'tat
- Table dtat (ou des phases) primitive
2: Minimisation du nombre d'tats
- Elimination des tats quivalents
- Fusionnement d'tats
3: Codage des tats
- Graphe d'adjacence
- Assignation des tats
4: Synthse
- Synthse des variables secondaires
- Synthse des sorties

10.2.1. Modlisation du cahier des charges

Tout comme pour les systmes squentiels synchrones, le cahier des charges d'un systme est gnralement
donn en langage courant. Pour faire la synthse d'un tel cahier des charges, la premire tape est de l'exprimer
dans un modle mathmatique. Le modle gnralement utilis pour reprsenter le cahier des charges d'un
systme asynchrone est galement un graphe appel graphe d'tat ou graphe de fluence.

10.2.1.a. Graphe dtat


Tout comme pour les systmes squentiels synchrones, les nuds du graphe dtat reprsentent les tats du
systme et les arcs orients, les possibilits de passage d'un tat un autre. Par contre, le fait qu'en asynchrone, il
n'y ait plus d'horloge introduit une diffrence notable dans l'interprtation du graphe. En effet, le passage d'un
tat un autre ne se fait non plus sur un coup d'horloge mais directement lorsqu'une entre varie. Cette
diffrence de fonctionnement peut se traduire par une diffrence de structure du graphe d'tat. En effet, chaque
tat tant stable tant qu'il n'y a pas de variation d'entre, les entres peuvent tre portes sur les cercles
reprsentant les tats. Quant aux sorties, elles peuvent galement tre portes sur les cercles reprsentant les
tats puisqu'elles sont fonction des variables secondaires caractrisant ces tats et des entres qui sont
maintenant portes sur les tats (Figure 10.2.).

Ej / Sj

Ei / Si

Ek / Sk

Figure 10.2. Structure gnrale du graphe d'tat d'un systme squentiel asynchrone

2
Chapitre 10 : Synthse des systmes squentiels asynchrones

Remarque : Dans le cas des systmes squentiels asynchrones, la notion de machine de Moore ou Mealey
n'existe plus. En effet, les tats dpendant directement des entres (de manire combinatoire), les sorties
dpendent donc toujours des entres, que ce soit directement ou indirectement au travers de variables
secondaires.

Exemple : Le systme considr a deux entres e1 et e2 et une sortie S. La sortie S doit passer 1 chaque fois
que la squence e1e2 = 10, 11, 01, 00 intervient sur les entres. Quand S est 1, S doit repasser 0 ds la
premire variation d'une des deux entres.

Le graphe d'tat reprsentant ce cahier des charges est reprsent sur la figure 10.3.

e1e2/S 1 2 4
3
10/0 11/0 01/0 00/1

5 6
7
00/0 01/0 11/0

Figure 10.3. Graphe de machine dtectant les squences 10/11/01/00

10.2.1.b. Table dtat primitive

Le cahier des charges d'un systme peut galement tre modlis sous une forme tabulaire qui est plus facile
manipuler qu'une reprsentation sous forme de graphe. Cette reprsentation tabulaire, appele table d'tat ou
table des phases primitive, est directement dductible du graphe d'tat. Elle reprsente les diffrentes possibilits
d'tats suivants de chacun des tats du systme et ceci en fonction des entres. De manire reprer plus
facilement les tats stables et instables, les tats stables seront surligns (griss). Outre le reprage des tats
stables, la seule diffrence avec les systmes squentiels synchrones est qu'il existe des tats non-atteignables du
fait de l'impossibilit de variation simultane des entres. Les sorties associes chaque tat sont galement
reprsentes sur cette table.

La table d'tat correspondant au graphe dtat prcdent est reprsente sur la figure 10.4.

Etat Etats Suivants Sortie


s 00 01 11 10

1 5 - 2 1 0
2 - 3 2 1 0
3 4 3 7 - 0
4 4 6 - 1 1
5 5 6 - 1 0
6 5 6 7 - 0
7 - 6 7 1 0

Figure 10.4. Table dtat de la machine dtectant les squences 10/11/01/00

3
Chapitre 10 : Synthse des systmes squentiels asynchrones

10.2.2. Minimisation du nombre d'tats

10.2.2.a. Elimination des tats quivalents


Le nombre d'tats de la machine influe directement sur le nombre de variables secondaires et donc sur le
nombre de portes ncessaires la ralisation du circuit. Or, le nombre d'tats utiliss pour reprsenter le cahier
des charges, que ce soit sur le graphe des phases primitives ou sur la table d'tat, n'est pas ncessairement
minimum. Deux rgles permettent de dterminer les tats quivalents et par consquent de minimiser le nombre
d'tats ncessaires.
- Rgle R1 : Deux tats sont quivalents s'il sont stables pour les mmes valeurs d'entre (tat stable dans
la mme colonne), et si pour chaque combinaison d'entre, ils ont mme sorties et mme tats suivants.
- Rgle R2 : Les tats sont regroups en diffrentes classes selon la position de l'tat stable et les valeurs
de sorties associes. Ainsi, deux tats tant stables pour les mmes valeurs d'entre (tat stable dans la
mme colonne) et ayant mme sorties (pour chaque combinaison d'entre) sont dans la mme classe. Les
tats appartenant une mme classe sont quivalents s'il ne peuvent tre spars. Or les tats appartenant
une mme classe doivent tre spars si les tats suivants associs chacun d'eux sont dans des classes
diffrentes.

Lorsque plusieurs tats sont quivalents, il suffit de garder qu'un seul reprsentant par classe d'quivalence et
de renommer les tats suivants en consquence.

Exemple : Les rgles de minimisation appliques la table des phases primitive de la Figure 10.4 donnent:

R1: Aucun tat n'est stable pour les mmes valeurs d'entre, n'a la mme sortie et les mmes tats suivants.

R2: les tats peuvent tre regroups en cinq classes.

(1) (2) (3) (4) (5) Classes


(1)(4)(5) (3,6) (2,7) Etats
437-/567- -321/-671 Etats suivants
245-/345- -451/-451 Classes des tats suiv.

Les tats 3 et 6 doivent tre dissocis et le processus ritr.

(1) (2) (3) (4) (5) (6) Classes


(1)(4)(5)(3)(6) ( 2 ,7 ) Etats
-321/-671 Etats suivants
-461/-561 Classes des tats suiv.

Les tats 2 et 7 doivent tre spars. Il y a maintenant qu'un seul tat par classe. Il n'y a donc pas d'tats
quivalents. Pour raliser cette machine, le nombre minimum d'tats est de 7.

Remarque : Il est beaucoup plus rare de trouver des tats quivalents en asynchrone qu'en synchrone. Cela
provient essentiellement du fait que la structure mme du graphe (entres sur les tats) conduit reprer
beaucoup plus facilement les tats quivalents et donc viter les duplications.

10.2.2.b. Fusionnement dtats


A priori, le nombre d'tats obtenu aprs minimisation devrait nous donner le nombre de variables secondaires
ncessaires la ralisation de la machine. En fait, chaque tat tant caractris par les valeurs d'entres pour
lequel il est stable, des tats diffrents, stables pour des valeurs d'entres diffrentes, peuvent trs bien tre cods
de manires identiques. L'tape suivante est donc essayer de fusionner certains tats pour, en leur attribuant le
mme code, diminuer le nombre de variables secondaires ncessaires la ralisation de la machine.

4
Chapitre 10 : Synthse des systmes squentiels asynchrones

Rgle de fusionnement : Deux tats sont fusionnables uniquement s'il ont mmes tat suivants (pas
d'incompatibilit sur les tats suivants compte tenu des tats indtermins).

Afin de dterminer les fusionnements qui conduisent un nombre d'tats minimum, on ralise un graphe
appel graphe de fusionnement. Les nuds de ce graphe sont les tats et il y a prsence d'une arte entre deux
nuds si et seulement si les deux tats correspondants sont fusionnables.

Le graphe de fusionnement correspondant la table dtat de la Figure 10.4 et donn sur la Figure 10.5.

2
1
3

7
4
6
5

Figure 10.5. Graphe de fusionnement

Ce graphe donne les possibilits de regroupement d'tats. Tous les tats appartenant un mme groupement
doivent tre fusionnables entre eux. La recherche du nombre de groupement minimum est un problme classique
(recherche de cliques dans un graphe) que nous ne dtaillerons pas ici. Dans l'exemple prcdent le nombre de
groupements minimum est 4 mais comme le montre la Figure 10.6 il peut y avoir plusieurs solutions.

A A
2 2
1 1 B
B
3 3

7 7
C C
4 4
6 6
5 D 5 D
(a) (b)

Figure 10.6. Fusionnement d'tats

Remarque : Certaines solutions peuvent tre "meilleures" que d'autres. Le choix d'une solution plutt qu'une
autre pourra s'appuyer sur des critres dont certains apparatront clairement par la suite. Notons dors et dj que
la solution (a) est priori meilleure que la solution (b).

Une fois, les groupements dtermins, on peut raliser le fusionnement des tats composant un mme
groupement. Ceci conduit une nouvelle table d'tat appele table des phases rduite. Lors de la fusion d'tats,
plusieurs situation peuvent se prsenter. On peut avoir fusionner des tats stables, des tats instables et des
tats indtermins. La rgle est la suivante:
- Un tat stable et un tat instable donnent un tat stable.
- Un tat stable et un tat indtermin donnent un tat stable.
- Un tat instable et un tat indtermin donnent un tat instable

Exemple : En reprenant les groupements de la Figure 10.6.a on obtient la table. des phases rduite
reprsente sur la Figure 10.7.

5
Chapitre 10 : Synthse des systmes squentiels asynchrones

Etats Etats Suivants


00 01 11 10
A (1,2) 5 3 2 1
B (3) 4 3 7 -
C (4) 4 6 - 1
D 5 6 7 1
(5,6,7)

Figure 10.7. Table des phases rduite.

10.2.3. Codage des tats

Prcdemment, nous avons not qu'il n'est pas possible de prvoir un changement simultan des entres.
Pour les variables secondaires il en est de mme. Si deux ou plusieurs variables secondaires ncessitent des
changements de valeurs simultans, il est impossible de garantir le fonctionnement de la machine. En
consquence, l'assignation des variables secondaires aux tats d'une machine asynchrone rduite doit tenir
compte de cette contrainte.

10.2.3.a. Courses et cycles


Ces notions seront abordes partir de l'exemple de la table rduite de la Figure 10.10.

Sur cet exemple, lorsque l'tat est y1y2=00 et que les entres sont e1e2=00, l'tat suivant est y1y2=11. La
transition entre l'tat 00 et l'tat 11 introduit un changement des deux variables secondaires. La pratique impose
qu'une seule variable y1 ou y2 commute la fois. Selon le cas le systme passera au pralable par l'tat 01 ou 10.
Ces tats comportent dans l'exemple le mme tat instable 11 que l'tat stable d'arrive dsir.

Etats Etats Suivants


y1y2 00 01 11 10
00 11 00 10 01
01 11 00 11 01
11 11 00 10 11
10 11 10 10 11

Figure 10.8. Table des phases rduite code

Dfinitions : Une situation ncessitant la variation de plus d'une variable secondaire est appele une course.
Si l'tat final que le systme atteint ne dpend pas de l'ordre dans lequel les variables changent, alors la course
est non critique, dans le cas contraire la course est critique.

Supposons maintenant que le systme soit dans l'tat y1y2=11 et que les entres passent de 00 01. On dsire
par consquent aller vers l'tat stable 00. Si y1 change plus vite que y2, le circuit ira dans l'tat 01 et atteindra
finalement l'tat stable 00. Par contre, si y2 change plus vite que y1, le systme ira vers l'tat stable 10 et s'y
maintiendra. Nous avons une course critique et le fonctionnement du systme sera incorrect.

Les courses critiques peuvent selon les cas tre vites, en dirigeant le systme vers des tats instables
intermdiaires. Par exemple, lorsque le systme est dans l'tat y1y2=01 et e1e2=11, l'tat d'arrive voulu est 10.
Mais puisque cette transition ncessite le changement simultan des deux variables secondaires y1 et y2, l'tat
instable est cod 11, dirigeant ainsi le systme vers l'tat 11, puis vers l'tat 10.

6
Chapitre 10 : Synthse des systmes squentiels asynchrones

Dfinition : La situation, pour laquelle le systme passe par une squence d'tats instables est appele cycle.
Lors de l'assignation des tats, il est important de vrifier que chaque cycle se termine sur un tat stable. Tout
cycle ne comportant pas d'tat stable appel cycle instable doit absolument tre vit.

10.2.3.b. Elimination des courses critiques


Sur l'exemple prcdent afin d'liminer la course critique de la colonne 01, on peut slectionner un autre
codage des variables secondaires (Figure 10.9 ).

Etats Etats Suivants


y1y2 00 01 11 10
00 10 00 10 01
01 10 00 11 01
10 10 00 11 10
11 10 11 11 10

Figure 10.9. Assignation valide

Dfinition : Une assignation qui ne contient ni course critique ni cycle instable est appel une assignation
valide.

Remarque : Lorsqu'une colonne d'une table des transitions ne comporte qu'un seul tat stable, il ne peut
exister de course critique sur cet tat. Les adjacences ne doivent pas tre considres sur cet tat, toutefois il est
dangereux de laisser libre les cases non spcifies de la colonne, car au moment de l'criture des fonctions
logiques ces cases pourront tre affectes des valeurs conduisant des cycles instables.

10.2.3.c. Mthode d'assignation


Dans de nombreuses situations, une assignation valide ne peut tre obtenue par simple permutation des codes
des tats. Pour dterminer une assignation valide (pas de courses critiques ni de cycles instables) on doit tudier
tous les passages d'tats instables tats stables. Le passage d'un tat instable l'tat stable correspondant peut
se faire soit directement soit par l'intermdiaire d'tats instables identiques ou d'tats indtermins.

La dtermination d'une assignation valide peut tre facilite par la ralisation d'un graphe ou chaque tat
reprsente un sommet du graphe et chaque arc reprsente le fait que les deux tats relis doivent avoir un code
adjacent. Ce graphe est appel graphe d'adjacence. Afin de construire ce graphe, il est ncessaire d'introduire la
notion de liaison essentielle et de liaison libre.

Dfinition : Lorsque pour aller d'un tat instable l'tat stable correspondant, il n'y a pas d'autre solution que
d'y aller directement, nous dirons qu'il y a une liaison essentielle entre les deux tats. Lorsque pour aller d'un
tat instable l'tat stable correspondant, il y a plusieurs solutions nous dirons qu'il y a une liaison libre entre les
deux tats.

Toute liaison essentielle impose un arc sur le graphe d'adjacence. Toute liaison libre conduit un ou
plusieurs arcs mais le fait que la liaison soit libre laisse une certaine libert quant l'affectation de ces arcs. Une
assignation valide, peut tre dtermine en suivant la procdure suivante.
1. Analyser la table des phases rduite par colonnes et reporter sur le graphe d'adjacence les liaisons
essentielles.
2. S'il n'existe pas de codage respectant les adjacences ncessaires, aller en 4.
3. Reporter sur le graphe d'adjacence les liaisons libres en choisissant une solution qui permette de coder
les tats en respectant les adjacences indiques. Si une solution existe dterminer un codage respectant
les adjacences indiques par le graphe. Sinon aller en 4.

7
Chapitre 10 : Synthse des systmes squentiels asynchrones

4. Rajouter une variable secondaire est recommencer en 3 (il n'existe plus de liaisons essentielles).

Remarque : S'il existe un tat tel que tous les tats suivants soientt indtermins ou si le nombre d'tats de la
table des phases rduite n'est pas une puissance de 2, il n'existe pas de liaison essentielle.

Exemple : Reprenons la table des phases rduite de la Figure 10.7. Il existe des liaisons essentielles dans les
colonnes e1e2=00 et e1e2=01 (Figure 10.10.a). Ces liaisons essentielles conduisent au graphe d'adjacence de la
Figure 10.10.b .

Etats Etats Suivants


00 01 11 10 A B

A (1,2) 5 3 2 1
B (3) 4 3 7 -
C (4) 4 6 - 1 D C

D (5,6,7) 5 6 7 1
(a) (b)

Figure 10.10. Liaisons essentielles

On remarquera que sur ce graphe, si on doit rajouter un arc, il n'est plus possible de trouver un code
respectant les adjacences indiques avec deux variables. Il faut donc prendre en compte les liaisons libres en
vitant de rajouter un arc. Ceci peut tre fait en incluant les cycles prsents sur la Figure 10.11.a. Le graphe
d'adjacence correspondant nous conduit dfinir un codage adapt (Figure 10.11.b).

Etats Etats Suivants y1y2=00 01


00 01 11 10 A B

A (1,2) 5 3 2 1
B (3) 4 3 7 -
C (4) 4 6 - 1 D C
10 11
D (5,6,7) 5 6 7 1
Liaison essentielle
Liaison libre

Figure 10.11. Liaisons essentielles et liaisons libres

Le codage de la table des phases rduite peut maintenant tre ralis (Figure 10.12). On remarquera le
codage correspondant aux tats (y1y2=01, e1e2=11) (y1y2=11, e1e2=11) (y1y2=11, e1e2=10). Ce codage est
impratif pour que l'assignation soit valide.

Etats Etats Suivants


y1y2 00 01 11 10
00 10 01 00 00
01 11 01 11 --
11 11 10 10 10
10 10 10 10 00

Figure 10.12. Assignation valide

8
Chapitre 10 : Synthse des systmes squentiels asynchrones

Remarque : Dans la quatrime colonne, il n'y a pas de possibilit d'avoir de course critique. L'affectation de
la valeur 10 l'tat (y1y2=11, e1e2=10) n'est priori pas obligatoire. Toutefois l'affectation de la valeur 00 ce
mme tat aurait entran l'affectation 00 de l'tat (y1y2=01, e1e2=10) afin d'viter toute possibilit d'obtention
d'un cycle instable.

10.2.3.d. Augmentation du nombre de variables secondaires


Il est souvent ncessaire d'augmenter le nombre de variables secondaires afin de rsoudre le problme des
courses critiques. Ce problme va tre illustr sur l'exemple de la Figure 10.13.

Etats Etats Suivants A B


00 01 11 10
A (2,6) 1 2 4 6
B (4,7) 1 3 4 7 D C
C (5,8) 1 2 5 8
D (1,3) 1 3 5 6

Figure 10.13. Impossibilit dassignation avec 2 variables

Nous observons que la ligne a doit tre adjacente aux trois autres lignes b, c et d. Bien videmment, il est
impossible d'effectuer des assignations adjacentes pour tous les tats avec seulement deux variables d'tats. Par
consquent, une troisime variable doit tre ajoute. Lajout de cette variable pour effet de crer des tats
supplmentaire (E,F,G,H) qui permettrons dassurer des passages par code adjacent (Figure 10.14). Dans le cas
gnral, pour une assignation comportant p variables d'tats secondaires, chaque tat peut tre adjacent p
autres tats au maximum

Etats Etats Suivants


00 01 11 10
A (2,6) 1 2 4 6
B (4,7) 1 3 4 7
C (5,8) 1 2 5 8
D (1,3) 1 3 5 6
E - - - -
F - - - -
G - - - -
H - - - -

Figure 10.14. Introduction d'une variable supplmentaire

Les huit combinaisons de trois variables d'tats sont reprsentes par les cases de la Figure 10.15. Pour
dterminer une assignation valide, nous commenons par placer un tat stable (A) dans la case y1y2y3=000 pour
indiquer que la ligne A sera assigne l'tat secondaire 000. De faon similaire, nous plaons les tats (B), (C)
et (D) dans les trois cases adjacentes la case (A). Cela implique toutefois que chacune des transitions des lignes
B vers D et D vers C ncessite le changement de deux variables secondaires. Ces changements multiples
peuvent tre accomplis en amenant le systme vers les destinations finales par l'intermdiaire d'tats instables
(Figure 10.15).

9
Chapitre 10 : Synthse des systmes squentiels asynchrones

y1y2
y3 00 01 11 10
0 A C F D
1 B E

Figure 10.15. Assignation dtats

Ce problme dassignation est un problme classique dalgorithmique qui ne sera pas dtaill ici.

10.2.4. Synthse

Cette dernire tape de la synthse des machines asynchrones consiste tablir les fonctions logiques des
variables secondaires ainsi que celles lies aux sorties de la machine.

10.2.4.a. Synthse des variables secondaires


Une fois les assignations d'tats ralises sur la table des phases rduite nous avons toutes les information
pour faire la synthse des variables secondaires.

Exemple : En reprenant l'exemple prcdent, partir de la table de la Figure 10.12 on peut raliser les tables
de Karnaugh qui nous permettrons d'obtenir les relations de Y1 et Y2 (Figure 10.16).

e1e2 e1e2
y1y2 00 01 11 10 y1y2 00 01 11 10
00 1 0 0 0 00 0 1 0 0
01 1 0 1 - 01 1 1 1 -

11 1 1 1 1 11 1 0 0 0

10 1 1 1 0 10 0 0 0 0

Y1 = e1.e2 + y1.e2 + y2.e1 Y2 = y1.y2 + y2.e1.e2 + y1.e1.e2

Figure 10.16. Synthse des variables secondaires

Remarque : Rappelons que plusieurs outils de minimisation de fonctions logiques boolennes peuvent tre
utiliss: tableaux de Karnaugh, McCluskey, consensus ...

10.2.4.b. Synthse des sorties


Pour l'instant, seuls les tats stables possdent des sorties spcifies. Pour retrouver ces sorties, il suffit de se
ramener la table des phases rduite et la table des phases primitive. Ces sorties peuvent galement tre
prsentes sous forme de table.

Exemple : La table de sortie prsente sur la Figure 10.17 est celle dduite de la table dtat rduite (Figure
10.7) et de la table dtat primitive (Figure 10.4).

10
Chapitre 10 : Synthse des systmes squentiels asynchrones

Etats Sorties
y1y2 00 01 11 10
00 - - 0 0
01 - 0 - -
11 1 - - -
10 0 0 0 -

Figure 10.17. Synthse des sorties

Notre but ici est de considrer l'assignation des sorties pour les tats instables de la machine rduite. Cette
assignation dpend des changements des sorties dj spcifies ainsi que des objectifs de conception (machine
lente ou rapide).

Supposons que la valeur des sorties pour les tats indtermins nous soit indiffrente. Dans ce cas, la valeur
des sorties peut rester non spcifie afin d'optimiser postrieurement la fonction logique de sortie. Mais dans ce
cas, on s'expose des commutations transitoires des sorties. En effet, supposons que le systme doive aller d'un
tat stable vers un autre tat stable pour lequel la sortie est identique. Si la sortie affecte un des tats instables
intermdiaires est diffrente, la sortie prsentera une commutation transitoire lors du passage entre ces deux
tats.

Supposons maintenant que le systme doive aller d'un tat stable vers un autre tat stable pour lequel la sortie
est diffrente. La valeur de sortie attribue l'tat transitoire peut alors correspondre soit l'tat de dpart soit
l'tat d'arrive. Ce choix doit tre fait selon l'objectif dsir, savoir si l'on dsire un systme commutant au plus
tt ou au plus tard. On parlera alors de machine lente et de machine rapide.

Exemple : En reprenant l'exemple prcdant, les tables de sorties en machine rapide (a) et en machine lente
sont donnes sur la Figure 10.18. Ces tables sont tablies partir de la connaissance des passages d'tats
instables tats stables (Figure 10.11).

Etats Sorties Etats Sorties


y1y2 00 01 11 10 y1y2 00 01 11 10
00 0 0 0 0 00 0 0 0 0
01 1 0 0 - 01 0 0 0 -
11 1 0 0 0 11 1 1 0 1
10 0 0 0 0 10 0 0 0 0
(a) Srapide = y2.e1.e2 (b) Slente = y1.y2.(e1 + e2)

Figure 10.18. Machine rapide et machine lente

10.3. Synthse de dispositifs synchrones lmentaires

Un dispositif synchrone lmentaire est un composant synchronis par une horloge. Une bascule est par
exemple un dispositif synchrone lmentaire. Pour concevoir un tel systme plusieurs dmarches peuvent tre
envisages. Il en est une qui est de considrer lhorloge H comme une entre banalise est ainsi de considrer le
systme global comme tant un systme asynchrone. Dans ce chapitre nous raliserons la synthse des 3
bascules suivantes :
- La bascule D-Latch,
- La bascule D,

11
Chapitre 10 : Synthse des systmes squentiels asynchrones

- La bascule D avec signaux de forage Clear et Preset

10.3.a. Synthse dune D-Latch


Une bascule D-Latch est un dispositif comportant 2 entres D et H et une sortie Q telles que :
- Si H = 1 (niveau 1) Q = D
- Sinon mmoire

Le graphe dtat dune bascule D-Latch considr comme un systme asynchrone est donn sur la figure
10.19.

DH/Q 1 2 5

00/0 01/0 00/1

4 3 6

10/0 11/1 10/1

Figure 10.19. Graphe dtat dune D-Latch

La table dtat correspondante est reprsente sur la figure 10.20.

Etats Etats Suivants Sortie


00 01 11 10
1 1 2 - 4 0
2 1 2 3 - 0
3 - 2 3 6 1
4 1 - 3 4 0
5 5 2 - 6 1
6 5 - 3 6 1

Figure 10.20. Table dtat dune D-Latch

Lapplication des deux rgles de minimisation du nombre dtat ne donnant rien, il ny a pas, parmi ces tats,
dtats quivalents. Le graphe de fusionnement est reprsent sur la figure 10.21.

1 2

6
4
5

Figure 10.21. Graphe de fusionnement

En fusionnant les tats 1,2,4 et 3,5,6, la table dtat devient (Figure 10.22)

12
Chapitre 10 : Synthse des systmes squentiels asynchrones

Etats Etats Suivants


00 01 11 10
A(1,2,4) 1 2 3 4
B(3,5,6) 5 2 3 6

Figure 10.22. Table dtat rduite dune D-Latch

En codant 0 ltat A et 1 ltat B les tables dtat et de sortie sont les suivantes (Figure 10.23):

Etats Etats Suivants Etats Sortie


y 00 01 11 10 y 00 01 11 10
0 0 0 1 0 0 0 0 1 0
1 1 0 1 1 1 1 0 1 1

Figure 10.23. Table dtat code et table de sortie dune D-Latch

La structure du systme (D-Latch) ainsi obtenu est prsent sur la figure 10.24.
y = Hy + H.D
Q=y

D
Q
H

Figure 10.24. Bascule D-Latch

10.3.b. Synthse dune bascule D


Une bascule bascule D est un dispositif comportant 2 entres D et H et une sortie Q telles que :
- Si H passe de 0 1 (front montant) Q = D
- Sinon mmoire

Le graphe dtat dune bascule D considr comme un systme asynchrone est donn sur la figure 10.25.

DH/Q 1 2 5 6

00/0 01/0 00/1 01/1

4 3 8 7

10/0 11/0 10/1 11/1

Figure 10.25. Graphe dtat dune bascule D

13
Chapitre 10 : Synthse des systmes squentiels asynchrones

La table dtat correspondante est reprsente sur la figure 10.26.

Etats Etats Suivants Sortie


00 01 11 10
1 1 2 - 4 0
2 1 2 3 - 0
3 - 2 3 4 0
4 1 - 7 4 0
5 5 2 - 8 1
6 5 6 7 - 1
7 - 6 7 8 1
8 5 - 7 8 1

Figure 10.26. Table dtat dune bascule D

Lapplication des deux rgles de minimisation du nombre dtat ne donnant rien, il ny a pas, parmi ces tats,
dtats quivalents. Le graphe de fusionnement est reprsent sur la figure 10.27.

1 2

3
8

4
7
6 5
Figure 10.27. Graphe de fusionnement

En fusionnant les tats 1,2,3 et 6,7,8, la table dtat devient (Figure 10.28)

Etats Etats Suivants


00 01 11 10
A(1,2,3) 1 2 3 4
B(4) 1 - 7 4
C(5) 5 2 - 8
D(6,7,8) 5 6 7 8

Figure 10.28. Table dtat rduite dune bascule D

Le graphe dadjacence est prsent sur la figure 10.29.

14
Chapitre 10 : Synthse des systmes squentiels asynchrones

A B

D C

Figure 10.29. Graphe dadjacence

En codant 00 ltat A, 01 ltat B, 11 ltat C et 10 ltat D, les tables dtat et de sortie sont les
suivantes (Figure 10.30):

Etats Etats Suivants Etats Sorties


y1y2 00 01 11 10 y1y2 00 01 11 10
00 00 00 00 01 00 0 0 0 0
01 00 00 11 01 01 0 0 1 0
11 11 01 10 10 11 1 0 1 1
10 11 10 10 10 10 1 1 1 1

Figure 10.30. Table dtat code et table de sortie dune bascule D

La structure dune bascule D peut ainsi tre obtenue partir des quations suivantes :
y1 = y1.y2 + y1.H + y2.D.H
y2 = y1.D.H + y1.y2.D + y1.y2.D + y1.D.H
Q = y1

10.3.c. Synthse dune bascule D avec signaux de forage Clear et Preset


Une bascule bascule D avec signaux de forage est un dispositif comportant 2 entres D et H, 2entres de
forage Clear et Preset et une sortie Q telles que :
- Si Clear=Preset = 0
- Si H passe de 0 1 (front montant) Q = D
- Sinon mmoire
- Si Clear = 1 (Preset = 0), Q = 0
- Si Preset = 1 (Clear = 0), Q = 1

Le graphe dtat dune bascule D considr comme un systme asynchrone est donn sur la figure 10.31.

15
Chapitre 10 : Synthse des systmes squentiels asynchrones

9 10
DH/Q
00/0 01/0

Clear = 1

12 11

10/0 11/0

1 2 5 6

00/0 01/0 00/1


01/1

Clear = Preset = 0
4 3 8 7

10/0 11/0 10/1 11/1

13 14

00/0 01/0

Preset = 1

16 15

10/0 11/0

Figure 10.31. Graphe dtat dune bascule D avec Clear et Preset

La table dtat correspondante est reprsente sur la figure 10.32.

16
Chapitre 10 : Synthse des systmes squentiels asynchrones

Etats Etats Suivants Sortie


Clear=Preset=0 Clear = 1 Preset = 1 Q
00 01 11 10 00 01 11 10 00 01 11 10
1 1 2 - 4 9 - - - 13 - - - 0
2 1 2 3 - - 10 - - - 14 - - 0
3 - 2 3 4 - - 11 - - - 15 - 0
4 1 - 7 4 - - - 12 - - - 16 0
5 5 2 - 8 9 - - - 13 - - - 1
6 5 6 7 - - 10 - - - 14 - - 1
7 - 6 7 8 - - 11 - - - 15 - 1
8 5 - 7 8 - - - 12 - - - 16 1
9 1 - - - 9 10 - 12 - - - - 0
10 - 2 - - 9 10 11 - - - - - 0
11 - - 3 - - 10 11 12 - - - - 0
12 - - - 4 9 - 11 12 - - - - 0
13 5 - - - - - - - 13 14 - 16 1
14 - 6 - - - - - - 13 14 15 - 1
15 - - 7 - - - - - - 14 15 16 1
16 - - - 8 - - - - 13 - 15 16 1

Figure 10.32. Table dtat dune bascule D avec Clear et Preset

Lapplication des deux rgles de minimisation du nombre dtat ne donnant rien, il ny a pas, parmi ces tats,
dtats quivalents. Le graphe de fusionnement est reprsent sur la figure 10.33.

1 2
9,10,11,12
3
8

4
13,14,15,16
7
6 5
Figure 10.33. Graphe de fusionnement

En fusionnant les tats 1,2,3,9,10,11,12 et 6,7,8,13,14,15,16, la table dtat devient (Figure 10.34)

17
Chapitre 10 : Synthse des systmes squentiels asynchrones

Etats Etats Suivants


Clear=Preset=0 Clear = 1 Preset = 1
00 01 11 10 00 01 11 10 00 01 11 10
A 1 2 3 4 9 10 11 12 13 14 15 -
B 1 - 7 4 - - - 12 - - - 16
C 5 2 - 8 9 - - - 13 - - -
D 5 6 7 8 - 10 11 12 13 14 15 16

Figure 10.34. Table dtat rduite dune bascule D avec Clear et Preset

Le graphe dadjacence est prsent sur la figure 10.35

A B

D C

Figure 10.35. Graphe dadjacence

En codant 00 ltat A, 01 ltat B, 11 ltat C et 10 ltat D, la table dtat code (Figure 10.36) et la table de
sortie (Figure 10.37) sont les suivantes :

Etats Etats Suivants


y1y2 Clear=Preset=0 Clear = 1 Preset = 1
00 01 11 10 00 01 11 10 00 01 11 10
00 00 00 00 01 00 00 00 00 10 10 10 -
01 00 00 11 01 00 - - 00 - - - 11
11 11 01 10 10 01 - - - 10 - - 10
10 11 10 10 10 - 00 00 00 10 10 10 10

Figure 10.36. Table dtat code dune bascule D avec Clear et Preset

Etats Sortie
y1y2 Clear=Preset=0 Clear = 1 Preset = 1
00 01 11 10 00 01 11 10 00 01 11 10
00 0 0 0 0 0 0 0 0 1 1 1 -
01 0 0 1 0 0 - - 0 - - - 1
11 1 0 1 1 0 - - - 1 - - 1
10 1 1 1 1 - 0 0 0 1 1 1 1

Figure 10.37. Table dtat code dune bascule D avec Clear et Preset

18
Chapitre 10 : Synthse des systmes squentiels asynchrones

La structure dune bascule D avec signaux de forage Clear et Preset peut ainsi tre obtenue partir des
quations suivantes :
y1 = Clear.Preset.[y1.y2 + y1.H + y2.D.H] + Preset
y2 = Clear.Preset.[y1.D.H + y1.y2.D + y1.y2.D + y1.D.H] + Clear.y1.y2 +
Preset.y1.y2
Q = y1

19
Chapitre 10 : Synthse des systmes squentiels asynchrones

20
Chapitre 10 : Synthse des systmes squentiels asynchrones

21