4. logique séquentielle asynchrone - dil.univ-mrs.frguizol/polys/asynchro.pdf · on appelle...

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

Upload: truongcong

Post on 12-Sep-2018

220 views

Category:

Documents


1 download

TRANSCRIPT

Licence d’InformatiqueMARSEILLE-LUMINY

4. Logique séquentielleasynchrone

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 à uninstant donné (t) dépend à la fois de l'état des entrées et de l'état qu'avaient lessorties à l'instant t-1.

On distingue les circuits séquentiels asynchrones pour lesquels il n'existe pasde référence de temps, c'est à dire que l'action des entrées est prise en comptedès leur changement d'état, et les circuits synchrones pour lesquels les entréessont insensibles aux signaux qui leur sont appliqués sauf pendant un courtintervalle 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 boutonpoussoir. Le fait d’appuyer sur le poussoir aura deux effets contradictoires, si lalampe 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) deconnaî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 physiquespour lesquels la propagation du signal n’est pas instantanée. Le délai nécessaireau signal pour transiter entre l’entrée et la sortie du circuit est la constante detemps du circuit.

Il est alors possible de représenter un circuit selon le schéma de la figure 4.1.1montrant un circuit combinatoire à temps de transit nul suivi d’un circuit de

Page 4.2 Jacques Guizol

retard permettant de faire intervenir la constante de temps. Cette décompositionqui n’a aucune réalité physique sera utile pour les besoins ultérieurs duraisonnement.

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 del’é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 lecircuit combinatoire sous-jacent) s’appliquant à un instant t à l’état de sesentrées Ce(t) et à l’état st de ses lignes retard. Le circuit combinatoire ayant untemps de transit nul on va instantanément obtenir l’état St des sortiesintermédiaires par St = f(Ce(t),st).

Isolée par la constante de temps, la combinaison st restera présente pendantune durée Δt égale au temps de retard du circuit. A l’issue de ce délai Δt, lapropagation de la sortie deviendra effective et on obtiendra st+1=St. Nous verronsdans le paragraphe suivant les situations qui peuvent alors se présenter.

Ce

St

st

Δt

Modification de CeModification immédiate de St

Modification de st après Δt

t

Figure 4.1.3 : Chronogramme de changement d’états

Logique Séquentielle Asynchrone Page 4.3

La figure 4.1.3 représente la succession de changement des états mis en jeudans 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 Ce.

La figure 4.1.4 représente le modèle général du circuit séquentiel asynchroneayant 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 parune 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 dest vers st+1.

Dans ces conditions, deux cas peuvent se présenter :

❶ - St et st sont identiques, ce qui revient à dire que st et st+1 ont lamême configuration, Ainsi, la sortie n’est pas modifiée et le système setrouve dans un état stable.

❷ - St et st sont différents. Cela signifie donc qu’entre l’instant t etl’instant t+Δt, sans que la configuration de l’ensemble des variablesd’entrée Ce ait été modifiée, celle des lignes à retard a changé. L’état stqui n’aura pas duré plus que Δt est appelé un état instable.

En t+Δt, les sorties effectives sont donc dans l’état st+1 débouchantdonc instantanément sur St+1. A ce moment là, soit on peut seretrouver dans un état de type ❶, c’est à dire atteindre un état stable,soit se trouver de nouveau dans le cas ❷ et obtenir un nouvel étatinstable.

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.

Page 4.4 Jacques Guizol

4.2.2. Représentation des transitions d’états.

4.2.2.1 Méthode des graphesDans 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 sortiecorrespondantes ;

• les états seront reliés entre eux par des arcs étiquetés par la configu-ration d’entrée qui provoque la transition correspondante.

1

2

01..0

11..0

10...1état des

variablesde sortie

configurationdes variables

d'entrée

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.

On appuie surle poussoir

On appuie surle poussoir

On relachele poussoir

La lampeest allumée

La lampeest éteinte

1

2

3

4

La lampeest allumée

La lampeest éteinte

On relachele poussoir

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.

Logique Séquentielle Asynchrone Page 4.5

E=1

S=1

2

3

E=0

E=1E=0

E=0

S=1S=0

S=0

1E=1

E=1

E=0

4

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éebloque le système dans l’état considéré.

Par exemple, si le système se trouve dans l’état 2, tant que le poussoir resteappuyé, il reste dans cet état 2. Il ne pourra sortir de cet état que lorsque lepoussoir 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’étatstable.

4.2.2.2. La matrice des phases.Le travail de réalisation passe par la construction de la matrice des phasescorrespondant à une représentation matricielle du graphe représenté en figure4.2.3.

Sur chaque ligne on représente la transition entre l’état présent du système etl’é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 correspondraune configuration des variables de sorties.

