DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD.. SNTEZA UKŁADÓW SEKWENCJNCH Synteza to proces prowadzący od założeń definiujących sposób działania układu do jego projektu. odczas syntezy należy kolejno ustalić: liczbę elementów wejściowych i wejściowych (ilości te wynikają wprost ze sformułowania zadania, które ma realizować układ), liczbę elementów pamięci, funkcje przejść δ wyjść λ układu, (funkcja przejść określa stan wewnętrzny układu w chwili następnej na podstawie stanu wewnętrznego i stanu wejść w chwili poprzedniej, funkcja ta opisuje działanie bloku pamięci układu; funkcja wyjść określa stan wyjściowy układu w zależności od stanu wewnętrznego i ewentualnie stanu wejściowego, funkcja ta opisuje działanie bloku wyjściowego), zaproponować schemat układu. Do syntezy układów sekwencyjnych stosowane są metody: tablic kolejności łączeń (zwana metodą Siwińskiego) może być stosowana dla niezbyt złożonych algorytmów przetwarzania sygnałów ale niezależnie od ilości elementów wejściowych i wyjściowych układu, tablic przejść i wyjść (zwana metodą Huffmana) może być stosowana dla złożonych algorytmów przetwarzania ale przy niedużej liczbie sygnałów wejściowych (2, )... Metody opisu układów sekwencyjnych rogram działania projektowanego lub analizowanego układu może być przedstawiany na kilka różnych sposobów. Jednym z najczęściej stosowanych jest opis słowny. Opis słowny opisowo przedstawia funkcjonowanie układu, z opisu powinny wynikać wszystkie stany wejściowe (a właściwie wszystkie możliwe sekwencje tych stanów) i odpowiadające im stany wyjściowe (lub ich sekwencje). Z opisu słownego nie wynika np. ilość niezbędnych do realizacji układu elementów pamięci. rzykład. Opis słowny układu sterującego pracą lampy rzycisk steruje pracą lampy. Jeśli lampa nie świeci, wciśnięcie przycisku powoduje jej zaświecenie, jeśli lampa świeci, wciśnięcie przycisku powoduje jej zgaszenie. Zwolnienie przycisku nie powoduje zmian jej stanu. rzykład 2. Opis słowny układu sterującego pracą urządzenia rzyciski Z (załącz) i W (wyłącz) sterują pracą urządzenia. Naciśnięcie przycisku Z załącza urządzenie, urządzenie pracuje również po zwolnieniu tego przycisku. Naciśnięcie przycisku W wyłącza urządzenie. Urządzenie nie pracuje gdy wciśnięte są obydwa przyciski. Dodatkowo, nie jest możliwa jednoczesna zmiana stanu obydwu przycisków.
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 2 Układy asynchroniczne często opisywane są przy pomocy wykresów czasowych. Wykres czasowy przedstawia przebieg w czasie zmian stanów wejściowych i odpowiadających im stanów wyjściowych przy czym nie są uwzględniane opóźnienia wynikające z czasu reakcji elementów układu. Do jednoznacznego opisu działania układu niezbędne jest zaznaczenie na wykresie wszystkich możliwych sekwencji stanów wejść i wyjść. rzy dużej liczbie sygnałów wejściowych lub wejściowych czy skomplikowanym sposobie przetwarzanie sygnałów wykres ten może być jednak mało czytelny. rzykład. cd. Do przedstawienia działania układu z przykładu. niezbędne są dwa wykresy: wykres przedstawiający zmiany stanu przycisku (przycisk wciśnięty, przycisk zwolniony) i wykres przestawiający stan lampy (lampa świeci i lampa nie świeci). t t 2 4 5 6 7 8 9 0 2 Rys.. Wykres czasowy układu z przykładu. Na powyższym rysunku przedstawiono wybranych taktów pracy układu. W takcie. przycisk jest zwolniony i lampa nie świeci, w takcie 2. wciśnięcie przycisku powoduje że lampa zaczyna świecić, lampa świeci nawet po zwolnieniu przycisku (takt.)... rzykład 2. cd. Do przedstawienia działania układu z przykładu 2. niezbędne są trzy wykresy: wykres przedstawiający zmiany stanu przycisków Z i W i wykres przestawiający stan pracy urządzenia. Z W t t t 2 4 5 6 7 8 9 0 2 Rys. 2. Wykres czasowy układu z przykładu 2. owyższy rysunek przedstawia pracę urządzenia od momentu gdy zwolniony jest przycisk Z a wciśnięty jest przycisk W urządzenie w tych warunkach nie pracuje. Urządzenie nie pracuje również po zolnieniu przyciku W (takt 2.), wciśnięcie przycisku Z w takcie. uruchamia urządzenie...
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. Opis słowny czy wykresy czasowe przedstawiają jedynie zależności pomiędzy zewnętrznymi sygnałami układu (tzn. sygnałami wejściowymi i wyjściowymi). Do syntezy układu potrzebna jest wiedza o stanach wewnętrznych układu oraz funkcjach przejść i wyjść. Informacje takie zawarte są w opisach typu graf przejść czy tablice przejść i wyjść. Graf przejść graf, którego wierzchołki odpowiadają stanom wewnętrznym układu A, a gałęzie oznaczają przejścia pomiędzy stanami wymuszane określonymi stanami wejściowymi X. Dla układów Moore a stan wyjść zależy wyłącznie od stanu wewnętrznego A więc jest przyporządkowywany odpowiedniemu wierzchołkowi grafu. Dla układów Mealye go stan wyjść zależy od stanu wewnętrznego A i od stanu wejść X i jest przyporządkowany podobnie jak stan wejść odpowiedniej gałęzi grafu. Konstrukcja grafu przejść nie zawsze jest zadaniem łatwym. Wymaga po pierwsze znajomości stanów wewnętrznych układu. Stany wewnętrzne można zidentyfikować uważnie analizując opis słowny lub wykres czasowy układu. W przypadku prostych układów stany wewnętrzne można wyodrębnić szukając unikalnych kombinacji stanów wejściowych i wyjściowych. Jeżeli wybrane w ten sposób stany wewnętrzne nie pozwalają na wykreślenie grafu przejść (nie można jednoznacznie określić przejść pomiędzy niektórymi stanami) to należy zdublować wybrane stany tak żeby można było jednoznacznie określić wszystkie przejścia na grafie. rzykład. cd. Z analizy opisu programu pracy lampy, że układ może znajdować się w jednym z czterech stanów: przycisk zwolniony i lampa nie świeci (=0 i =0), 2 przycisk wciśnięty i lampa świeci (=, =), przycisk zwolniony i lampa świeci (=0, =), 4 przycisk wciśnięty i lampa nie świeci (=, =0). W oparciu o tak zdefiniowane stany wewnętrzne można już narysować graf przejść układu. 0 2 0 0 4 0 Rys.. Graf przejść układu z przykładu.
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 4 rzykład 2. cd. Układ sterujący pracą urządzenia przy pomocy dwóch przycisków może znajdować się w jednym z pięciu stanów (jest 5 unikalnych kombinacji wartości Z, W i ) przycisk Z zwolniony, przycisk W wciśnięty i urządzenie nie pracuje (Z=0, W=, =0), 2 przyciski Z i W zwolnione i urządzenie nie pracuje (Z=0, W=0, =0), przycisk Z wciśnięty, przycisk W zwolniony i urządzenie pracuje (Z=, W=0, =), 4 przyciski Z i W zwolnione i urządzenie pracuje (Z=0, W=0, =), 5 przyciski Z i W wciśnięte i urządzenie nie pracuje (Z=, W=, =0). 0 00 0 0 0 2 5 0 4 Rys. 4. Graf przejść układu z przykładu 2. Tablice przejść i wyjść w formie tabelarycznej przedstawiają informacje zawarte w grafie przejść. Tablica przejść ma tyle wierszy ile jest stanów wewnętrznych układu i tyle kolumn ile różnych stanów wejściowych może wystąpić podczas pracy układu. Do kratek tablicy wpisywane są stany wewnętrzne, do których przechodzi układ który był poprzednio w stanie określonym przez wiersz tablicy pod wpływem stanu wejściowego określonego przez kolumnę tablicy. Tablica przejść odpowiada funkcji przejść δ układu. Tablica wyjść odpowiada funkcji wyjść λ układu; dla układu Moore a stan wyjść jest funkcją tylko stanu wewnętrznego, tablica wyjść ma więc tyle wierszy ile jest stanów wewnętrznych i jedną kolumnę w której wpisywane są wartości stanów wyjściowych, dla układów tego typu tablicę przejść uzupełnia się dodatkową kolumną zawierającą wartości stanów wyjściowych otrzymuje się w ten sposób tablicę przejść wyjść. 00 0 0 0 0 rzykład. i 2. cd. a) b) q 0 2 0 2 4 4 0 ZW q 00 0 0 2 5 0 2 0 4 5 4 5 0 Rys. 5. Tablice przejść wyjść układu z przykładów a). i b) 2. (stany stabilne zostały otoczone kółkami).
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 5.2. Metoda Huffmana Metoda polega na: sporządzeniu opisu działania układu w postaci tablicy przejść wyjść nazywanej także pierwotną tablicą programu, wykonaniu redukcji (minimalizacji) stanów wewnętrznych, ierwotna liczba stanów wewnętrznych układu przyjęta na podstawie pierwotnej tablicy programu może być większa od liczby stanów niezbędnych do realizacji określonego zadania, na tym etapie powstaje z pomocą wykresu redukcyjnego tzw. zredukowana tablica programu (tabela ta powstaje w wyniku połączenia wybranych wierszy pierwotnej tablicy programu), określeniu liczby elementów pamięci i przypisaniu im odpowiednich kodów, kodowanie elementów pamięci przeprowadza się z pomocą tzw. wykresu przejść, zestawieniu tablic stanów elementów pamięci i elementów wyjściowych. rzy pomocy tablic stanów można już zbudować schematy logiczne dla bloku pamięci i bloku wyjściowego. Metoda Huffmana zostanie omówiona podczas syntezy układów z przykładów. i 2. Układy te zostaną zaprojektowane jako układy o architekturze Moore'a..2.. Synteza układu z przykładu 2. W większości przypadków liczba wstępnie wytypowanych stanów wewnętrznych jest zbyt duża, należy więc sprawdzić czy można zmniejszyć ich ilość. Redukcja stanów wewnętrznych Łączenie odpowiadających sobie wierszy pierwotnej tablicy programu pozwala na zmniejszenie liczby niezbędnych elementów pamięci potrzebnych do realizacji określonego programu. Łączyć można ze sobą wiersze tabeli: zawierające w opowiadających sobie kolumnach stany niesprzeczne, stany są niesprzeczne jeżeli jeden z nich jest opisany liczbą a drugi, jeżeli stan sygnałów wyjściowych w łączonych wierszach jest takim sam lub niesprzeczny to układ odpowiadający nowej tabeli jest w dalszym ciągu układem Moore a, jeżeli łączone są wiersze o różnych stanach wyjść, układ odpowiadający nowej tabeli będzie już układem Mealye go i konieczne będzie zapisanie stanu jego wyjść w tablicy wyjść, zawierające równoważne stany stabilne, dwa stany stabilne są równoważne jeżeli znajdują się w tej samej kolumnie (są reakcją na te same stany wejściowe), mają jednakowe lub niesprzeczne stany wyjściowe oraz wszystkie możliwe przejścia z tych stanów prowadzą do takich samych stanów lub stanów równoważnych. W wynikowym, połączonym wierszu wpisuje się: liczbę którą zawierały obydwie łączone komórki, lub liczbę z jednej z komórek w przypadku gdy druga zawierała, kreskę jeżeli obydwie łączone komórki zawierały, kółko jeżeli obydwie łączone komórki zawierały tą samą liczbę i dodatkowo w jednej z nich liczba ta oznaczała stabilny stan wewnętrzny.
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 6 odczas łączenia wierszy pierwotnej tablicy programu pomocny jest tzw. wykres redukcyjny: na obwodzie koła umieszcza się liczby odpowiadające stanom wewnętrznym układu odpowiadają one jednocześnie numerom wierszy pierwotnej tablicy programu, numery wierszy, które mogą zostać połączone, łączone są odcinkami (jeżeli stan wyjść jest niesprzeczny odcinek powinien być narysowany linią ciągłą, w przeciwnym przypadku linią przerywaną). W wyniku redukcji stanów wewnętrznych z pierwotnej tablicy programu powstaje zredukowana tablica programu. W punkcie poprzednim została przygotowana pierwotna tablica programu układu sterującego pracą urządzenia. Analizując zawartość tablicy można zauważyć, że liniami ciągłymi (stany wyjść w łączonych wierszach są niesprzeczne) mogą zostać połączone wiersze:. i 2. (w odpowiadających sobie komórkach znajdują się kolejno: 2 i, i, 5 i, i, 0 i 0),. i 5. (2 i, i, 5 i, i, 0 i 0), 2. i 5. ( i, i, i, i, 0 i 0),. i 4. (4 i, i, 5 i, i, i ), a liniami przerywanymi (stany wyjść w łączonych wierszach są sprzeczne) wiersze:. i 5. (4 i, i, 5 i, i, i 0), 4. i 5. ( i, i, i, i, i 0). Wynik tej analizy został przedstawiony na wykresie redukcyjnym (rys. 6b). a) b) Stany: Z=0, W=, =0, ZW q 00 0 0 2 5 0 2 0 4 5 4 5 0 Rys. 6. a) ierwotna tablica programu i b) wykres redukcyjny układu z przykładu 2. Układ, zgodnie z wcześniejszymi założeniami, powinien mieć architekturę Moore'a, więc łączenie wierszy zawierających sprzeczne stany wyjściowe jest niedopuszczalne. Z wykresu redukcyjnego wynika że można połączyć wiersze. 2. i 5. oraz. i 4. Wiersze. 2. i 5. można połączyć w jeden wiersz ponieważ na wykresie są wszystkie połączenia pomiędzy tymi wierszami, czyli pomiędzy. i 2.,. i 5. oraz 2. i 5. Gdyby istniały połączenia np. tylko pomiędzy. i 2. oraz. i 5. to można byłoby połączyć wiersz. tylko z 2. lub tylko z 5. W wyniku połączenia odpowiednich wierszy powstaje zredukowana tablica programu. 2 Z=0, W=0, =0, Z=, W=0, =, 4 Z=0, W=0, =, 5 Z=, W=, =0. ZW q 00 0 0,2,5 0,4 5 Rys. 7. Zredukowana tablica programu układu z przykładu 2. 5 4 2
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 7 Kodowanie wierszy zredukowanej tablicy programu Jeżeli liczba wierszy zredukowanej tablicy programu mieści się w zakresie 2 p a 2 p to blok pamięci można najprawdopodobniej zrealizować wykorzystując p elementów pamięci (czasem jest to niemożliwe i konieczne jest użycie większej liczby elementów pamięci). Wierszom zredukowanej tablicy programu należy przypisać kody w postaci ciągów zerojedynkowych o długości p (ciągi te odpowiadają stanom elementów pamięci, 2,, p). Kody należy przypisać w taki sposób aby niezbędne przejścia pomiędzy wierszami tabeli można było zrealizować przy zmianie stanu tylko jednego elementu pamięci (to wymaganie powoduje, że czasem koniecznych jest więcej elementów pamięci niż wynika to z ilości zredukowanych stanów wewnętrznych). roces kodowania ułatwia tzw. wykres przejść: na wykresie każdy wiersz zredukowanej tablicy programu jest reprezentowany przez odpowiadający mu wierzchołek, wierzchołki odpowiadające wierszom pomiędzy którymi w tablicy są przejścia (w wierszach występuje ten sam numer stanu wewnętrznego raz w postaci stanu stabilnego drugi raz w postaci stanu niestabilnego) należy łączyć odcinkami, na koniec, wierzchołkom należy przypisać ciągi zerojedynkowe (o długości p) w taki sposób aby wierzchołki połączone były opisane ciągami różniącymi się tylko na jednej pozycji. Zredukowana tablica programu układu z przykładu 2. ma tylko dwa wiersze więc jest oczywiste, że do zakodowania dwóch stanów układu wystarczy jeden element pamięci dający na swoim wyjściu wartości "0" i "". Skoro są dwa stany z których jeden zostanie zakodowany jako "0" a drugi jako "", to wymaganie ograniczające sposób przypisywania kodów (przejścia pomiędzy stanami można było realizować przy zmianie stanu tylko jednego elementu pamięci) będzie również w tym przypadku spełnione. Rysowanie wykresu przejść w tak prostym przypadku nie jest więc konieczne (dla porządku wykres ten został jednak narysowany).,2,5,4 Rys. 8. Wykres przejść układu z przykładu 2. Układ zostanie zaprojektowany na dwa sposoby. W pierwszym przypadku stanom, 2 i 5 zostanie przypisany kod "0" a stanom i 4 kod "". W drugim przypadku stany, 2, 5 otrzymają kod "" a i 4 kod "0". Tablice stanów Końcowy etap syntezy układu polega na przygotowaniu tablic stanów elementów pamięci i elementów wyjściowych. Tablice stanów odpowiadają funkcjom przejść δ i wyjść λ budowanego układu. Tablica stanów elementów pamięci ma tyle wierszy ile jest stanów elementów pamięci i tyle kolumn ile jest stanów wejść. Tablica stanów elementów wyjściowych dla układów Moore'a ma tyle wierszy ile jest stanów elementów pamięci tylko jedną kolumnę w której wpisywane są wartości sygnały wyjściowego dla każdego ze stanów pamięci. Tablica stanów elementów wyjściowych dla układów Mealy'ego ma taką sama postać jak tablica stanów elementów pamięci.
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 8 Tablicę stanów elementów pamięci otrzymuje się wprost ze zredukowanej tablicy programu uwzględniając przyjętą metodę kodowania. odobnie otrzymuje się tablicę stanów elementów wyjściowych dla układów Moore a (sposób tworzenia tablic stanów elementów wyjściowych układów Mealy ego nie zostanie opisany w tym materiale). Zakładając, że stanom, 2 i 5 przypisano kod "0" a stanom i 4 kod "", na podstawie zredukowanej tablicy programu, można zapisać tablice stanów tego układu. a) b) c) ZW q 00 0 0,2,5 0,4 5 ZW q 00 0 0 0 0 0 0 0 0 q 0 0 Rys. 9. a) Zredukowana tablica programu b) tablica stanów elementów pamięci c) tablica stanów elementu wyjściowego układu z przykładu 2. Z tablic stanów można zapisać wyrażenia opisujące funkcjonowanie bloku pamięci układu: i bloku wyjściowego: W q Z, q. rzyjęcie takiego sposobu kodowania spowodowało, że w projektowanym układzie blok wyjściowy jest zbędny sygnał wyjściowy bloku pamięci jest jednocześnie sygnałem wyjściowym układu. Na rys a. został przedstawiony schemat zaprojektowanego w ten sposób układu. Gdyby stanom, 2 i 5 został przypisany kod "" a stanom i 4 kod "0", tablice stanów układu miałyby inną postać: a) b) Rys. 0. Tablice stanów elementów pamięci (a) i elementu wyjściowego (b) układu z przykładu 2. Układ dla tak przyjętego sposobu kodowania można byłoby opisać wyrażeniami: W q Z oraz q. rzyjęcie tej metody kodowania stanów spowodowało, że konieczne jest dodatkowe przetworzenie sygnału wyjściowego z bloku pamięci niezbędny jest blok wyjściowy. a) b) Z W q ZW q 00 0 0 0 0 0 0, Z W Rys.. Schemat układu z przykładu 2. q 0 0 q
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 9.2.2. Synteza układu z przykładu. Z tablicy przejść wyjść układu wynika, że nie można zmniejszyć liczby stanów wewnętrznych każde dwa dowolnie wybrane wiersze tablicy zawierają stany sprzeczne. Układ należy zaprojektować kodując wszystkie cztery stany wewnętrzne (są cztery wiersze w tablicy). Do zakodowania czterech stanów układu niezbędne są dwa elementy pamięci dające na swoim wyjściu wartości "00", "0", "0" i "". Kodowanie stanów ułatwia wykres przejść. a) b) c) d) q 0 2 0 2 4 4 0 2 4 00 0 2 4 0 00 0 2 4 0 Rys. 2. a) ierwotna tablica programu i b) wykres przejść i c) i d) wykresy przejść z dwoma przykładowymi sposobami kodowania stanów układu. Jednym z prawidłowych sposobów kodowania stanów układu jest przypisanie stanowi kodu "00", stanowi 2 kodu "0", stanowi kodu "" a stanowi 4 kodu "0" (rys. 2 c). Stany układu mogą być jednak zakodowane w inny sposób. Gdyby stan otrzymał kod "00" to alternatywną metodę kodowania przedstawiono na rys. 2 d. Stan oczywiście nie musi być kodowany jako "00" istnieje osiem różnych sposobów kodowania stanów rozważanego układu. Tablice stanów układu dla kodowania z rys. 2 c zostały przedstawione na rys. a i b. a) b) c) d) 2 qq2 0 00 00 0 0 0 0 0 00 0 00 0 0 0 0 qq2 qq2 0 00 0 0 0 0 0 0 2 qq2 0 00 0 0 0 0 0 0 Rys.. Tablice stanów elementów pamięci (a) i elementu wyjściowego (b), c) i d) tablice stanów dla i 2. Wyrażenia opisujące funkcjonowanie bloku pamięci można zapisać dzieląc tablicę stanów z rys. a na dwie: tablicę stanów elementu i elementu 2. Tablice te zostały przedstawione na rys. c i d. (w poszczególnych komórkach tablicy elementu znajdują się wszystkie cyfry z pierwszej pozycji, a w tablicy elementu 2 wszystkie cyfry z drugiej pozycji komórek tablicy a). Uwaga! Gdyby po uwzględnieniu przyjętego sposobu kodowania okazało się że wiersze tablic stanów nie są uporządkowane według kodu Graya, należałoby je uporządkować przed przystąpieniem do zapisu wyrażeń logicznych.
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 0 Wiersze tablic stanów są poprawnie uporządkowane, więc na ich podstawie można już zapisać wyrażenia: q q q, 2 q2 q q q, 2 2 q2 q 2 Rozważane tutaj zadanie sterowania oświetleniem przy pomocy jednego przycisku rozwiązuje układ:. 2 q2 q Rys. 4. Schemat układu z przykładu..2.. Synteza układu przykład. Należy podobnie jak w przykładzie. zaprojektować układ sterujący pracą urządzenia. Do sterowania wykorzystywane są dwa przyciski A i B. Załączenie następuje tylko w przypadku gdy po kombinacji 0 (wciśnięty tylko przycisk B) nastąpi kombinacja (wciśnięte obydwa przyciski). Urządzenie jest wyłączane w wyniku jakiejkolwiek zmiany stanu przycisków. Należy założyć, że nie jest możliwa jednoczesna zmiana stanu obydwu przycisków. Z analizy opisu wynika, że układ może znajdować się w stanach: obydwa przyciski wyłączone, urządzenie nie pracuje (A = 0, B = 0, = 0), 2 wciśnięty tylko przycisk drugi, urządzenie nie pracuje (A = 0, B =, = 0), wciśnięte obydwa przyciski, urządzenie pracuje (A =, B =, = ), 4 wciśnięty tylko przycisk pierwszy, urządzenie nie pracuje (A =, B = 0, = 0), 5 wciśnięte obydwa przyciski, urządzenie nie pracuje (A =, B =, = 0). W oparciu o tak zdefiniowane stany wewnętrzne można już narysować graf przejść układu. 0 0 0 0 0 0 0 5 4 2 0 00 00 0 0 Rys. 5. Graf przejść układu z przykładu.
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. Na podstawie grafu można zapisać pierwotną tablicę programu (rys. 6 a). a) b) AB q 00 0 0 2 4 0 2 0 2 4 4 5 0 5 2 4 0 5 4 2 Rys. 6. a) ierwotna tablica programu i b) wykres redukcyjny. Z wykresu redukcyjnego wynika, że układ można zaprojektować jako układ Moore'a z trzema stanami wewnętrznymi: łącząc stany, 4 i 5 i pozostawiając niepołączone stan: 2 i stan, łącząc stany i 2, oraz stany 4 i 5 i pozostawiając niepołączony stan. rzyjmując pierwszy ze sposobów redukcji stanów otrzymuje się następującą zredukowaną tablicę programu: a) b) Rys. 7. a) Zredukowana tablica programu, b) wykres przejść c) wykresy przejść z przykładowym sposobem kodowania stanów układu. Do zakodowania trzech stanów układu niezbędne są dwa elementy pamięci dające na swoim wyjściu wartości "00", "0", "0" i "" wydaje się więc, że jeden z czterech możliwych kodów będzie w tym przypadku niewykorzystany. Na wykresie redukcyjnym z rys. 7 c zaproponowany został pewien sposób kodowania stanów układu. Kodowanie to jest jednak nieprawidłowe przejście ze stanu,4,5 do stanu wymaga zmiany stanu obydwu elementów pamięci (zmiana z "00" na ""). Żeby uwzględnić wymaganie przechodzenia pomiędzy stanami układu przy zmianie stanu tylko jednego elementu pamięci należy uzupełnić wykres przejść niewykorzystanym stanem "0" i przejście z,4,5 do zrealizować przeskakując przez ten stan (rys. 8a). AB q 00 0 0,4,5 2 0 2 0 2 4 00 0,4,5 2,4,5 2 00 0,4,5 2 0 Rys. 8. oprawiony wykres przejść.
DODATEK: SEKWENCJNE UKŁAD ASNCHRONICZNE CD. 2 ierwszy wiersz zredukowanej tablicy programu zawiera tylko przejście ze stanu,4,5 do stanu 2, przejście to może być zrealizowane bez żadnych modyfikacji dla przyjętego sposobu kodowania. W miejsce stanów, 4 i 5 należy więc wpisać kod "00" a w miejsce stanu 2 kod "0". odobnie drugi wiersz zawiera przejścia nie wymagające przeskoku przez stan "0" (przejście ze stanu 2 do stanu i przejście ze stanu 2 do stanu ). W miejsce stanu należy więc wpisać kod "00", w miejsce stanu 2 kod "0" a w miejsce stanu kod "". W trzecim wierszu tabeli znajdują się dwa przejścia: przejście ze stanu do stanu 2 i przejście ze stanu do stanu 4 (przejście to musi być zrealizowane przy pomocy dodatkowego stanu "0"). W miejsce stanu 2 można wpisać jego kod "0", w miejsce stanu kod "". W miejsce stanu 4 należy natomiast wpisać kod dodatkowego stanu "0". Dzięki temu przeskok ze stanu nastąpi do stanu "0". rawidłowa realizacja zadania wymaga aby po skoku do stanu "0" nastąpił przeskok do właściwego stanu czyli 4. rzeskok ten można wprowadzić uzupełniając tablicę stanów dodatkowym wierszem "0". W wierszu tym, w kolumnie w obrębie której realizowany jest skok, należy wpisać kod stanu 4 czyli "00". o wprowadzeniu dodatkowego stanu należy zastanowić się jeszcze nad wartością dla sygnału wyjściowego w tym stanie. Stan "0" jest stanem przejściowym pomiędzy stanem dla którego na wyjściu układu powinien pojawić się sygnał "" a stanem 4 dla którego sygnał wyjściowy powinien być równy "0", poprawne byłoby więc przyjęcie dla tego stanu wartości wyjściowej "" jak i wartości "0". Ze względu na to, że obydwa rozwiązania są równie dobre można w tablicy stanów jako wartość wyjściową dla stanu "0" wpisać " " (gdyby dla stanów i 4 sygnał wyjściowy miał taką samą wartość, w stanie przejściowym należałoby przyjąć również tą samą wartość). AB qq2 00 0 0,4,5 2 0 2 0 2 4 00 0,4,5 2 0 2 AB qq2 00 0 0 00 00 0 00 00 0 0 00 0 0 0 0 0 00 Rys. 9. a) Zredukowana tablica programu, b) wykres przejść c) tablica stanów układu. Dzieląc tablicę stanów 7 c na tablice dla elementów, 2 i a) b) c) AB qq2 00 0 0 00 0 0 0 0 0 0 0 0 0 0 AB 2 qq2 00 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 qq2 Rys. 20 Tablice stanów dla, 2 i. otrzymuje się wyrażenia na podstawie których można zbudować już rozważany układ: Aq 2, B q2 A B q. 2,