Professional Documents
Culture Documents
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.
Δt
st
Ce
St
t
Modification de Ce
Modification immédiate de St
Modification de st après Δt
configuration
des variables
d'entrée 2 11..0
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
S=0
1
E=1
E=0
E=0
E=1 3
S=1
E=0
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.
1 1 2 0
2 3 2 1
3 3 4 1
4 1 4 0
Figure 4.2.4 : Matrice des phases
x 1 x 2 ..00..x n
1
x 1 x 2 ..11..x n
x 1 x 2 ..00..x n
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
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
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.
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
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
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 :
2 2 5 3 7 1
3 2 3 2 3 0
Figure 4.3.5 : Simplification de la matrice précédente
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
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
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.
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.
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
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.
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.
1 1 5 - 8 1
2 2 6 - 9 1
3 3 5 7 - 1
4 4 - 7 9 1
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.
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
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
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.
1 1
2 1 2
3 1 3
4 1 4
00 00
01 00 01
Variables auxiliaires
associées aux 11 01
différents états 11
10 11 10
00 00
01 00 01
11 00 11
10 00 10
Figure 4.5.4 : Occurrence d’une course non critique
00 00
01 01
11 00 11
10 00 10
Figure 4.5.5 : Course critique
00 00
01 01
11 10 11
10 00 10
Figure 4.5.6 : Traitement d’une course critique par un cycle
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
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
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.
①
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
α
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).
Figure 4.5.19 : MPR nécessitant l’ajout de variables auxiliaires pour supprimer les courses critiques
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
Attributions 2 Attributions 3
Figure 4.5.22 : Attributions des variables auxiliaires associées aux répartitions de la figure 4.5.21
A B C D
x S
y
Δt
Figure 4.7.2 : Mise en évidence d’un aléa statique
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…
☞ 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.