EtatPrésent

Etat SuivantE = 0 E = 1

Sortie

12

34

13

31

22

44

01

10

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. Nousavons vu que chaque état du circuit est représenté par un sommet du graphe, etles états seront reliés entre eux par des arcs étiquetés par la configurationd’entrée qui provoque la transition correspondante. De plus un état stable seracaractérisé par une boucle provoquée par une configuration d’entrée bloquant lesystème dans cet état.

Page 4.6 Jacques Guizol

Nous allons nous intéresser à la succession des configurations d’entréepermettant 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 parune 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 danslaquelle toutes les variables d’entrée resteront inchangées à l’exception des deuxmises en évidence.

x1x2..00..xn

2

1

x1x2..00..xn

x1x2..11..xn

Figure 4.2.5 : Transition ambiguë

La caractéristique du système étant l’asynchronisme, il est impossible demodifier simultanément l’état de deux variables. Il n’est donc pas possible desavoir laquelle des deux changera d’état avant l’autre. Dans ces conditions, lareprésentation ci dessus est ambiguë car le comportement du système peutvarier 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 defait. Ainsi, si un état est atteint avec une configuration d’entrée donnée on nepeut 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 quipermet d’y accéder et la configuration de sortie qui lui est associée.

2

34

1

x1x2..00..xn

x1x2..01..xn

x1x2..11..xnx1x2..11..xn

x1x2..10..xn

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 sortiesdifférentes pour des états différents. Le comportement du circuit va donc différerselon l’état initial. Au niveau fonctionnel l’état va être représenté par desvariables d’entrée auxiliaires : celles provenant des boucles retard dont nousavons précédemment parlé.

Logique Séquentielle Asynchrone Page 4.7

Dans la matrice des phases, ces variables auxiliaires vont donc permettre dedifférencier et donc de coder les différents états. Pour une matrice comportant nlignes 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 desphases une combinaison de variables binaires en vue de réaliser le circuit,toutefois, nous verrons plus loin les nombreux problèmes que pose l’attributiondes variables auxiliaires.

Reprenons le circuit d’allumage d’une lampe à l’aide d’un bouton poussoir etcodons les différents états que nous avions mis en évidence dans la matrice desphases que nous avions obtenue (fig. 4.2.4). Chacun d’eux va donc être codé parune combinaison binaire des variables auxiliaires. Dans le cas présent, ayantquatre états à différencier, deux variables y1 et y2 seront nécessaires poureffectuer le codage. Elles déterminent l’état st que nous avions introduit au §4.1.3. L’état de sortie instantané correspondant St sera représenté par deuxautres variables Y1 et Y2. On obtient ainsi la nouvelle table montrée en figure4.2.7.

EtatPrésent

Etat SuivantE = 0 E = 1 Sortie

y1 y2

00

01

11

10

Y1 Y2

00

10

11

00

Y1 Y2

01

01

10

10

0

1

1

0Figure 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 lacombinaison 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 retrouvebien la condition mise en évidence au § 4.2.1, à savoir qu’un état stable estatteint si et seulement si St = st, donc ici Y1Y2 = y1y2.

Au paragraphe 4.1.3, nous avions introduit la relation liant, à l’instant t, l’étatSt aux entrées normales Ce et auxiliaires st par St = f(Ce(t),st). Dans l’exemplequi 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).

y1y2E 10110100

0

1

11 11

Y1=f1(E,y1,y2)

0100

11

1Y2=f2(E,y1,y2)

y1y2E 1011

0

1

1

Figure 4.2.8 : Diagrammes de Karnaugh pour Y1 et Y2

