Vous êtes sur la page 1sur 28

Licence d’Informatique

MARSEILLE-LUMINY

4. Logique séquentielle
asynchrone

4.1 - Introduction.
4.2 - Représentation de fonctionnement : les états.
4.3 - Équivalence et pseudo-équivalence d’états.
4.4 - Réduction du système.
4.5 - Attribution de variables auxiliaires.
4.6 - Matrice des sorties.
4.7 - Les aléas.

4.1. Introduction
4.1.1. Définition
On appelle circuit séquentiel un circuit pour lequel l'état des sorties à un
instant donné (t) dépend à la fois de l'état des entrées et de l'état qu'avaient les
sorties à l'instant t-1.
On distingue les circuits séquentiels asynchrones pour lesquels il n'existe pas
de référence de temps, c'est à dire que l'action des entrées est prise en compte
dès leur changement d'état, et les circuits synchrones pour lesquels les entrées
sont insensibles aux signaux qui leur sont appliqués sauf pendant un court
intervalle de temps déterminé par un signal spécial que l'on appelle une horloge.
Ainsi, par exemple, on pourrait considérer un système d’allumage par bouton
poussoir. Le fait d’appuyer sur le poussoir aura deux effets contradictoires, si la
lampe est éteinte, elle devra s’allumer et si elle est allumée, elle devra s’éteindre.
Il sera donc important pour déterminer l’action (allumer ou éteindre) de
connaître l’état dans lequel se trouve le système (allumé ou éteint)
4.1.2. La notion de constante de temps.
Un circuit, quel qu’il soit, est toujours réalisé avec des composants physiques
pour lesquels la propagation du signal n’est pas instantanée. Le délai nécessaire
au signal pour transiter entre l’entrée et la sortie du circuit est la constante de
temps du circuit.
Il est alors possible de représenter un circuit selon le schéma de la figure 4.1.1
montrant un circuit combinatoire à temps de transit nul suivi d’un circuit de
retard permettant de faire intervenir la constante de temps. Cette décomposition
qui n’a aucune réalité physique sera utile pour les besoins ultérieurs du
raisonnement.

Figure 4.1.1 : Décomposition théorique d’un circuit combinatoire

4.1.3. Notion de circuit séquentiel


Nous avons défini un circuit séquentiel comme devant dépendre à l’instant t de
l’état de ses entrées et de l’état dans lequel il se trouve a l’instant t-1.
Ainsi, la figure 4.1.2 répond très bien à la définition que nous venons d’énoncer.

Figure 4.1.2 : Décomposition théorique d’un circuit séquentiel

Représentons un circuit séquentiel par une fonction f (totalement décrite par le


circuit combinatoire sous-jacent) s’appliquant à un instant t à l’état de ses
entrées Ce(t) et à l’état st de ses lignes retard. Le circuit combinatoire ayant un
temps de transit nul on va instantanément obtenir l’état St des sorties
intermédiaires par St = f(Ce(t),st).
Isolée par la constante de temps, la combinaison st restera présente pendant
une durée Δt égale au temps de retard du circuit. A l’issue de ce délai Δt, la
propagation de la sortie deviendra effective et on obtiendra s t+1=St. Nous verrons
dans le paragraphe suivant les situations qui peuvent alors se présenter.

Δt
st
Ce

St

t
Modification de Ce
Modification immédiate de St
Modification de st après Δt

Figure 4.1.3 : Chronogramme de changement d’états

Page 4.2 Jacques Guizol


La figure 4.1.3 représente la succession de changement des états mis en jeu
dans la décomposition théorique. On notera en particulier que les sorties st res-
tent inchangées pendant une durée ∆t qui suit les modifications des entrées C e.
La figure 4.1.4 représente le modèle général du circuit séquentiel asynchrone
ayant p lignes d’entrées et n boucles de retour internes (lignes à retard).

Figure 4.1.4 : Représentation générale d’un circuit séquentiel

4.2. Représentation du fonctionnement : les états.


4.2.1. États stables et états instables.
Nous avons vu que dans un circuit séquentiel, après une durée déterminée par
une constante de temps, l’état de l’ensemble des variables de sortie devient égal
à l’état St de l’ensemble des variables intermédiaires fictives. Il y a transition de
st vers st+1.
Dans ces conditions, deux cas peuvent se présenter :
❶ - S t et s t sont identiques, ce qui revient à dire que st et s t+1 ont la
même configuration, Ainsi, la sortie n’est pas modifiée et le système se
trouve dans un état stable.
❷ - St et s t sont différents. Cela signifie donc qu’entre l’instant t et
l’instant t+Δt, sans que la configuration de l’ensemble des variables
d’entrée C e ait été modifiée, celle des lignes à retard a changé. L’état st
qui n’aura pas duré plus que Δt est appelé un état instable.
En t+Δt, les sorties effectives sont donc dans l’état s t+1 débouchant
donc instantanément sur St+1. A ce moment là, soit on peut se
retrouver dans un état de type ❶, c’est à dire atteindre un état stable,
soit se trouver de nouveau dans le cas ❷ et obtenir un nouvel état
instable.
En résumé, les successions d’états que l’on pourra rencontrer seront :
➀ État stable → État stable
… le système est verrouillé dans un état.
➁ État stable → État instable → État stable
… qui correspond au fonctionnement normal du système
③ État stable → État instable → . . . . → État instable → État stable
… source de problèmes que nous verrons par la suite.
④ État stable → État instable → État instable → . . . . → État instable
… correspondant à un circuit qui oscille sans arrêt.
Logique Séquentielle Asynchrone Page 4.3
4.2.2. Représentation des transitions d’états.
4.2.2.1 Méthode des graphes
Dans cette représentation commentée dans la figure 4.2.1,
• chaque état du circuit est représenté par un sommet du graphe ;
• à chaque état est associée la combinaison des variables de sortie
correspondantes ;
• les états seront reliés entre eux par des arcs étiquetés par la configu-
ration d’entrée qui provoque la transition correspondante.
01..0
état des
1 10...1 variables
de sortie

configuration
des variables
d'entrée 2 11..0

Figure 4.2.1 : Transition d’un état à un autre

Ainsi, par exemple, si nous reprenons l’exemple introductif du bouton poussoir,


nous obtenons le graphe représenté sur la figure 4.2.2.

La lampe
est éteinte
On appuie sur
On relache le poussoir
1
le poussoir

La lampe La lampe
4 2 est allumée
est éteinte

On relache
On appuie sur le poussoir
le poussoir 3
La lampe
est allumée

Figure 4.2.2 : Graphe des états du bouton poussoir

Codons les variables d’entrée (E) et de sortie (S) de ce système :


• On appuie sur le poussoir : E = 1
• On relâche le poussoir : E = 0
• La lampe est allumée : S = 1
• La lampe est éteinte : S = 0
Le graphe définitif obtenu sera alors celui représenté par la figure 4.2.3.
suivante.

Page 4.4 Jacques Guizol


E=0

S=0

1
E=1
E=0

E=1 S=0 4 2 S=1 E=1

E=0
E=1 3

S=1

E=0

Figure 4.2.3 : Représentation codée du bouton poussoir

Les états stables sont caractérisés par le fait qu’une configuration d’entrée
bloque le système dans l’état considéré.
Par exemple, si le système se trouve dans l’état 2, tant que le poussoir reste
appuyé, il reste dans cet état 2. Il ne pourra sortir de cet état que lorsque le
poussoir sera relâché, auquel cas il atteindra l’état 3.
Ceci est conforme à la définition que nous avons donnée précédemment de l’état
stable.

4.2.2.2. La matrice des phases.


