- 76 -
rys,3-19®, tablice przejść i wyjść układu Mealy*«ge - na rys.3.19b,c.
Do wypełnienia tablicy wyjść układu Mealy*ego (rys.3.19c) potrzebna jeat tablica przejść tego układu oraz pierwotna tablica przejść i wyjść. Najpierw ustala się stany wyjść odpowiadające stanom stabilnym. W stabilnym stanie wewnętrznym 0 (dla stanów wejść 00, 11 i 10) stan wyjścia jest 0. W stabilnym stanie wewnętrznym 1 dla wejść 01 stan wyjścia jest 0 (stan ten odpowiada stanowi nr 3 tablicy pierwotnej), a dla wejść 11 i 10 stan wyjścia jest 1 (stan ten odpowiada stanom nr 4 i 5 tablicy pierwotnej). Ewentualnym nieokreślonym przejściom w tablicy przejść układu Mealy*ego odpowiadają nieokreślone stany wyjść w tablicy wyjść. Stany wyjść odpowiadające stanom niestabilnym (przejściom z jednego etanu stabilnego do drugiego) ustala się tak, aby przejście przez taki stan nie powodowało chwilowych zmian sygnału wyjściowego (impulsu albo chwilowego zaniku sygnału). A więc stanowi niestabilnemu 1 (iys.3.19b) należy przypisać stan wyjść y-0, gdyż ten stan niestabilny oddziela stabilny stan 0, w którym stan wyjść jest y«=0, od stabilnego stanu 1 (przy stanie wejść 01), w którym stan wyjść także jest y»0. Niestabilny stan 0 (dolny wiersz tablicy na rys.3.19b) jest przejściem pomiędzy stanem wewnętrznym 1, w którym może być albo y-0 (dla wejść 01 - stan 3 tablicy pierwotnej), albo y«1 (dla wejść 10 - stan 5 tablicy pierwotnej), a stanem wewnętrznym 0, w którym jest y=0. Zatem w niestabilnym stanie 0 winno być y=0. W przeciwnym przypadku przy przejściu ze stanu 1 z wyjściem y»0 do stanu 0 z wyjściem y=0, powstałby chwilowy impuls.
Trzecim etapem syntezy układów sekwencyjnych jest kodowanie. Polega ono na przypisaniu poszczególnym stanom wewnętrznym wartości sygnałów pamięciowych. Stan sygnałów pamięciowych, odpowiadający danemu stenowi wewnętrznemu, traktować można jako kod tego stanu wewnętrznego. W układach asynchronicznych sąsiednim stanom wewnętrznym winny być przypisane kody różniące się wartością jednej tylko pozycji. W przeciwnym przypadku w układzie mogą wystąpić zjawiska zwane wyścigami. Związane aą one z wymuszaniem przez dany stan wejść równoczesnej zmiany wartości kilku sygnałów pamięciowych, co może prowadzić do osiągnięcia niezamierzonych etanów wewnętrznych. Na przykład, zamiast zmiany stanu sygnałów pamięciowych 00—na skutek równych czasów działania fragmentów układu wytwarzających te sygnały, może zajść wcześniej zmiana 00—*-01 albo 00—►10. Jeżeli przy danym stanie wejść stany wewnętrzne o kodach 01 i 10 są stanami stabilnymi i układ zdąży zareagować na ich obecność, zaprzestając wymuszaniu zmiany do stanu 11, to żądana zmiana 00—“-11 nie nastąpi. Zjawisko, polegające na uzyskiwaniu błędnego stanu stabilnego na skutek niespełnienia żądania jednoczesnej zmiany kilku sygnałów pamięciowych nazywa się wyścigiem krytycznym. Jeżeli natomiast przy danym stanie wejśĄ stany wewnętrzne o kodach 01 lub 10 byłyby stanami niestabilnymi, z których układ przechodziłby właśnie do żądanego etanu
0 kodzie 11, to pomimo przejściowego osiągnięcia przez układ stanu niezamierzonego, działałby on prawidłowo. Jest to wyścig niekrytyczny.
Spełnienie warunku, żeby kody wszystkich stanów sąsiednich w danym układzie różniły się wartością jednej tylko pozycji jest niekiedy trudne lub niemożliwe. Wprowadza się wtedy korekty w działaniu układu, polegające na zastępowaniu niektórych przejść tzw. przejściami cyklicznymi poprzez stany już istniejące lub nowe, specjalnie do tego celu utworzone.
Zwykle istnieje szereg możliwości kodowania stanów wewnętrznych. Sposób kodowania ma wpływ na prostotę funkcji przejść
1 wyjść. Jednakże poszukiwanie sposobu kodowania optymalnego ze względu na prostotę funkcji przejść i wyjść jest procesem pracochłonnym. Spośród wielu metod ułatwiających kodowanie, jedna z najprostszych polege na wykorzystaniu tzw. wykresu przejść. Wykres przejść jest to uproszczony graf, wskazujący Jedynie przejścia pomięflzy‘"stanamiwewnętrznymi. W rozpatrywanym układzie Moore*a obowiązuje wykres przejść pokazany na ryB.3.19d. Ponieważ w układzie wyróżniono trzy stany wewnętrzne, do ich zakodowania niezbędne są kody co najmniej dwupozy-cyjne. W układzie wystąpią więc co najmniej dwa sygnały pamięciowe. Ze względu na to, że wszystkie trzy stany są wzajemnie stanami sąsiednimi, nie jest możliwe zekodowanie ich tak, by różniły się wzajemnie wartością jednej tylko pozycji. Dlatego też należy zastosować przejście cykliczne ze stanu 2 do 0 albo