L’évaluation de Y1 et de s’opère au moyen de diagrammes de Karnaugh (commele montre la figure 4.2.8. On trouve finalement :

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

Page 4.8 Jacques Guizol

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éduitpossible et par conséquent le nombre d’états stables. Si, lors de la synthèse ducircuit, on a défini plus d’états stables que nécessaire, il sera possible desimplifier 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 2de la matrice des phases ci-dessous sont équivalents.

EtatPrésent

Etat SuivantE = 00

Sortie

12

12

11

E = 01

55

E = 11

47

E = 10

77

Figure 4.3.1 : Exemple d’états équivalents

L’équivalence n’est pas toujours aussi évidente. Elle peut être conditionnée parune autre équivalence, on est alors en présence d’une équivalenceconditionnelle.

Ainsi, dans la matrice des phases suivante, il est aisé de constater que les états1 et 2 sont équivalents à condition que 3 et 4 le soient aussi… ce qui est le cas.

EtatPrésent

Etat SuivantE = 00

Sortie

1234

1211

1100

E = 01

5544

E = 11

3422

E = 10

7734

Figure 4.3.2 : Exemple d’équivalence d’états conditionnelle

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

EtatPrésent

Etat SuivantE = 00

Sortie

14

11

10

E = 01

54

E = 11

41

E = 10

74

Figure 4.3.3 : Matrice de la figure 4.3.2 simplifiée

Logique Séquentielle Asynchrone Page 4.9

L’équivalence conditionnelle peut aussi être cascadée et éventuellement formerune boucle. La matrice des phases de la figure 4.3.4 met en évidence le fait queles é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 équivalentsest que les états 1 et 2 soient eux aussi équivalents.

EtatPrésent

Etat SuivantE = 00

Sortie

12

3

4

12

1

2

11

0

0

55

4

4

34

1

2

77

3

4

E = 01 E = 11 E = 10

Figure 4.3.4 : Exemple d’équivalence conditionnelle bouclée

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

EtatPrésent

Etat SuivantE = 00

Sortie

23

22

10

53

32

73

E = 01 E = 11 E = 10

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èrevue. Il existe toutefois des algorithmes permettant d’aboutir à ce résultat.

EtatPrésent

Etat Suivant Sortie

12345678910

1618861888

00011001100011001111

510355335510

7997797997

2224244242

E = 00 E = 01 E = 11 E = 10

Figure 4.3.6 : Matrice de phases de 10 états

Page 4.10 Jacques Guizol

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

EtatPrésent

Etat Suivant Sortie

16824357910

1686818188

00000001011010111111

535105353510

7999797797

2422422442

E = 00 E = 01 E = 11 E = 10

Figure 4.3.7 : Regroupement des états par configuration de sortie

Conformément à ce qui a été dit concernant les conditions que doivent remplirles é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 quetoutes les équivalences possibles sont effectives. On supprimera alors de cetteliste toutes les non-équivalences. Celles qui demeureront seront réelles.

La combinatoire des équivalences possibles concerne donc les couples d’étatssuivants : 1/6, 1/8, 6/8, 2/4, 3/5, et enfin 7/9. On construit une tablecomportant autant de lignes et de colonnes que de couples précédemmenttrouvés

1/61/86/82/43/57/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 eten 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 à laligne 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’intersectionde la ligne considérée et de la colonne relative aux états potentielle-ment équivalents.

Logique Séquentielle Asynchrone Page 4.11

❐ L’équivalence entre les états 1 et6 nécessite l’équivalence entre :

☞ les états 2 et 4

☞ les états 5 et 3

☞ les états 7 et 9

EtatPrésent

Etat Suivant Sortie

1

6

8

1

6

86

00

00

00

5

3

510

7

9

9

2

4

22

E = 00 E = 01 E = 11 E = 10

Dans la table de la figure 4.3.8, on coche donc sur la ligne 1/6 les casescorrespondant 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 et4 nécessite l’équivalence entre

☞ les états 6 et 8☞ les états 5 et 10☞ les états 9 et 7

6

24

3

6

68

1

00

0101

10

3

105

3

9

97

9

4

24

2

Les équivalences 6/8 et 7/9 font bien partie de la liste des équivalencespossibles, mais ce n’est pas le cas de l’équivalence 5/10 puisque ces deux étatsne font pas partie du même sous tableau. En conséquence, toute équivalenceconditionné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’entê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 seprésentera comme suit

1/61/86/82/43/57/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éessont 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.

Page 4.12 Jacques Guizol

Ces équivalences sont alors utilisées en vue de simplifier la matrice des phasesqui sera réécrite comme indiqué dans la figure 4.3.10

EtatPrésent

Etat Suivant Sortie

12346710

1618618

00011001001111

510353310

7997977

2224442

E = 00 E = 01 E = 11 E = 10

Figure 4.3.10 : Matrice de phases simplifiée

☞ Dans tous les cas d’équivalences multiples on peut se demander si la matrice de phasessimplifié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’ordredans 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 interditesou d’états de sortie optionnels. Ainsi, deux états stables sont pseudo-équivalentssi on peut les rendre équivalents

❥ En remplaçant par un état instable adéquat un état instableoptionnel.

❥ En remplaçant par un état adéquat un état de sortie optionnel.

Exemple 1 : États instables optionnels

EtatPrésent

Etat Suivant Sortie

12

12

00

4-

55

33

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

Etat Suivant Sortie

1 1 04 53E = 00 E = 01 E = 11 E = 10≡

EtatPrésent

Etat Suivant SortieE = 00 E = 01 E = 11 E = 10

13

13

0000

5-

88

-2

EtatPrésent

Etat Suivant SortieE = 00 E = 01 E = 11 E = 10

1 1 005 82≡

Figure 4.3.11 : Pseudo-équivalence par états instables optionnels

Exemple 2 : États de sortie optionnels

EtatPrésent

Etat Suivant SortieE = 00 E = 01 E = 11 E = 10

13

13

010-

55

77

22

EtatPrésent

Etat Suivant SortieE = 00 E = 01 E = 11 E = 10

1 1 015 72≡

Figure 4.3.12 : Pseudo-équivalence par états de sortie optionnels

Logique Séquentielle Asynchrone Page 4.13

Il est important de noter que contrairement relation d’équivalence qui, elle, esttransitive, la relation de pseudo-équivalence n’est pas transitive. C’est à dire quesi x est pseudo-équivalent à y et que y est pseudo-équivalent à z, alors x n’estpas nécessairement pseudo-équivalent à z.

Exemple 3 : Non-transitivité.

.

EtatPrésent

Etat Suivant Sortie

146

146

111

5-2

77-

33-

E=00 E=01 E=11 E=10

EtatPrésent

Etat Suivant Sortie

16

16

11

52

7-

3-

E=00 E=01 E=11 E=10

EtatPrésent

Etat Suivant Sortie

14

14

11

52

77

33

E=00 E=01 E=11 E=10

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).

