nalyse de circuits synchrones ircuits Logiques L3 Optimisation des circuits séquentiels (machines à états P avid Pour partir d un circuit et déterminer le diagramme d état d un circuit, il faut effectuer les opérations inverses de la synthèse :. Schéma 2. xpressions des sorties 3. xpressions des entrées des bascules 4. Tableau de transition 5. Tableau d état 6. iagramme d état 26 mars 2 ircuits logiques P avid 2 Le verrouillage d états Lors du démarrage d un circuit, si les bascules d une machine à états ne sont pas initialisées grâce à une mise à (preset ou une mise à (reset, les bascules s initialisent dans un état inconnu. Il est alors possible que la machine à état démarre avec un code invalide et qu elle demeure dans un état invalide. On a alors un verrouillage d états (deadlock. Pour éviter ce problème : Solution : S assurer que toutes les bascules d un circuit soient initialisées à une valeur précise lors du démarrage du circuit Solution 2 (complémentaire : Ne pas laisser d état non défini s redondants Il arrive parfois que plusieurs états d une machine à états soient identiques même s ils ont des codes différents. eux états sont identiques lorsque : Ils ont les mêmes valeurs de sorties et ils ont les mêmes valeurs d états suivants, et cela peu importe la valeur des entrées. Il est souvent favorable d éliminer les états redondants. Réduire le nombre d états peu réduire le nombre de bascules nécessaires pour mémoriser l état et il est possible que cela réduise la quantité de logique. 26 mars 2 ircuits logiques P avid 3 26 mars 2 ircuits logiques P avid 4
Technique de réduction d états. onstruire une table qui contient une cellule pour chaque paire d états possible. q 2 q 3. q n2 q n q n q q 2 q 3... qn2 qn 26 mars 2 ircuits logiques P avid 5 Réduction d états (suite 2. Remplir le tableau comme suit pour toutes les cellules correspondant à des paires d états: Si les deux états de la paire ont des sorties différentes où ont des états ou sorties avec des cas facultatifs non alignés, placer un dans la case Sinon, placer les états suivants pour la paire dans le format suivant : ( suivant pour le premier état de la paire, suivant pour le deuxième état de la paire. S il y a plusieurs états suivants en fonction de l entrée, indiquer toutes les combinaisons possibles. xclure les paires identiques (ex : (, et les paires correspondants à la cellule e. S il n a rien dans la cellule, y placer un crochet 26 mars 2 ircuits logiques P avid 6 Réduction d états (suite Réduction d états (suite xemple : Étapes et 2 suivant I = I = (, (, (, (, 3. Pour toutes les cellules qui n ont pas un crochet ou un, prendre chaque paire d état énumérée dans la cellule à l étape 2 et examiner le contenu des cellules correspondant à ces paires. Si l une d elle comprend un, placer un dans la cellule e. (, (, (, (, (, (, (, Répéter l étape 3 jusqu à ce que la table ne change plus Toutes les cellules qui n ont pas un lorsque ces étapes sont terminées représentent des paires d états équivalents 26 mars 2 ircuits logiques P avid 7 26 mars 2 ircuits logiques P avid 8
pplication à l exemple pplication à l exemple (suite (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, (, 26 mars 2 ircuits logiques P avid 9 26 mars 2 ircuits logiques P avid pplication à l exemple (suite pplication à l exemple (suite (, (, (, (, (, (, (, (, (, (, (, La table ne change plus, nous avons la table finale : On peut alors faire des groupes d états : (((( À partir de ces groupes, il est possible de créer un nouveau tableau d état : Table originale suivant I = I = Table modifiée ( ( Y ( ( W Y W suivant I = Y W I = W 26 mars 2 ircuits logiques P avid 26 mars 2 ircuits logiques P avid 2
xemple avec cas facultatif xemple (suite suivant ntrée (x x ntrée (x x (z (, (, (, (, Permet de déterminer que : 26 mars 2 ircuits logiques P avid 3 26 mars 2 ircuits logiques P avid 4 xemple (suite usion d états facultatifs suivant ntrée (x x (z ntrée (x x ette étape consiste à fusionner plusieurs lignes. Pour aider à savoir comment fusionner de façon optimale, une diagramme de fusion permet de représenter graphiquement tous les états pouvant être fusionnés. eux états peuvent être fusionnés si on peut faire un nouvel état qui donne le même résultat en fonction de l entrée, en considérant les cas facultatifs. 26 mars 2 ircuits logiques P avid 5 26 mars 2 ircuits logiques P avid 6
usion d états facultatifs (suite 26 mars 2 ircuits logiques P avid 7 = usion d états facultatifs (suite On retient une des solutions : suivant ntrée (x x 26 mars 2 ircuits logiques P avid 8 ntrée (x x (z Parfois, deux états ne peuvent être fusionnés que conditionnellement à ce que d autres états soient également fusionnés. est plus compliqué, mais ça peut également donner de meilleurs résultats! Voici donc un troisième exemple : usions conditionnelles suivant (z. On fait comme l élimination d états redondants, sauf que l on considère les cas facultatifs ntrée ntrée (, (, (, 26 mars 2 ircuits logiques P avid 9 2. On fait un diagramme de fusion : si une case contient un crochet on fait une ligne pleine, si il y a une paire d état on fait un ligne pointillée (, (, usions conditionnelles (suite (, 26 mars 2 ircuits logiques P avid 2 (, (,
usions conditionnelles (suite 3. On solutionne le diagramme de fusion. On peut utiliser une ligne pointillé ONITIONNLLMNT à ce que la paire d états associé à cette ligne pointillée soit fusionnée. Problèmes suggérés ivone #7.6 #7.7 #7.5 #7.6 #7.8 #7.9b #7.2b (, (, = = suivant ntrée (z ntrée RÉPONSS : #7.6 : aucun observé : un seul observé : séquence de deux observée : séquence de trois observée : séquence de plus de trois observée suivant z présent x = x= x= x= 26 mars 2 ircuits logiques P avid 2 26 mars 2 ircuits logiques P avid 22 Problèmes suggérés (suite Problèmes suggérés (suite #7.7 : attente d un : un seul observé : plus d un observés : chaîne de suivant un suivant z présent x = x= x= x= #7.6 Les états expriment les trois derniers bits observés (du moins récent au plus récent : : : : : : : : Les équivalences suivantes sont observées : présent suivant z x = x= x= x= #7.5 Les états expriment les trois derniers bits observés (du moins récent au plus récent : : : : : : : : suivant z présent x = x= x= x= 26 mars 2 ircuits logiques P avid 23 #7.8 Les équivalences suivantes sont observées : présent suivant z x= x= ( ( ( ( δ δ ( ( ( ( δ δ δ 26 mars 2 ircuits logiques P avid 24
Problèmes suggérés (suite #7.9 b 2 2 2 = Q K = x Q = x K = x+ Q 2 z = xq + xq 2 #7.2 b L assignation des codes est : = = = = 2 2 = Q K = = x K = x+ Q 2 z = xq + xq 2 26 mars 2 ircuits logiques P avid 25