Wstęp
W asynchronicznych układach sekwencyjnych - stan wewnętrzny Q ustala się po czasie τ od chwili zmiany stanu wejść - tzn. Q(t) = q(t+ τ). Czas ten wynika z opóźnień wnoszonych przez elementy składowe układu. Układ sekwencyjny może znajdować się w stanie stabilnym, bądź też w stanie niestabilnym.
W zależności od metody projektowania warunki pracy układu przedstawia się w postaci:
- pierwotnej siatki programu
- tablicy kolejności łączeń
Pierwotną siatkę programu sporządza się w oparciu o warunki pracy układu podane za pomocą: opisy słownego, wykresu czasowego lub grafu przejść. Ma ona tyle kolumn ile różnych stanów wejść może wystąpić w programie pracy układu oraz tyle wierszy ile stanów wewnętrznych wyróżniamy w opisie pracy układu.
Liczba kolumn siatki rośnie, więc wykładniczo ze wzrostem liczby wejść i dla n wejść może mieć maksymalną wartość 2n. Powoduje to ograniczenie stosowania tej metody do syntezy układów, w których liczba wejść nie jest duża. W takich przypadkach, dla zmniejszenia tego ograniczenia podczas syntezy ręcznej, do etapu, kiedy siatka nie przekształci się w siatkę binarną Karnaugh'a wykorzystywaną do minimalizacji wyrażeń logicznych, można w jej opisie pominąć te kolumny, które odpowiadają stanom wejść niewystępującym w algorytmie pracy(stanom ө układu).
Pierwotna siatka programu odpowiada zawsze automatowi Moore'a. Do kratki określanej przez dany wiersz i kolumnę pierwotnej siatki programu wpisuje się następny stan wewnętrzny, do którego pod wpływem stanu wejść tej kolumnie (zgodnie z programem pracy) przechodzi układ ze stanu stabilnego przypisanego temu wierszowi.
Poszczególne kratki wiersza odpowiadającego stanowi k pierwotnej siatki programu zawierają:
a) Stan stabilny k(k w obwódce) - jeżeli stan wejść przyporządkowany kolumnie rozważanej kratki, nie powoduje zmiany stanu wewnętrznego układu.
b) Stan niestabilny m(m bez obwódki - jeżeli pod wpływem stanu wejść przyporządkowanego kolumnie rozważanej kratki, układ przechodzi zestanu stabilnego „k” poprzedniego do stanu m jako następnego po nim: przejście ze stanu niestabilnego m do stanu stabilnego m odbywa się automatycznie, po czasie tk wynikających z opóźnień elementów.
c) Znak”-„ oznaczający brak przejścia - jeżeli stan wejść przyporządkowany kolumnie rozważanej kratki, jest niemożliwy dla stanu k (program pracy układu nie przewiduje takiego stanu).
Rozwiązane zadanie
Dla danych przebiegów czasowych zaprojektować układ „metodą tablicy programu”:
Sporządzenie pierwotnej siatki programu:
cykle |
a=0 |
a=1 |
X |
Y |
1 |
|
|
1 |
0 |
2 |
3 |
2 |
0 |
1 |
3 |
|
|
1 |
1 |
4 |
|
4 |
1 |
1 |
5 |
5 |
|
0 |
0 |
6 |
1 |
6 |
0 |
0 |
Tablica 1
Stworzenie siatki binarnej Karnaugh'a z dopisanymi wierszami które odpowiadają stanom wejść niewystępującym w algorytmie pracy(stanom ө układu).
X1 |
X2 |
X3 |
a=0 |
a=1 |
0 |
0 |
0 |
000 |
001 |
0 |
0 |
1 |
011 |
001 |
0 |
1 |
1 |
011 |
010 |
0 |
1 |
0 |
110 |
010 |
1 |
1 |
0 |
110 |
100 |
1 |
1 |
1 |
- |
- |
1 |
0 |
1 |
- |
- |
1 |
0 |
0 |
000 |
100 |
Tablica 3
Sporządzenie siatek Karnaugh'a dla poszczególnych X3,X2,X1 oraz wyprowadzenie wzorów:
X1 |
X2 |
X3 |
a=0 |
|
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
- |
- |
1 |
0 |
1 |
- |
- |
1 |
0 |
0 |
0 |
0 |
X3
X1 |
X2 |
X3 |
a=0 |
a=1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
- |
- |
1 |
0 |
1 |
- |
- |
1 |
0 |
0 |
0 |
0 |
X2
Q1 |
Q2 |
Q3 |
a=0 |
a=1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
|
0 |
1 |
1 |
0 |
|
|
1 |
1 |
1 |
- |
- |
1 |
0 |
1 |
- |
- |
1 |
0 |
0 |
0 |
1 |
X1
Realizacja układu na bramkach negowanych jako układ z logicznymi sprzężeniami zwrotnymi:
Na podstawie pierwszej tabeli zbudowano odpowiednie siatki Karnaugh`a - dla wyjścia X i Y oraz wyprowadzono wzory, potrzebne do zbudowania układu.
Q1 |
Q2 |
Q3 |
|
a=1 |
0 |
0 |
0 |
1 |
- |
0 |
0 |
1 |
|
0 |
0 |
1 |
1 |
1 |
|
0 |
1 |
0 |
- |
1 |
1 |
1 |
0 |
0 |
- |
1 |
1 |
1 |
- |
- |
1 |
0 |
1 |
- |
- |
1 |
0 |
0 |
- |
0 |
X
Q1 |
Q2 |
Q3 |
a=0 |
a=1 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
1 |
|
0 |
1 |
0 |
- |
1 |
1 |
1 |
0 |
0 |
- |
1 |
1 |
1 |
- |
- |
1 |
0 |
1 |
- |
- |
1 |
0 |
0 |
- |
0 |
Y
3
1
2
3
4
5
6