1/3 et 2/4 3/4

EtatPrésent

Etat Suivant SortieE = 00 E = 01 E = 11 E = 10

123

123

111

--7

899

565

EtatPrésent

Etat Suivant SortieE = 00 E = 01 E = 11 E = 10

12

12

11

77

89

56

EtatPrésent

Etat Suivant Sortie

1234

1234

1111

--77

89-9

565-

E = 00 E = 01 E = 11 E = 10

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 lesrelations de pseudo-équivalence entre 1/3, 2/4 et 3/4. Selon qu’on commencepar 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 indispensabled’opérer avec précaution lors de la simplification d’états pseudo-équivalents.

Page 4.14 Jacques Guizol

4.4. Réduction du système.

Lors de l’écriture de la matrice des phases, chaque ligne correspondait à un étatstable et un seul. Partant d’un état stable, une modification des variablesd’entrée fait passer le circuit dans un état instable situé sur la même lignecaractérisé par Y(t) ≠ y(t).

Au bout d’un temps Δt, y devient identique à Y et le circuit passe dans unnouvel état stable situé dans une ligne et une colonne différentes de l’état stabled’origine.

Si la modification des variables d’entrée n’entraîne pas de modification desvariables secondaires, c’est à dire si y(t) = Y(t), il est évident que l’on pourrapasser directement d’un état stable au suivant sans passer par un étatintermédiaire instable. Dans ces conditions, la ligne correspondant à l’étatstable suivant peut être supprimée et les deux états stables peuvent ainsi êtreregroupés sur la même ligne. Cette simplification ayant pour effet de réduire lenombre de lignes de la matrice, et par là même le nombre de variablesauxiliaires, 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éeprésente d’avantages dans la diminution de la complexité et donc du coût d’uncircuit. Le prix à payer réside dans les règles à observer pour procéder à cesréductions qui sont très strictes. Il est à noter que, contrairement à ce qui sepassait pour la simplification de la matrice des phases, l’état des sortiesn’intervient pas dans ce processus de réduction (elles seront réintroduitesensuite).

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 laligne 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 lapaire par l’état non indifférent correspondant (stable ou instable).

Quelques exemples de réduction :

EtatPrésent

Etat Suivant

12

11

55

99

22

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

Etat Suivant

1 1 5 92E = 00 E = 01 E = 11 E = 10

Figure 4.4.1 : Illustration des règles n°① et ③

EtatPrésent

Etat Suivant

12

11

55

99

-2

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

Etat Suivant

1 1 5 92E = 00 E = 01 E = 11 E = 10

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

Logique Séquentielle Asynchrone Page 4.15

EtatPrésent

Etat Suivant

12

11

5-

-9

22

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

Etat Suivant

1 1 5 92E = 00 E = 01 E = 11 E = 10

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

EtatPrésent

Etat Suivant

12

11

--

-9

22

E = 00 E = 01 E = 11 E = 10

1

EtatPrésent

Etat Suivant

1 - 92E = 00 E = 01 E = 11 E = 10

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

EtatPrésent

Etat Suivant

123

11-

333

-99

-22

E = 00 E = 01 E = 11 E = 10

1

EtatPrésent

Etat Suivant

1 3 92E = 00 E = 01 E = 11 E = 10

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 deprendre en compte toutes les réductions possibles afin de déterminer celle quiest 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 uneligne j contenant un état stable J, on construira un graphe sur lequel lessommets I et J seront reliés par un arc.

② ④

00

00 00