Le travail de réalisation passe par la construction de la matrice des phases
correspondant à une représentation matricielle du graphe représenté en figure
4.2.3.
Sur chaque ligne on représente la transition entre l’état présent du système et
l’état suivant en fonction de la configuration apparaissant sur les entrées.
Un état stable sera caractérisé par un cercle. A chaque état stable correspondra
une configuration des variables de sorties.

Etat Etat Suivant


Sortie
Présent E=0 E=1

1 1 2 0
2 3 2 1
3 3 4 1
4 1 4 0
Figure 4.2.4 : Matrice des phases

4.2.3. Caractérisation des états.


En fonction de ce qui vient d’être dit, revenons sur la définition du graphe. Nous
avons vu que chaque état du circuit est représenté par un sommet du graphe, et
les états seront reliés entre eux par des arcs étiquetés par la configuration
d’entrée qui provoque la transition correspondante. De plus un état stable sera
caractérisé par une boucle provoquée par une configuration d’entrée bloquant le
système dans cet état.

Logique Séquentielle Asynchrone Page 4.5


Nous allons nous intéresser à la succession des configurations d’entrée
permettant d’accéder à un état et d’en sortir.
Soit la configuration ci-dessous (figure 4.2.5), où l’on accède à un état stable par
une configuration des variables d’entrée dont deux ont été mises en évidence.
On désire à partir de cet état atteindre l’état suivant, par une transition dans
laquelle toutes les variables d’entrée resteront inchangées à l’exception des deux
mises en évidence.

x 1 x 2 ..00..x n

1
x 1 x 2 ..11..x n
x 1 x 2 ..00..x n

Figure 4.2.5 : Transition ambiguë

La caractéristique du système étant l’asynchronisme, il est impossible de


modifier simultanément l’état de deux variables. Il n’est donc pas possible de
savoir laquelle des deux changera d’état avant l’autre. Dans ces conditions, la
représentation ci dessus est ambiguë car le comportement du système peut
varier selon l’ordre dans lequel les deux variables vont changer d’état.
Pour lever toute ambiguïté, il est nécessaire de prendre en compte cet état de
fait. Ainsi, si un état est atteint avec une configuration d’entrée donnée on ne
peut en sortir que par une configuration connexe à cette dernière (figure 4.2.6).
Finalement, un état sera entièrement défini par la configuration d’entrée qui
permet d’y accéder et la configuration de sortie qui lui est associée.

x 1 x 2 ..00..x n

1
x 1 x 2 ..10..x n x 1 x 2 ..01..x n

4 3

x 1 x 2 ..11..x n x 1 x 2 ..11..x n
2

Figure 4.2.6 : Transitions admises

4.2.4. Différenciation logique des états.


On a vu qu’une même configuration des variables d’entrée provoque des sorties
différentes pour des états différents. Le comportement du circuit va donc différer
selon l’état initial. Au niveau fonctionnel l’état va être représenté par des
variables d’entrée auxiliaires : celles provenant des boucles retard dont nous
avons précédemment parlé.

Page 4.6 Jacques Guizol


Dans la matrice des phases, ces variables auxiliaires vont donc permettre de
différencier et donc de coder les différents états. Pour une matrice comportant n
lignes le nombre de variables auxiliaires y sera tel que

 y-1 < log2  n ≤ y 
Dans le cas le plus simple, il s’agit d’associer à chaque état de la matrice des
phases une combinaison de variables binaires en vue de réaliser le circuit,
toutefois, nous verrons plus loin les nombreux problèmes que pose l’attribution
des variables auxiliaires.
Reprenons le circuit d’allumage d’une lampe à l’aide d’un bouton poussoir et
codons les différents états que nous avions mis en évidence dans la matrice des
phases que nous avions obtenue (fig. 4.2.4). Chacun d’eux va donc être codé par
une combinaison binaire des variables auxiliaires. Dans le cas présent, ayant
quatre états à différencier, deux variables y1 et y2 seront nécessaires pour
effectuer le codage. Elles déterminent l’état s t que nous avions introduit au §
4.1.3. L’état de sortie instantané correspondant St sera représenté par deux
autres variables Y 1 et Y2. On obtient ainsi la nouvelle table montrée en figure
4.2.7.
Etat Etat Suivant
Présent E=0 E=1 Sortie
y1 y2 Y1 Y2 Y1 Y2
00 00 01 0
01 10 01 1
11 11 10 1
10 00 10 0
Figure 4.2.7 : Représentation des états par variables auxiliaires

Dans cette table, nous avons choisi de représenter le précédent état ① par la
combinaison 00, l’état ② par la combinaison 01, ③ par 11 et enfin ④ par 10. Les
états stables sont représentés par les configurations en gras et l’on retrouve
bien la condition mise en évidence au § 4.2.1, à savoir qu’un état stable est
atteint si et seulement si St = st, donc ici Y1 Y2 = y 1 y2 .
Au paragraphe 4.1.3, nous avions introduit la relation liant, à l’instant t, l’état
St aux entrées normales Ce et auxiliaires s t par St = f(Ce(t),st). Dans l’exemple
qui nous intéresse ici, Cette relation se traduit par Il ne reste alors plus qu’à
écrire les fonctions Y1 = f1(E,y1,y2) et Y2 = f2(E,y1,y2).

y1y2 y1y2
E 00 01 11 10 E 00 01 11 10
0 1 1 0 1 1
1 1 1 1 1 1
Y1=f1(E,y1,y2) Y2=f2(E,y1,y2)
Figure 4.2.8 : Diagrammes de Karnaugh pour Y1 et Y2

