I T P W ZPT 1 Minimalizacja automatu abcdabcd ACBCA0111 BCCA–011– CBCAB0001 xSxS abcdabcd S1 –S3S4S2–111 S4–––0––– S3 S6 ––01–– S4 –S6S1S5–001 ––S2–––1– S6 S3–S2S30–01 Minimalizacja liczby stanów Czysty zysk – zamiast trzech przerzutników tylko dwa! Minimalizacja automatu to minimalizacja liczby stanów. Jest to transformacja automatu o danej tablicy przejść-wyjść na równoważny mu (pod względem przetwarzania sygnałów cyfrowych) automat o mniejszej liczbie stanów wewnętrznych. Jest to prawie zawsze możliwe, gdyż w procesie pierwotnej specyfikacji często wprowadzane są stany nadmiarowe lub równoważne.
I T P W ZPT 2 Relacja zgodności na zbiorze stanów S: (pary stanów zgodnych) Maksymalne zbiory stanów zgodnych (Maksymalne Klasy Zgodności) Selekcja zbiorów zgodnych spełniających tzw.: warunek pokrycia warunek zamknięcia Minimalizacja liczby stanów
I T P W ZPT 3 Pojęcia podstawowe xSxS abcdabcd 1 –342– –––0––– 3 66––01–– 4 –615–001 5 ––2–––1– 6 3–230–01 Dwa stany wewnętrzne Si, Sj są zgodne, jeżeli dla każdego wejścia v mają one niesprzeczne stany wyjść, a ich stany następne są takie same lub niesprzeczne. Dwa stany wewnętrzne S i, S j są zgodne warunkowo, jeżeli ich stany wyjść są niesprzeczne oraz dla pewnego v V para stanów następnych do S i, S j (ozn. S k, S l ): (S i, S j ) (S k, S l ) Stany Si, Sj są sprzeczne, jeżeli dla pewnego v V ich stany wyjść są sprzeczne. Stany zgodne warunkowo Stany zgodne Stany sprzeczne
I T P W ZPT 4 Relacja zgodności Ze względu na zgodność warunkową w obliczeniach (wszystkich!) par zgodnych posługujemy się tzw. tablicą trójkątną. Tablica trójkątna zawiera tyle kratek, ile jest wszystkich możliwych par stanów. Na przykład dla automatu o 5 stanach:
I T P W ZPT 5 Tablica trójkątna Kratki tablicy wypełniamy symbolami: v – jeżeli para stanów jest zgodna, v x – jeżeli para stanów jest sprzeczna, lub x (i,j) - parą (parami stanów następnych), jeżeli jest to para zgodna warunkowo. (i,j)
I T P W ZPT 6 Tablica trójkątna - przykład abcdabcd 1–342–111 24–––0––– 366––01–– 4–615–001 5––2–––1– 63–230– ,2; 3,5 v v vv v
I T P W ZPT 7 Tablica trójkątna - przykład 2 33,64,6 4 52,4 6 3,4 1,2; 3, Po wypełnieniu tablicy sprawdzamy, czy pary stanów sprzecznych (zaznaczone ) nie występują przypadkiem jako pary stanów następnych. Wszystkie kratki niewykreślone odpowiadają parom zgodnym: Jeśli są takie pary, to należy je skreślić (czyli zaznaczyć ). Proces ten trzeba powtarzać tak długo, aż sprawdzone zostaną wszystkie krzyżyki. (1,2); (1,3); (1,5); (2,3); (2,4); (2,5); (3,5); (3,6); (4,6).
I T P W ZPT 8 Obliczanie MKZ Po wyznaczenie zbioru par stanów zgodnych, przystępujemy do obliczenia: maksymalnych zbiorów stanów zgodnych. Maksymalne klasy zgodności (MKZ)
I T P W ZPT 9 Obliczanie MKZ-ów Najprostsza metoda polega na łączeniu par kolumn zgodnych w trójki, trójek w czwórki itd. Problem obliczania maksymalnych klas zgodnych można sprowadzić do znanego problemu obliczania maksymalnych klik w grafie lub do problemu kolorowania grafu. Redukując zbiory mniejsze zawarte w większych oblicza Maksymalne Klasy Zgodności
I T P W ZPT 10 Metoda bezpośrednia a, b b, c a, c {a, b, c} a, b, c a, b, d b, c, d a, c, d {a, b, c, d} i.t.d. Pary zgodne:
I T P W ZPT 11...wracamy do przykładu 1,2 1,3 1,5 2,3 2,4 2,5 3,5 3,6 4,6 1,2,3 MKZ: 1,2,3,5 MKZ = {{1,2,3,5}, {2,4}, {3,6}, {4,6}} 1,2,5 2,4 3,6 4,6 vvvvvvvvvvvv Pary zgodne: (1,2); (1,3); (1,5); (2,3); (2,4); (2,5); (3,5); (3,6); (4,6) 2,3,5 1,3,5
I T P W ZPT 12 Algorytm minimalizacji 1) Wyznaczenie par stanów zgodnych, 2) Obliczenie maksymalnych zbiorów stanów zgodnych (MKZ), 3) Selekcja zbiorów spełniających tzw. warunek pokrycia (a) i zamknięcia (b): a) każdy stan musi wchodzić co najmniej do jednej klasy; b) dla każdej litery wejściowej wszystkie następniki (stany następne) danej klasy muszą wchodzić do jednej klasy.
I T P W ZPT 13 Warunek pokrycia - przykład abcdabcd 1–342–111 24–––0––– 366––01–– 4–615–001 5––2–––1– 63–230–01 MKZ = {{1,2,3,5}, {3,6}, { 2,4}, 4,6}} Aby spełnić warunek pokrycia wystarczy wybrać klasy: {1,2,3,5}, {4,6}
I T P W ZPT 14 Warunek zamknięcia - przykład abcdabcd 1–342–111 24–––0––– 366––01–– 4–615–001 5––2–––1– 63–230–01 Dla wybranych klas {1,2,3,5},{4,6}} obliczamy ich następniki: abcd 1,2,3,5 4,6 Nie jest spełniony warunek zamknięcia ! 4,63,62,42 361,23,5 3,6!2,4!
I T P W ZPT 15 Warunek pokrycia i zamknięcia – druga próba abcdabcd 1–342–111 24–––0––– 366––01–– 4–615–001 5––2–––1– 63–230–01 abcdabcd A1,2 B3,5 C4,6 MKZ = {{1,2,3,5}, {3,6}, { 2,4}, {4,6}} Wybór: abcdabcd ACBCA0111 BCCA–011– CBCAB0001 {1,2}, {3,5}, {4,6} 361,23,5 662– – 0001 O.K.
I T P W ZPT 16 Jeszcze jeden przykład –4–0 4–5–0 53–1– 67–1– 7–8–0 8––– vvv vv v vv v v 37
I T P W ZPT 17 Jeszcze jeden przykład c.d vvv vv v vv v v 37 1,3 1,7 2,5 2,8 3,4 3,5 3,6 4,5 4,6 4,7 5,7 5,8 6,7 6,8 Pary zgodne: 3,4,6 4,5,7 4,6,7 1,3 1,7 6,8 MKZ: 3,4,5 2,5,8
I T P W ZPT 18 Jeszcze jeden przykład c.d –4–0 4–5–0 53–1– 67–1– 7–8–0 8–––1 2,5,83,4,53,4,64,5,74,6,71,31,76,8 (0,S i ) (1,S i ) 2,5,8 3,4,5 3,4,6 4,5,7 4,6,7 1,3 1,7 6,8 MKZ: 33– 1– – – –3 45– – –7 45–5– –7– – 2––3––7–2–
I T P W ZPT 19 Jeszcze jeden przykład c.d –4–0 4–5–0 53–1– 67–1– 7–8–0 8–––1 2,5,83,4,53,4,64,5,74,6,71,31,76,8 (0,S i ) (1,S i ) – XSXS 0101 ACC11 BBA10 CAB00 ABC Automat minimalny:
I T P W ZPT 20 Algorytm MKZ wg par sprzecznych Koniunkcję dwuskładnikowych sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów Zapisać pary sprzeczne w postaci koniunkcji dwuskładnikowych sum Wtedy MKZ są uzupełnieniami zbiorów reprezentowanych przez składniki iloczynowe tego wyrażenia
I T P W ZPT 21 Ten sam przykład 1,2 1,3 1,5 2,3 2,4 2,5 3,5 3,6 4,6 E: Pary zgodne 1,4 1,6 2,6 3,4 4,5 5,6 Pary sprzeczne
I T P W ZPT 22 Przykład... Pary sprzeczne: (k1, k4), (k1, k6), (k2, k6), (k3, k4), (k4, k5), (k5, k6) = (k4 + Przekształcamy wyrażenie do postaci suma iloczynów: Obliczamy wyrażenie boolowskie typu koniunkcja sum: (k1 + k4) (k1 + k6 ) (k2 + k6) (k3 + k4) (k4 + k5) (k5 + k6) = Porządkujemy: (k4 + k1) (k4 + k3 ) (k4 + k5) (k6 + k1) (k6 + k2) (k6 + k5) = k4k6 + k1k2k4k5 + k1k3k5k6 + k1k2k3k5 (k6 + k1k3k5) k1k2k5) =
I T P W ZPT 23 Przykład... Klasy zgodne uzyskamy odejmując od zbioru {k1,...,k6}, zbiory tych ki, które występują w jednym składniku wyrażenia typu suma iloczynów {k1,..., k6} {k4, k6} = {k1, k2, k3, k5 } {k1,...,k6} {k1, k2, k4, k5 } = {k3, k6} {k1,...,k6} {k1, k3, k5, k6} = {k2, k4} {k1,...,k6} {k1, k2, k3, k5 } = {k4, k6}
I T P W ZPT 24 Detektor sekwencji Sygnał wyjściowy pojawiający się podczas trzeciego skoku układu ma wynosić 1, gdy trójka ma postać 001, a 0, gdy trójka jest innej postaci. Sygnał pojawiający się podczas pierwszego i drugiego skoku układu może być nieokreślony /- 1/- 0/- 0/0 1/0 1/1 0/- 1/ Zaprojektować układ sekwencyjny Mealyego o jednym wejściu binarnym i jednym wyjściu binarnym. Układ ma badać kolejne trójki symboli wejściowych.
I T P W ZPT 25 Detektor sekwencji 0/- 1/- 0/ /- 1/- 0/- 0/0 1/0 1/1 0/- 1/- 0/0 0/- 1/ /- 1/- 0/- 0/0 1/0 1/1 1/- S S
I T P W ZPT 26 Minimalizacja detektora sekwencji XSXS –– 2 45–– 3 55–– , , , , , , Bardzo dużo par zgodnych! Do wyznaczenia MKZ wykorzystamy pary sprzeczne, których jest znacznie mniej (dwie).
I T P W ZPT 27 Minimalizacja detektora sekwencji Pary sprzeczne zapisujemy w postaci wyrażenia boolowskiego typu iloczyn (koniunkcja) dwu-składnikowych sum. Na tej podstawie zapisujemy wyrażenie: (2 3) (4 5), które po wymnożeniu uzyskuje postać: (2 3) (4 5) = W detektorze sekwencji pary sprzeczne są: (2, 3); (4, 5). Odejmując od zbioru S = {1, 2, 3, 4, 5} wszystkich stanów zbiory zapisane w poszczególnych składnikach uzyskujemy rodzinę wszystkich MKZ. {1, 2, 3, 4, 5} – {2, 4} = {1, 3, 5} {1, 2, 3, 4, 5} – {2, 5} = {1, 3, 4} {1, 2, 3, 4, 5} – {3, 4} = {1, 2, 5} {1, 2, 3, 4, 5} – {3, 5} = {1, 2, 4}
I T P W ZPT 28 Minimalizacja detektora sekwencji XSXS XSXS MKZ: {1, 3, 5}, {1, 3, 4}, {1, 2, 5}, {1, 2, 4} Funkcja przejść dla wszystkich MKZ Dokładamy klasę {1,2,5} XSXS 0101 A B C XSXS 0101 ABA00 BCA00 CCA01 Klasy: {1,3,5}, {1, 2, 4}, {1, 2, 5} spełniają warunek pokrycia i zamkniętości ale nie spełniają warunku zamkniętości – stany następne: {1,2,5} ! Klasy {1, 3, 5}, {1, 2, 4} spełniają warunek pokrycia,
I T P W ZPT 29...a to już było XSXS 0101 ABA00 BCA00 CCA01 Uzyskany automat był już realizowany na przerzutnikach i bramkach – wykład cz6, plansze 15 do 21. CLK x Y Zaprojektować układ sekwencyjny Mealyego o jednym wejściu binarnym i jednym wyjściu binarnym. Układ ma badać kolejne trójki symboli wejściowych. Sygnał wyjściowy pojawiający się podczas trzeciego skoku układu ma wynosić 1, gdy trójka ma postać 001, a 0, gdy trójka jest innej postaci. Sygnał pojawiający się podczas pierwszego i drugiego skoku układu może być nieokreślony. Omówiliśmy cały proces syntezy !