A 10

11

01

⑥B ⑧

01

11

EtatPrésent

Etat Suivant Sortie

12345678

11-17777

0000100011011101

--3555-3

44446666

22---288

E = 00 E = 01 E = 11 E = 10

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 ilinterdit toute autre réduction alors que l’on peut réduire simultanément par 5/6et 7/8.

Page 4.16 Jacques Guizol

Sur le graphe A, deux réductions sont possibles 1/2/4 ou 1/2/3. Le fait quedans le regroupement 1/2/4 les sorties soient identiques, fait préférer cettesolution. En tout état de cause, on optera toujours pour le regroupement où lemaximum de combinaisons de sortie sont identiques. Cette façon d’opérerconduit souvent à des économies appréciables car elle permet d’utiliser unevariable auxiliaire comme variable de sortie sans besoin de circuit intermédiaire.

Finalement, en optant pour les réduc-tions optimales 1/2/4, 5/6 et 7/8, onréduit donc la matrice de 4 lignes pourobtenir la MPS réduite ci-contre :

1

-

7

7

5

3

5

3

4

4

6

6

2

-

2

8

E = 00 E = 01 E = 11 E = 10

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 doncobtenu une matrice minimale, c’est à dire contenant un nombre minimal delignes. Afin de distinguer chaque ligne des autres, nous allons utiliser desvariables auxiliaires servant à les coder. L’attribution de ces variables auxiliairesdans une matrice réduite doit s’opérer, comme on va le voir, avec beaucoupd’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édiaired’un état instable (figure 4.4.8).

De l'état stable 3, on passe à l'état instable 2

EtatPrésent

Etat SuivantE = 00 E = 01 E = 11 E = 10

2

3

2

2

3

2

7

3

5

3

Puis de l'étatinstable 2, onpasse à l'étatstable 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 pasunique 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 detemps du circuit : elle est aléatoire et peut provoquer de gravesdysfonctionnements 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, onest alors en présence d’un cycle.

Rappelons que nous avons toujours supposé qu’il ne peut y avoir changementd’état simultané pour deux ou, a fortiori, pour plusieurs variables. En effet latentative même de concevoir une telle éventualité mène à la catastrophe du faitde l’aléatoire induit en la matière par des considérations physiques telles que latempérature, le vieillissement des composants, etc.

Logique Séquentielle Asynchrone Page 4.17

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

De l'état stable 4, on passe à l'état instable 1

EtatPrésent

Etat SuivantE = 00 E = 01 E = 11 E = 10

1

23

4

1

11

1

2

43

Puis par une séried'états instablesavant d'aboutir à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’étatstable ④. Pour une configuration d’entrée à 00, il est possible d’imposer auxtransitions d’état le cycle 4 → 3 → 2 → 1, ce qui est précisé en indiquant par desflèches l’ordre dans lequel les états instables se succèdent. En introduisant lesvariables auxiliaires, le cycle est traduit par le changement de leur configuration(figure 4.5.3).

EtatPrésent

Etat SuivantE = 00 E = 01 E = 11 E = 10

01

1011

00011110

00000111

Variables auxiliairesassociées auxdifférents états

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 variablesd’é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ûrpossible de rejoindre l’état stable ① en suivant le cycle mis en place, via l’étatinstable 2. Que se passe-t-il si nous désirons effectuer ce passage directementcomme cela est possible depuis ② et depuis ④ ainsi qu’on vient de le voir.

EtatPrésent

Etat SuivantE = 00 E = 01 E = 11 E = 10

01

1011

00011110

00000000

Figure 4.5.4 : Occurrence d’une course non critique

Les deux variables auxiliaires doivent passer simultanément de 0 à 1. On l’a ditet répété, cela n’arrivera jamais (à ε près). En fait l’une des deux passera à 0

Page 4.18 Jacques Guizol

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 cascomme dans l’autre, on va revenir à 00. On est en présence d’une course noncritique.

Par contre, considérons la matrice de la figure 4.5.5.

EtatPrésent

Etat SuivantE = 00 E = 01 E = 11 E = 10

1011

00011110

00010000

Figure 4.5.5 : Course critique

La seule modification par rapport au système précédent consiste en rendre l’état2 stable pour une configuration d’entrée 00. Dans ces conditions, étant dansl’état 3 (V.A. = 11) alors que les entrées valent 00, selon que les variablesauxiliaires passent par la configuration 10 ou 01, le résultat sera différent. Dansle premier cas, comme précédemment on atteindra l’état stable ① via l’étatinstable 4. Dans le second cas, le système restera dans l’état stable ②. Lechangement d’état du système sera le fruit de l’aléatoire. Nous sommes enpré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 loind’être gênants, leur introduction va nous permettre de corriger les problèmes defonctionnement induits par les courses critiques. Par exemple, pour régler le casde 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. Toutcomportement aléatoire est ainsi écarté.

