« poprzedni punkt | następny punkt » |
Zwykle projektowane układy sekwencyjne są opisywane słownie. Opis przedstawia zachowanie się układu. Proces projektowania rozpoczyna się od przejścia od opisu słownego do opisu formalnego czyli grafu lub tablic przejść i wyjść. Jak zostało powiedziane w poprzednim wykładzie wtedy bardziej przydatny jest graf układu od tablic przejść i wyjść, gdyż zwykle łatwiej przejść od opisu słownego do grafu niż do tabeli przejść i wyjść. W tym opracowaniu pominiemy sposoby przechodzenia od opisu słownego do grafu. Mając graf układu można wyznaczyć tzw. pierwotną tablicę przejść i wyjść układu. W pierwotnej tablicy przejść stany układu są zwykle oznaczone symbolicznie.
Pierwszym zadaniem projektanta jest stwierdzenie czy w tabeli nie ma stanów nadmiarowych. Innymi słowy chodzi o odpowiedź na pytanie czy nie istnieje układ sekwencyjny o mniejszej liczbie stanów, który jest równoważny danemu, tzn. działa tak samo. Ten krok procesu projektowania nazywa się minimalizacją liczby stanów (krok 1).
Następnym krokiem (krok 2) algorytmu projektowania jest zakodowanie stanów układu, tj. przypisanie każdemu stanowi różnych słów dwójkowych o określonej długości. Długość ciągu wyznacza liczbę stosowanych przerzutników. Przyporządkowania słów kodujących stanom można dokonać na różne sposoby. Wybór tego sposobu ma wpływ na realizację układu, a dokładnie na postacie tzw. funkcji wzbudzeń. Złożoność układów realizujących funkcje wzbudzeń silnie zależy od kodowania stanów. Optymalne rozwiązanie tego problemu wykracza poza ramy niniejszego opracowania i zostanie tu pominięte. W dalszym ciągu będziemy przyjmowali dowolny (np. wg. kodu NKB) sposób przyporządkowania stanom słów kodowych o minimalnej długości.
Wynikiem drugiego kroku algorytmu jest tzw. zakodowana tablica przejść. Mając tabele przejść należy dokonać wyboru typu przerzutników (krok 3). Najczęściej przyjmuje się założenie, że wszystkie przerzutniki w danym układzie będą tego samego typu, choć nie jest to założenie konieczne.
Po określeniu typu przerzutnika, na podstawie zakodowanej tablicy przejść, wyznacza się funkcje wzbudzeń przerzutników (krok 4). Dla układów o niewielkiej liczbie stanów i niewielkiej liczbie wejść konstruuje się mapy Karnaugha funkcji wzbudzeń posługując się omówionymi w poprzednim wykładzie tablicami wzbudzeń przerzutników. Sposób wyznaczania funkcji wzbudzeń pokazany zostanie na przykładzie.
Na podstawie tablicy wyjść należy wyznaczyć funkcję wyjść (krok 5) i na tej podstawie zaprojektować układ realizujący te funkcje. Należy pamiętać, że funkcje wyjść są różnie zdefiniowane dla automatu Moore'a i Mealyego i różnią się liczbą zmiennych.
Ostatnią czynnością projektanta (krok 6) jest określenie sposobu doprowadzenia układu do określonego stanu. Tutaj przyjmiemy, że stanem tym będzie stan, w którym wszystkie przerzutniki zostaną wyzerowane. Czynność ta jest stosunkowo prosta ponieważ można wykorzystać asynchroniczne wejścia zerujące.
« poprzedni punkt | następny punkt » |