Załącznik do ćwiczenia: Projektowanie liczników (jako przykładowy układ sekwencyjny)
Zadanie
Zaprojektować układ sekwencyjny Mealy'ego o zadanej tablicy przejść -tab.1 i wyjść -tab.2. Do zapamiętania stanów wewnętrznych układu użyć przerzutników typu JK.
Tab.1. Tablica przejść Tab.2. Tablica wyjść
A\X  | 
0  | 
1  | 
  | 
A\X  | 
0  | 
1  | 
||||||
0 1 2 3  | 
1 2 3 0  | 
3 0 1 2  | 
  | 
0 1 2 3  | 
1 0 0 0  | 
0 1 0 0  | 
0 0 1 0  | 
0 0 0 1  | 
0 1 1 1  | 
1 0 1 1  | 
1 1 0 1  | 
1 1 1 0  | 
  | 
Y3  | 
Y2  | 
Y1  | 
Y0  | 
Y3  | 
Y2  | 
Y1  | 
Y0  | 
||||
Rozwiązanie zadania
Układ sekwencyjny przechodzi przez 4 stany wewnętrzne A = 0,1,2,3, więc są potrzebne 2 przerzutniki do ich realizacji. Kodujemy stany wewnętrzne wg tablicy kodów - tab. 3 otrzymując zakodowaną tablicę przejść - tab.1a i zakodowaną tablicę wyjść - tab.2a.
Tab.3. Tabela kodów Tab.4. Tabela wzbudzeń przerzutnika JK
A  | 
Q2  | 
Q1  | 
  | 
Qn  | 
Qn+1  | 
J  | 
K  | 
0 1 2 3  | 
0 0 1 1  | 
0 1 1 0  | 
  | 
0 0 1 1  | 
0 1 0 1  | 
0 1 Ø Ø  | 
Ø Ø 1  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
0  | 
Ø - stan dowolny, tzn. 0 lub 1
Tab.1a. Zakodowana tabela przejść Tab.2a. Zakodowana tabela wyjść
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
||||||
00 01 11 10  | 
01 11 10 00  | 
10 00 01 11  | 
  | 
00 01 11 10  | 
1 0 0 0  | 
0 1 0 0  | 
0 0 1 0  | 
0 0 0 1  | 
0 1 1 1  | 
1 0 1 1  | 
1 1 0 1  | 
1 1 1 0  | 
  | 
Y3  | 
Y2  | 
Y1  | 
Y0  | 
Y3  | 
Y2  | 
Y1  | 
Y0  | 
||||
Na podstawie tablicy wzbudzeń przerzutnika JK - tab.4 otrzymuje się wymagane stany wejść J1, K1 i J2, K2 - tab.5a i 5b, a następnie tablice 6a-6d. Dla przerzutnika nr 1 należy rozpatrzyć parzyste kolumny tab. 1a (podkreślone), a dla przerzutnika nr 2 nieparzyste.
Tab.1a Tab.5a Tab.5b
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
 
  | 
Q2Q1\X  | 
0  | 
1  | 
00 01 11 10  | 
01 11 10 00  | 
10 00 01 11  | 
  | 
00 01 11 10  | 
1Ø Ø0 Ø1 0Ø  | 
0Ø Ø1 Ø0 1Ø  | 
  | 
00 01 11 10  | 
0Ø 1Ø Ø0 Ø1  | 
1Ø 0Ø Ø1 Ø0  | 
					         J1K1       J1K1	 	                 J2K2    J2K2
Tab.6a Tab.6b Tab.6c Tab.6d
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
00 01 11 10  | 
1 Ø Ø 0  | 
0 Ø Ø 1  | 
  | 
00 01 11 10  | 
Ø 0 1 Ø  | 
Ø 1 0 Ø  | 
  | 
00 01 11 10  | 
0 1 Ø Ø  | 
1 0 Ø Ø  | 
  | 
00 01 11 10  | 
Ø Ø 0 1  | 
Ø Ø 1 0  | 
J1 J1 K1 K1 J2 J2 K2 K2
Wyrażenia W1 otrzymuje się minimalizując tab. 6.

					(W1)
3. Tablice 7a-d powstają z rozbicia zakodowanej tablicy wyjść - tab.2a. Minimalizując tab. 7 otrzymuje się wyrażenia W2.
Tab.7a Tab.7b Tab.7c Tab.7d
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
  | 
Q2Q1\X  | 
0  | 
1  | 
00 01 11 10  | 
0 0 0 1  | 
1 1 1 0  | 
  | 
00 01 11 10  | 
0 0 1 0  | 
1 1 0 1  | 
  | 
00 01 11 10  | 
0 1 0 0  | 
1 0 1 1  | 
  | 
00 01 11 10  | 
1 0 0 0  | 
0 1 1 1  | 
Y0 Y0 Y1 Y1 Y2 Y2 Y3 Y3

			(W2)
4. Rysunek 1 przedstawia zaprojektowany układ sekwencyjny (opisany w pliku Ukl_sekA.ca4) w programie Electronics Workbench 4.0 - dla wersji 5.0 Ukl_sekA.ewb.
Rys. 1
--- koniec rozwiązania zadania ---