EtatPrésent

Etat SuivantE = 00 E = 01 E = 11 E = 10

1011

00011110

00011000

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 quepossible 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. Parcontre 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 diagrammede transition.

Logique Séquentielle Asynchrone Page 4.19

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 ladistinguer des autres (il y a maintenant plusieurs états stables par lignes).

② On reporte ensuite les lettres ainsi affectées sur un graphe dont ellessont les sommets.

③ On recherche alors dans la MPR les transitions possibles entre chaqueligne, que ce soit les transitions entre états instables ou entre étatsstables et instables à condition qu’ils portent le même numéro. (Danscette recherche on peut ignorer les colonnes ne comportant qu’un état stable ou necomportant que des états stables car alors tout risque de course critique est écarté).Ces transitions se reportent sur le graphe par des liens entre lessommets.

c d

a

b

EtatPrésent

Etat SuivantE = 00 E = 01 E = 11 E = 10

abcd

1441

2828

3636

5775

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-cise réalise comme un diagramme de Karnaugh en affectant lesvariables auxiliaires aux lignes et aux colonnes. On dispose ensuitedans 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 unetransition soit situés dans deux cellules adjacentes (horizontalement ouverticalement). 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 desvariables auxiliaires écartant toute course critique (figure 4.5.8).

c d

a

b

00

0110

11

y1y2

0

1

0

a

c

1

d

b

Solut ion n°1

c d

a

b

00

1001

11Solut ion n°2

y1y2

0

1

0

a

d

1

c

b

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

Page 4.20 Jacques Guizol

Ce qui donne pour la solution n°1 :

y1y2x1x2

001

1

4

4

10

5

5

7

7

00

01

1110

012

8

8

2

113

6

6

3

0000

00

11

11

10

01

01

10

10

0110

01

01

10

1100

11

11

00

00

01

1110

y1y2x1x2

Figure 4.5.9 : MPR reconfigurée selon le choix d’attribution des variables auxiliaires n°1

Et pour la solution n°2 :

y1y2x1x2

001441

105775

00011110

012288

113366

y1y2x1x2

0000111100

1010010110

00011110

0101011010

1100001111

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 lamatrice finalement obtenue. Pour reprendre la solution n°2, on obtient :

y1y2x1x2

000110

100110

00011110

011100

110011

y1y2x1x2

000110

101001

00011110

010011

110011

Y1=y1x2+y2x1x2+y2x1x2 Y2=y2x2+y1x1x2+y1x1x2Figure 4.5.11 : Calcul de Y = f (Ce,y)

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

Considérons à présent la matrice réduite de la figure 4.5.12. Le graphe detransition 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 transitionentre b et a (en pointillé sur le graphe), mais comme on l’a vu au § 4.5.1, n’ayantqu’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éeest satisfaisante en ce qu’elle n’engendre pas de course critique. Toutefois, pourrégler proprement les transitions lorsque la configuration d’entrée est 00, il estsouhaitable d’introduire un cycle.

Logique Séquentielle Asynchrone Page 4.21

y1y2

0

1

0

a

d

1

c

b

c d

a

b

00

1001

11

x1x2 001111

108448

abcd

013232

116776

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 auxautres, et si c’est le cas, laquelle est-ce ?

En fait les seuls avantages que peut contenir une solution par rapport à uneautre, résident, d’une part, dans le temps de transition pour parvenir à l’étatstable, 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.

x1x2y1y2 00

00001000

0000000111

0000000100

0000111000

00011110

x1x2y1y2 00

001000111100

00011110

0101011111

1110010110

❷ ❹❸❶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 laquelledes 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 auxiliairespermettant d’éliminer toute course critique, il est nécessaire d’introduire desétats instables supplémentaires avec pour conséquence d’augmenter le nombrede lignes utiles de la matrice et donc une complexification de la réalisation.

4.5.3.1. Les MPR à trois lignesSupposons qu’une MPR comporte 3 lignes, la première étant appelée a. Dansces conditions, les seules configurations de graphe de transition possibles sontles suivantes :

a

cbc

b

a

a

cb

① ② ③

Comme on peut le voir sur les exemples de la figure 4.5.14, les cas n°1 et n°2autorisent une attribution de variables auxiliaires n’introduisant pas de coursecritique.

Page 4.22 Jacques Guizol

cas①

01

0

a

1

b

c

y1y2 00

11

8

1045

5

ab

c

01

22

7

11

36

6

x1 x2

c

b

a00 11

01

②cas

01

0

a

c

1

by1y2