L’évaluation de Y 1 et de s’opère au moyen de diagrammes de Karnaugh (comme


le montre la figure 4.2.8. On trouve finalement :

Y1 = y2 .E + y1.E + (y1 .y2 )


Y2 = y 2 .E + y1.E + ( y1 .y2 )

Logique Séquentielle Asynchrone Page 4.7


4.3. Équivalence et pseudo-équivalence d’états.
Afin d’obtenir un circuit dont la complexité soit la plus réduite possible, il est
évident que le nombre de variables auxiliaires doit, lui aussi, être le plus réduit
possible et par conséquent le nombre d’états stables. Si, lors de la synthèse du
circuit, on a défini plus d’états stables que nécessaire, il sera possible de
simplifier la matrice des phases pour éliminer tous les états redondants.
4.3.1. États stables équivalents.
Deux états stables seront reconnus équivalents si et seulement si :
① ils sont atteints par une même combinaison des variables d’entrée ;
② ils produisent la même combinaison des variables de sortie ;
③ pour une même modification de la combinaison d’entrée, les deux
états ont comme successeur soit le même état soit deux états
équivalents.
Cette relation d’équivalence est une relation transitive. En effet, si a est
équivalent à b et b est équivalent à c alors a est équivalent à c.
En fonction de ce qui vient d’être énoncé, on peut constater que les états 1 et 2
de la matrice des phases ci-dessous sont équivalents.

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 5 4 7 1
2 2 5 7 7 1
Figure 4.3.1 : Exemple d’états équivalents

L’équivalence n’est pas toujours aussi évidente. Elle peut être conditionnée par
une autre équivalence, on est alors en présence d’une équivalence
conditionnelle.
Ainsi, dans la matrice des phases suivante, il est aisé de constater que les états
1 et 2 sont équivalents à condition que 3 et 4 le soient aussi… ce qui est le cas.

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 5 3 7 1
2 2 5 4 7 1
3 1 4 2 3 0
4 1 4 2 4 0
Figure 4.3.2 : Exemple d’équivalence d’états conditionnelle

Cette simplification, conduit alors à la matrice des phases suivante :

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 5 4 7 1
4 1 4 1 4 0
Figure 4.3.3 : Matrice de la figure 4.3.2 simplifiée

Page 4.8 Jacques Guizol


L’équivalence conditionnelle peut aussi être cascadée et éventuellement former
une boucle. La matrice des phases de la figure 4.3.4 met en évidence le fait que
les états 1 et 2 sont équivalents si les états 3 et 4 sont eux mêmes équivalents.
Mais réciproquement, la condition pour que les états 3 et 4 soient équivalents
est que les états 1 et 2 soient eux aussi équivalents.

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 5 3 7 1
2 2 5 4 7 1
3 1 4 1 3 0
4 2 4 2 4 0
Figure 4.3.4 : Exemple d’équivalence conditionnelle bouclée

Il suffit donc d’appliquer les équivalences définies pour obtenir la matrice des
phases simplifiée suivante :

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

2 2 5 3 7 1
3 2 3 2 3 0
Figure 4.3.5 : Simplification de la matrice précédente

4.3.2. Recherche des équivalences conditionnelles.


La mise en évidence systématique des équivalences conditionnelles n’est pas
évidente lorsque le nombre d’états devient important. Par exemple, la simplifi-
cation de la matrice de phases de la figure 4.3.6 n’est pas évidente à première
vue. Il existe toutefois des algorithmes permettant d’aboutir à ce résultat.

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 2 5 7 00
2 6 2 10 9 01
3 1 2 3 9 10
4 8 4 5 7 01
5 8 2 5 7 10
6 6 4 3 9 00
7 1 4 3 7 11
8 8 2 5 9 00
9 8 4 5 9 11
10 8 2 10 7 11
Figure 4.3.6 : Matrice de phases de 10 états

Logique Séquentielle Asynchrone Page 4.9


Il convient dans un premier temps de procéder à une réorganisation des lignes
de la matrice des phases afin de regrouper les lignes qui correspondent à une
même configuration des sorties (figure 4.3.7).

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 2 5 7 00
6 6 4 3 9 00
8 8 2 5 9 00
2 6 2 10 9 01
4 8 4 5 7 01
3 1 2 3 9 10
5 8 2 5 7 10
7 1 4 3 7 11
9 8 4 5 9 11
10 8 2 10 7 11
Figure 4.3.7 : Regroupement des états par configuration de sortie

Conformément à ce qui a été dit concernant les conditions que doivent remplir
les états équivalents, et en particulier, eu égard à la condition ② , les équiva-
lences ne pourront se trouver qu’à l’intérieur d’un sous tableau.
Afin de mettre en évidence toutes les équivalences, on partira du principe que
toutes les équivalences possibles sont effectives. On supprimera alors de cette
liste toutes les non-équivalences. Celles qui demeureront seront réelles.
La combinatoire des équivalences possibles concerne donc les couples d’états
suivants : 1/6, 1/8, 6/8, 2/4, 3/5, et enfin 7/9. On construit une table
comportant autant de lignes et de colonnes que de couples précédemment
trouvés

1/6 1/8 6/8 2/4 3/5 7/9


1/6
1/8
6/8
2/4
3/5
7/9
Figure 4.3.8 : Table de recherche des états équivalents

Cette table sera alors explorée ligne par ligne, en commençant par la première et
en se reportant aux sous tableaux de la matrice des phases réorganisée.
Pour chaque ligne deux cas peuvent se présenter :
① La paire d’états affectée à la ligne est formée d’états non condition-
nellement équivalents, il n’y a aucune contre-indication, on passe à la
ligne suivante.
② La paire d’états affectée à la ligne est formée d’états conditionnel-
lement équivalents, on marque alors les cases situées à l’intersection
de la ligne considérée et de la colonne relative aux états potentielle-
ment équivalents.

Page 4.10 Jacques Guizol


Etat Etat Suivant
❐ L’équivalence entre les états 1 et Présent E = 00 E = 01 E = 11 E = 10
Sortie
6 nécessite l’équivalence entre :
1 1 2 5 7 00
☞ les états 2 et 4
☞ les états 5 et 3 6 6 4 3 9 00
☞ les états 7 et 9 8 8 2 5 9 00
6 2 10

Dans la table de la figure 4.3.8, on coche donc sur la ligne 1/6 les cases
correspondant aux colonnes 2/4, 3/5 et 7/9
Si une paire d’états n’apparaît pas en tête de colonne, cela signifie que les deux
états ne font pas partie de la liste des états potentiellement équivalents. Toute
équivalence conditionnelle soumise à cette équivalence sera donc déniée.

❐ L’équivalence entre les états 2 et


4 nécessite l’équivalence entre 6 6 4 3 9 00
☞ les états 6 et 8 2 6 2 10 9 01
☞ les états 5 et 10
4 8 4 5 7 01
☞ les états 9 et 7
3 1 2 3 9 10
Les équivalences 6/8 et 7/9 font bien partie de la liste des équivalences
possibles, mais ce n’est pas le cas de l’équivalence 5/10 puisque ces deux états
ne font pas partie du même sous tableau. En conséquence, toute équivalence
conditionnée à celle de ce couple d’états sera donc récusée.
La non-équivalence entre les états 2 et 4 sera mise en évidence en cerclant l’en
tête de colonne correspondante. Cette paire d’états étant retirée de la liste des
états potentiellement équivalents, toutes les paires dont l’équivalence était liée à
cette condition doivent à leur tour être retirées de cette liste.
❐ La non-équivalence entre les états 2 et 4 entraîne la non-équivalence entre
☞ les états 1 et 6 (on cercle l’en tête de colonne correspondante)
☞ les états 6 et 8 (on cercle l’en tête de colonne correspondante)
Une fois que toutes les paires d’états auront été traitées, le tableau se
présentera comme suit

1/6 1/8 6/8 2/4 3/5 7/9


1/6 ✔ ✔ ✔
1/8 ✔
6/8 ✔ ✔
2/4 ✔ ✔
3/5 ✔ ✔
7/9 ✔ ✔
Figure 4.3.9 : Table de recherche des états équivalents complétée

On peut alors affirmer que, dans les en-têtes de colonne, les paires non cerclées
sont constituées d’états équivalents. Dans le cas qui nous intéresse, sont
équivalents les couples d’états 1/8, 3/5 et 7/9.
Logique Séquentielle Asynchrone Page 4.11
Ces équivalences sont alors utilisées en vue de simplifier la matrice des phases
qui sera réécrite comme indiqué dans la figure 4.3.10

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 2 5 7 00
2 6 2 10 9 01
3 1 2 3 9 10
4 8 4 5 7 01
6 6 4 3 9 00
7 1 4 3 7 11
10 8 2 10 7 11
Figure 4.3.10 : Matrice de phases simplifiée

☞ Dans tous les cas d’équivalences multiples on peut se demander si la matrice de phases
simplifiée obtenue est, ou non, indépendante de l’ordre dans lequel on élimine les états
équivalents. Huffman a montré que la matrice obtenue était unique et indépendante de l’ordre
dans lequel on élimine les états équivalents.

4.3.3. La pseudo-équivalence.
La notion de pseudo-équivalence est liée à la présence de transitions interdites
ou d’états de sortie optionnels. Ainsi, deux états stables sont pseudo-équivalents
si on peut les rendre équivalents
❥ En remplaçant par un état instable adéquat un état instable
optionnel.
❥ En remplaçant par un état adéquat un état de sortie optionnel.

Exemple 1 : États instables optionnels

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10 Etat Etat Suivant
Sortie
Présent E = 00 E = 01 E = 11 E = 10
1 1 3 4 5 0 ≡ 1 1 3 4 5 0
2 2 3 - 5 0

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10 Etat Etat Suivant
Sortie
Présent E = 00 E = 01 E = 11 E = 10
1 1 - 5 8 00 ≡ 1 1 2 5 8 00
3 3 2 - 8 00
Figure 4.3.11 : Pseudo-équivalence par états instables optionnels

Exemple 2 : États de sortie optionnels

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10 Etat Etat Suivant
Sortie
Présent E = 00 E = 01 E = 11 E = 10
1 1 2 5 7 01 ≡ 1 1 2 5 7 01
3 3 2 5 7 0-
Figure 4.3.12 : Pseudo-équivalence par états de sortie optionnels

Page 4.12 Jacques Guizol


Il est important de noter que contrairement relation d’équivalence qui, elle, est
transitive, la relation de pseudo-équivalence n’est pas transitive. C’est à dire que
si x est pseudo-équivalent à y et que y est pseudo-équivalent à z, alors x n’est
pas nécessairement pseudo-équivalent à z.
Exemple 3 : Non-transitivité.
Etat Etat Suivant
Sortie
Présent E=00 E=01 E=11 E=10
Etat Etat Suivant
Présent E=00 E=01 E=11 E=10
Sortie
≡ 1 1 3 5 7 1
1 1 3 5 7 1 4 4 3 2 7 1
4 4 3 - 7 1 Etat Etat Suivant
Sortie
6 6 - 2 - 1 ≡ Présent E=00 E=01 E=11 E=10

1 1 3 5 7 1
6 6 - 2 - 1
Figure 4.3.13 : Mise en évidence de la non-transitivité de la pseudo-équivalence.

Les états 1 et 4 sont pseudo-équivalents. De même, les états 4 et 6 le sont aussi.


Les simplifications apparaissent sur la droite de la figure ci-dessus. Par contre,
les états 1 et 6 ne le sont pas.
Cette propriété a comme conséquence que la matrice simplifiée n’est pas unique,
elle dépend de l’ordre dans lequel ont lieu les simplifications.
Exemple 4 : Non unicité de la matrice simplifiée.
Ainsi si nous considérons la matrice des phases suivante (figure 4.3.14).

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 5 - 8 1
2 2 6 - 9 1
3 3 5 7 - 1
4 4 - 7 9 1

1/3 et 2/4 3/4

Etat Etat Suivant Etat Etat Suivant


Sortie Sortie
Présent E = 00 E = 01 E = 11 E = 10 Présent E = 00 E = 01 E = 11 E = 10

1 1 5 7 8 1 1 1 5 - 8 1
2 2 6 7 9 1 2 2 6 - 9 1
3 3 5 7 9 1
Figure 4.3.14 : Mise en évidence de la non-unicité de simplification

En supposant que les états 8/9 et 5/6 sont non équivalents, on peut établir les
relations de pseudo-équivalence entre 1/3, 2/4 et 3/4. Selon qu’on commence
par appliquer une des deux pseudo-équivalences 1/3 - 2/4 ou la pseudo-équi-
valence 3/4 on obtient matrice simplifiée différente. Il est donc indispensable
d’opérer avec précaution lors de la simplification d’états pseudo-équivalents.

Logique Séquentielle Asynchrone Page 4.13


4.4. Réduction du système.
Lors de l’écriture de la matrice des phases, chaque ligne correspondait à un état
stable et un seul. Partant d’un état stable, une modification des variables
d’entrée fait passer le circuit dans un état instable situé sur la même ligne
caractérisé par Y(t) ≠ y(t).
Au bout d’un temps Δt, y devient identique à Y et le circuit passe dans un
nouvel état stable situé dans une ligne et une colonne différentes de l’état stable
d’origine.
Si la modification des variables d’entrée n’entraîne pas de modification des
variables secondaires, c’est à dire si y(t) = Y(t), il est évident que l’on pourra
passer directement d’un état stable au suivant sans passer par un état
intermédiaire instable. Dans ces conditions, la ligne correspondant à l’état
stable suivant peut être supprimée et les deux états stables peuvent ainsi être
regroupés sur la même ligne. Cette simplification ayant pour effet de réduire le
nombre de lignes de la matrice, et par là même le nombre de variables
auxiliaires, diminue la complexité du circuit.
4.4.1. Réduction de la MPS (Matrice des Phases simplifiée)

On vient de voir combien la réduction de la matrice des phases simplifiée


présente d’avantages dans la diminution de la complexité et donc du coût d’un
circuit. Le prix à payer réside dans les règles à observer pour procéder à ces
réductions qui sont très strictes. Il est à noter que, contrairement à ce qui se
passait pour la simplification de la matrice des phases, l’état des sorties
n’intervient pas dans ce processus de réduction (elles seront réintroduites
ensuite).
Deux lignes d’une matrice peuvent être réduites si :
① Les états stables à regrouper sont dans des colonnes différentes.
② Les deux lignes concernées sont identiques aux indifférences près.
Lorsque deux lignes répondent à ces conditions les règles de production de la
ligne réduite sont les suivantes :
① Remplacer toute paire d’un même état instable par cet état instable.
② Remplacer toute paire d’états indifférents par un état indifférent.
③ Si un des deux états de la paire est stable, l’état résultant est stable.
④ Si un des états de la paire est indifférent et l’autre non, remplacer la
paire par l’état non indifférent correspondant (stable ou instable).
Quelques exemples de réduction :

Etat Etat Suivant


Présent Etat Etat Suivant
E = 00 E = 01 E = 11 E = 10
Présent E = 00 E = 01 E = 11 E = 10
1 1 2 5 9
1 1 2 5 9
2 1 2 5 9
Figure 4.4.1 : Illustration des règles n°① et ③

Etat Etat Suivant


Présent Etat Etat Suivant
E = 00 E = 01 E = 11 E = 10
Présent E = 00 E = 01 E = 11 E = 10
1 1 - 5 9
1 1 2 5 9
2 1 2 5 9

Figure 4.4.2 : Illustration des règles n°①, ③ et ④ (stable)


Page 4.14 Jacques Guizol
Etat Etat Suivant
Présent Etat Etat Suivant
E = 00 E = 01 E = 11 E = 10
Présent E = 00 E = 01 E = 11 E = 10
1 1 2 5 -
1 1 2 5 9
2 1 2 - 9

Figure 4.4.3 : Illustration des règles n°③ et ④ (instable)

Etat Etat Suivant


Présent Etat Etat Suivant
E = 00 E = 01 E = 11 E = 10
Présent E = 00 E = 01 E = 11 E = 10
1 1 2 - -
1 1 2 - 9
2 1 2 - 9

Figure 4.4.4 : Illustration des règles n°②, ③ et ④ (instable)

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10
Etat Etat Suivant
1 1 - 3 - Présent E = 00 E = 01 E = 11 E = 10

2 1 2 3 9 1 1 2 3 9
3 - 2 3 9
Figure 4.4.5 : Illustration de l’ensemble des règles

4.4.2. Graphe de réduction.


La matrice des phases réduite n’étant pas unique, il est indispensable de
prendre en compte toutes les réductions possibles afin de déterminer celle qui
est optimale. Pour ce faire, on utilisera la méthode du graphe de réduction.
Chaque ligne de la matrice va être comparée à chacune des lignes qui la suit.
Si une ligne i contenant un état stable I est susceptible d’être réduite avec une
ligne j contenant un état stable J, on construira un graphe sur lequel les
sommets I et J seront reliés par un arc.

Etat Etat Suivant


Sortie
Présent E = 00 E = 01 E = 11 E = 10

1 1 2 - 4 00 00 11 11
2 1 2 - 4 00 ① ⑤ ⑦
3 - - 3 4 10 00 00
4 1 - 5 4 00 ② ④
5 7 - 5 6 11
6 7 2 5 6 01
A

10 B

01

01
7 7 8 - 6 11
8 7 8 3 6 01
Figure 4.4.6 : Représentation d’une MPS par son graphe de réduction

Ainsi, la MPS de la figure 4.4.6 se décompose en deux graphes distincts A et B.


Sur le graphe B, le choix de la réduction 5/7 ne serait pas judicieux car il
interdit toute autre réduction alors que l’on peut réduire simultanément par 5/6
et 7/8.

Logique Séquentielle Asynchrone Page 4.15


Sur le graphe A, deux réductions sont possibles 1/2/4 ou 1/2/3. Le fait que
dans le regroupement 1/2/4 les sorties soient identiques, fait préférer cette
solution. En tout état de cause, on optera toujours pour le regroupement où le
maximum de combinaisons de sortie sont identiques. Cette façon d’opérer
conduit souvent à des économies appréciables car elle permet d’utiliser une
variable auxiliaire comme variable de sortie sans besoin de circuit intermédiaire.
E = 00 E = 01 E = 11 E = 10

Finalement, en optant pour les réduc- 1 2 5 4


tions optimales 1/2/4, 5/6 et 7/8, on
- - 3 4
réduit donc la matrice de 4 lignes pour
obtenir la MPS réduite ci-contre : 7 2 5 6
7 8 3 6
Figure 4.4.7 : Matrice des phases réduite

4.5. Attribution des variables auxiliaires


Après simplification de la matrice des états, puis sa réduction nous avons donc
obtenu une matrice minimale, c’est à dire contenant un nombre minimal de
lignes. Afin de distinguer chaque ligne des autres, nous allons utiliser des
variables auxiliaires servant à les coder. L’attribution de ces variables auxiliaires
dans une matrice réduite doit s’opérer, comme on va le voir, avec beaucoup
d’attention.
4.5.1. Cycles et courses.
Lors de la définition des matrices des phases, nous avons toujours supposé que,
partant d’un état stable on atteignait un nouvel état stable par l’intermédiaire
d’un état instable (figure 4.4.8).

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10

2 2 5 3 7
3 2 3 2 3

Puis de l'état
instable 2, on
De l'état stable 3, on
passe à l'état  passe à l'état instable 2
stable 2
Figure 4.5.1 : Transition normale entre 2 états stables via 1 état instable.

Toutefois, il n’est pas impossible que l’état intermédiaire instable ne soit pas
unique et que le système passe par une série d’états instables avant de parvenir
à l’état stable final. Cette suite d’états instables peut être due aux constantes de
temps du circuit : elle est aléatoire et peut provoquer de graves
dysfonctionnements du circuit, on dira qu’on est en présence d’une course.
Cette suite d’états instables peut être liée au fonctionnement même du circuit,
elle sera donc prise en compte au moment de sa conception et sera unique, on
est alors en présence d’un cycle.
Rappelons que nous avons toujours supposé qu’il ne peut y avoir changement
d’état simultané pour deux ou, a fortiori, pour plusieurs variables. En effet la
tentative même de concevoir une telle éventualité mène à la catastrophe du fait
de l’aléatoire induit en la matière par des considérations physiques telles que la
température, le vieillissement des composants, etc.

Page 4.16 Jacques Guizol


Cette importante propriété sera de nouveau prise en compte lors de l’affectation
des variables auxiliaires.

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10

1 1
2 1 2
3 1 3
4 1 4

Puis par une série


d'états instables De l'état stable 4, on
avant d'aboutir à  passe à l'état instable 1
l'état stable 1.
Figure 4.5.2 : Exemple de cycle

La figure 4.5.2 propose un exemple de cycle. Considérons le système dans l’état


stable ④. Pour une configuration d’entrée à 00, il est possible d’imposer aux
transitions d’état le cycle 4 → 3 → 2 → 1, ce qui est précisé en indiquant par des
flèches l’ordre dans lequel les états instables se succèdent. En introduisant les
variables auxiliaires, le cycle est traduit par le changement de leur configuration
(figure 4.5.3).

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10

00 00
01 00 01
Variables auxiliaires
associées aux 11 01
différents états 11
10 11 10

Figure 4.5.3 : Introduction des variables auxiliaires

Bien sûr, dans le cas présent, nous aurions pu passer directement de ④ à ①


puisque ce passage n'entraînait le changement que d’une des deux variables
d’état (10 → 00). Dans ces conditions, nous aurions eu en ligne 10 colonne 00,
la configuration 00 à la place de 11.
Plaçons-nous à présent sur l’état stable ③ (configuration V.A. : 11). Il est bien sûr
possible de rejoindre l’état stable ① en suivant le cycle mis en place, via l’état
instable 2. Que se passe-t-il si nous désirons effectuer ce passage directement
comme cela est possible depuis ② et depuis ④ ainsi qu’on vient de le voir.

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10

00 00
01 00 01
11 00 11
10 00 10
Figure 4.5.4 : Occurrence d’une course non critique

Les deux variables auxiliaires doivent passer simultanément de 0 à 1. On l’a dit


et répété, cela n’arrivera jamais (à ε près). En fait l’une des deux passera à 0
Logique Séquentielle Asynchrone Page 4.17
avant l’autre, mais le problème, c’est que l’on ne sait pas laquelle !!! Donc à
partir de 11, on pourra aussi bien se retrouver en 01 (état 2) qu’en 10 (état 4).
Dans l’exemple qui nous intéresse ici, cela n’a pas d’importance car dans un cas
comme dans l’autre, on va revenir à 00. On est en présence d’une course non
critique.
Par contre, considérons la matrice de la figure 4.5.5.

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10

00 00
01 01
11 00 11
10 00 10
Figure 4.5.5 : Course critique

La seule modification par rapport au système précédent consiste en rendre l’état


2 stable pour une configuration d’entrée 00. Dans ces conditions, étant dans
l’état 3 (V.A. = 11) alors que les entrées valent 00, selon que les variables
auxiliaires passent par la configuration 10 ou 01, le résultat sera différent. Dans
le premier cas, comme précédemment on atteindra l’état stable ① via l’état
instable 4. Dans le second cas, le système restera dans l’état stable ②. Le
changement d’état du système sera le fruit de l’aléatoire. Nous sommes en
présence d’une course critique.
C’est là que l’on conçoit l’utilité des cycles que l’on a vu précédemment, car loin
d’être gênants, leur introduction va nous permettre de corriger les problèmes de
fonctionnement induits par les courses critiques. Par exemple, pour régler le cas
de la figure 4.5.5, en ce qui concerne le passage de l’état ③ (V.A. = 11) à l’état
① (V.A. = 00), on va prévoir un cycle transitant par l’état instable 4. Tout
comportement aléatoire est ainsi écarté.

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10

00 00
01 01
11 10 11
10 00 10
Figure 4.5.6 : Traitement d’une course critique par un cycle

4.5.2. Graphe de transition


L’attribution des variables auxiliaires doit donc se faire en évitant autant que
possible les courses critiques. Il faudra donc faire en sorte que le passage d’un
état à un autre se fasse par modification d’une seule variable auxiliaire.
Sur une matrice des phases à deux lignes le problème ne se pose pas. Par
contre dès que la matrice comporte plus de deux lignes, la recherche systéma-
tique de l’attribution optimale se fera en utilisant un graphe et un diagramme
de transition.

Page 4.18 Jacques Guizol


Le mode opératoire est le suivant :
① Avant toute chose, il convient d’affecter, par exemple, une lettre à
chaque ligne de la matrice de phases réduite (MPR) afin de la
distinguer des autres (il y a maintenant plusieurs états stables par lignes) .
② On reporte ensuite les lettres ainsi affectées sur un graphe dont elles
sont les sommets.
③ On recherche alors dans la MPR les transitions possibles entre chaque
ligne, que ce soit les transitions entre états instables ou entre états
stables et instables à condition qu’ils portent le même numéro. (Dans
cette recherche on peut ignorer les colonnes ne comportant qu’un état stable ou ne
comportant que des états stables car alors tout risque de course critique est écarté).
Ces transitions se reportent sur le graphe par des liens entre les
sommets.

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10
a
a 1 2 3 5
b 4 8 6 7 c d
c 4 2 3 7
b
d 1 8 6 5

Figure 4.5.7 : Matrice de phases réduite et graphe de transition associé

④ Il ne reste plus qu’à construire le diagramme des transitions. Celui-ci


se réalise comme un diagramme de Karnaugh en affectant les
variables auxiliaires aux lignes et aux colonnes. On dispose ensuite
dans ce diagramme, les lettres correspondant aux sommets du graphe
(et donc aux lignes de la MPR), de telle façon que 2 sommets reliés par une
transition soit situés dans deux cellules adjacentes (horizontalement ou
verticalement). C’est seulement si cela est possible que l’on aura l’assu-
rance de ne pas avoir de course critique puisque chacune des transi-
tions s'opérera par modification d’une seule variable auxiliaire.
L’exemple de la figure 4.5.7 autorise deux possibilités de configurations des
variables auxiliaires écartant toute course critique (figure 4.5.8).

00 00
y2 a y2 a
y1 0 1 y1 0 1
0 a d 10 c d 01 0 a c 01 c d 10
1 c b 1 d b
b b
S ol uti on n°1 11 S ol uti on n°2 11

Figure 4.5.8 : Deux possibilités d’attribution de variables auxiliaires

Logique Séquentielle Asynchrone Page 4.19


Ce qui donne pour la solution n°1 :
x 1 x2 x1 x2
y1 y 2 00 01 11 10 y 1y 2 00 01 11 10
00 1 2 3 5 00 00 10 00 01
01 1 8 6 5 01 00 01 11 01
11 4 8 6 7 11 11 01 11 10
10 4 2 3 7 10 11 10 00 10
Figure 4.5.9 : MPR reconfigurée selon le choix d’attribution des variables auxiliaires n°1

Et pour la solution n°2 :


x1x2 x1x2
y1y2 00 01 11 10 y1y2 00 01 11 10
00 1 2 3 5 00 00 01 00 10
01 4 2 3 7 01 11 01 00 01
11 4 8 6 7 11 11 10 11 01
10 1 8 6 5 10 00 10 11 10
Figure 4.5.10 : MPR reconfigurée selon le choix d’attribution des variables auxiliaires n°2

Il est alors possible de déduire les fonctions de commutation en dédoublant la


matrice finalement obtenue. Pour reprendre la solution n°2, on obtient :
x1x2 x1x2
y1y2 00 01 11 10 y1y2 00 01 11 10
00 0 0 0 1 00 0 1 0 0
01 1 0 0 0 01 1 1 0 1
11 1 1 1 0 11 1 0 1 1
10 0 1 1 1 10 0 0 1 0
Y1=y1x2+y2x1x2+y2x1x2 Y2=y2x2+y1x1x2+y1x1x2
Figure 4.5.11 : Calcul de Y = f (Ce,y)

Le calcul des fonctions de commutation pour la solution n°1 est laissé en


exercice.
Considérons à présent la matrice réduite de la figure 4.5.12. Le graphe de
transition qui lui a été associé prend bien en compte les transitions des états 2,
3, 4, 6, 7 et 8. En ce qui concerne l’état 1, on peut voir qu’il y a une transition
entre b et a (en pointillé sur le graphe), mais comme on l’a vu au § 4.5.1, n’ayant
qu’un état stable dans la colonne 00, nous n’aurons pas de course critique.
En conséquence, l’attribution des variables auxiliaires telle qu’elle est envisagée
est satisfaisante en ce qu’elle n’engendre pas de course critique. Toutefois, pour
régler proprement les transitions lorsque la configuration d’entrée est 00, il est
souhaitable d’introduire un cycle.

Page 4.20 Jacques Guizol


x1x2 00
00 01 11 10
y2 a
a 1 3 6 8 y1 0 1
b 1 2 7 4 0 a c 01 c d 10
c 1 3 7 4 1 d b
b
d 1 2 6 8 11
Figure 4.5.12 : Graphes et diagrammes de transition pour une MPR contenant une course non critique

Comme on peut le voir sur la figure 4.5.13, plusieurs possibilités peuvent alors
être envisagées pour mettre en place ce cycle… Y en a-t-il une préférable aux
autres, et si c’est le cas, laquelle est-ce ?
En fait les seuls avantages que peut contenir une solution par rapport à une
autre, résident, d’une part, dans le temps de transition pour parvenir à l’état
stable, et, d’autre part, dans la plus ou moins grande complexité du circuit.
C’est sur ces critères que la solution sera adoptée.
x1x2 x1x2
y1y2 00 00 00 00 y1y2 00 01 11 10
00 00 00 00 00 00 00 01 10 00
01 00 00 11 00 01 01 01 11
11 10 01 10 01 11 11 01 11
10 00 00 00 11 10 11 10 00

❶ ❷ ❸ ❹
Figure 4.5.13 : Divers choix de cycles en vue de l’attribution des variables auxiliaires

En considérant simplement la figure 4.5.13, pouvez-vous déterminer laquelle


des solutions ❶, ❷, ❸ ou ❹ semble déboucher sur le circuit le plus simple ?
4.5.3. Introduction de V.A. supplémentaires.
Lorsqu’il n’existe pas de solution d’attribution des variables auxiliaires
permettant d’éliminer toute course critique, il est nécessaire d’introduire des
états instables supplémentaires avec pour conséquence d’augmenter le nombre
de lignes utiles de la matrice et donc une complexification de la réalisation.

4.5.3.1. Les MPR à trois lignes


Supposons qu’une MPR comporte 3 lignes, la première étant appelée a. Dans
ces conditions, les seules configurations de graphe de transition possibles sont
les suivantes :

b a a

① ② ③
a c b c b c
Comme on peut le voir sur les exemples de la figure 4.5.14, les cas n°1 et n°2
autorisent une attribution de variables auxiliaires n’introduisant pas de course
critique.

Logique Séquentielle Asynchrone Page 4.21


cas 01 x1 x2
y2 00 01 11 10
b y1 0 1


a 1 2 3 4
0 a b
b 1 2 6 5
1 c
c 8 7 6 5
00 a c 11

cas 00 x1 x2
y2 00 01 11 10
a 0 1
y1


a 1 2 3 4
0 a b
b 1 6 3 5
1 c
c 7 2 8 4
01 b c 10
Figure 4.5.14 : MPR à 3 lignes sans course critique.

Dans le cas n°3, il est impossible d’attribuer des variables auxiliaires aux trois
lignes sans créer une course critique. Afin d’éliminer celle-ci, nous allons intro-
duire un état instable supplémentaire en utilisant une quatrième configuration
des variables auxiliaires que nous noterons α.
Considérons la matrice des phases réduite de la figure 4.5.15. On constate
rapidement que l’entrée 01 nécessite une transition de a vers b, pour l’entrée 11,
une transition de b vers c et enfin, pour l’entrée 10, de c vers a. Quel que soit le
mode d’affectation des variables auxiliaires à ces 3 lignes, nous ne pouvons
éviter une course critique.

cas
x1 x2
a a a 00 01 11 10


a 1 2 3 6
α ❶ b c ❷ α c ❸ b
b 8 2 4 7
c b α c 9 5 4 6
Figure 4.5.15 : MPR à 3 lignes engendrant une course critique

Nous allons donc introduire comme nous l’avons dit précédemment une quatriè-
me ligne dans la matrice. Pour ce faire, nous avons trois possibilités pour inter-
caler la ligne α : entre a et c, entre a et b ou enfin entre b et c.
Première possibilité :
x1x2
00 01 11 10
a y2 a 1 2 3 6
y1 0 1
b 8 2 4 7
α ❶ b 0 a b
c 9 5 4 6
1 α c
c - - - 6
α

Figure 4.5.16 : Suppression de la course critique dans la configuration ❶

En affectant à la ligne a le code 00 et à la ligne c, le code 11, une course critique


apparaît lors de la transition de l’état instable 6 à l’état stable correspondant.
La transition peut aboutir aléatoirement en 6 ou en 7. Le fait d’intercaler la ligne
Page 4.22 Jacques Guizol
α supprime ce défaut (figure 4.5.16).
Deuxième possibilité :
x1x2
00 01 11 10
a y2 a 1 2 3 6
y1 0 1
α - 2 - -
c ❷ α 0 a α
b 8 2 4 7
1 c b
b c 9 5 4 6

Figure 4.5.17 : Suppression de la course critique dans la configuration ❷

En affectant à la ligne a, toujours le code 00 et à la ligne b, le code 11, une


course critique apparaît lors de la transition de l’état instable 2 vers l’état stable
correspondant. La transition peut aboutir aléatoirement en 2 ou en 5. Le fait
d’intercaler la ligne α supprime ce défaut (figure 4.5.17).
Troisième possibilité :
x1x2
00 01 11 10
a y2 a 1 2 3 6
y1 0 1
b 8 2 4 7
c ❸ b 0 a b
α - - 4 -
1 c α
α c 9 5 4 6

Figure 4.5.18 : Suppression de la course critique dans la configuration ❸

Enfin, si l’on affecte à la ligne b, le code 01 et à la ligne c, le code 10, une course
critique apparaît lors de la transition de l’état instable 4 vers l’état stable
correspondant. La transition peut aboutir aléatoirement en 4 ou en 3. Le fait
d’intercaler la ligne α supprime ce défaut (figure 4.5.18).

4.5.3.2. Introduction de variables supplémentaires.


Dans le paragraphe précédent, nous avons ajouté une ligne à la MPR, mais le
nombre de variables auxiliaires est demeuré identique. Nous avons simplement
utilisé une configuration des deux variables qui n’était pas employée jusqu’alors.
Lorsque la matrice des phases ne présente pas de lignes libres, il est nécessaire
de rajouter des variables de transition afin de supprimer les courses critiques.
Soit la matrice des phases de la figure 4.5.19 et le graphe de transition qui lui
est associé.
x1x2
00 01 11 10
a
a 1 2 3 4
c b b 7 2 6 5
c 7 9 6 4
d
d 1 9 3 8

Figure 4.5.19 : MPR nécessitant l’ajout de variables auxiliaires pour supprimer les courses critiques

Logique Séquentielle Asynchrone Page 4.23


A l’évidence, 2 variables auxiliaires sont insuffisantes et il va donc falloir en
rajouter une. L’ajout d’une variable supplémentaire porte à 8 le nombre de
configurations possibles et la combinatoire d’affectation aux lignes de la matrice
constitue un grand nombre de possibilités pour déterminer le meilleur choix en
vue d’obtenir un circuit le plus simple possible.
La méthode donnant le plus souvent de bons résultats consiste à disposer, dans
le diagramme de Karnaugh, les lettres désignant les 4 lignes de la MPR de façon
à attribuer des positions adjacentes aux lignes présentant des transitions entre
elles. On pourrait donc envisager l’attribution selon le diagramme suivant :
y2 y 3 On voit que les transitions a-b, a-d et b-c sont bien
y1 00 01 11 10
gérées. Afin d’autoriser la transition a-c, on a été
0 a b c α contraint de rajouter une ligne α . Quant à la
transition d-c, elle a nécessité l’adjonction de deux
1 d β γ autres lignes β et γ.
x1 x2 x1x2
y1y2y3 00 01 11 10 y1y2y3 00 01 11 10
(a) 000 1 2 3 4 (a) 000 000 000 100 010
(b) 001 7 2 6 5 (b) 001 001 000 001 001
(c) 011 7 9 6 4 (c) 011 001 011 001 011
(α) 010 - - - 4 (α) 010 - - - 011
110 - - - - 110 - - - -
(d) 100 1 9 3 8 (d) 100 000 101 100 100
(β) 101 - 9 - - (β) 101 - 111 - -
( γ ) 111 - 9 - - ( γ ) 111 - 011 - -

Figure 4.5.20 : MPR transformée pour supprimer toute course critique

Il ne reste alors plus qu’à établir les équations : Yi = f i(y1,y2,y3,x1,x2) pour 1≤i≤3.
Il est évident que la solution proposée n’est pas unique, toute autre répartition
des états existants respectant les contraintes et évitant les courses critiques
aurait pu être choisie. Par exemple, nous aurions pu choisir des répartitions de
lignes telles que celles proposées dans la figure 4.5.21.
y2y3 y2y3
y1 00 01 11 10 y1 00 01 11 10
0 a b c d 0 a d c α

1 γ β α 1 γ β b

Répartition 2 Répartition 3
Figure 4.5.21 : Autres possibilités de répartitions

Celles-ci auraient engendré les attributions montrées dans la figure 4.5.22,


différentes de celle de la figure 4.5.20,

Page 4.24 Jacques Guizol


x1x2 x1x2
y1y2y3 00 01 11 10 y1y2y3 00 01 11 10
(a) 000 1 2 3 4 (a) 000 1 2 3 4
(b) 001 7 2 6 5 (d) 001 1 9 3 8
(c) 011 7 9 6 4 (c) 011 7 9 6 4
(d) 010 1 9 3 8 (α) 010 - - - 4
110 - - - - 110 - - - -
( γ ) 100 - - - 4 ( γ ) 100 - 2 - -
(β) 101 - - - 4 (β) 101 - 2 - -
(α) 111 - - - 4 (b) 111 7 2 6 5

Attributions 2 Attributions 3
Figure 4.5.22 : Attributions des variables auxiliaires associées aux répartitions de la figure 4.5.21

4.6. Matrice des sorties.


Lorsque nous avons énoncé les règles de réduction de matrice (§ 4.4.1), nous
avons précisé que contrairement à la méthode de simplification, on ne tenait pas
compte des états de sortie, et que l’on y reviendrait par la suite… ce que nous
allons faire ici.
La matrice des sorties (Z) devra être établie en tenant compte de la matrice des
phases dont on est parti et de la matrice des phases réduite sur laquelle on fait
apparaître les variables auxiliaires attribuées aux différentes lignes. Elle aura le
même nombre de lignes et de colonnes que la matrice réduite.
Considérons la figure 4.6.1 présentant une MPS et la MPR obtenue après
réduction.

Etat Etat Suivant


Présent E = 00 E = 01 E = 11 E = 10
Sortie
MPS
1 1 2 - 4 00
2 1 2 - 4 00 MPR
3 1 8 3 4 10
x1x2
4 1 - 5 4 00 y1y2 00 01 11 10
5 7 - 5 6 11 00 1 2 5 4
6 7 2 5 6 01 01 7 2 5 6
7 7 8 - 6 11 11 7 8 3 6
8 7 8 3 6 01 10 1 8 3 4
Figure 4.6.1 : Matrice de phases et sa réduction pour laquelle on va dresser la matrice de sortie

La réalisation de la matrice de sortie Z suit un certain nombre de règles :


① A chaque emplacement (ligne-colonne) de la matrice de sortie
correspondant à un état stable de la matrice des phases réduite, on
reportera la combinaison de sortie (pris dans la matrice des phases)
correspondant à cet état stable.

Logique Séquentielle Asynchrone Page 4.25


② Lorsqu’on passe d’un état stable vers un autre état stable, les deux
états ayant des sorties identiques, il faut affecter à tous les états
instables intermédiaires cette combinaison de sortie afin d’éviter les
transitoires.
③ Dans tous les autres cas les valeurs intermédiaires sont indifférentes.
Toutefois, lorsque plusieurs états instables forment un cycle, la valeur
de sortie ne doit se modifier qu’une fois sous peine de voir apparaître
des oscillations parasites.
C’est ainsi que l’on obtient les résultats suivants :
x1 x2 x1 x2
y1 y 2 00 01 11 10 y1 y 2 00 01 11 10
00 00 00 01 00 00 00 00 - 00
01 11 00 01 01 01 11 - 11 01
11 11 11 10 01 11 11 01 - -
10 00 11 10 00 10 - - 10 -
Matrice Y (fonctions commutation) Matrice Z (sortie)
Figure 4.6.2 : Résultats finaux… il ne reste plus qu’à réaliser le circuit.

4.7. Les aléas.


D’un point de vue physique, les retards que peuvent subir les signaux lors de
leur propagation ne sont pas constants et pourront dans certains cas provoquer
un comportement du circuit séquentiel non conforme à celui prévu lors de sa
réalisation. Ce dysfonctionnement sera appelé un aléa. On divise les aléas en
deux catégories :
• les aléas se manifestant lorsqu’une seule variable d’entrée est modifiée
• les aléas se manifestant lorsque plusieurs variables d’entrée sont
modifiées simultanément.
Nous écarterons les aléas du deuxième type, très complexes à régler et pour
lesquels, de toute façon, on a prouvé qu’ils ne pouvaient pas être totalement
résolus. C’est la raison pour laquelle on cherche le plus souvent à réaliser des
circuits dont une seule entrée varie à la fois.
Le premier type, beaucoup plus général, se divise selon la manière dont les
retards interviennent :
• les aléas statiques apparaissent en présence de retards différents le
long de 2 chemins placés à l’intérieur d’une même boucle de rétroac-
tion. Ils se traduisent par l’apparition d’une transition transitoire lors
d’une modification d’une entrée qui devrait laisser la sortie inchangée.
• les aléas dynamiques sont dus à des retards différents intervenant le
long de plus de 2 chemins placés à l’intérieur d’une même boucle de
rétroaction. Ils se traduisent le plus souvent par l’apparition d’un
minimum de 3 transitions transitoires lors d’une modification d’une
entrée qui devrait entraîner une seule transition en sortie.
• les aléas essentiels sont dus à des retards différents intervenant
dans des boucles de retour différentes et se traduisent par des
transitions vers des états stables différents des états prévus.
Alors que les aléas statiques ou dynamiques peuvent toujours être supprimés
par modification de la structure du circuit séquentiel, les aléas essentiels ne
peuvent être réglés que par adjonction de circuits retards sur une ou plusieurs
branches du circuit.

Page 4.26 Jacques Guizol


4.7.1. Les aléas statiques.
On peut montrer l’apparition d’un aléa sans qu’il intervienne nécessaire-
ment dans un circuit séquentiel. Soit par exemple le circuit combinatoire de la
figure 4.7.1, la fonction de sortie s’écrit S = ABC + ABD.

A B C D

x S
y

Figure 4.7.1 : Aléa statique dans un circuit combinatoire

Soit la configuration de valeurs : ☞ B = 1


☞C=0
☞D=1
Quelle que soit la valeur de A, la sortie prendra la valeur 1.
Si nous complémentons A, on constate que la sortie passe par un 0 transitoire
dû au retard ∆t à la sortie de la porte y dont 2 entrées traversent un inverseur.
On peut vérifier le phénomène sur le chronogramme de la figure 4.7.2.

Δt
Figure 4.7.2 : Mise en évidence d’un aléa statique

Considérons le diagramme de Karnaugh correspondant. On distingue bien sur


la figure 4.7.3 les regroupements correspondant aux deux portes x et y du
circuit. Le problème intervient lorsque A passe de 1 à 0. Au moment où A valait
encore 1, c’est la porte x qui donnait la valeur de sortie à 1 (la sortie de y était à
0). Lorsque A passe à 0, la sortie de la porte x passe rapidement à 0 alors que la
porte y délivre la sortie à 1 avec un retard ∆t. Pendant ce laps de temps les deux
portes x et y ont leur sortie à 0, la porte OU en aval ayant ses deux entrées à 0,
on obtient en sortie le transitoire en question.

Logique Séquentielle Asynchrone Page 4.27


CD CD
AB 00 01 11 10 AB 00 01 11 10

00 00
01 1 1 y 01 1 1 y
11 1 1 x 11 1 1 x
10 10 z
Figure 4.7.3 : Chaque problème a sa solution…

Afin de le supprimer, il faudrait donc un troisième terme dans la disjonction qui


maintienne la sortie à 1 pendant la transition. La solution consiste donc à
extraire un minterme redondant du diagramme de Karnaugh, permettant
d’assurer cette jonction.

Le terme BC, D est ce terme redondant ; il ne modifie pas le résultat de la
fonction, il n’a pour effet que de joindre les deux termes du diagramme.

Figure 4.7.4 : Le circuit modifié

Ce que nous venons de voir par l’expérience, Huffman l’a démontré et en a


déduit une méthode simple pour éliminer tout risque d’aléa statique :

☞ Après avoir regroupé tous les 1 du DK et donc obtenu le circuit minimal, on rajoute de
nouveaux groupements de façon à ce que tous les groupements entre lesquels des transitions
existent se recoupent. Ceci complexifie évidemment le circuit.
C'est ce que nous avons fait lors de la réalisation du circuit "bouton poussoir"
au § 4.2.4, page 27. Voilà enfin l'explication des regroupements redondants.
4.7.2. Les aléas dynamiques.
Ces aléas se manifestent le plus souvent de la façon suivante : au lieu de
passer, par exemple, de 0 à 1 lors d’une transition d’un état j vers un état k, la
sortie passera dans un temps très bref de 0 à 1, puis de 1 à 0 et enfin de 0 à 1.
Du fait qu’on n’observe ces phénomènes que très rarement, nous n’approfon-
dirons pas ici leur étude.
4.7.3. Les aléas essentiels.
Les aléas essentiels sont beaucoup plus fréquents que les précédents et se
rencontrent plus particulièrement dans une classe de circuits très utilisée : les
circuits de comptage. Ils sont provoqués par des retards différents affectant
deux boucles de retour concourant à la réalisation d’une même fonction.
On montre que contrairement aux aléas statiques ou dynamiques, la structure
du réseau logique n’est pas à mettre en cause. Ces aléas sont des failles
inhérentes à la nature séquentielle d’un circuit. On ne peut donc pas intervenir
sur le circuit comme on l’a fait précédemment. Il faut, à la suite d’une étude du
fonctionnement du circuit, éliminer la probabilité d’apparition de ces
phénomènes par petites touches successives au moyen de circuits retards
ajoutés de façon judicieuse en certains point du réseau.

Page 4.28 Jacques Guizol