Logique Séquentielle Synchrone - Département Informatique et
Transcription
Logique Séquentielle Synchrone - Département Informatique et
Licence dÕInformatique MARSEILLE-LUMINY 5. Logique sŽquentielle synchrone 5.1 - Les circuits de logique sŽquentielle synchrone. 5.2 - Simplification de la matrice des phases. 5.3 - Attribution des variables auxiliaires. 5.4 - DŽcomposition fonctionnelle et partitions 5.5 - DŽcomposition en l'absence de partitions 5.1. Les circuits de logique sŽquentielle synchrone. 5.1.1. Introduction La diffŽrence fondamentale qui existe entre la logique asynchrone et la logique synchrone est la prŽsence d'un signal qui va permettre de dŽterminer le moment ou le changement d'Žtat des entrŽes doit •tre pris en compte. Rappelons pour •tre parfaitement clair que dans le cas d'un circuit de logique asynchrone, le changement d'Žtat d'une entrŽe Žtait pris en compte dŽs l'instant o• il se produisait, ce qui nous interdisait de considŽrer comme possible un changement d'Žtat simultanŽ de plusieurs entrŽes. Dans le cas de la logique synchrone, la prise en compte du changement d'Žtat s'effectue ˆ l'apparition d'un signal que nous appellerons Horloge, ce qui nous permet de considŽrer comme logiquement possible la variation simultanŽe de plusieurs signaux d'entrŽe, en effet bien que leur variation physique se prŽsente ˆ des instants diffŽrents dans le temps, leur prise en compte effective se produit ˆ l'apparition du signal d'Žchantillonnage. Dt A B Horloge T1 T2 T3 Figure 5.1.1 : ƒchantillonnage des signaux Ce phŽnom•ne dÕŽchantillonnage du signal est parfaitement explicitŽ par le diagramme de la figure 5.1.1. Au temps T1 le signal A change d'Žtat, au temps T2 le signal B change ˆ son tour d'Žtat. Entre les temps T2 et T3 rien ne se passe car le signal d'horloge est inactif, ce n'est qu'en T3 et pendant le temps T3 + Dt que les signaux seront logiquement pris en compte par le circuit. En fait, tout ce qui se passe avant T3 et apr•s T 3 + Dt est ignorŽ par le syst•me. Globalement, un circuit de logique sŽquentielle synchrone se prŽsente comme indiquŽ en figure 5.1.2. y1 .... yp Circuit combinatoire Bascules ..... Cm ..... C1 s1 sn Horloge Figure 5.1.2 : SchŽma gŽnŽral dÕun circuit sŽquentiel synchrone Un circuit combinatoire permet de dŽterminer, en fonction de l'Žtat actuel et des entrŽes, quelles seront les sorties et quel sera le code de l'Žtat qui doit succŽder. Les bascules permettent de sŽparer les deux Žtats, actuel (mŽmorisŽ) et suivant. Au moment ou se prŽsente le signal dÕhorloge, l'Žtat suivant est recopiŽ dans les bascules et devient de ce fait l'Žtat actuel, le circuit combinatoire va donc, en fonction des entrŽes et de ce nouvel Žtat dŽterminer de nouvelles sorties et un nouvel Žtat suivant. Le cycle se reproduira chaque fois que se prŽsentera le signal d'horloge. Nous considŽrerons les bascules par l'intermŽdiaire desquelles se transmet l'Žtat comme des syst•mes simples permettant la mŽmorisation d'un ŽlŽment d'information (figure 5.1.3). EntrŽe Bascule Horloge Sortie L'information qui se prŽsente sur l'entrŽe est ignorŽe tant que le signal d'horloge est inactif. Lorsque le signal en question se prŽsentera, la bascule enregistrera l'information qui se trouve ˆ l'entrŽe et en rŽpercutera aussit™t l'Žtat sur la sortie. Cette sortie demeurera inchangŽe jusqu'ˆ la prochaine Žcriture. Figure 5.1.3 5.1.2. ReprŽsentation sous forme de graphe. Cette reprŽsentation est assez proche de celle que nous avons dŽjˆ pu voir dans le cas du circuit asynchrone. Ainsi que nous lÕavons dŽjˆ notŽ, la diffŽrence vient du fait que dans un circuit asynchrone il nous Žtait interdit de modifier simultanŽment plusieurs variables d'entrŽe. En particulier, sur le graphe des phases, pour deux ar•tes consŽcutives, la combinaison des variables dÕentrŽe ne diffŽrait que par la complŽmentation d'au plus une variable (figure 5.1.4). Page 5.2 Jacques Guizol & Christian Aperghis x 1 x2 ..00 ..x n 1 x 1 x2 ..10 ..x n x 1 x2 ..00 ..x n 2 Figure 5.1.4 : Transition dÕŽtat en logique asynchrone Cette contrainte ne sÕapplique plus dans le cas du circuit synchrone, car, ainsi que nous l'avons dŽjˆ vu, la prŽsence de l'horloge nous permet de passer de n'importe quelle combinaison des variables d'entrŽe vers n'importe quelle autre (figure 5.1.5). Ci Cj 1 Ck 3 2 Figure 5.1.5 : De chaque Žtat, on peut atteindre tous les autres Il en rŽsulte que, si on consid•re un circuit ˆ n entrŽes, quelle que soit la configuration qui a permis dÕaccŽder ˆ un sommet du graphe, il est nŽcessaire dÕŽtudier les 2n configurations qui partent de ce sommet. 5.1.3. Machine de Moore, Machine de Mealy. Nous avons vu, jusqu'ˆ prŽsent, que le fonctionnement d'un circuit sŽquentiel peut •tre parfaitement dŽfini par un graphe. Il y a nŽanmoins deux mani•res de reprŽsenter le graphe en question, chacune Žtant associŽe ˆ une famille de machine sŽquentielle. La premi•re famille, les machines de Moore, lient la configuration de sortie ˆ l'Žtat dans lequel se trouve la machine ˆ un instant donnŽ. Le graphe de cette machine est reprŽsentŽ en figure 5.1.6. Dans ce type de machine, la sortie est mŽmorisŽe et sera soit un Žtat, soit un ŽvŽnement contr™lŽ par le signal dÕhorloge. E5 E3 E1 1 E2 2 S2 3 S3 S1 E4 Figure 5.1.6 : Graphe dÕune machine de Moore Logique SŽquentielle Synchrone Page5.3 LÕinterprŽtation du fonctionnement dÕune telle machine est : La machine Žtant dans un Žtat 1 pour lequel la configuration de sortie est S1, lorsque la configuration d'entrŽe devient E3 (resp. E4) alors la machine passe dans l'Žtat 2 (resp. 3) et la sortie prend la valeur S2 (resp. S3). Le schŽma gŽnŽral de ce type de machine est celui reprŽsentŽ en figure 5.1.7. On dira que cette machine respecte les sorties. E C1 B C2 S 5.1.7 : SchŽma gŽnŽral dÕune machine de Moore Concr•tement, cela signifie que la configuration de sortie est directement liŽe ˆ l'Žtat de la machine et ˆ cet Žtat exclusivement. A noter en outre que la configuration de sortie nÕappara”t quÕau moment o• l'Žtat considŽrŽ se prŽsente effectivement, c'est ˆ dire un temps apr•s la transition qui l'a fait na”tre. La machine de Mealy ne tient pas compte des Žtats en tant que tels, mais bien davantage de ce qui se passe lors de la transition entre deux Žtats successifs. Ainsi dans l'exemple prŽcŽdent (figure 5.1.6), on constate que la machine Žtant dans l'Žtat 1 d•s quÕappara”t la configuration dÕentrŽe E3 on peut affirmer sans se tromper que : ¥ ¥ La machine va passer dans lÕŽtat 2 La sortie va prendre la configuration S2 Il est donc possible de lier le positionnement de la sortie ˆ lÕar•te au lieu de la lier au sommet (figure 5.1.8). La consŽquence est que la sortie ne peut •tre quÕun ŽvŽnement. E5 /S2 E3/S2 E1/S1 2 1 E2/S1 E4/S3 3 Figure 5.1.8 : Graphe dÕune machine de Mealy La figure 5.1.9 montre le schŽma gŽnŽral dÕune machine de Mealy. On parlera pour cette machine de Ônon-respect des sortiesÕ. E C1 B C2 S Figure 5.1.9 : SchŽma gŽnŽral dÕune machine de Mealy Page 5.4 Jacques Guizol & Christian Aperghis LÕinterprŽtation du fonctionnement dÕune telle machine est : La machine Žtant dans un Žtat 1, lorsque la configuration d'entrŽe devient E4 (resp. E3) alors la machine transite vers l'Žtat 2 (resp. 3) et la sortie se positionne ˆ S2 (resp. S3). Ainsi, la sortie d'une telle machine rŽpond immŽdiatement aux sollicitations de l'entrŽe, elle dŽpend ˆ la fois de l'Žtat dans lequel se trouve la machine et de la configuration qui appara”t sur l'entrŽe 5.1.3. Un exemple de circuit sŽquentiel synchrone. Nous allons Žtudier un circuit permettant de reconna”tre une sŽquence dÕentrŽe. Dans le cas ˆ traiter, cette sŽquence sera composŽe de quatre 1 successifs. Temps : 1 EntrŽe : 0 Sortie : 0 2 1 0 3 1 0 4 0 0 5 1 0 6 1 0 7 1 0 8 1 1 9 1 1 10 1 1 11 0 0 12 1 0 Ainsi que nous lÕavons reprŽsentŽ ci dessus, la sortie passe ˆ 1 au temps 8 car des 1 sont apparus aux temps 5, 6, 7 et 8. Le fonctionnement de cette machine est enti•rement dŽcrit par le graphe de la figure 5.1.10, reprŽsentatif dÕune machine de Mealy. 0/0 0 0/0 4 1/0 1/1 1 1/0 1/0 0/0 0/0 2 0/0 0/0 1/0 0/0 0/0 1/0 7 1/0 3 6 1/0 5 Figure 5.1.10 : Graphe de lÕanalyseur de sŽquence Ô1111Õ La matrice des phases associŽe au graphe est dŽcrite en figure 5.1.11. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 0 1 2 3 4 5 6 7 0 2 4 6 0 2 4 6 1 3 5 7 1 3 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Figure 5.1.11 : Matrice des phases associŽe Logique SŽquentielle Synchrone Page5.5 La construction de la matrice des phases suit les m•mes r•gles que celles qui ont ŽtŽ dŽfinies pour les syst•mes asynchrones, exception faite que dans le cas dÕun syst•me synchrone la notion dÕŽtat instable a disparu. 5.2. Simplification de la matrice des phases. 5.2.1. Equivalence simple Deux Žtats sont non Žquivalents si, pour une m•me entrŽe : ¥ le passage ˆ l'Žtat suivant produit des sorties contradictoires ; ¥ les Žtats suivants sont diffŽrents et non Žquivalents. Deux Žtats sont Žquivalents si pour chaque entrŽe : ¥ le passage ˆ l'Žtat suivant produit des sorties identiques ; ¥ les transitions interdites sont les m•mes ; ¥ on ne peut pas montrer qu'ils sont non Žquivalents. En pratique : ¦ si les lignes associŽes aux deux Žtats de la matrice des phases sont identiques, alors les deux Žtats sont Žquivalents. ¦ si les sorties associŽes aux deux Žtats sont identiques mais que les Žtats suivants diff•rent, alors les Žtats sont Žquivalents si pour chaque entrŽe les Žtats suivants qui sont diffŽrents sont eux m•mes Žquivalents. Lorsque deux Žtats ont ŽtŽ dŽclarŽs Žquivalents, la ligne correspondante de lÕun de ces Žtats sera supprimŽ de la matrice des phases et toute occurrence de cet Žtat sera remplacŽe par son Žquivalent. Soit la matrice des phases de la figure 5.2.1. On voit que les lignes 2 et 6 sont identiques, m•me successeur et m•me sortie. Les Žtats correspondants sont donc Žquivalents. De la m•me mani•re sont Žquivalents les Žtats1, 4 et 8. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 6 7 8 2 4 5 2 3 4 5 2 5 6 7 5 8 6 1 5 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 Figure 5.2.1 : Matrice des phases dÕorigine Apr•s simplification, nous obtenons la matrice des phases de la figure 5.2.2. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 5 7 2 1 5 3 5 5 2 7 1 1 0 0 1 1 1 1 1 0 0 0 Figure 5.2.2 : Matrice des phases simplifiŽe 5.2.2. Equivalence conditionnelle. LÕŽquivalence conditionnelle se dŽfinit de la m•me mani•re que pour les circuits asynchrones. LÕŽquivalence conditionnelle peut •tre simple comme dans la figure 5.2.3. Les Žtats 1 et 2 sont Žquivalents si les Žtats 3 et 4 le sont eux aussi ce qui est le cas. La matrice des phases peut donc se simplifier en supprimant un des deux Žtats 3 ou 4 et un des deux Žtats 1 ou 2. Page 5.6 Jacques Guizol & Christian Aperghis Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 5 1 1 3 4 6 6 1 1 0 0 1 1 1 1 Figure 5.2.3 : Exemple dÕŽquivalence conditionnelle simple. LÕŽquivalence conditionnelle peut •tre plus complexe ˆ mettre en Žvidence, ainsi sur le diagramme des phases de la figure 5.2.4 on voit que Les Žtats 1 et 3 sont Žquivalents si les Žtats 4 et 5 le sont aussi, mais pour que les Žtats 4 et 5 soient Žquivalents il faut que les Žtats 1 et 3 soient Žquivalents. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 4 6 5 1 3 7 9 7 5 5 1 0 1 1 1 0 1 0 0 0 Figure 5.2.4 : Exemple dÕŽquivalences croisŽes La relation dÕŽquivalence Žtant transitive on peut en conclure que les Žtats 1 et 3 sont Žquivalents de m•me que les Žtats 4 et 5. Ce qui permet de simplifier la matrice des phases comme indiquŽ en figure 5.2.5. Il est donc important de disposer dÕune mŽthode permettant la dŽtermination de toutes les Žquivalences. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 4 4 6 1 7 9 4 1 0 1 0 1 0 Figure 5.2.5 : Matrice de la figure 5.2.4 simplifiŽe La mŽthode qui a ŽtŽ dŽcrite dans le cas des circuits asynchrones sÕapplique sans modification dans le cas des circuits synchrones : ¥ Regroupement de toutes les lignes correspondant aux Žtats ayant les m•mes configurations de sortie (Žtats potentiellement Žquivalents). ¥ ƒtablissement dÕune table ˆ deux entrŽes, comportant une ligne pour chaque Žquivalence possible et une colonne pour chaque Žquivalence possible. ¥ Marquage rŽcursif de tous les Žtats manifestement non Žquivalents. A la fin de lÕopŽration, tous les Žtats non marquŽs sont Žquivalents. Logique SŽquentielle Synchrone Page5.7 5.2.3. Simplification dÕune matrice des phases incompl•tement spŽcifiŽe. Une matrice des phases incompl•tement spŽcifiŽe est une matrice des phases dans laquelle figurent des signes dÕindiffŽrence. Nous allons retrouver ici le probl•me des pseudo-Žquivalences dŽjˆ vu ˆ propos des circuits asynchrones. Deux Žtats sont dits pseudo-Žquivalents si la ligne correspondant ˆ lÕun dÕentre eux comportant un ou plusieurs signes dÕindiffŽrence, elle peut •tre rendue identique ˆ la ligne correspondant ˆ un autre Žtat en rempla•ant les signes dÕindiffŽrence par les symboles convenables. En pratique : ¦ si les lignes associŽes aux deux Žtats de la matrice des phases sont unifiables, alors les deux Žtats sont pseudo-Žquivalents. ¦ si les sorties associŽes aux deux Žtats sont unifiables mais que les Žtats suivants diff•rent, alors les Žtats sont pseudoŽquivalents si pour chaque entrŽe, les Žtats suivants qui sont diffŽrents sont eux m•me pseudo-Žquivalents. Contrairement ˆ la relation dÕŽquivalence, la pseudo-Žquivalence nÕest pas transitive. Par exemple dans la matrice des phases de la figure 5.2.6, les lignes 1 et 2 sont pseudo-Žquivalentes, les lignes 2 et 3 sont elles aussi pseudo-Žquivalentes alors que les lignes 1 et 3 ne sont pas pseudo-Žquivalentes. Etat Suivant Etat PrŽsent E = 00 1 2 3 4 4 4 E = 01 5 5 Sortie E = 11 E = 10 E = 00 E = 01 6 6 7 7 7 0 0 0 1 1 1 E = 11 E = 10 1 0 0 0 0 Figure 5.2.6 : Matrice comportant 2 pseudo-Žquivalences exclusives. Ce qui revient ˆ dire que lÕon peut procŽder ˆ la simplification 1 - 2 (figure 5.2.7a) ou ˆ la simplification 2 - 3 (figure 5.2.7b) mais pas aux deux ˆ la fois. Cette propriŽtŽ de non-transitivitŽ ne simplifie pas le probl•me. En effet, en fonction de lÕordre dans lequel seront appliquŽes les simplifications, le rŽsultat pourra •tre plus ou moins complexe. Etat Suivant Etat PrŽsent E = 00 1 3 4 4 E = 01 5 5 Sortie E = 11 E = 10 E = 00 E = 01 6 6 7 7 0 0 1 1 Etat Suivant Etat PrŽsent E = 00 1 2 4 4 E = 01 5 5 E = 11 E = 10 1 0 0 0 Sortie E = 11 E = 10 E = 00 E = 01 6 7 7 0 0 1 1 E = 11 E = 10 1 0 0 0 Figure 5.2.7 a&b : Deux fa•ons de simplifier la matrice de la figure 5.2.6. Page 5.8 Jacques Guizol & Christian Aperghis Soit, par exemple, la matrice des phases de la figure 5.2.8, o• lÕon voit appara”tre un certain nombre de pseudo-Žquivalences et de pseudo-Žquivalences conditionnelles : ¥ 1 est pseudo-Žquivalent ˆ 2 si 2 est pseudo-Žquivalent ˆ 3, ce qui est le cas. ¥ 1 est pseudo-Žquivalent ˆ 3. ¥ 3 est pseudo-Žquivalent ˆ 5. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 2 3 3 4 6 5 5 0 0 0 1 0 1 1 0 1 Figure 5.2.8 : Matrice comportant diverses pseudo-Žquivalences Si on proc•de ˆ la simplification 3 - 5, on obtient la matrice des phases de la figure 5.11.9. Il nÕy a alors aucune possibilitŽ de procŽder ˆ de nouvelles simplifications. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 2 3 4 3 6 5 3 0 0 0 1 1 1 0 Figure 5.2.9 : Simplification par la pseudo-Žquivalence 3/5 Si, on avait commencŽ par simplifier les lignes 1 - 2, on aurait, dans un premier temps obtenu le tableau des phases de la figure 5.2.10 qui par application de la pseudo-Žquivalence entre 1 et 3 conduisait ˆ la matrice des phases de la figure 5.2.11. Etat PrŽsent 1 3 4 5 Etat Suivant Sortie E=0 E=1 E=0 E=1 1 3 4 6 5 5 0 0 1 0 1 1 0 1 Figure 5.2.10 : Simplification par 1/2 suivie deÉ Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 4 5 1 1 4 6 5 5 0 1 0 1 0 1 Figure 5.2.11 : Simplification par 1/3 Pour •tre certain dÕaboutir ˆ un tableau des phases minimal, la seule mŽthode est la mŽthode exhaustive. Cette mŽthode est dÕautant plus laborieuse que le nombre de lignes est grand et que le nombre de signes dÕindiffŽrence est ŽlevŽ. Logique SŽquentielle Synchrone Page5.9 5.2.4 MŽthode gŽnŽrale de dŽtermination de pseudoŽquivalences. Soit la matrice des phases de la figure 5.2.12. Cette matrice comportant un certain nombre de lignes et un grand nombre de signes dÕindiffŽrence, son Žtude exhaustive demanderait un temps considŽrable. Etat Suivant Sortie Etat PrŽsent E = 00 E = 01 E = 11 E = 10 E = 00 E = 01 1 2 3 4 5 6 7 8 9 10 11 1 4 4 4 4 4 - 4 4 2 8 8 1 5 11 7 7 9 7 9 9 1 7 6 1 10 1 10 10 10 - 0 1 0 0 1 1 1 0 1 1 0 - E = 11 E = 10 0 0 1 0 0 0 1 1 1 1 1 1 1 - Figure 5.2.12 : Matrice des phases ˆ simplifier Nous allons utiliser pour la simplifier la mŽthode mise au point par Paull et Unger. Nous allons construire et remplir une table reprŽsentative de toutes les Žquivalences possibles (figure 5.2.13). Ainsi, par exemple, dans la case se trouvant sur la ligne 7 et la colonne 8, on indiquera que la condition pour que ces deux Žtats soient Žquivalents est que : ¥ les Žtats 7 et 9 soient Žquivalents ; ¥ les Žtats 1 et 10 soient Žquivalents. Si deux Žtats sont manifestement non Žquivalents, (configurations de sortie non unifiables) ou conditionnŽs ˆ lÕŽquivalence de deux Žtats non Žquivalents, ils seront barrŽs. Si aucune condition nÕest requise, la case sera grisŽe. 2 3 4 5 6 7 8 9 10 11 Dans cette case on fera appara”tre les conditions pour que les Žtats 7 et 8 soient Žquivalents. 1 2 3 4 5 6 7 8 9 10 Figure 5.2.13 : Table de Paul et Unger Page 5.10 Jacques Guizol & Christian Aperghis Lorsque tous les Žtats non Žquivalents ont ŽtŽ rŽcursivement marquŽs, tous les couples dÕŽtats non marquŽs sont pseudo-Žquivalents. Le tableau des phases de la figure 5.2.12 conduit ˆ la table de pseudoŽquivalence de la figure 5.2.14. LÕexploitation du tableau ainsi obtenu va permettre de mettre en Žvidence les groupements optimaux (figure 5.2.15). Partant de la colonne de droite, on constate que les Žtats 10 et 11 ne sont manifestement pas Žquivalents. En progressant dÕune colonne vers la gauche on constate de m•me que les Žtats 9 et 11 sont Žgalement non Žquivalents. Par contre, il nÕy a pas de condition pour avoir une Žquivalence entre les Žtats 9 et 10. 2 3 xx 4 x xx 7-5 5 1-4 1-7 6 x 9-5 9-11 6-10 7 1-4 1-7 7-5 7-11 1-6 8 9 x x 9-5 4-8 5-9 10 1-4 4-8 7-10 4-8 11 1-4 1-4 1-5 1 2 xx 7-9 1-10 xxx xx x x x 2-8 9-11 6-10 3 7-9 1-10 7-9 1-10 1-10 1-10 1-7 1-7 1-7 xx 4 5 7 8 6 9 1-8 10 Figure 5.2.14 : Table de simplification de la matrice Fig. 5.2.12. Pour exprimer cette Žquivalence, on crŽe le doublet 9 - 10. En continuant lÕexploration du tableau, on constate que les Žtats 8 - 10 et 8 - 9 sont Žquivalents sans condition. La transitivitŽ de lÕŽquivalence nous permet alors de dire que les Žtats 8 - 9 - 10 sont Žquivalents entre eux. 7 et 11 sont pseudo-Žquivalents, on les considŽrera toutefois comme Žquivalents et on fera appara”tre un nouveau doublet 7 - 11. La colonne 6 fait appara”tre les Žquivalences entre 6 - 10, 6 - 9 et 6 - 8, ce qui, par transitivitŽ, conduit ˆ lÕŽquivalence 6 - 8 - 9 - 10. La colonne 5 fait appara”tre les Žquivalences entre 5 - 11 et 5 - 7. Le doublet 7 11 devient 5 - 7 - 11. La colonne 4 nous donne les Žquivalences entre les Žtats 4 - 11, 4 - 10, 4 - 7 et 4-5 La colonne 3 nÕapporte rien alors que la colonne 2 donne 2 - 11, 2 - 7, 2 - 4. La colonne 1 donne les Žquivalences 1 - 11, 1 - 7, 1 - 5, 1 - 4 et 1 - 2. Ici, on voit que 1 sÕinclut dans 4 - 5 - 7 - 11. Ce qui conduit au groupe 1 - 4 - 5 - 7 - 11. LÕŽtat 3 ne figurant dans aucun groupe, il importe de le rajouter. Logique SŽquentielle Synchrone Page5.11 A propos de la colonne 1, il aurait ŽtŽ possible de procŽder au regroupement 1 2 - 4 mais, dans ces conditions, la configuration obtenue aurait ŽtŽ moins compacte : A ce stade, la proposition dÕŽquivalence que nous obtenons est la suivante : 6 - 8 - 9 - 10 / 1 - 4 - 5 - 7 - 11 / 4 - 10 / 2 - 4 / 2 - 7 / 2 - 11 / 1 - 2 / 3 Ligne 10 9 8 7 6 5 4 3 2 1 Regroupements ¯ 9-10 8-9-10 8-9-10/7-11 6-8-9-10/7-11 6-8-9-10/5-7-11 6-8-9-10/4-5-7-11/4-10 6-8-9-10/4-5-7-11/4-10 6-8-9-10/4-5-7-11/4-10/2-4/2-7/2-11 6-8-9-10/1-4-5-7-11/4-10/2-4/2-7/2-11/1-2 Figure 5.2.15 : Table des regroupements obtenus ˆ partir de la table de simplification. Les Žquivalences Žtant maintenant mises en Žvidence, il importe de procŽder ˆ un choix cohŽrent des termes qui conduiront au tableau final. Il faut sŽlectionner le nombre minimal de termes de sorte que tous les Žtats apparaissent une fois et une seule. Dans notre cas, un regroupement pourrait •tre : 6 - 8 - 9 - 10 / 1 - 4 - 5 - 7 - 11 / 2 / 3. En effet, le regroupement 6 - 8 - 9 - 10 est obtenu sans condition. Le regroupement 1 - 4 - 5 - 7 - 11 contient des pseudo-Žquivalences se ramenant ˆ la condition dÕŽquivalence de 1 et 4, ce qui est vŽrifiŽ. La crŽation du tableau des phases ne pose alors aucun probl•me majeur. Identification des termes : * A : 6 - 8 - 9 - 10 * B : 1 - 4 - 5 - 7 - 11 *C:2 *D:3 Etat Suivant Etat PrŽsent E = 00 A B C D B B - E = 01 A B B C Sortie E = 11 E = 10 E = 00 E = 01 A B B B A B A 1 0 1 0 1 1 E = 11 E = 10 0 0 0 1 1 1 1 - Figure 5.2.16 : Matrice rŽduite finalement obtenue. Page 5.12 Jacques Guizol & Christian Aperghis 5.3. Attribution des variables auxiliaires. Le tableau des phases obtenu et optimisŽ, il reste ˆ dŽterminer le nombre de variables nŽcessaires pour coder les Žtats reprŽsentatifs du circuit. Soit n le nombre de lignes de la matrice des phases simplifiŽe, le nombre r de variables auxiliaires sera tel que 2r-1 < n £ 2r. Quel que soit le crit•re de dŽfinition de la minimalitŽ, il nÕexiste actuellement aucune mŽthode pour dŽterminer une relation entre la configuration des variables intermŽdiaires et les Žtats de la matrice des phases permettant dÕobtenir une rŽalisation minimale. Pour illustrer la mŽthode gŽnŽrale dÕattribution de variables auxiliaires, nous allons partir dÕune matrice des phases reprŽsentative dÕun circuit gŽnŽrant le bit de paritŽ d'un code DCB (chiffre compris entre 0 et 9) se prŽsentant poids faibles en t•te. 1 0/00 1/00 2 0/00 3 1/00 4 0/00 5 0/00 1/00 0/00 8 9 10 0/10 1/01 0/01 0/01 1/00 6 1/00 7 0/00 1/00 0/00 1/00 11 12 13 14 15 0/10 0/01 1/10 0/10 0/10 0/01 1 Figure 5.3.1 : Graphe des phases dÕun gŽnŽrateur de paritŽ des digits dŽcimaux codŽ en ASCII. Si la sortie se limitait ˆ une seule valeur donnant le bit de paritŽ, on ne pourrait pas distinguer lÕinstant o• le circuit a fini dÕŽchantillonner les 4 bits (instant o• la sortie devient pertinente). On va donc utiliser 2 sorties A et B. A recevra la valeur de paritŽ, alors que B indiquera la validitŽ de A en prenant la valeur complŽmentaire. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 6 7 2 4 5 6 7 1 1 3 5 4 7 6 1 1 00 00 00 00 00 10 01 00 00 00 00 00 01 10 Figure 5.3.2 : Matrice des phases associŽe apr•s simplification Logique SŽquentielle Synchrone Page5.13 Le graphe reprŽsentatif du fonctionnement de ce circuit et la matrice des phases simplifiŽe sont respectivement donnŽs en figure 5.3.1 et 5.3.2. Ce tableau des phases simplifiŽ comportant 7 Žtats, le nombre minimal de variables auxiliaires (donc de bascules) permettant dÕen effectuer le codage est de 3. Parmi les huit configurations disponibles, 7 seront affectŽes aux Žtats existants, la huiti•me inutilisŽe sera affectŽe ˆ un Žtat indiffŽrent. Ainsi quÕil a ŽtŽ dit, aucune mŽthode dÕaffectation nÕŽtant dŽfinie pour rŽaliser lÕaffectation des combinaisons, la mŽthode la plus brutale consiste ˆ affecter les combinaisons successives des variables auxiliaires aux Žtats successifs. Ce qui conduit au tableau dÕaffectation de la figure 5.3.3. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C Etat 1 0 2 1 3 0 4 1 5 0 6 1 7 0 1 N.A. Figure 5.3.3 : Affectation des variables auxiliaires Il est alors possible de procŽder ˆ la rŽŽcriture du tableau des phases (figure 5.3.4). Etat PrŽsent ABC 000 001 010 011 100 101 110 111 Etat Suivant E=0 E=1 Sortie E=0 E=1 ABC ABC S1 S2 S1 S 2 001 010 00 00 011 100 00 00 100 011 00 00 101 110 00 00 110 101 00 00 000 000 10 01 000 000 01 10 --- --- -- -- Figure 5.3.4 : Remplacement des Žtats par les V.A dans la matrice rŽduite 5.3.1 Les diverses bascules utilisables. Il existe plusieurs types de bascules pouvant •tre utilisŽes pour synthŽtiser les circuits sŽquentiels synchrones. Ces bascules ont en commun dÕ•tre commandŽes par un signal dÕhorloge. Ce signal peut •tre un niveau ou un front. Page 5.14 Jacques Guizol & Christian Aperghis 5.3.1.1. La bascule RS. Il sÕagit dÕune bascule ˆ deux entrŽes Set et Reset, masquŽes par un signal dÕhorloge permettant la prise en compte du signal ˆ un moment bien prŽcis dans le temps (figure 5.3.5) R Q R S Q S H H Figure 5.3.5 : SchŽma de principe et symbolique de la bascule RS * Lorsque lÕentrŽe S (set) est active, ˆ lÕapparition du signal dÕhorloge, la sortie Q est activŽe. * Lorsque lÕentrŽe R (reset) est active, ˆ lÕapparition du signal dÕhorloge, la sortie Q est dŽsactivŽe. * Lorsque aucune des deux entrŽes nÕest activŽe, lÕapparition du signal dÕhorloge ne provoque aucun changement sur la sortie. 5.3.1.2. La bascule JK K S K J S J H H Figure 5.3.6 : SchŽma de principe et symbolique de la bascule JK Il sÕagit dÕune bascule ˆ deux entrŽes, commandŽe par un signal dÕhorloge actif sur un front descendant (figure 5.3.6). * Lorsque lÕentrŽe J est active, ˆ lÕapparition du front descendant du signal dÕhorloge, la sortie est activŽe. * Lorsque lÕentrŽe K est active, ˆ lÕapparition du front descendant du signal dÕhorloge, la sortie est dŽsactivŽe. * Lorsque aucune des deux entrŽes nÕest activŽe, lÕapparition du front descendant du signal dÕhorloge ne provoque aucun changement sur la sortie. * Lorsque les deux entrŽes J et K sont simultanŽment activŽes, lÕapparition du front descendant du signal dÕhorloge provoque une complŽmentation de la sortie. Logique SŽquentielle Synchrone Page5.15 5.3.1.3. La bascule T J T S K H Figure 5.3.7 : SchŽma de principe de la bascule T ˆ partir dÕune JK CÕest une utilisation spŽcifique de la bascule JK dans laquelle les entrŽes J et K sont simultanŽment commandŽes (figure 5.3.7). Dans ces conditions : * Lorsque lÕentrŽe T est active, ˆ lÕapparition du front descendant du signal dÕhorloge, la sortie est complŽmentŽe. * Lorsque lÕentrŽe T est inactive, lÕapparition du front descendant du signal dÕhorloge ne provoque aucun changement sur la sortie. 5.3.1.4. La bascule D D S H Figure 5.3.8 : SchŽma de la bascule D La bascule D est en fait une mŽmoire qui, ˆ lÕapparition du front montant de lÕhorloge, prend systŽmatiquement en compte lÕinformation quÕon lui prŽsente pour la mŽmoriser (figure 5.3.8). * Lorsque lÕentrŽe D est ˆ lÕŽtat haut, d•s lÕapparition du front montant du signal dÕhorloge, la sortie passe ˆ lÕŽtat haut. * Lorsque lÕentrŽe D est ˆ lÕŽtat bas, d•s lÕapparition du front montant du signal dÕhorloge, la sortie passe ˆ lÕŽtat bas. 5.3.2. Utilisation des diverses bascules. Pour terminer lÕexemple de la figure 5.3.1, il nous faut Žcrire 6 fonctions, une fonction set et une fonction reset pour chacune des trois bascules du circuit. Pour chacune dÕelle, la fonction dŽpendra des transitions ˆ assurer entre lÕŽtat prŽsent et lÕŽtat suivant. 5.3.2.1. Utilisation de bascules RS. o La bascule est dans lÕŽtat 0 (Žtat prŽsent) et doit transiter vers un Žtat 0 (Žtat suivant) deux possibilitŽs de commande sÕoffrent ˆ nous : ¦ ne rien faire, dans ces conditions la sortie reste donc ˆ 0 ; ¦ commander un reset, dans ces conditions la sortie est forcŽe ˆ 0, et donc en dŽfinitive ne bouge pas. On dira que lÕon est en prŽsence dÕun reset optionnel que lÕon reprŽsentera sur le diagramme de Karnaugh par la lettre r. Page 5.16 Jacques Guizol & Christian Aperghis o La bascule est dans lÕŽtat 1 (Žtat prŽsent) et doit transiter vers un Žtat 1 (Žtat suivant) deux possibilitŽs de commande sÕoffrent ˆ nous : ¦ ne rien faire, dans ces conditions la sortie reste donc ˆ 1 ; ¦ commander un set, dans ces conditions la sortie est forcŽe ˆ 1, et donc en dŽfinitive ne bouge pas. On dira que lÕon est en prŽsence dÕun set optionnel que lÕon reprŽsentera sur le diagramme de Karnaugh par la lettre s. o La bascule est dans lÕŽtat 1 (Žtat prŽsent) et doit transiter vers un Žtat 0 (Žtat suivant) Nous nÕavons pas de choix possible, la commande reset doit impŽrativement •tre activŽe. On est en prŽsence dÕun reset obligatoire que lÕon reprŽsentera sur le diagramme de Karnaugh par la lettre R. o La bascule est dans lÕŽtat 0 (Žtat prŽsent) et doit transiter vers un Žtat 1 (Žtat suivant) Nous nÕavons pas de choix possible, la commande set doit impŽrativement •tre activŽe. On est en prŽsence dÕun set obligatoire que lÕon reprŽsentera sur le diagramme de Karnaugh par la lettre S. Les Žtats non utilisŽs apparaissent quant ˆ eux comme des indiffŽrents classiques. LÕapplication de ces principes ˆ la table de la figure 5.3.4 conduit pour la bascule A aux deux diagrammes de la figure 5.3.9. AB CE 00 00 01 11 S 01 11 10 S 10 AB CE 00 s 00 r s 01 r S - 11 S - 10 01 11 10 R r r R - R - R Figure 5.3.9 : Table de commandes pour bascule RS Par exemple, Žtant dans lÕŽtat codŽ 010, on doit pour une entrŽe de valeur 0, atteindre lÕŽtat codŽ 100 et pour une entrŽe de valeur 1, atteindre lÕŽtat codŽ 011. Donc, dans le premier cas, la bascule A devra subir un set obligatoire, alors que dans le second cas, on pourra lui appliquer un reset optionnel. La synth•se sÕop•re pour chacune des entrŽes en prenant en compte les commandes obligatoires (lettres majuscules) et en ne considŽrant les commandes optionnelles (lettres minuscules) que lorsquÕelles induisent une simplification. On obtient ainsi : S A = ABE + ACE R A = AB + AC Une Žtude identique pour les bascules B et C conduit aux Žquations : S c = ABE + ABCE + ABCE S B = ABCE + ACE + ABCE R B = AB + BE Logique SŽquentielle Synchrone et R c = AC + CE Page5.17 5.3.2.2. Utilisation de bascules JK. Lˆ encore, il nous faut Žcrire 6 fonctions, une fonction J et une fonction K pour chacune des trois bascules du circuit. Pour chacune dÕelle, la fonction dŽpendra des transitions ˆ assurer entre lÕŽtat prŽsent et lÕŽtat suivant. o La bascule est dans lÕŽtat 0 (Žtat prŽsent) et doit transiter vers un Žtat 0 (Žtat suivant) deux possibilitŽs de commande sÕoffrent ˆ nous : ¦ ne rien faire, dans ces conditions la sortie reste donc ˆ 0 ; ¦ commander un K, dans ces conditions la sortie est forcŽe ˆ 0, et donc en dŽfinitive ne bouge pas. On dira que lÕon est en prŽsence dÕun reset optionnel que lÕon reprŽsentera sur le diagramme de Karnaugh par la lettre k. o La bascule est dans lÕŽtat 1 (Žtat prŽsent) et doit transiter vers un Žtat 1 (Žtat suivant) deux possibilitŽs de commande sÕoffrent ˆ nous : ¦ ne rien faire, dans ces conditions la sortie reste donc ˆ 1. ¦ Commander un J, dans ces conditions la sortie est forcŽe ˆ 1, et donc en dŽfinitive ne bouge pas. On dira que lÕon est en prŽsence dÕun set optionnel que lÕon reprŽsentera sur le diagramme de Karnaugh par la lettre j. o La bascule est dans lÕŽtat 1 (Žtat prŽsent) et doit transiter vers un Žtat 0 (Žtat suivant). Dans ces conditions, il est impŽratif dÕactionner la commande K afin de forcer la transition, mais en parall•le, il est possible dÕactiver la commande J, la combinaison Žventuelle des deux ayant pour effet de complŽmenter la sortie et donc de la faire passer de 1 ˆ 0. Ainsi, sur le diagramme de Karnaugh reprŽsentatif de la fonction K on fera appara”tre un K majuscule dans la case correspondante et sur le diagramme de Karnaugh reprŽsentatif de la fonction J on fera appara”tre un j minuscule dans la case correspondante. o La bascule est dans lÕŽtat 0 (Žtat prŽsent) et doit transiter vers un Žtat 1 (Žtat suivant). Dans ces conditions, il est impŽratif dÕactionner la commande J afin de forcer la transition, mais en parall•le, il est possible dÕactiver la commande K, la combinaison Žventuelle des deux ayant pour effet de complŽmenter la sortie et donc de la faire passer de 0 ˆ 1. Ainsi, sur le diagramme de Karnaugh reprŽsentatif de la fonction J on fera appara”tre un J majuscule dans la case correspondante et sur le diagramme de Karnaugh reprŽsentatif de la fonction K on fera appara”tre un k minuscule dans la case correspondante. Reprenant la matrice de la figure 5.3.4, nous obtenons, pour la bascule A, les diagrammes de Karnaugh reprŽsentŽs en figure 5.3.10. AB CE 00 00 01 11 10 AB CE 00 01 11 J j j 00 k k K j j 01 k k K J - j 11 k k - K J - j 10 k k - K 01 11 10 J 10 Figure 5.3.10 : Table de commandes pour bascule JK La synth•se se fait pour chacune des entrŽes en prenant en compte les commandes obligatoires (lettres majuscules) et en ne considŽrant les commandes optionnelles (lettres minuscules) que si elles conduisent une Page 5.18 Jacques Guizol & Christian Aperghis simplification. On obtient ainsi : J A = BE + CE KA = B + C Pour les bascules B et C, on obtient respectivement : J C = ABE + ABE + ABE J B = ACE + ACE + ACE et KB = A + E KC = A + E 5.3.2.3. Utilisation de bascules T. Il nous faut Žcrire 3 fonctions, une pour chacune des bascules. La commande T doit •tre activŽe chaque fois quÕune transition 0 -> 1 ou 1 -> 0 appara”t entre lÕŽtat prŽsent et lÕŽtat suivant et ne doit pas lÕ•tre lorsque la bascule ne change pas dÕŽtat. Dans ces conditions, il nÕy a pas de possibilitŽ de commande optionnelle. Par contre les Žtats indiffŽrents peuvent •tre utilisŽs pour la simplification. Le diagramme de Karnaugh obtenu pour la bascule A est reprŽsentŽ en figure 5.3.11. AB CE 00 00 01 11 T T 01 11 10 T T 10 T - T T - T Figure 5.3.11 : Table de commandes pour bascule T La fonction TA obtenue est la suivante : TA = AB + AC + BE + CE La m•me Žtude conduit pour B et C aux fonctions : TB = AB + BE + ACE + ACE + ABCE TC = CE + AC + ABE + ABE + ABCE 5.3.2.4. Utilisation de bascules D. Il nous faut, lˆ aussi, Žcrire une fonction pour chacune des trois bascules, la r•gle Žtant que lÕon ne se prŽoccupe pas de lÕŽtat prŽsent, on doit prŽsenter sur lÕentrŽe D la valeur que lÕon veut voir appara”tre pour lÕŽtat suivant. Ainsi, pour la bascule A le diagramme de Karnaugh est celui reprŽsentŽ en figure 5.3.12. Logique SŽquentielle Synchrone Page5.19 AB CE 00 00 01 11 D D 01 11 10 10 D D D - D - Figure 5.3.12 : Table de commandes pour bascule D La fonction obtenue pour la bascule A est : D A = ABC + ACE + ABE Et pour les bascules B et C : D B = ABE + ACE + ABCE + ABCE DC = ACE + BCE + ABCE 5.3.3. Les partitions. 5.3.3.1. Partition de lÕensemble des Žtats Une partition de l'ensemble des Žtats est un ensemble formŽ de sous ensembles de l'ensemble des Žtats tel que chaque Žtat appartienne ˆ un sous ensemble et ˆ un seul. La partition formŽe d'un seul ŽlŽment (c'est ˆ dire regroupant la totalitŽ des Žtats s'appelle la partition unitŽ. La partition comportant autant d'ŽlŽments qu'il y a d'Žtats (chaque ŽlŽment ne contenant qu'un seul Žtat) s'appelle la partition zŽro. Le produit de deux partitions est une partition composŽe des intersections de chacun des ŽlŽments de la premi•re partition avec chacun des ŽlŽments de la seconde. Exemple : {{1,3},{2,4,5},{6,7}} ¥ {{1,2,4},{3,5,6,7}} = {{1},{3},{2,4},{5},{6,7}} Soient y1Éyk les variables qui codent les 2 n Žtats dÕun circuit donnŽÉ o yi induit une partition Qi ˆ 2 ŽlŽments Qi0 et Qi1 ou * Qi0 = { y1,É, yi-1, 0, yi+1,É, yn } * Qi1 = { y1,É, yi-1, 1, yi+1,É, yn } o yi et yj induisent une partition P ˆ 4 ŽlŽments P00 , P01 , P 10 , P 11 o• PklÊ=Ê{Êy 1 ,É, yi-1, k, yi+1,É, yj-1, l, yj+1,É, yn } On a PklÊ=ÊQik Ç Qjl et donc P = Qi ¥ Qj. o De fa•on gŽnŽrale, yi1,É, yip induisent une partition P ˆ 2p ŽlŽments telle que P = Qi1¥É¥Qip. R e m a r q u e : Chaque ŽlŽment de la partition P est identifiŽ par une combinaison yi1, É, yip. Page 5.20 Jacques Guizol & Christian Aperghis 5.3.3.2. Simplification des Žquations dÕŽtat Soient : ¥ y1 , É, yn les variables qui codent les Žtats. ¥ Y1 ,É, Y n les valeurs des variables y1 ,É, yn au temps suivant. ¥ E1 ,É, Ep les diffŽrentes combinaisons d'entrŽe. De mani•re gŽnŽrale, Yi= Fi(y1,É, yn, E1 ,É, Ep). p Plus prŽcisŽment, Yi = æ ö å çè å Cilk .E k ÷ø k =1 o• chaque C ilk reprŽsente une combinai- l son des y1 ,É, yn qui code un Žtat dont le successeur pour l'entrŽe Ek est codŽ par une combinaison des Y1,É, Y n telle que Yi = 1. Par exemple, la figure 5.3.13 reprŽsente une partie dÕun tableau des phases. Etat PrŽsent 00 01 11 10 Etat Suivant ( ) Y1 = C111 + C121 .E 1 +¼ avec E1 01 10 10 00 C111 = y 1 y 2 et C121 = y 1 y 2 2 Y2 = C11 .E 1 +¼ avec 2 C11 = y1 y 2 Figure 5.3.13 : Exemple Yi est Žgal ˆ une fonction qui dŽpend strictement de yj s'il existe une entrŽe Ek pour laquelle : ¶ Il existe un C ilk Žgal ˆ z 1 ,É, zj,É, zn ; · tous les autres C ilk sont diffŽrents de z 1 ,¼z j ,¼, z n avec z h = y h ou z h = y h . ìï¥ÊsoitÊ å C í¥ÊsoitÊ å C ï¥ÊsoitÊ å C î i lk =1 i lk = yi i lk = yi l Si " k on a l alors Yi = F(y i , E 1 ,..., E p ) l Etats Suivants Etat PrŽsent . . . . . . 0. . . . . . ......0...... Qi1 Qi0 ......0...... ......1...... ...... ......1...... ......0...... ...... Qi1 ......1...... ......1...... ......1...... ...... Qi0 Ek3 ...... ...... Qi1 ......1...... ...... . . . . . . 0. . . . . . Q . . . . . . 1 . . . . . . i1 Ek2 ...... ...... Qi0 Ek1 . . . . . . 1. . . . . . ......1...... ......1...... ......0...... y1ÉÉyiÉÉyn Y1ÉÉYiÉÉYn Y1ÉÉYiÉÉYn Y1ÉÉYiÉÉYn a b c Figure 5.3.14 : Cas o• Y i = F(y i , Ei, ..., Ep) Logique SŽquentielle Synchrone Page 5.21 En dÕautres termes, pour toute entrŽe Ek, on a : ¥ soit tous les Žtats ont comme successeurs des Žtats de Qi1 (figure 5.3.14 a) ; ¥ soit tous les Žtats de Qi0 et eux seuls, ont comme successeurs des Žtats de Qi0 (figure 5.3.14 b) ; ¥ soit tous les Žtats de Qi0 et eux seuls, ont comme successeurs des Žtats de Qi1 (figure 5.3.14 c) ; Ainsi, on aura Yi = F(y i , E 1 ,..., E p ) si pour chaque Ek les Žtats suivants dÕune classe de la partition Qi se trouvent tous dans une m•me classe. La partition Qi poss•de alors la propriŽtŽ de substitution. DŽ f init io n : Une partition de lÕensemble des Žtats est u n e pa rt it io n ˆ pr o priŽ t Ž de s u bs t it u t io n ( P P S) si tous les Žtats figurant dans une classe ont pour successeurs, po u r c h ac u n e de s c o mbinais o ns dÕentrŽe, des Žtats situŽs t o u s dans une m•me classe. ThŽor•me : Pour yi1,..., yin , si P = Qi1,..., Qim est une P.P.S. alors : ÊÊYi1Ê=ÊFi1(yi1,...,Êyim ,Ê...,ÊE 1 ,Ê...,ÊE p );ÊÊ ÊÊ----------------------------------------;ÊÊ ÊÊY im Ê=ÊFi m (ÊÊy i1,...,Êyim ,Ê...,ÊE 1 ,Ê...,ÊE p )ÊÊÊ DŽmonstration : Supposons quÕil existe i h tel que Yi h dŽpende strictement, pour une entrŽe Ek , i i dÕun yj Ï {y i1, ..., yi m }. Soit le C lkh = z 1 ... z j ... z n tel que tous les autres C lkh soient diffŽrents de z 1 ... z j ... z n o• z t = y t ou y t . On a z 1 ... z j ... z n et z 1 ... z j ... z n qui appartiennent ˆ une m•me classe de P, alors que Succ Ek( z 1 ... z j ... z n ) et Succ Ek( z 1 ... z j ... z n ) appartiennent ˆ deux classes diffŽrentes de P car : SuccEk( z 1 ... z j ... z n )Ê=Êr1 ...yih ...rnÊ et SuccEk( z 1 ... z j ... z n )Ê=Ê s1 ... y ih ...s n Donc P nÕest pas une Partition ˆ PropriŽtŽ de Substitution Si nous reprenons lÕexemple du gŽnŽrateur de paritŽ (figure 5.3.15) Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 6 7 2 4 5 6 7 1 1 3 5 4 7 6 1 1 00 00 00 00 00 10 01 00 00 00 00 00 01 10 Figure 5.3.15 : Reproduction de la figure 5.3.2 Page 5,22 Appelons x le bloc {1}, y le bloc {2,3}, z le bloc {4,5} et w le bloc {6,7}. Avec le bloc y, on vŽrifie que pour une entrŽe ˆ 0, le successeur de 2 est 4 alors que celui de 3 est 5. 2 et 3 forment un bloc ; 4 et 5 forment un bloc ; le successeur de tout Žtat du bloc y lorsque l'en trŽe passe ˆ 0 se trouve dans le bloc z. Par un raisonnement analogue, on constate que pour une entrŽe ˆ 1, le succes seur de tout Žtat du bloc y est dans z. Donc, P = { {1} {2,3} {4,5} {6,7} } est une PPS. Jacques Guizol & Christian Aperghis Sur les trois variables nŽcessaires pour coder les Žtats du circuit, deux peuvent •tre utilisŽes pour induire le codage de la partition P. Si nous choisissons A et B, on aura alors P = QA . Q B et donc les comman des des bascules associŽes ˆ A et B ne dŽpendent que de A, de B et des entrŽes. Il est alors possible de procŽder ˆ une attribution des variables (figure 5.3.16) Partition {1} x A BC 00* 010 011 111 110 100 101 AB 00 {2,3} y 01 {4,5} z 11 {6,7} w 10 Etats 1 2 3 4 5 6 7 Figure 5.3.16 : Attribution des variables induisant une partition. Qui nous donne la matrice des Žtats de la figure 5.3.17 : Etat Suivant Etat PrŽsent ABC 00010 011 111 110 100 101 E=0 Sortie E=1 E=0 E=1 ABC ABC S1 S2 S1 S 2 010 011 00 00 111 110 00 00 110 111 00 00 100 101 00 00 101 100 00 00 0000- 10 01 0000- 01 10 Figure 5.3.17 : Matrice des Žtats prenant en compte la PPS DÕo• les Žquations dÕŽtats pour une rŽalisation ˆ partir de bascules RS : SA = B RA = B SB = A RB = A S C = BE + BCE R C = CE Et les Žquations pour les variables de sortie : S1 = A BCE + A BCE S 2 = A BCE + A BCE Il est facile de constater la simplification considŽrable des Žquations dÕŽtats quÕapporte la mŽthode. Un examen attentif du tableau dÕŽquivalence de la figure 5.3.16 explique le phŽnom•ne, Dans chacune des lignes de cette table, les deux premiers bits de lÕŽtat suivant dŽpendent exclusivement des deux premiers bits de lÕŽtat prŽsent. Ceci a pour consŽquence de ne faire dŽpendre les entrŽes des Logique SŽquentielle Synchrone Page 5.23 bascules A et B que des sorties de ces m•mes bascules. Les fonctions correspondantes seront en dŽfinitive des fonctions de deux variables au lieu dÕ•tre des fonctions de quatre variables. 5.3.3.3. Recherche des PPS. La recherche des PPS pour une matrice des phases donnŽe ne peut sÕeffectuer que de mani•re exhaustive. Pour chaque paire dÕŽtats {Ei,Ej} : ¶ {Ei,Ej} forme une classe. · Pour chaque classe, on produit les classes dÕŽtats successeurs : Si Q = { Ei 1,..., Ei p } est une classe, chaque entrŽe ek dŽtermine une classe dÕŽtats successeurs QSek = { Succek(Ei1), ..., Succek(Eip) }. ¸ Fusionner les classes qui ont un ŽlŽment en commun. ¹ SÕil nÕy a plus quÕune classe qui contienne tous les Žtats ( partition unitŽ) ou si au moins une classe contient des Žtats incompatibles, alors il y a Žchec dans la recherche de PPS ; Ei et Ej sont incompatibles. sinon sÕil existe des Žtats qui ne sont dans aucune base, aller en · sinon, on a alors une partition. On vŽrifie quÕelle poss•de la propriŽtŽ de substitution. Si ce nÕest pas le cas, Ei et Ej sont incompatibles. Nous allons appliquer la mŽthode sur le tableau des phases de la figure 5.3.15. + Initialisons la recherche avec le bloc {1-2}. Lorsque lÕentrŽe prend la valeur 0, les successeurs de 1 et de 2 sont 2 et 4. D'apr•s la dŽfinition, 2 et 4 doivent se trouver dans le m•me bloc, 2 faisant dŽjˆ partie d'un bloc, 4 doit impŽrativement faire partie du m•me bloc pour que la propriŽtŽ de substitution soit vŽrifiŽe. Nous crŽons donc le bloc {1-2-4} Par ailleurs, lorsque l'entrŽe prend la valeur 1, les successeurs de 1 et 2 sont 3 et 5 qui doivent former un nouveau bloc, ce qui nous donne {1-2-4} , {3-5} E.P. 1 2 3 4 5 6 7 E.S. 0 2 4 5 6 7 1 1 1 3 5 4 7 6 1 1 Classe PrŽsente Classe Suivante E=0 E=1 {1,2} {2,4} {3,5} {1,2,4} {2,4,6} {3,5,7} {3,5} {5,7} {4,6} {1,2,4,6} {3,5,7} {2,4,6,1} {3,5,7,1} {5,7,1} {4,6,1} {1,2,3,4,5,6,7} Echec : Partition UnitŽ Figure 5.3.18 : Recherche dÕune PPS avec initialisation {1,2} Si nous considŽrons maintenant les successeurs de 3 et de 5 , nous trouvons pour une entrŽe de valeur 0, les Žtats 5 et 7 ce qui revient ˆ crŽer le bloc {3-5-7} puisque {3-5} Ç {5-7} ¹Ê¯. Ce qui nous donne {1-2-4} , {3-5-7} Pour une entrŽe de valeur 1, les Žtats 3 et 5 ont pour successeurs 4 et 6 dÕo• crŽation dÕun nouveau bloc {1-2-4-6} , {3-5-7}. Page 5,24 Jacques Guizol & Christian Aperghis Finalement, lÕexamen des successeurs de 5 et 7 pour une entrŽe de valeur 0, soit 7 et 1, conduit ˆ la partition unitŽ {1-2-3-4-5-6-7} La tentative de crŽer une PPS en partant du bloc {1-2} se solde par un Žchec. + Nouvel essai ˆ partir du bloc {1-3}. v e = 0 â {{1-3} , {2-5}} v e = 1 â {{1-3-4} , {2-5}} 3 et 4 dans le premier bloc donnent : v e = 0 â {{1-3-4} , {2-5-6}} v e = 1 â {{1-3-4-7} , {2-5-6}} 4 et 7 dans le premier bloc conduisent ˆ : v e = 0 â {1-2-3-4-5-6-7}. Echec Classe PrŽsente Classe Suivante E=0 E=1 {1,3} {2,5} {3,4} {1,3,4} {2,5,6} {3,4,7} {2,5} {4,7} {5,6} {1,3,4,7} {2,5,6,1} {2,5,6} Echec : 1 et 2 ne peuvent appartenir ˆ une m•me classe Figure 5.3.19 : Recherche PPS avec init {1,3} Nouvelle tentative ˆ partir de {1-4} v e = 0 â {{1-4} , {2-6}} v e = 1 â {{1-4} , {2-6} , {3-7}} Avec le bloc 2-6 v e = 0 â {{1-4} , {2-6} , {3-7}} v e = 1 â {{1-4-5} , {2-6} , {3-7}} Avec le bloc 3-7 v e = 0 â {{1-4-5} , {2-6} , {3-7}} v e = 1 â {{1-4-5} , {2-6} , {3-7}} Avec le couple 1-4 v e = 0 â {{1-4-5} , {2-6-3-7}} v e = 1 â {{1-4-5} , {2-6-3-7}} Avec le couple 2-7 v e = 0 â {{1-4-5} , {2-6-3-7}} v e = 1 â {{1-4-5} , {2-6-3-7}} Classe Suivante Classe PrŽsente E=0 E=1 {1,4} {2,6} {3,7} {1,4} {2,6} {3,7} {2,6} {1,4} {1,5} {3,7} {1,5} {1,4} {1,4,5} {2,6,7} {3,6,7} {2,6} {1,4} {1,5} {3,7} {1,5} {1,4} {1,4,5} {2,3,6,7} {2,3,6,7} {2,3,6,7} {1,4,5} {1,4,5} Figure 5.3.20 : Recherche PPS avec init {1,4} Toutes les possibilitŽs ont ŽtŽ explorŽes, la partition que nous venons de mettre en Žvidence est une PPS comportant donc 2 classes : XÊ=Ê{1-4-5}ÊetÊYÊ=Ê{2-6-3-7} Notons au passage que cette PPS n'est pas unique. Nous avons vu prŽcŽdemment (¤ 5.3.3.2) que {{2-3} , {4-5} , {6-7} , {1}} est aussi une PPS pour le circuit ŽtudiŽ. 5.3.3.4. Les Žquations de sortie. Nous avons jusquÕici ŽtudiŽ plus particuli•rement lÕassignation des variables auxiliaires conduisant au circuit combinatoire le plus simple pour ce qui est de la commande des successions dÕŽtats en ignorant le circuit combinatoire qui doit au bout du compte gŽnŽrer les diffŽrentes sorties du syst•me sŽquentiel. De fait, cette partie du circuit est gŽnŽralement moins complexe que celle relative aux changements dÕŽtats. Il nÕen demeure pas moins que la simplification de la logique de sortie contribue ˆ diminuer le cožt gŽnŽral de rŽalisation du circuit. Logique SŽquentielle Synchrone Page 5.25 Le probl•me posŽ est identique ˆ celui que nous venons de voir, ˆ savoir lÕattribution des variables auxiliaires aux diffŽrents Žtats car, d•s lors, la structure du circuit logique de sortie est enti•rement fixŽe. La mŽthode des partitions ˆ propriŽtŽs de substitution laisse toutefois certains degrŽs de libertŽ dans le choix de lÕattribution des variables auxiliaires permettant une optimisation de la logique de sortie. q classes (q < p) alors q Si lÕon doit coder 2 p Žtats et si lÕon a une PPS ˆ 2 q classes et les p-q variables auxiliaires seront utilisŽes pour coder les 2 variables auxiliaires restantes seront utilisŽes librement pour identifier chaque Žtat. Ce facteur de libertŽ va nous permettre de procŽder ˆ une simplification des sorties. Une partition est une Partition de Groupement de Sorties (PGS) si tous les Žtats dÕune classe correspondent ˆ une m•me sortie ou ˆ des sorties non contradictoires. Remarques : Une PGS ne peut en aucun cas •tre une PPS, cela signifierait que la matrice des phases nÕest pas simplifiŽe. Les sorties ne dŽpendent que des entrŽes et des variables auxiliaires utilisŽes pour coder les classes de la PGS. Un circuit sera compl•tement simplifiŽ si on trouve une PPS et une PGS compatibles. Soit par exemple la matrice des phases de la figure 5.3.21 dans laquelle il est aisŽ de dŽterminer la PPS {{1-2} , {3-4}} Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 2 1 4 3 4 3 1 2 1 0 0 1 0 1 1 0 PPS = {{1,2},{3,4}} FigureÊÊ4.3.21Ê:ÊMatriceÊdeÊphasesÊdeÊdŽpart. La figure 5.3.21 montre quÕune mauvaise attribution des variables (a), conduit ˆ la matrice codŽe (b). Etat PrŽsent AB 00 01 10 11 1 2 3 4 AB 00 01 10 11 a Etat Suivant E=0 E=1 AB AB 01 11 00 10 11 00 10 01 Sortie E=0 E=1 S 1 0 0 1 S 0 1 1 0 b Figure 5.3.21 : Exemple de mauvaise attribution des variables. DÕo•, les Žquations suivantes, si on dŽcide dÕutiliser des bascules T pour la rŽalisation finale : TA = e TB = e + A S = A Be + ABe + ABe + A Be Page 5,26 Jacques Guizol & Christian Aperghis Une bonne attribution consisterait ˆ mettre en Žvidence le fait que les sorties des Žtats 1 et 4 et des Žtats 2 et 3 peuvent •tre regroupŽes pour former une PGS {{1-4} , {2-3}} . Ceci nous permet de procŽder ˆ une attribution des variables auxiliaires mieux adaptŽe (figure 5.3.22). AB 00 01 11 10 1 2 3 4 Etat PrŽsent AB 00 01 11 10 a Etat Suivant E=0 E=1 AB AB 01 10 00 11 10 00 11 01 Sortie E=0 E=1 S 1 0 0 1 S 0 1 1 0 b Figure 5.3.22 : Attribution des variables tenant compte de la PGS. Ce rŽsultat est obtenu en utilisant la variable A pour distinguer les deux blocs de la PGS ({1,4} et {2,3}), et la variable B pour distinguer les deux blocs de la PPS ({1,2} et {3,4}). Cette attribution nous permet dÕaboutir ˆ la matrice de la figure 5.3.22 et la rŽalisation au moyen de bascules T nous am•ne aux Žquations suivantes : TA = e TB = e + A o• la sortie S ne dŽpend pas de A. S = Be + Be 5.4. DŽcomposition fonctionnelle et partitions. 5.4.1 DŽcomposition ˆ lÕaide de PPS Donnons (ou rappelons) tout dÕabord quelques dŽfinitions : DŽ f init io n 1 : La partition triviale ne comportant quÕun seul bloc regroupant tous les Žtats est appelŽe partition unitŽ. DŽfinition 2 : DŽfinition 3 La partition triviale comportant autant de blocs que ce quÕil y a dÕŽtats (un Žtat par bloc) est appelŽe p a rt it io n zŽ ro . : Le produit de deux partitions est la partition obtenue en prenant les intersections de chacun des blocs de la premi•re partition avec chacun des blocs de la seconde. Exemple : {{1, 3}, {2, 4, 5}, {6, 7}} . {{1, 2, 4}, {3, 5, 6, 7}} = {{1}, {3}, {2, 4}, {5}, {6, 7}} DŽ f init io n 4 : Deux partitions sont o rt h o g o n a le s si leur produit donne la partition zŽro. Dans lÕexemple ci-dessus, on peut vŽrifier que PPS et PGS sont orthogonales. 5.4.1.1. DŽcomposition en cascade. ThŽor•me : L'existence d'une PPS sur l'ensemble des Žtats d'un syst•me sŽquentiel autorise la dŽcomposition de ce syst•me en deux sous-syst•mes placŽs en cascade. Le premier de ces sous-syst•mes dŽfini par la PPS n'est fonction que des variables d'entrŽe, le second, dŽfini par une partition orthogonale ˆ la PPS, est fonction des variables d'entrŽe et de l'Žtat dans lequel se trouve le premier sous-syst•me. La figure 5.4.1. donne le schŽma de principe dÕune telle dŽcomposition. Logique SŽquentielle Synchrone Page 5.27 EntrŽe Sortie Machine 1 Machine 2 B B Horloge Figure 5.4.1 : SchŽma de principe dÕune dŽcomposition cascadŽe Nous allons sur lÕexemple de la figure 5.4.2, montrer comment on peut dŽcom poser le syst•me sŽquentiel et dŽfinir la succession des Žtats pour chacun des sous-syst•mes composants. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 6 7 5 7 3 6 1 4 2 4 1 6 3 7 5 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 Figure 5.4.2 : Matrice des phases dÕun circuit ˆ cascader. La matrice des phases reprŽsentŽe admet une PPS {{1-3-5} , {2-4-6-7}}. ConsidŽrons un premier sous-syst•me M1 ˆ deux Žtats, chacun correspondant ˆ un des deux Žtats de la PPS : Etat Suivant Etat PrŽsent E=0 E=1 J K J K K J ïìJÊ=Ê{1-3-5} ï avec í ïÊÊÊÊÊet ïîKÊ=Ê{2-4-6-7} Figure 5.4.3 : Matrice dÕŽtats du sous-syst•me M1. Il est alors indispensable pour rŽaliser la machine M 2 de crŽer une nouvelle partition qui soit orthogonale ˆ la PPS, par exemple {{1-6} , {4-5} , {2-3} ,{ 7}} Cette partition qui nÕest pas une PPS, permet de dŽfinir un second sous-syst•me ˆ 4 Žtats (P, Q, R, S). Elle se doit dÕ•tre orthogonale ˆ la prŽcŽdente afin que leur produit mettre en Žvidence la partition zŽro, la seule qui isole les Žtats. Ainsi toute paire formŽe par un Žtat de M 1 et un Žtat de M2 correspond ˆ un Žtat de M et ˆ un seul, un des Žtats de la matrice des phases rŽduite de dŽpart. La machine M2, sera pilotŽe par la machine M1. Ses variables d'entrŽe seront les variables d'entrŽe de M (dans le cas qui nous intŽresse, une seule entrŽe E), et Page 5,28 Jacques Guizol & Christian Aperghis les variables reprŽsentatives de l'Žtat de la machine M 1 , selon le tableau de la figure 5.4.4. Etat Suivant Etat PrŽsent P Q R S E=0 E=1 J K J K Q P R - Q P S R Q S P - Q R P P avec ìÊÊPÊ=Ê{1-6} ïÊÊQÊ=Ê{4,5} íÊÊRÊ=Ê{2-3} ï îÊÊSÊ=Ê{7} Figure 5.4.4 : Table des Žtats de M2 en fonction des entrŽes et des Žtats de M1 Comment avons nous procŽdŽ pour la construction de ce tableau ? est Soit ˆ dŽterminer le successeur de lÕŽtat P dans le cas ou la machine M1 dans lÕŽtat J et que lÕentrŽe prend la valeur 0. ¶ Si la machine M1 est dans lÕŽtat J et que la machine M 2 est dans lÕŽtat P, cela signifie que lÕŽtat Žquivalent de la machine M correspond ˆ lÕintersection des classes J et P, soit 1. · On voit sur le tableau des phases de la figure 5.4.2 que le successeur de lÕŽtat 1 lorsque lÕentrŽe prend la valeur 0 est lÕŽtat 5. ¸ On constate par ailleurs sur la matrice des phases de la machine M 1 le successeur de lÕŽtat J lorsque lÕentrŽe prend la valeur 0 est J. ¹ La machine M2 doit donc dans ces conditions passer dans un Žtat X tel que X Ç J = 5 soit X = Q . Ces opŽrations sont ˆ renouveler pour chacune des cases de la matrice reprŽsentative de la machine M 2 . La matrice des sorties est reprŽsentŽe en figure 5.4.5. Etat Suivant Etat PrŽsent P Q R S E=0 E=1 J K J K 0 0 0 - 0 0 0 1 1 1 1 - 0 0 0 0 Figure 5.4.5 : Matrice des sorties du syst•me La construction de ce tableau obŽit aux r•gles suivantes : Soit ˆ dŽterminer lÕŽtat de la sortie dans le cas o• la machine M1 est dans lÕŽtat J, la machine M2 est dans lÕŽtat P alors que lÕentrŽe prend la valeur 0. ¶ Si la machine M1 est dans lÕŽtat J et que la machine M 2 est dans lÕŽtat P, cela signifie que lÕŽtat Žquivalent de la machine M correspond ˆ lÕintersection des classes J et P, soit 1. · On voit sur le tableau des phases de la figure 5.4.2 que lorsque la machine M est dans lÕŽtat 1, la transition associŽe ˆ une entrŽe de valeur 0, gŽn•re une sortie ˆ 0. Logique SŽquentielle Synchrone Page 5.29 Ces opŽrations sont ˆ renouveler pour chacune des cases de la matrice de sortie reprŽsentative de la machine M 2 . En conclusion, lÕŽtablissement de ces tables nÕoffre pas de difficultŽ particuli•re. En effet, toute partition dŽfinit une relation dÕŽquivalence, ce qui signifie que les Žtats dÕun m•me bloc sont Žquivalents entre eux et que les tables des figures 5.4.3 et 5.4.4 sont relatifs aux classes dÕŽquivalence. Nous terminons par la rŽalisation qui sera basŽe sur lÕutilisation de bascules T. La figure 5.4.6 montre lÕŽtude de la machine M1 . E Etat Suivant Etat PrŽsent E=0 E=1 A 0 1 A 0 1 A 1 0 0ÊÊÊ Ê1 A 0 1 1 1 TA = E Figure 5.4.6 : RŽalisation de la Machine M 1 en utilisant des bascules T La figure 5.4.7 reprŽsente la rŽalisation de la partie Žtat de la machine M2 en fonction des entrŽes (E) de lÕŽtat de M 1 (A) et de lÕŽtat prŽcŽdent de M2 (B et C). EA Etat Suivant Etat PrŽsent E=0 BC E=1 A=0 A=1 A=0 A=1 BC BC BC BC BC 00 01 11 10 01 00 11 - 01 00 10 11 01 10 00 00 01 11 00 - EA 00 01 11 10 BC 00 00 1 1 1 1 01 1 1 01 11 1 1 11 - 1 10 10 - 00 01 11 10 TB = EC+EAB - 1 1 1 1 1 1 - 1 Tc = BC+BA+EA+ABC Figure 5.4.7 : RŽalisation de la partie Žtat de la machine M2. Enfin, il ne reste plus quÕˆ rŽaliser la fonction produisant la sortie de M, cÕest ˆ dire la sortie de M2 en fonction des entrŽes et des Žtats des 2 machines.. EA Etat Suivant Etat PrŽsent P Q R S E=0 BC E=1 J K J K 0 0 0 - 0 0 0 1 1 1 1 - 0 0 0 0 00 01 11 10 00 1 01 1 11 1 10 - 1 - S = EBC+EA Figure 5.4.8 : RŽalisation de la sortie de M2. Page 5,30 Jacques Guizol & Christian Aperghis 5.4.1.2. DŽcomposition en parall•le. L'existence de deux PPS orthogonales entre elles dans l'ensemble des Žtats d'un syst•me sŽquentiel entra”ne l'existence d'une dŽcomposition en deux sous syst•mes placŽs parall•lement l'un ˆ l'autre, l'Žtat de chacun des sous-syst•mes n'Žtant fonction que des variables d'entrŽe de la machine initiale. Le schŽma gŽnŽral d'une telle machine est reprŽsentŽ en figure 5.4.9. ire to C om bi B Sortie na ÊÊ C irc ui t Machine 1 EntrŽe Machine 2 B Horloge Figure 5.4.9 : SchŽma de principe dÕune dŽcomposition en parall•le. Soit par exemple le syst•me sŽquentiel dŽfini par la matrice des phases de la figure 5.4.10. Etat Suivant Etat PrŽsent E=0 E=1 1 2 3 4 5 6 4 6 5 2 1 3 3 3 2 5 4 4 Sortie 0 0 0 1 0 0 Figure 5.4.10 : Matrice des phases Il est aisŽ de vŽrifier qu'il existe une premi•re PPS {{1-2-3} , {4-5-6}} et une deuxi•me PPS {{1-6} , {2-5} , {3-4}} . De plus, ces deux PPS prŽsentent la particularitŽ d'•tre orthogonales entre elles. Soient les blocs Logique SŽquentielle Synchrone ìïÊÊÊÊââÊÊÊJÊ=Ê{1-2-3} ÊÊÊKÊ=Ê{4-5-6} íÊÊâÊÊÊPÊ=Ê{1-6} ïîÊÊâÊÊÊQÊ=Ê{Ê2-5} ÊÊâ ÊÊÊRÊ=Ê{Ê3-4} IlsÊdŽfinissentÊdeuxÊmachines parall•lesÊM1ÊetÊM2Ê queÊnous ÊÊÊÊ pouvonsÊreprŽsenterÊparÊleurs tableauxÊdesÊphasesÊ(fig.Ê4.4.11) Page 5.31 ine ch Ma eM1 M in ach Etat Etat Suivant PrŽsent E=0 E=1 J K K J J K M2 Etat Suivant Etat PrŽsent E=0 E=1 P Q R R P Q R R Q Figure 5.4.11 : Tables des phases des 2 machines dŽterminŽes par les PPS Le mode de construction de ces tables ne diff•re en rien de ce qui a ŽtŽ vu jusquÕˆ prŽsent. Ainsi, par exemple, sur la ligne Q pour la colonne E = 1, on porte la rŽfŽrence du bloc R car tous les successeurs de P lorsque l'entrŽe prend la valeur 1 se trouvent dans le bloc en question. LÕattribution des variables auxiliaires peut se faire comme suit : Machine M1 : â Etat J -> A = 0 â Etat K -> A = 1 Machine M2 : â Etat P -> B = 0, C = 0 â Etat Q -> B = 0, C = 1 â Etat R -> B = 1, C = 1 Ce qui nous donne les matrices codŽes de la figure 5.4.12. M2 ine h c Etat Ma eM1 in ch Etat Ma Etat Suivant PrŽsent E=0 E=1 A 0 1 A 1 0 A 0 1 . Etat Suivant PrŽsent E=0 E=1 BC 00 01 11 BC 11 00 01 BC 11 11 01 Figure 5.4.12 : Affectation des valeurs des variables Et une rŽalisation au moyen de bascules T conduit aux Žquations dÕŽtats suivantes : TA = E TB = E + B + C TC = EB + C Pour ce qui est de la sortie, il suffit de mettre en application ce qui a ŽtŽ dit au sujet des partitions orthogonales, ˆ savoir que le produit de deux partitions orthogonales donne la partition unitŽ. Ainsi, un bloc de la machine M1 et un bloc de la machine M 2 dŽfinissent un Žtat et un seul, ce quÕil est facile de reprŽsenter (figure 5.4.13). M1 M2 J K P 1 6 Q 2 5 R 3 4 A BC 0 1 00 0 0 01 11 0 0 0 1 10 - Figure 5.4.13 : Table de correspondance des Žtats de M avec ceux de M 1/M2 et matrice de sortie Page 5,32 Jacques Guizol & Christian Aperghis Ce qui conduit ˆ lÕŽquation de sortie S = AB. DÕo• le circuit final de la figure 5.4.14. M1 E TA S TB TC M2 Figure 5.4.14 : RŽalisation du circuit selon le schŽma de la figure 5.4.9. 5.5. DŽcomposition en lÕabsence de PPS. Nous avons vu jusqu'ˆ prŽsent que l'existence d'une PPS entra”nait la possibilitŽ d'une dŽcomposition fonctionnelle. Toutefois la probabilitŽ de mettre en Žvidence une PPS sur un tableau des phases pris au hasard est extr•mement faible, d'o• lÕintŽr•t de mŽthodes de dŽcomposition applicables en lÕabsence de PPS. Lorsque le sous-syst•me, dont l'Žtat ne dŽpend que des variables d'entrŽe, est donnŽ par avance (utilisation de circuits intŽgrŽs standards) cette procŽdure rŽv•le tout son intŽr•t. 5.5.1. Le circuit imposŽ est un registre ˆ dŽcalage. Un registre ˆ dŽcalage est un dispositif simple et peu cožteux reprŽsentŽ en figure 5.5.1 Xe Xn X3 X2 X1 Xs Figure 5.5.1 : ReprŽsentation gŽnŽrale dÕun registre ˆ dŽcalage. A un instant donnŽ, une information Xe entre dans le registre, en s'inscrivant dans la position Xn cette information chasse l'ancien contenu de X n en X n-1 et ainsi de suite jusqu'en X 1 qui est perdu. En quelque sorte, un registre ˆ dŽcalage permet de mŽmoriser lÕŽvŽnement actuel et les n-1 ŽvŽnements qui ont prŽcŽdŽ. Ainsi, lorsque la sortie dŽpend d'un nombre fini de symboles d'entrŽe successifs, mŽmoriser ce nombre de symboles permet de rŽduire le circuit sŽquentiel et Žventuellement de le ramener ˆ un simple syst•me combinatoire. Logique SŽquentielle Synchrone Page 5.33 Soit une machine qui dŽtecte la sŽquence 1, 1, 0, il est clair que le fait de conna”tre ˆ tout instant les deux valeurs prises par l'entrŽe aux instants n-1 et n-2 nous permet lorsque se prŽsente la valeur au temps n de dŽterminer l'Žtat de la sortie par une simple combinaison de ces trois valeurs (figure 5.5.2). Xn Xn-1 Xn-2 Sortie Figure 5.5.2 : Montage detecteur de sŽquence 110 avec registre ˆ dŽcalage. Ainsi, sÕil est possible de mettre en Žvidence une telle dŽcomposition sur un tableau des phases donnŽ, la rŽalisation du circuit correspondant en sera simplifiŽe. LÕarbre dÕambigu•tŽ va nous permettre dÕaboutir ˆ ce rŽsultat. Sa racine est formŽ de l'ensemble de tous les Žtats, et les diverses branches sont obtenues par partitionnements successifs en fonction de la variable d'entrŽe. Si, un nombre fini n de partitionnements conduit pour chaque feuille terminale un Žtat unique, alors le syst•me sŽquentiel se rŽalise en utilisant un registre ˆ dŽcalage de longueur n et un circuit combinatoire. Etudions cette dŽcomposition sur un circuit dont le tableau des phases est donnŽ figure 5.5.3. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 2 4 3 3 2 1 5 1 1 1 1 0 1 0 1 0 1 1 0 1 Figure 5.5.3 : Matrice des phases. A partir de lÕ'ensemble des Žtats {1,2,3,4,5}, on constate que l'ensemble des successeurs de cet ensemble pour E = 0 est {2,3,4}. En effet pour E = 0, â le successeur de 1 est 2 â le successeur de 2 est 4 â le successeur de 3 est 3 â le successeur de 4 est 3 â le successeur de 5 est 2 De la m•me fa•on, on dŽtermine les successeurs de lÕensemble {1,2,3,4,5} pour E = 1. Ceux-ci dŽfinissent lÕensemble {1,5}. En effet pour E = 1, Page 5,34 â le successeur de 1 est 1 â le successeur de 2 est 5 â le successeur de 3 est 1 â le successeur de 4 est 1 â le successeur de 5 est 1. Jacques Guizol & Christian Aperghis La racine de l'arbre {1,2,3,4,5} se scinde en deux branches (figure 5.5.5) {1,2,3,4,5} E=0 E=1 {2,3,4} {1,5} Figure 5.5.5 : Partitionnement de lÕensemble de dŽpart La construction de lÕarbre sÕach•ve lorsquÕon aboutit ˆ un noeud tel que : ¶ · ce noeud existe dŽjˆ parmi ses anc•tres ET tous les noeuds de m•me niveau que lui ont un nombre dÕŽtats infŽrieur ou Žgal au sien (figure 5.5.6). Le nombre minimal dÕŽtats du circuit sŽquentiel est exactement le nombre dÕŽtats du noeud qui a provoquŽ lÕarr•t. Le nombre dÕŽtage du registre ˆ dŽcalage sera Žgal au nombre de niveaux de lÕarbre. Si lÕon poursuivait la construction de lÕarbre, les niveaux suivants contiendraient soit des noeuds dont le nombre dÕŽtats est au plus Žgal au nombre dÕŽtats du noeud ayant provoquŽ lÕarr•t (par dŽfinition), soit au noeud lui m•me (car il est son propre anc•tre). {1,2,3,4,5} E=0 Niveau 1 E=1 {2,3,4} E=0 {1,5} E=1 {3,4} E=0 {3} E=0 {1,5} E=1 E=0 {1} {2} {2} E=1 E=0 {1} {4} Niveau 2 E=1 {1} E=1 {5} E=0 E=1 Niveau 3 {2} {1} Figure 5.5.6 : Arbre dÕambigŸitŽ total Dans notre exemple, lÕarbre se termine en 3 niveaux et chaque feuille terminale est reprŽsentative d'un et un seul Žtat de la machine. Le syst•me peut •tre rŽalisŽ en utilisant un registre ˆ dŽcalage de longueur 3 et un circuit combinatoire pour gŽnŽrer la sortie selon le schŽma de principe de la figure 5.5.7. E E3 E2 E1 Circuit Combinatoire Sortie Figure 5.5.7 : Principe de rŽalisation du syst•me dŽcrit par la MP fig. 5.5.3 Logique SŽquentielle Synchrone Page 5.35 Pour la rŽalisation, chaque feuille terminale de lÕarbre est dŽfinie par le chemin qui a permis dÕy aboutir (figure 5.5.8a). Ce qui nous permet de construire le diagramme de Karnaugh reprŽsentatif de l'Žtat de la sortie (figure 5.5.8b). 3 1 2 1 4 5 2 1 E1E2 E3E E1 E2 E3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 00 01 11 10 00 1 01 1 1 1 11 1 10 1 1 1 1 D'o• la fonction : S = E 1E2E3 + E2E3E + E1 E2 E3 + E3E Figure 5.5.8 : a)Configuration du registre ˆ dŽcalage pour chacun des Žtats b) Ecriture de la matrice de sortie en fonction de lÕentrŽe et du registre ˆ dŽcalage Si, par exemple, nous considŽrons lÕŽtat 1, la sortie prend la valeur 1 pour E = 0. LÕŽtat 1 est atteint selon 3 configurations du registre ˆ dŽcalage : 001, 011 et 111. Dans la matrice de sortie, nous trouverons donc un 1 en 0010, 0110 et 1110. On proc•de de m•me pour complŽter la matrice. Les circuits qui admettent une dŽcomposition aussi ŽlŽmentaire (registre ˆ dŽcalage + circuit combinatoire) sont extr•mement rares. Toutefois, une dŽcomposition de ce type conduit souvent ˆ une rŽalisation simplifiŽe demandant un registre ˆ dŽcalage suivi d'un circuit sŽquentiel. Ce type de dŽcomposition sera aussi mis en Žvidence par un arbre dÕambigu•tŽ, lequel sera construit, ainsi que nous l'avons dŽjˆ vu, jusqu'ˆ ce que les conditions dÕarr•t soient rencontrŽes. Soit un circuit gŽnŽrateur de bit dÕimparitŽ sur 4 bits, dŽfini par son tableau des phases (figure 5.5.9). Son arbre dÕambigu•tŽ est donnŽ dans la figure 5.5.10 Etat Suivant Etat PrŽsent E=0 E=1 1 2 3 4 5 6 7 2 4 5 6 7 1 1 3 5 4 7 6 1 1 Figure 5.5.9 : Matrice des phases Page 5.36 Jacques Guizol & Christian Aperghis {1,2,3,4,5,6,7} E=0 E=1 {1,2,4,5,6,7} E=0 {1,3,4,5,6,7} E=1 E=0 E=1 {1,2,4,6,7} {1,3,5,6,7} {1,2,5,6,7} {1,3,4,6,7} E=0 E=0 E=0 E=0 E=1 E=1 E=1 E=1 {1,2,4,6} {1,3,5,7} {1,2,5,7} {1,3,4,6} {1,2,4,7} {1,3,5,6} {1,2,5,6} {1,3,4,7} E=0 {1,2,4,6} Figure 5.5.10 : Table dÕambigu•tŽ du gŽnŽrateur de bit dÕimparitŽ. On constate que pour la feuille {1,2,4,6} le successeur lorsque E vaut 0 est {1,2,4,6}. L'arbre dÕambigu•tŽ se termine donc au niveau 3 car l'adjonction d'un niveau ne permet pas la levŽe d'une ambigu•tŽ supplŽmentaire. Par ailleurs, l'ensemble des feuilles comporte quatre Žtats. E E3 E2 E1 Circuit SŽquentiel Sortie Ainsi, le syst•me sŽquentiel sera rŽalisŽ en utilisant un registre ˆ dŽcalage ˆ trois Žtages et un circuit sŽquentiel ˆ quatre Žtats selon le schŽma de principe de la figure 5.5.11. Figure 5.5.11 : SchŽma de principe Si nous appelons P,Q,R,S les Žtats de ce circuit sŽquentiel, en suivant dans l'arborescence le chemin qui m•ne ˆ chaque ensemble, il est possible de dŽterminer en fonction de l'Žtat dans lequel se trouve la machine quel est la configuration de sortie qui doit appara”tre. La table d'attribution ou les Žtats P,Q,R,S auront ŽtŽ distribuŽs arbitrairement ˆ chacun des ensembles figurant sur les feuilles de l'arbre est indiquŽe en figure 5.5.12. E 1E2 E3 Žtats 000 001 010 011 100 101 110 111 P 1 1 1 1 1 1 1 1 Q 2 3 2 3 2 3 2 3 R 4 5 5 4 4 5 5 4 S 6 7 7 6 7 6 6 7 Figure 5.5.12 : Etats du circuits sŽquentiel en fonction du registre ˆ dŽcalage. Logique SŽquentielle Synchrone Page 5.37 Les tableaux des figures 5.5.9 et 5.5.12 permettent de dŽterminer le fonctionnement de la machine sŽquentielle M1 (figure 5.5.13) dont les Žtats P, Q, R et S dŽpendent des Žtats du registre ˆ dŽcalage et de lÕentrŽe. E.P Etat E=0 suivant E=1 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111 P Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q R R R R R R R R R R R R R R R R R S S S S S S S S S S S S S S S S S P P P P P P P P P P P P P P P P Figure 5.5.13 : Table des phases du circuit ayant pour Žtats P, Q, R et S. La construction de ce tableau obŽit aux r•gles dŽjˆ exposŽes pour la dŽcomposition fonctionnelle au moyen des PPS. Soit ˆ dŽterminer le successeur de lÕŽtat P dans le cas ou le registre ˆ dŽcalage contient la valeur 000 et que lÕentrŽe prend la valeur 1. Œ Si M1, le registre ˆ dŽcalage contient la valeur 000 et que la machine M2 est dans lÕŽtat P, cela signifie que lÕŽtat Žquivalent de la machine M correspond ˆ lÕintersection des classes 000 et P, soit, en fonction du tableau de la figure 5.5.12, lÕŽtat 1. • On voit sur le tableau des phases de la figure 5.5.9 que le successeur de lÕŽtat 1 lorsque lÕentrŽe prend la valeur 1 est lÕŽtat 3. Ž Par ailleurs, le registre contient la valeur 000 et lÕentrŽe qui se prŽsente est ˆ la valeur 1, au temps suivant cette valeur de lÕentrŽe sera prise en compte et le registre contiendra la valeur E3 E2 E1= 100. • La machine M2 doit donc dans ces conditions passer dans un Žtat X tel que X Ç 001 = 3, soit X = Q. (E1E2 E3= 001). Ces opŽrations sont ˆ renouveler pour chacune des cases de la matrice reprŽsentative de la machine M 2 . Dans ce cas particulier, on constate que toutes les colonnes sont identiques. Le circuit sŽquentiel obtenu M2, ne dŽpend donc pas des diverses entrŽes (sauf de lÕhorloge). Un tel circuit est qualifiŽ de circuit sŽquentiel autonome. Ici, il se rŽsume en fait ˆ un compteur modulo 4 dont le tableau des phases est reprŽsentŽ en figure 5.5.14. Etat PrŽsent Etat Suivant P Q R S Q R S P Figure 5.5.14 : Tableau des phases dÕun compteur modulo 4 Le gŽnŽrateur de bit de paritŽ se compose finalement d'un compteur modulo quatre associŽ ˆ un registre ˆ dŽcalage et d'un circuit combinatoire. DÕo• le schŽma de la figure 5.5.15. Page 5.38 Jacques Guizol & Christian Aperghis M M 1 : Registre ˆ DŽcalage E3 E E2 E1 Horloge Circuit Combinatoire M2 : Compteur modulo 4 Sortie Figure 5.5.15 : SchŽma de principe du gŽnŽrateur de paritŽ La rŽalisation de la machine M2 et la synth•se de la sortie ne prŽsentent aucune difficultŽ majeure. âÊPÊ®ÊAÊ=Ê0,ÊBÊ=0 âÊQÊ®ÊAÊ=Ê0,ÊBÊ=Ê1 âÊRÊ®ÊAÊ=Ê1,ÊBÊ=Ê1 âÊSÊ®ÊAÊ=Ê1,ÊBÊ=Ê0 Affectation des variables auxiliaires : Etat PrŽsent Etat Suivant AB AB 00 01 11 10 01 11 10 00 Figure 5.5.16 : Matrice des phases codŽe de la machine M 2 DŽtermination de lÕŽtat de la sortie (figure 5.5.17) en fonction des sorties (E1 E2 E3) de la machine M1 , le registre ˆ dŽcalage, des variables dÕŽtat de la machine M2 (A et B) et de lÕentrŽe de donnŽes (E). E1E2E3 000 001 010 011 100 101 110 111 EAB S1 S2 S1 S2 S1 S2 S1 S2 S1 S2 S1 S2 S1 S2 S1 S2 000 001 010 011 100 101 110 111 00 00 00 10 00 00 00 01 00 00 00 01 00 00 00 10 00 00 00 01 00 00 00 10 00 00 00 10 00 00 00 01 00 00 00 01 00 00 00 10 00 00 00 10 00 00 00 01 00 00 00 10 00 00 00 01 00 00 00 01 00 00 00 10 Figure 5.5.17 : Matrice des sorties de la machine compl•te. Logique SŽquentielle Synchrone Page 5.39 5.5.2. DŽcomposition avec une machine imposŽe. Il existe une autre possibilitŽ de dŽcomposition d'un circuit sŽquentiel, consistant ˆ utiliser un circuit existant, dŽfini par son tableau des phases. Soit ˆ rŽaliser la machine M dŽfinie par le tableau des phases de la figure 5.5.18a en utilisant la machine M1 dŽfinie par le tableau des phases de la figure 5.5.18b. Etat Suivant Sortie Etat PrŽsent E=0 E=1 E=0 E=1 1 2 3 4 5 6 2 3 5 2 4 5 6 3 4 3 1 1 0 0 0 0 0 0 0 1 0 1 0 1 Etat Suivant Etat PrŽsent E=0 E=1 J K L K L K L J J Figure 5.5.18 : a) Matrice des phases de M ; b) Matrice des phases de M 1 Le premier probl•me est bien Žvidemment de dŽterminer si une telle rŽalisation est possible, cÕest ˆ dire si lÕon peut mettre en Žvidence pour les deux machines des cycles compatibles. La procŽdure ˆ suivre pour parvenir ˆ cette dŽtermination est la suivante. On suppose qu'ˆ un instant donnŽ, les deux machines se trouvent dans un Žtat arbitrairement dŽsignŽ comme initial. Dans le cas qui nous intŽresse nous choisissons les Žtats 1 pour la machine M et J pour la machine M 1 . Cette Žquivalence d'Žtats sera notŽe 1-J. Dans ces conditions, pour E = 0 la machine M passe dans l'Žtat 2 alors que la machine M 1 passe dans l'Žtat K, soit l'Žquivalence 2-K. De m•me, pour E = 1 l'Žquivalence telle que nous venons de la dŽfinir sera 6-L. Nous aurons ainsi obtenu une premi•re ligne du tableau que nous dŽsirons construire (figure 5.5.19) Etat Suivant Etat PrŽsent E=0 E=1 1-J 2-K 2-K 3-L 6-L 3-J Figure 5.5.19 : Premi•res Žquivalences Les deux Žquivalences que nous venons de faire appara”tre vont permettre de poursuivre la construction du tableau, c'est ˆ dire de dŽterminer les successeurs de 2-K et de 6-L pour E = 0 et E = 1 (figure 5.5.20). Etat Suivant Etat PrŽsent E=0 E=1 1-J 2-K 6-L 3-L 2-K 3-L 5-K 5-K 6-L 3-J 1-J 4-J Figure 5.5.20 : Poursuite de l'extraction des Žquivalences. Les quatre nouvelles Žquivalences qui viennent dÕappara”tre doivent ˆ leur tour •tre ŽtudiŽes et ainsi de suite jusquÕˆ exploration compl•te de toutes les Žquivalences qui auront ŽtŽ mises en Žvidence. Au bout du compte, nous obtenons le tableau de la figure 5.5.21. Page 5.40 Jacques Guizol & Christian Aperghis . Etat Suivant Etat PrŽsent E=0 E=1 1-J 2-K 6-L 3-L 3-J 5-K 4-J 4-L 2-K 3-L 5-K 5-K 5-K 4-L 2-K 2-K 6-L 3-J 1-J 4-J 4-L 1-J 3-L 3-J Figure 5.5.21 : Table compl•te des Žquivalences. Cette table nous permet de constater que l'Žtat J est associŽ au bloc [1,3,4], que l'Žtat K est associŽ au bloc [2,5] et que l'Žtat L est associŽ au bloc [3,4,6]. En dŽfinitive, si 1 est l'Žtat initial de la machine M et que J est l'Žtat initial de la machine M 1 , en envoyant la m•me sŽquence de symboles sur les entrŽes de M et de M1 , il sera possible en observant l'Žtat de M de dŽduire l'Žtat de M1 , et inversement en observant l'Žtat de M1 de dŽterminer dans quel bloc se trouve la machine M. â â â Si M1 se trouve dans l'Žtat J, M se trouve dans l'un des Žtats 1, 3 ou 4. Si M1 se trouve dans l'Žtat K, M se trouve dans l'un des Žtats 2 ou 5. Si M1 se trouve dans l'Žtat L M se trouve dans l'un des Žtats 3, 4 ou 6. Le r™le de la machine M2, qui reste ˆ construire, sera de lever lÕambigu•tŽ et, comme chacun des blocs comporte un maximum de trois Žtats, le nombre d'Žtats de M2 sera Žgal ˆ trois. Appelons les P, Q, R. L'attribution de P, Q, R aux Žtats des diffŽrents blocs est parfaitement arbitraire, toutefois, on obtiendra un rŽsultat optimal en attribuant, autant que possible, un m•me Žtat de M2 ˆ un Žtat donnŽ de M (figure 5.5.21). Žtat M2 Žtat M1 Žtat M J 1,3,4 K 2,5 L 3,4,6 P Q R 1 3 4 2 5 6 3 4 Figure 5.5.21 : Correspondance entre les Žtat de M et ceux de M 1 et M2 M•me si la r•gle qui vient dÕ•tre ŽnoncŽe ne peut •tre respectŽe, il est Žvident que le choix d'un Žtat parmi J, K, L et d'un Žtat pris parmi P, Q, R dŽfinit sans aucune ambigu•tŽ un Žtat et un seul de M. Ce qui revient ˆ dire que la mise en cascade de la machine M1 imposŽe et de la machine M2 ˆ rŽaliser doit avoir un comportement identique ˆ celui de la machine d'origine M. Les deux machines M1 et M2 seront cascadŽes selon un schŽma classique que l'on a donnŽ en prŽcŽdemment (figure 5.4.1) LÕalgorithme de construction du tableau des phases de la machine M 2 a dŽjˆ ŽtŽ ŽvoquŽ. Si, par exemple, nous cherchons lÕŽtat suivant de Q pour une entrŽe E de valeur 0 alors que M1 est dans un Žtat L, on dŽtermine lÕŽtat prŽcŽdent de la machine M sur la table de la figure 5.5.21, au croisement de la ligne Q et de la Logique SŽquentielle Synchrone Page 5.41 colonne L, soit lÕŽtat 3. la table de la figure 5.5.18a permet dÕobtenir le successeur de 3 pour une entrŽe E=0, soit lÕŽtat 5. On revient alors sur la table 5.5.21 o• lÕon trouve cet Žtat 5 sur la ligne corresponadant ˆ lÕŽtat R de M2 . LÕŽtat suivant que lÕon recherchait pour M2 est donc R. En procŽdant ainsi pour chaque configuration, on obtient le rŽsultat indiquŽ en figure 5.5.22. Etat Suivant Etat PrŽsent P Q R E=0 J Q R Q K Q R E=1 L Q R Q J P R Q K Q P L P R Q Figure 5.5.22 : Matrice des phases de la machine M2 5.5.3. DŽcomposition fonctionnelle dans le cas gŽnŽral. Les syst•mes sŽquentiels pour lesquels une dŽcomposition en PPS est possible sont peu nombreux car les conditions ˆ remplir sont tr•s strictes et de ce fait rarement prŽsentes. Il est cependant possible de procŽder ˆ une dŽcomposition fonctionnelle, y compris en lÕabsence de PPS, en ayant recours ˆ l'utilisation d'un crit•re beaucoup moins restrictif que nous appellerons couverture avec propriŽtŽ de substitution, soit en abrŽgŽ CPS. D Ž f i n i t i o n 1 : Soit un ensemble formŽ par les Žtats d'un syst•me sŽquentiel, tout ensemble C formŽ par des sous ensembles de l'ensemble prŽcŽdent tel que chaque Žtat du syst•me sŽquentiel figure au moins une fois dans un des sous ensembles, est une c o u v e r t u r e du syst•me sŽquentiel. Soit un syst•me sŽquentiel ˆ six Žtats (1,2,3,4,5,6). L'ensemble C = [(1,3);(2,4,5);(4,6)] est une couverture et, par analogie avec les PPS, nous appellerons bloc chaque ŽlŽment de C en le reprŽsentant entre parenth•ses pour le diffŽrencier des partitions. D Ž f i n i t i o n 2 : Si pour une couverture, chaque paire d'Žtats pris ˆ l'intŽrieur d'un m•me bloc, a comme successeur, pour chacune des combinaisons d'entrŽe, des paires dÕŽtats situŽs tous les deux ˆ l'intŽrieur d'un m•me bloc, on dit que la couverture est une c o u v e r t u r e a v e c pro priŽ t Ž de s u bs t it u t io n , ou en abrŽgŽ CPS. L'existence d'une CPS entra”ne naturellement l'existence d'une dŽcomposition en cascade, composŽe de : Œ un sous-syst•me M1 dont l'Žtat ne dŽpend que des variables d'entrŽes et ayant autant d'Žtats que ce qu'il y a de blocs ; • un sous-syst•me M2 ayant un nombre d'Žtats Žgal au nombre d'Žtats du bloc en possŽdant le plus grand nombre. D Ž f i n i t i o n 3 : Toute couverture pour laquelle aucun bloc n'est un sous ensemble d'un autre bloc est une c o u v e rt u re rŽ du it e . Il est important de noter que bien que les couvertures rŽduites ne conduisent pas nŽcessairement ˆ la rŽalisation la plus Žconomique, leur nombre est tel qu'il est impossible de les utiliser de mani•re raisonnable. Dans tout ce qui suit, nous ne parlerons que de couverture rŽduite et toute mention du terme couverture devra, de ce fait, •tre interprŽtŽe comme couverture rŽduite. 5.5.3.1. Recherche d'une CPS. Il est aisŽ de rechercher les CPS ; tout syst•me sŽquentiel en poss•de un grand nombre. Le probl•me est plut™t liŽ ˆ la dŽtermination des CPS prŽsentant un intŽr•t, celles comportant un nombre de blocs aussi rŽduit que possible. Page 5.42 Jacques Guizol & Christian Aperghis Tout syst•me sŽquentiel ˆ n Žtats poss•de deux CPS triviales (celle qui comporte un bloc de n Žtats et celle qui comporte n blocs de 1 Žtat) et au moins n-2 CPS non triviales, car pour tout m (1 < m < n), lÕensemble formŽ par tous les blocs de m Žtats est une CPS (Žventuellement non rŽduite). Ceci est Žvident si on consid•re que les successeurs de m Žtats d'un bloc sont au plus au nombre de m et forment par consŽquent nŽcessairement l'un des blocs de la couverture (figure 5.5.23). m Etats E=0 m Etats E=1 m Etats Figure 5.5.23 : EgalitŽ de la cardinalitŽ des Žtats dans les transitions. Ce type de couverture que l'on appelle couverture universelle ne prŽsente qu'un intŽr•t rŽduit. En pratique, c'est par essais successifs que l'on recherche les CPS. Reprenons, par exemple, le tableau des phases de la figure 5.5.18a afin d'expliquer le principe de cette recherche. Si on tente de former le bloc (1,2), on dŽtermine de fait les blocs (2,3) et (3,6), (2,3) conduit de son cotŽ ˆ (3,5) et (3,4) alors que (3,6) donne (1,4). En fin de compte nous aboutissons ˆ la couverture : [ (1,2);(2,3);(3,6);(3,5);(3,4);(1,4);(4,5);(2,5);(2,4);(1,3);(4,6)] Ê Au niveau de la rŽalisation, cela nous conduit ˆ un premier sous-syst•me M1 ˆ onze Žtats et un second sous-syst•me M2 ˆ deux Žtats. Prenons comme dŽpart le bloc (2,5) la couverture obtenue dans ces conditions est : [(2,5);(3,4);(1,3);(4,6)] Soit en dŽfinitive une machine M1 ˆ quatre Žtats, et une machine M 2 ˆ deux Žtats. Le bloc (1,3,4) conduit ˆ la couverture [(1,3,4);(2,5);(3,4,6)], celle qui avait ŽtŽ trouvŽe apr•s constitution de la table 5.5.21. 5.5.3.2. DŽcomposition en sŽrie. Pour une CPS donnŽe, la dŽcomposition en sŽrie ne pose aucun probl•me particulier. sur l'exemple que nous venons de voir avec la CPS [(2,5);(3,4);(1,3); (4,6)], en appelant les quatre blocs A, B, C, D selon la convention : *ÊAÊ:Ê(2,5) *ÊBÊ:Ê(3,4) *ÊCÊ:Ê(1,3) *ÊDÊ:Ê(4,6) La machine M1 serait dŽcrite par le tableau des phases de la figure 5.5.24a. La machine M2 est une machine ˆ deux Žtats P et Q, pour lequel nous dŽfinirons le tableau de correspondance de la figure 5.5.24b. Logique SŽquentielle Synchrone Page 5.43 Etat Suivant Etat PrŽsent E=0 E=1 A B C D B A A A C B D C A B C D 2 4 1 4 5 3 3 6 P Q Figure 5.5.24 : a) Table des phases de M1 ; b) Table de correspondance de M 2 . Des deux tables prŽcŽdentes nous dŽduisons le tableau des phases de la machine M 2 dŽcrit en figure 5.5.25. Etat PrŽsent P Q Etat Suivant E = 0 E = 1 A Q P B P Q C P Q D P Q A Q P B Q P C Q P D Q P Figure 5.5.25 : Matrice des phases de la machine M2 Ce tableau se construit comme tous ceux que nous avons rencontrŽs lors de la rŽalisation de machines cascadŽes. Soit ˆ dŽterminer lÕŽtat suivant de P pour une valeur de lÕentrŽe prenant la valeur 0, la machine M1 Žtant dans lÕŽtat A. Œ Le tableau de la figure 5.5.24b nous dit que lorsque la machine M1 est dans lÕŽtat A et la machine M 2 dans lÕŽtat P, lÕŽtat Žquivalent pour la machine M est lÕŽtat 2. • On voit sur le tableau des phases de la machine M, que le successeur de lÕŽtat 2 lorsque lÕentrŽe prend la valeur 0 est lÕŽtat 3. Ž Par ailleurs, pour la machine M1 le successeur de lÕŽtat A lorsque lÕentrŽe prend la valeur 0 est lÕŽtat B. • La machine M2 doit donc dans ces conditions passer dans un Žtat X tel que X Ç B = 3 soit X = Q. Ces opŽrations sont bien entendu ˆ renouveler pour chacune des cases de la matrice reprŽsentative de la machine M 2 . 5.5.3.3. DŽcomposition en parall•le. Nous avons dŽjˆ vu, lors de l'Žtude des PPS, que chaque fois qu'il Žtait possible de mettre en Žvidence deux PPS orthogonales, la machine pouvait se rŽaliser en mettant en parall•le deux syst•mes indŽpendants. Un rŽsultat identique est applicable aux CPS, car si le produit de deux CPS donne la CPS zŽro, (celle qui comporte N blocs de un Žtat chacun), alors la dŽtermination de deux blocs, l'un pour la machine M1 , l'autre pour la machine M2, permet dÕisoler sans ambigu•tŽ un Žtat et un seul de la machine M. Soit une machine M dŽfinie par son tableau des phases (figure 5.5.26). Page 5.44 Jacques Guizol & Christian Aperghis Etat Suivant Etat PrŽsent E=0 E=1 1 2 3 4 5 6 2 3 2 5 6 5 1 4 3 6 3 4 Figure 5.5.26 : Matrice des phases de M. Sur cette matrice, il est possible de mettre en Žvidence les CPS suivantes : C 1 Ê=Ê[ (1,3,4);(2,5);(1,3,6)] Ê C 2 Ê=Ê[ (1);(3,5);(2,4,6)] C 3 Ê=Ê[ (1,3);(2,6);(3,5);(4,6)] Ê C 4 Ê=Ê[ (1);(2,5);(3,6);(3,4)] On constate que les CPS C1 et C2 , d'une part, C3 et C4 , d'autre part, sont orthogonales. Ainsi donc en considŽrant sur C3 et C4 les affectations suivantes : +C Ê 3 ìï PÊ®Ê(1,3) ï ÊQÊ®Ê(2,6) íÊÊRÊ®Ê(3,5Ê) ï ïî SÊ®Ê(4,6) +C Ê 4 ìï AÊ®Ê(1) ï BÊ®Ê(2,5) íÊCÊ®Ê(3,6) ï ïî DÊ®Ê(3,4) On obtient pour les machines M1 et M2 les tableaux des phases de la figure 5.5.27. Machine M1 Machine M2 Etat Suivant Etat Suivant Etat PrŽsent E=0 E=1 Etat PrŽsent E=0 E=1 P Q R S Q R Q R P S P S A B C D B C B B A D D C Figure 5.5.27 :Matrices des phases des machines M1 et M 2 . Ce qui correspond ˆ deux machines en parall•le selon le schŽma que nous avons dŽjˆ dŽcrit sur la figure 5.4.9. Le circuit combinatoire CC fournit, en fonction de l'Žtat simultanŽ de M 1 et M2 , le signal de sortie de la machine M. Logique SŽquentielle Synchrone Page 5.45 5.5.3.4. Les machines Permutation - Reset. D Ž f i n i t i o n s : Une machine est une m a c h i n e p e r m u t a t i o n - r e s e t si et seulement si les colonnes de son tableau des phases sont soit des colonnes permutations soit des colonnes reset. Une colonne d'un tableau des phases est une c o l o n n e p e r m u t a t i o n si cette colonne contient tous les Žtats de la machine. Une colonne d'un tableau des phases est une c o l o n n e r e s e t si toutes les lignes de cette colonne contiennent le m•me Žtat. Par exemple vŽrifions si la machine dŽcrite par le tableau des phases de la figure 5.5.28 est une machine permutation - reset. Etat PrŽsent 1 2 3 4 5 6 Etat Suivant E = 00 E = 01 2 3 5 4 1 6 3 6 5 4 1 2 E = 11 2 2 2 2 2 2 E = 10 1 3 5 3 4 2 Figure 5.5.28 : Matrice des phases dÕune machine Permutation-Reset. â â â â La La La La colonne colonne colonne colonne E E E E = = = = 00 01 11 10 est une est une est une nÕest ni colonne permutation. colonne permutation. colonne reset. une colonne permutation ni une colonne reset. Cette machine n'est donc pas une machine permutation - reset. Les machines permutation - reset (que l'on dŽsignera maintenant sous le nom de machine P-R) jouent un r™le important dans la rŽalisation des syst•mes sŽquentiels. On montre que tout syst•me peut •tre rŽalisŽ en mettant en sŽrie un nombre fini de machines P-R. Si ce type de machines joue de fait un r™le canonique dans la logique sŽquentielle, elles nÕont dÕintŽr•t que sur un plan purement thŽorique car la rŽalisation dÕun syst•me donnŽ ˆ partir de machines P-R conduit rarement ˆ un rŽsultat satisfaisant du point de vue Žconomique. DŽmontrons que toute machine sŽquentielle peut •tre dŽcomposŽe en une cascade de machine P-R. Pour cela, nous allons mettre en Žvidence les points suivants : Œ Toute machine ˆ 2 Žtats est une machine P-R. • Toute machine ˆ n Žtats peut •tre dŽcomposŽe en une machine P-R en sŽrie avec une machine ayant au plus n-1 Žtats La premi•re assertion est Žvidente, les deux colonnes du tableau des phases d'une telle machine ne peuvent contenir que deux Žtats diffŽrents (colonne permutation) ou deux Žtats identiques (colonne reset). Pour montrer la seconde assertion, nous allons supposer qu'une machine M nÕest pas une machine P-R. Cette machine poss•de au moins une colonne qui n'est ni une colonne permutation ni une colonne reset (si plusieurs colonnes rŽpondent ˆ cette dŽfinition, on travaillera sur celle qui poss•de le plus grand nombre d'Žtats diffŽrents). Soit P le nombre d'Žtats distincts de cette colonne, on a P £ n-1 sinon la colonne serait une colonne permutation. Page 5.46 Jacques Guizol & Christian Aperghis Si nous considŽrons la CPS formŽe par tous les blocs ayant P Žtats de telle mani•re que les P Žtats distincts de la colonne qui nÕest pas une colonne permutation figurent dans l'un des blocs. Une telle couverture permet de dŽcomposer la machine M en une sous machine M1 mise en sŽrie avec une sous machine M 2 . Il reste maintenant ˆ prouver que M1 est bien une machine P-R. Une colonne permutation de M faisant correspondre ˆ deux blocs distincts de P Žtats deux autre blocs distincts de P Žtats, la colonne qui dans M1 est l'image d'une colonne permutation de M, fait correspondre ˆ deux Žtats distincts de M1 deux autres Žtats distincts de M 1 et forme par consŽquent une colonne permutation. Une colonne qui n'est pas une colonne permutation de M fait correspondre ˆ tous les blocs de P Žtats le bloc comportant les P Žtats distincts de cette colonne (cÕest vrai pour la colonne comportant le plus grand nombre d'Žtats distincts, et ˆ fortiori pour toute colonne ayant Q Žtats distincts avec QÊ£ÊP). La colonne correspondante de M 1 est ainsi une colonne reset. Une CPS correctement dŽterminŽe conduisant soit ˆ une colonne permutation soit ˆ une colonne reset, on peut affirmer que la machine M1 est une machine P-R. Dans ces conditions, la machine M2 aura P Žtats, c'est ˆ dire autant d'Žtats qu'il y a d'ŽlŽments dans chaque bloc. Mais comme P £ n-1, la machine M2 aura au plus n-1 Žtats. Ainsi, si M 2 n'est pas une machine P-R il suffira de rŽpŽter l'algorithme qui, dans le cas le plus dŽfavorable, sera appliquŽ n-2 fois ce qui conduira ˆ une cascade de n-1 machines. Soit la machine dŽcrite par le tableau des phases de la figure 5.5.29. On constate immŽdiatement que la colonne E = 0 est une colonne permutation, alors que la colonne E = 1 n'est ni une colonne permutation, ni une colonne reset. Etat Suivant Etat PrŽsent E=0 E=1 1 2 3 4 5 2 3 4 5 1 1 2 4 2 1 La colonne E = 1 comportant trois Žtats distincts, on cherche une couverture formŽe de blocs de trois Žtats incluant les trois Žtats qui apparaissent dans la colonne en question soit le bloc (1,2,3). Figure 5.5.29 : Matrice des phases. On arrive ˆ : [(1,2,4);(2,3,5);(1,3,4);(2,4,5);(1,3,5)] Les blocs peuvent •tre rŽfŽrencŽs : ÊPÊÐ>Ê(1,2,4) QÊÐ>Ê(2,3,5) RÊÐ>Ê(1,3,4) SÊÐ>Ê(2,4,5) TÊÐ>Ê(1,3,5) Ce qui permet de dŽterminer pour la machine M 1 le tableau des phases de la figure 5.5.30. Etat Suivant Etat PrŽsent E=0 E=1 P Q R S T Q R S T P P P P P P Figure 5.5.30 : Matrice des phases de M1 . Cette machine M1 est une machine P-R. La colonne pour E=0 est une colonne permutation, lÕautre est une colonne reset. Logique SŽquentielle Synchrone Page 5.47 La machine MA comportera trois Žtats, que nous pouvons affecter selon le tableau de la figure 5.5.31. P 1 2 4 A B C Q 2 3 5 R 1 3 4 T 1 3 5 S 2 4 5 Figure 5.5.31 : Table de correspondance de M2. Pour obtenir toujours selon lÕalgorithme de dŽfinition des machines cascadŽes le tableau des phases de la figure 5.5.32. Les entrŽes de cette machine sont : Œ LÕentrŽe gŽnŽrale E du circuit ; • Les sorties P, Q, R, S et T de la machine M1. Etat PrŽsent A B C Etat Suivant E = 0 E = 1 P A B C Q B C A R A B C S B C A T B C A P A B B Q B C A R A C B S B B A T A C A Figure 5.5.32 : Table des phases de la machine MA Cette machine MA n'Žtant toujours pas une machine P-R, (colonnes P,S et T pour E = 1), lÕalgorithme sera appliquŽ une nouvelle fois pour crŽer une machine P-R (M2 ) et une machine cascadŽe M B . Une nouvelle couverture [(A,B);(B,C);(A,C)] va nous permettre de crŽer la machine M 2 (figure 5.5.33) Les colo nnes qui n'Žta ient ni permuta tio n Etat Suivant ni reset sont devenues colonn es reset Etat E = 0 E = 1 PrŽsent P Q S T R P Q R S T (A,B) (A,B) (B,C) (A,B) (B,C) (B,C) (A,B) (B,C) (A,C) (A,B) (A,C) (B,C) (B,C) (A,C) (B,C) (A,C) (A,C) (A,B) (A,C) (B,C) (A,B) (A,C) (A,C) (A,C) (A,B) (A,C) (A,B) (A,B) (A,B) (A,B) (A,B) (A,B) (A,C) Les co lon nes-per muta tio n le sont restŽes. Figure 5.5.33 : Table prŽcŽdente transformŽe par la CPS. Remarquons au passage que pour une machine comportant trois Žtats, cÕest la seule couverture prŽservŽe possible. Si nous appelons a,b,g les trois blocs de la couverture [(A,B);(B,C);(A,C)], selon la convention suivante : Ê *ÊÊaÊÐ>Ê(A,B) ÊÊ*ÊÊbÊÐ>Ê(B,C)ÊÊ *ÊÊgÊÐ>Ê(A,C) Ê Page 5.48 Jacques Guizol & Christian Aperghis Nous pouvons reprŽsenter le tableau des phases de la machine M2 (figure 5.5.34) Etat Suivant E = 0 E = 1 Etat PrŽsent P a b g a b g Q b g a R a b g S b g a T b g a P a a a Q b g a S a a a R g b a T g g g Figure 5.5.34 : Matrice des phases de la machine M2. Cette machine M2 est une machine P-R. De plus, chaque bloc ne comportant que deux Žtats, la machine M3 qui reste ˆ construire et qui sera cascadŽe avec la machine M2 sera une machine ˆ deux Žtats m et n (figure 5.5.35) donc nŽcessairement une machine P-R. m n a A B b B C g A C Figure 5.5.35 : Matrice des phases deM 3 . Cette machine M3 qui comportera trois groupes dÕentrŽes : Œ LÕentrŽe gŽnŽrale E du circuit. • Les sorties P, Q, R, S et T de la machine M1 Ž Les sorties a, b et g de la machine M2 La matrice des phases de cette machine (figure 5.5.36) sera construite ˆ partir : ¬ Du diagramme des phases de la machine MA (figure 5.5.32) - Du diagramme des phases de la machine M2 (figure 5.5.34)  De la table de dÕaffectation des Žtats de la machine M 3 (figure 5.5.35) Etat Suivant E = 0 Etat PrŽsent m n E = 1 P Q R S T P Q R S T abgabg abg abgabg abgabgabgabg abg m m mm n nm m m m nn m nnm m m m n nm n m n nn m nm nn nnmm nnn nm mnm mnmn nmmnmn nmmnmm Figure 5.5.35 : Matrice des phases de la machine M3. En fin de compte, la machine M a ŽtŽ dŽcomposŽe en trois machines P-R. Une machine M1 ˆ cinq Žtats, une machine M2 ˆ trois Žtats et une machine M 3 ˆ deux Žtats. Selon le schŽma de la figure 5.5.36 EntrŽe Sortie Machine 1 Machine 2 Machine 3 B B B Horloge Figure 5.5.36 : SchŽma de principe de la machine obtenue; Logique SŽquentielle Synchrone Page 5.49