x1 x2 00

11

7

1045

4

ab

c

01

26

2

11

33

8c

a

01 10

00

bFigure 4.5.14 : MPR à 3 lignes sans course critique.

Dans le cas n°3, il est impossible d’attribuer des variables auxiliaires aux troislignes 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 configurationdes variables auxiliaires que nous noterons α.

Considérons la matrice des phases réduite de la figure 4.5.15. On constaterapidement 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 lemode d’affectation des variables auxiliaires à ces 3 lignes, nous ne pouvonséviter une course critique.

③cas x1x2 00

189

10676

abc

01225

11344

c

α

b

a

❸c α

a

b

❷α b

c

a

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é :

0

1

0a

α

1

b

c

y1y2

x1x2 00189-

106766

abc

α

01225-

11344-

α b

c

a

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 critiqueapparaî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

Logique Séquentielle Asynchrone Page 4.23

α supprime ce défaut (figure 4.5.16).

Deuxième possibilité :

c α

a

b

❷ 0

1

0

a

c

1

b

y1y2

α

x1x2 001-89

106-76

a

bc

012225

113-44

α

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, unecourse critique apparaît lors de la transition de l’état instable 2 vers l’état stablecorrespondant. La transition peut aboutir aléatoirement en 2 ou en 5. Le faitd’intercaler la ligne α supprime ce défaut (figure 4.5.17).

Troisième possibilité :

c

α

b

a

❸ 0

1

0

a

c

1

by1y2

α

x1x2 0018-9

1067-6

ab

c

0122-5

113444

α

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 coursecritique apparaît lors de la transition de l’état instable 4 vers l’état stablecorrespondant. La transition peut aboutir aléatoirement en 4 ou en 3. Le faitd’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 lenombre de variables auxiliaires est demeuré identique. Nous avons simplementutilisé 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écessairede 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 luiest associé.

c

d

b

ax1x2 00

1771

104548

abcd

012299

113663

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

Page 4.24 Jacques Guizol

A l’évidence, 2 variables auxiliaires sont insuffisantes et il va donc falloir enrajouter une. L’ajout d’une variable supplémentaire porte à 8 le nombre deconfigurations possibles et la combinatoire d’affectation aux lignes de la matriceconstitue un grand nombre de possibilités pour déterminer le meilleur choix envue d’obtenir un circuit le plus simple possible.

La méthode donnant le plus souvent de bons résultats consiste à disposer, dansle 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 entreelles. On pourrait donc envisager l’attribution selon le diagramme suivant :

0

1

00

a

d

01

by1y2y3

α

11

c

10

β γ

On voit que les transitions a-b, a-d et b-c sont biengérées. Afin d’autoriser la transition a-c, on a étécontraint de rajouter une ligne α . Quant à latransition d-c, elle a nécessité l’adjonction de deuxautres lignes β et γ.

(a) 000(b) 001(c) 011( ) 010

110(d) 100( ) 101( ) 111

α

β

γ

x1x2 00177--1--

104544-8--

01229--999

11366--3--

y1y2y3

(a) 000(b) 001(c) 011( ) 010

110(d) 100( ) 101( ) 111

α

β

γ

x1x2 00000001001

--

000--

10010001011011

-100

--

01000000011

--

101111011

11100001001

--

100--

y1y2y3

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épartitiondes états existants respectant les contraintes et évitant les courses critiquesaurait pu être choisie. Par exemple, nous aurions pu choisir des répartitions delignes telles que celles proposées dans la figure 4.5.21.

0

1

00

a

01

by1y2y3

α

11

c

10

d

βγ

Répartition 2

0

1

00

a

01

dy1y2y3

α

11

c

b

10

βγ

Répartition 3Figure 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,

Logique Séquentielle Asynchrone Page 4.25

(a) 000(b) 001(c) 011(d) 010

110( ) 100( ) 101( ) 111α

β

γ

x1x2 001771----

104548-444

012299----

113663----

y1y2y3

Attributions 2

(a) 000(d) 001(c) 011( ) 010

110( ) 100( ) 101(b) 111

α

β

γ

x1x2 00117----7

104844---5

01299--222

11336----6

y1y2y3

Attributions 3Figure 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), nousavons précisé que contrairement à la méthode de simplification, on ne tenait pascompte des états de sortie, et que l’on y reviendrait par la suite… ce que nousallons faire ici.

La matrice des sorties (Z) devra être établie en tenant compte de la matrice desphases dont on est parti et de la matrice des phases réduite sur laquelle on faitapparaître les variables auxiliaires attribuées aux différentes lignes. Elle aura lemê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èsréduction.

EtatPrésent

Etat Suivant Sortie

12345678

11117777

0000100011011101

