ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Chapitre 6: conception de machines synchrones et principalement synchrones Machines synchrones Rappel Vérification des impasses Élimination des états redondants Minimisation des étages IFL et OFL Étage OFL avec sortie retardée (DSB, DSE) Élimination des transitoires sur les sorties Machines principalement synchrones Rappel États erronés Synchronisation des signaux d’entrée Mohamad Sawan, ing., Ph.D. Stéphane Boyer, b. ing. ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 2 M. Sawan & S. Boyer Machines synchrones Rappel Une machine séquentielle algorithmique est synchrone lorsque tous les signaux affectant la logique d'entrée (IFL) sont synchrones par rapport à l'horloge. De manière générale, pour une machine active sur le front montant de l'horloge, les transitions sur les entrées se produisent aux fronts descendant de l'horloge. 0 1 2 3 4 5 6 7 8 9 CLK X Les entrées changent sur les fronts descendant MSA active sur le front montant Q1 Q0 Z ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 3 M. Sawan & S. Boyer Machines synchrones (suite) Rappel – design de MSA Diviseur de fréquence (cas particulier) fin Diviseur par p fout e0 soit f T p in out f out Tin 2m 1 p 2m m = nombre de bascules e1 ep-2 p = nombre d'états permanents ep-1 Zp SB SE 1 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 4 M. Sawan & S. Boyer Machines synchrones (suite) Rappel – design de MSA (suite) Diviseur de fréquence (suite) Exemple fin = 400 kHz fout = 25 kHz • • p = 400 / 25 m = log2 16 14 15 0 1 2 3 4 5 6 p = 16 états (e0, e1, …, e15) m = 4 bascules 7 8 9 10 11 12 13 14 15 0 1 CLK Zp ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 5 M. Sawan & S. Boyer Machines synchrones (suite) Vérification des impasses Compteur séquentiel 1. Diagramme d'état Q1Q0 2. Table d'excitation 01 a d 11 b 00 d a c b 10 c Q1+ Q0+ Q1 Q0 0 0 1 1 0 1 0 1 D1 D0 X b a c x 1 0 1 x 1 1 0 État facultatif ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 6 M. Sawan & S. Boyer Machines synchrones (suite) Vérification des impasses (suite) Compteur séquentiel (suite) 3. Équations d'excitations D1 Q1 Q0 0 1 D0 0 1 X 0 1 Q1 Q0 D1 = Q 0 1 0 1 0 X 1 1 1 0 D0 = Q 0 Q1 4. Vérification d'impasses (sur les états facultatifs) Q1+ Q0+ Q1 Q0 d 0 0 D1 D0 d 0 0 2 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 7 M. Sawan & S. Boyer Machines synchrones (suite) Vérification des impasses (suite) Compteur séquentiel (suite) D1 Q1 Q0 5. État forcé au lieu de facultatif d 00 Q1Q0 Q1+ Q0+ Q1 Q0 D1 D0 11 b d a c b 10 c 0 0 1 1 0 1 0 1 a b a c 0 1 0 1 1 X 1 1 0 1 D1 = Q1 01 a 0 0 D0 1 1 1 0 Q1 0 1 0 1 1 1 1 0 D0 = Q0 Q1 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 8 M. Sawan & S. Boyer Machines synchrones (suite) Élimination des états redondants Un état est redondant à un autre état et peut être éliminé: • • États redondants lorsqu'il aboutit dans les mêmes états pour des conditions identiques (les mêmes entrées affectées des mêmes valeurs); lorsqu'il possède les mêmes sorties actives pendant la même période (SB-SE). a a '0' X '0' '1' b c Z X '1' Simplification c Z b d ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 9 M. Sawan & S. Boyer Machines synchrones (suite) Élimination des états redondants (suite) États redondants a '0' X a '1' '0' X '1' Simplification c '0' b X '1' b Z Z 3 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 10 M. Sawan & S. Boyer Machines synchrones (suite) Élimination des états redondants (suite) a '0' b Z X '1' SB SE États non-redondants (sorties différentes) c d SB DSB Z ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 11 M. Sawan & S. Boyer Machines synchrones (suite) Minimisation des étages IFL et OFL Principe 1: (IFL) Des états ayant le même état futur doivent avoir une assignation adjacente. États adjacents a a '0' b X '1' b c '0' X c Z États adjacents '1' Q0 Q1 0 1 0 a b 1 c - d ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 12 M. Sawan & S. Boyer Machines synchrones (suite) Minimisation des étages IFL et OFL (suite) Principe 2: (IFL) Des états ayant le même état précédent doivent avoir une assignation adjacente. a '0' b X '1' c Q0 Q1 0 1 0 a b 1 - c États adjacents 4 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 13 M. Sawan & S. Boyer Machines synchrones (suite) Minimisation des étages IFL et OFL (suite) Principe 3: (OFL) Des états ayant une même sortie active doivent avoir une assignation adjacente. a '0' b Z X SB SE '1' c d Z Q0 Q1 0 0 a c 1 b d 1 SB SE États adjacents ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 14 M. Sawan & S. Boyer Machines synchrones (suite) Minimisation des étages IFL et OFL (suite) Pour obtenir une logique d'entrée et de sortie minimale, les principe de minimisation doivent respecter les priorités suivantes: • • Le principe 1 à priorité sur les principes 2 et 3. Le principe 2 à priorité sur le principe 3. Exemples d'application ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 15 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée b Types de sorties 0 1 c 2 d 3 4 5 CLK X b c d Z Z0 Z0 Z0 SB SE Z1 Z1 Z1 DSB DSE Z2 Z2 Z2 DSB SE Z3 Z3 Z3 SB DSB Z4 Z4 SB Z5 Z5 DSB 5 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 16 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie inconditionnelle active entre SB et DSB MÉMOIRES OFL D Q Z3 b clk Z3 Z3 D SB DSB Q 0 1 c 2 d 3 4 5 CLK état c clk Z3 Transitoire (glitch) ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 17 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie inconditionnelle active entre SB et DSB (suite) MÉMOIRES OFL D Q Z3 b 0 clk Z3 Z3 SB DSB D c 2 d 3 4 5 CLK' Q clk 1 CLK état clk' c Z3 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 18 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie inconditionnelle active entre DSB et SE b c Z DSB SE Z état CLK d 6 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 19 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie inconditionnelle active entre DSB et SE (suite) Solution 1: Utiliser l'inverse de l'horloge Z état CLK b 0 D Q 1 c d 2 3 4 5 CLK Z CLK' clk D Transitoires (glitches) Q clk clk' état c Z ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 20 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie inconditionnelle active entre DSB et SE (suite) Z état CLK Solution 2: Désactiver l'OFL avant le changement d'état b 0 D Q Z 1 c d 2 3 4 5 CLK CLK' D état Q c Z clk clk' ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 21 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie conditionnelle active entre DSB et SE b Z état CLK X c '1' X '0' DSB SE Z d 7 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 22 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie conditionnelle active entre DSB et SE (suite) Z état CLK X Solution 1: Activer l'OFL après l'entrée (X) b 0 c 1 2 d 3 4 5 CLK X* D Z Q CLK' clk X D Q clk clk' état Transitoires (glitches) c Z ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 23 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie conditionnelle active entre DSB et SE (suite) Z état CLK X Solution 2: Désactiver l'OFL avant le changement d'état b 0 X* D c 1 2 d 3 4 5 CLK Z Q CLK' X D Q état clk c Z clk' ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 24 M. Sawan & S. Boyer Machines synchrones (suite) Étage OFL avec sortie retardée (suite) Sortie inconditionnelle active entre DSB et DSE D Q b D Z Q clk c Z DSB DSE D Q d c clk 0 1 b 2 c 3 4 5 CLK état c c Z 8 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 25 M. Sawan & S. Boyer Machines synchrones (suite) Élimination des transitoires de sortie Sortie inconditionnelle – méthode des registres D D Q Z Q clk c SB SE Z D Q clk D c DSB DSE Z Z D Q Q clk D Q clk ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 26 M. Sawan & S. Boyer Machines synchrones (suite) Élimination des transitoires de sortie (suite) Sortie conditionnelle – méthode des registres b X* D D Q c '1' Z Q clk X '0' D DSB DSE Z Q clk d ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 27 M. Sawan & S. Boyer Machines principalement synchrones Rappel Une machine séquentielle algorithmique est principalement synchrone lorsqu'au moins une entrée n'est pas synchrone par rapport à l'horloge. Ce signal d'entrée peut changer d'état à tout moment. Le changement d'état reste synchronisé sur l'horloge. 0 1 2 3 4 5 CLK X 9 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 28 M. Sawan & S. Boyer Machines principalement synchrones (suite) États erronés Une machine principalement synchrone peut, lorsqu'une entrée asynchrone change de niveau lorsque la machine se prépare à passer dans un nouvel état, se retrouver dans un état erroné ne respectant pas le diagramme d'états. D IFL X OFL Q Z clk Entrée asynchrone '0' 01 Q +? Q1Q0 00 a '1' X b 1 2 3 4 5 X D a d 10 c 0 CLK tsu th ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 29 M. Sawan & S. Boyer Machines principalement synchrones (suite) États erronés (suite) Le passage à un état erroné est dû aux différents temps de calcul pour chacun des bits d'états après la transition d'une entrée asynchrone. IFL Q1* X MÉMOIRES 0 Q0* D1 Q a 2 d 3 a 4 a 5 X clk Q1* 1 CLK Q0* D0 D1 Q D0 clk th tsu ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 30 M. Sawan & S. Boyer Machines principalement synchrones (suite) États erronés (suite) Les états erronés ne dépendent que de l'assignation des états futurs à l'état courant. États futurs: b 101 c 110 QQQ 000 États possibles: 1xx 2 1 0 a '0' 101 b X '1' c 110 États respectant b le diagramme: c États erronés: ee0 ee1 101 110 100 111 10 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 31 M. Sawan & S. Boyer Machines principalement synchrones (suite) États erronés (suite) '0' a b États possibles: 000 101 x0x États respectant a le diagramme: b 000 101 États futurs: Q2Q1Q0 a 000 X '1' b 101 ee0 ee1 États erronés: 001 100 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 32 M. Sawan & S. Boyer Machines principalement synchrones (suite) États erronés (suite) Les états erronés se trouvent parmi les états adjacents aux états futurs. QQ Q0 Q2Q1Q0 a '0' 2 1 00 01 0 a ee1 1 ee0 b 11 10 000 X '1' b États futurs: 011 a b 000 011 0xx ee0 ee1 001 010 États possibles: États erronés: ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 33 M. Sawan & S. Boyer Machines principalement synchrones (suite) Synchronisation des signaux d'entrée Transition d'état alternée (AST) Alternate State Transition X X_REG D 1 Q D IFL 2 Q OFL Z 0 clk 1 2 3 4 5 CLK X X_REG tsu (1) tsu (2) 11 ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 34 M. Sawan & S. Boyer Machines principalement synchrones (suite) Synchronisation des signaux d'entrée (suite) Transition d'état retardée (DST) Delayed State Transition X X_REG D 1 D Q IFL 2 Q Z OFL 0 clk 1 2 3 4 5 CLK X X_REG tsu (1) tsu (2) état ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 35 M. Sawan & S. Boyer Machines principalement synchrones (suite) Synchronisation des signaux d'entrée (suite) Configuration Go – No-Go • Dans le cas où l'on a un branchement à un seul état 000 Q2Q1 Q0 00 a X '0' 0 01 11 10 a '1' 001 1 b a et b doivent être adjacents • • Solution efficace mais coûteuse au niveau du nombre d'états Ne peut être appliqué à tous les designs ELE4301 – Systèmes logiques II ELE3301 – Systèmes numériques programmables Page 36 M. Sawan & S. Boyer Machines principalement synchrones (suite) Synchronisation des signaux d'entrée (suite) Essentiel pour éviter les états erronés Utiliser la configuration Go – No-Go • Lorsque c'est possible Utiliser la méthode par transition d'état alternée (AST) 12
© Copyright 2024 Paperzz