322
9. UKŁADY SEKWENCYJNE ASYNCHRONICZNE
9.1.Wstęp
Ogólne własności układów sekwencyjnych asynchronicznych przedstawiono już w rozdz. 4. gdzie porównano je z układami sekwencyjnymi synchronicznymi. W układach synchronicznych rytm zmian stanów wewnętrznych wyznacza sygnał zegarowy. Stan wejść oddziaływuje na stan wewnętrzny tylko w chwilach wyznaczonych przez odpowiednie zbocza sygnału taktującego.
W układach asynchronicznych sygnał taktujący nie występuje. Sygnały wejściowe przez cały czas bezpośrednio oddziaływują na stan wewnętrzny układu. Zatem każda zmiana 'wejścia powoduje natychmiastową (uwzględniając czas propagacji sygnałów przez układ) reakcję układu.
Brak sygnału taktującego powoduje, że synteza układów asynchronicznych, w ogólnym przypadku, jest trudniejsza niż synteza układów synchronicznych. Pewne etapy projektowania układów asynchronicznych, np. trudny problem kodowania stanów wewnętrznych, są etapami krytycznymi. Oznacza to. że przyjęcie nieoptymalnego, w sensie określonych kryteriów, kodu powoduje nie tylko wzrost złożoności układu (jak w przypadku układów synchronicznych) ale również może spowodować błędne działanie układu, co jest juz niedopuszczalne. Problem utrudnia dodatkowo brak efektywnych metod kodowania złożonych układów asynchronicznych. Tego typu trudności (etapy krytyczne) nie występują w syntezie układów synchronicznych.
W wersji asynchronicznej nie mogą być realizowane urządzenia, które przetwarzają szeregowo (bit po bicie) przekazywane informacje cyfrowe, gdyż - bez dodatkowego sygnału - układ asynchroniczny nie jest w stanie odróżnić kolejnych (podawanych obok siebie) jedynek lub zer. Układy asynchroniczne są wykorzystywane głównie w układach przełączających automatyki.
Powyższe trudności są zapewne przyczyną zdominowania układów asynchronicznych przez układy synchroniczne; potwierdzeniem tego może być fakt wytwarzania obecnie złożonych układów cyfrowych, o wysokim stopniu scalenia (np. mikroprocesory), właśnie w wersji synchronicznej.
Z wymienionych względów, w niniejszym opracowaniu układy asynchroniczne potraktowane zostaną mniej szczegółowo. Obszerniejsze
informacje na ten temat można znaleźć m.in. W [11, 4, 16).
Rozpatrzymy tutaj układy asynchroniczne statyczne (por. rozdz.4); przedstawimy metodę syntezy typh układów bazującą na ich opisie w postaci tablic przejść i wyjść. Poszczególne etapy tej metody mają swoje odpowiedniki w metodzie syntezy układów synchronicznych przedstawionej w rożdz. 5, aczkolwiek algorytmy realizacji tych etapów będą teraz nieco inne; wynika to ze specyfiki układów asynchronicznych. W niniejszym rozdziale przedstawimy kolejno: zasady tworzenia tablic przejść i wyjść, algorytmy minimalizacji liczby stanów wewnętrznych, sposoby kodowania tablic oraz problemy realizacji układów asynchronicznych. Przykład projektowania zakończy rozdział.
9.2.Sposoby opisu układów; tworzenie tablic przejść i wyjść
Układy asynchroniczne opisuje się przy pomocy funkcji przejść i wyjść o następujących postaciach (rozdz. 4):
At+r = 5(At. X^") - funkcja przejść, (9. la)
Yt = AtA1") - funkcja wyjść dla automatu Moore’a, (9. Ib)
Yfc = X(A^, Xt) - funkcja wyjść dla automatu Meały’ego. (9.1c)
Wielkość x symbolizuje zwłokę wprowadzoną przez układ realizujący funkcję 5 (w rzeczywistości każdy sygnał wektora A może mieć inny czas przejścia przez układ, ale dla ogólnych rozważań nie jest to istotne). Opis (9.la) umożliwia odróżnienie stanu poprzedniego Afc od stanu następnego A"+x, co bywa też zapisywane w postaci (patrz rozdz. 4):
A' = 5(A,X) (9.2a)
Analogicznie można zapisać funkcje wyjść:
Y = X(A), (9.2b)
Y = X(A,X). (9-2c)
Opisy (9.2), jako bardziej zwarte, będą stosowane w dalszej części rozdziału.