--3555-3

44446666

228--288

E = 00 E = 01 E = 11 E = 10

x1x2y1y2 001771

115533

104664

012288

00011110

MPS

MPR

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 sortiecorrespondant à un état stable de la matrice des phases réduite, onreportera la combinaison de sortie (pris dans la matrice des phases)correspondant à cet état stable.

Page 4.26 Jacques Guizol

② Lorsqu’on passe d’un état stable vers un autre état stable, les deuxétats ayant des sorties identiques, il faut affecter à tous les étatsinstables intermédiaires cette combinaison de sortie afin d’éviter lestransitoires.

③ Dans tous les autres cas les valeurs intermédiaires sont indifférentes.Toutefois, lorsque plusieurs états instables forment un cycle, la valeurde sortie ne doit se modifier qu’une fois sous peine de voir apparaîtredes oscillations parasites.

C’est ainsi que l’on obtient les résultats suivants :

y1y2

x1x200

00

11

11

00

1000

01

01

00

00

0111

10

01

00

00

11

11

11

01

01

10

10Matrice Y (fonctions commutation)

y1y2

x1x200

00

11

11

-

1000

01

-

-

0001

11

10

01

00

-

01

-

11

-

11

-

10Matrice 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 deleur propagation ne sont pas constants et pourront dans certains cas provoquerun comportement du circuit séquentiel non conforme à celui prévu lors de saréalisation. Ce dysfonctionnement sera appelé un aléa. On divise les aléas endeux 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 pourlesquels, de toute façon, on a prouvé qu’ils ne pouvaient pas être totalementrésolus. C’est la raison pour laquelle on cherche le plus souvent à réaliser descircuits dont une seule entrée varie à la fois.

Le premier type, beaucoup plus général, se divise selon la manière dont lesretards interviennent :

• les aléas statiques apparaissent en présence de retards différents lelong 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 lorsd’une modification d’une entrée qui devrait laisser la sortie inchangée.

• les aléas dynamiques sont dus à des retards différents intervenant lelong de plus de 2 chemins placés à l’intérieur d’une même boucle derétroaction. Ils se traduisent le plus souvent par l’apparition d’unminimum de 3 transitions transitoires lors d’une modification d’uneentrée qui devrait entraîner une seule transition en sortie.

• les aléas essentiels sont dus à des retards différents intervenantdans des boucles de retour différentes et se traduisent par destransitions vers des états stables différents des états prévus.

Alors que les aléas statiques ou dynamiques peuvent toujours être suppriméspar modification de la structure du circuit séquentiel, les aléas essentiels nepeuvent être réglés que par adjonction de circuits retards sur une ou plusieursbranches du circuit.

Logique Séquentielle Asynchrone Page 4.27

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 lafigure 4.7.1, la fonction de sortie s’écrit S = ABC + A BD.

A B C D

Sxy

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 transitoiredû 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.

A

B

C

D

A

Δt

S

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

Considérons le diagramme de Karnaugh correspondant. On distingue bien surla figure 4.7.3 les regroupements correspondant aux deux portes x et y ducircuit. Le problème intervient lorsque A passe de 1 à 0. Au moment où A valaitencore 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 laporte y délivre la sortie à 1 avec un retard ∆t. Pendant ce laps de temps les deuxportes 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.

Page 4.28 Jacques Guizol

00

01

11

10

00 01 11 10

1 1

1 1

ABCD

yx

z

00

01

11

10

00 01 11 10

1 1

1 1

ABCD

yx

Figure 4.7.3 : Chaque problème a sa solution…

Afin de le supprimer, il faudrait donc un troisième terme dans la disjonction quimaintienne la sortie à 1 pendant la transition. La solution consiste donc àextraire un minterme redondant du diagramme de Karnaugh, permettantd’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 adé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 denouveaux groupements de façon à ce que tous les groupements entre lesquels des transitionsexistent 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 depasser, par exemple, de 0 à 1 lors d’une transition d’un état j vers un état k, lasortie 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 serencontrent plus particulièrement dans une classe de circuits très utilisée : lescircuits de comptage. Ils sont provoqués par des retards différents affectantdeux boucles de retour concourant à la réalisation d’une même fonction.

On montre que contrairement aux aléas statiques ou dynamiques, la structuredu réseau logique n’est pas à mettre en cause. Ces aléas sont des faillesinhérentes à la nature séquentielle d’un circuit. On ne peut donc pas intervenirsur le circuit comme on l’a fait précédemment. Il faut, à la suite d’une étude dufonctionnement du circuit, éliminer la probabilité d’apparition de cesphénomènes par petites touches successives au moyen de circuits retardsajoutés de façon judicieuse en certains point du réseau.