Układy cyfrowe - Uniwersytet Zielonogórski

Transkrypt

Układy cyfrowe - Uniwersytet Zielonogórski
Układy cyfrowe - laboratorium
przygotowali: dr inż. Remigiusz Wiśniewski, dr inż. Iwona Grobelna
9-10. BUDOWA PROSTYCH UKŁADÓW SEKWENCYJNYCH.
WYKORZYSTANIE GRAFÓW STANÓW. AUTOMAT MOORE’A I MEALY’EGO.
CEL ĆWICZENIA
Projektowanie automatów synchronicznych (automat Moore’a i automat Mealy’ego), graf
stanów, tablice przejść/wyjść, równania wzbudzeń przerzutników, równania wyjść układu.
WPROWADZENIE DO ZAJĘĆ
Przykład: Zaprojektować synchroniczny licznik rewersyjny modulo 4 zliczający w naturalnym
kodzie binarnym. Układ zrealizować jako automat Moore’a.
1. Graf stanów układu
Na podstawie opisu słownego należy stworzyć graf stanów układu. Należy tu zwrócić uwagę,
że projektowany układ to licznik rewersyjny modulo 4, wobec czego automat może zostać
zrealizowany z wykorzystaniem 4 stanów. Przejścia pomiędzy poszczególnymi stanami determinuje
sygnał wejściowy (oznaczony jako X). W przypadku gdy X jest w stanie wysokim, układ zlicza
„w przód” (czyli realizuje sekwencję 0, 1, 2, 3, 0,..,). Gdy X jest w stanie niskim układ zlicza „w tył”
(sekwencja 0, 3, 2, 1, 0,..,). Przy każdym stanie zanotowane zostały aktualnie aktywne sygnały
wyjściowe. Wartość wyjściowa dla licznika modulo 4 zapisywana jest na dwóch bitach (dwa sygnały
wyjściowe Y1 i Y0). W stanie S0 oba sygnały wyjściowe są nieaktywne (wartość 0), w stanie S1 aktywny
jest sygnał Y0 (wartość 1), w stanie S2 aktywny jest sygnał Y1 (wartość 2), a w stanie S3 aktywne są oba
sygnały (wartość 3).
Rys.1 przedstawia graf opisujący wszystkie możliwe zmiany stanów w zależności od sygnału
wejściowego X.
S0
X
X
/X
Y1 Y0
/X
S3
S1
/X
/X
X
X
S2
Y1
Rys. 1. Graf stanów układu
Y0
Układy cyfrowe - laboratorium
przygotowali: dr inż. Remigiusz Wiśniewski, dr inż. Iwona Grobelna
2. Tabela stanów
Alternatywą dla grafu stanów może być tabela stanów układu. Poszczególne wiersze tabeli
zawierają wszystkie możliwe stany w jakich może się znaleźć układ oraz reguły decyzyjne powodujące
przejścia pomiędzy poszczególnymi stanami. Dla każdego stanu z grafu na Rys. 1 istnieją dwa możliwe
przejścia, w zależności od wartości sygnału X.
STAN AKTUALNY WARUNEK STAN NASTĘPNY
S0
S0
S1
S1
S2
S2
S3
S3
/X
X
/X
X
/X
X
/X
X
S3
S1
S0
S2
S1
S3
S2
S0
WYJŚCIA
/Y1 /Y0
/Y1 /Y0
/Y1 Y0
/Y1 Y0
Y1 /Y0
Y1 /Y0
Y1 Y0
Y1 Y0
3. Dobór zmiennych stanów i kodowanie stanów
Każdemu ze stanów należy przyporządkować unikalny kod jednoznacznie identyfikujący stan,
w jakim się znalazł układ. Ilość przerzutników niezbędnych do realizacji układu można określić na
podstawie wzoru: n = log 2 S
gdzie:
- n oznacza ilość przerzutników,
- S oznacza ilość stanów układu
W prezentowanym przykładzie ilość stanów jest równa 4, wobec czego do realizacji układu
potrzebne będą dwa przerzutniki, których kombinacje wyjść Q utworzą kody stanów. Kody zostały
dobrane w taki sposób, aby kolejne stany różniły się jedną zmienną (kod Gray’a):
STAN
S0
S1
S2
S3
KOD
Q1
0
0
1
1
Q0
0
1
1
0
4. Tablica przejść/wyjść układu
Kolejny krok to tabela przejść/wyjść układu - analogicznie do tabeli stanów z punktu 2
z tą różnicą, że poszczególne stany tabeli są zakodowane wg reguł określonych w punkcie 3.
STAN AKTUALNY
STAN
Q1
Q0
S0
0
0
S0
0
0
S1
0
1
S1
0
1
S2
1
1
S2
1
1
S3
1
0
S3
1
0
WARUNEK STAN NASTĘPNY
X
STAN
Q1*
Q0*
0
S3
1
0
1
S1
0
1
0
S0
0
0
1
S2
1
1
0
S1
0
1
1
S3
1
0
0
S2
1
1
1
S0
0
0
WYJŚCIA
Y1
Y0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Układy cyfrowe - laboratorium
przygotowali: dr inż. Remigiusz Wiśniewski, dr inż. Iwona Grobelna
5. Wybór typu przerzutnika
Na tym etapie należy wybrać przerzutnik do realizacji układu. W prezentowanym przykładzie
układ zostanie zrealizowany z wykorzystaniem zarówno przerzutnika typu D jak i przerzutnika typu
JK.
-
Równania na następny stan przerzutników:
dla przerzutnika typu D: Q* = D
dla przerzutnika typu JK: Q* = J/Q + /KQ
6. Tablica wzbudzeń przerzutników, wyznaczanie równań dla przerzutników
Kolejny krok to wyznaczenie równań wzbudzeń dla przerzutników na podstawie zmienności
stanów poszczególnych przerzutników w każdej regule decyzyjnej (tabela wzbudzeń przerzutników):
STAN AKTUALNY WARUNEK STAN NASTĘPNY
STAN
Q1
Q0
X
STAN Q1* Q0*
S0
0
0
0
S3
1
0
S0
0
0
1
S1
0
1
S1
0
1
0
S0
0
0
S1
0
1
1
S2
1
1
S2
1
1
0
S1
0
1
S2
1
1
1
S3
1
0
S3
1
0
0
S2
1
1
S3
1
0
1
S0
0
0
D1
1
0
0
1
0
1
1
0
PRZERZUTNIKI
D0
J1 K1 J0
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
K0
1
0
0
1
-
Równania wzbudzeń dla przerzutników typu D:
D1 = /Q1 /Q0 /X + /Q1 Q0 X + Q1 Q0 X + Q1 /Q0 /X = Q0  X
D0 = /Q1 /Q0 X + /Q1 Q0 X + Q1 Q0 /X + Q1 /Q0 /X = Q1  X
Równania wzbudzeń dla przerzutników typu JK (po minimalizacji):
J 1 = Q0  X
K1 = Q0  X
J 0 = Q1  X
K0 = Q1  X
7. Równania wyjść
Na podstawie tablicy przejść/wyjść można wyprowadzić równania wyjść układu. Ponieważ układ
jest projektowany w oparciu o automat Moore’a, wyjścia zależą od stanu, w jakim się aktualnie układ
znajduje.
W omawianym przypadku uzyskano następujące równania wyjść (po minimalizacji):
Y1 = Q1
Y0 = Q1  Q0
Układy cyfrowe - laboratorium
przygotowali: dr inż. Remigiusz Wiśniewski, dr inż. Iwona Grobelna
8. Schemat układu
Schemat układu z wykorzystaniem przerzutników typu D pokazano na rysunku (Rys. 2).
X
FDC
FDC
D
D
Q
D0
XOR2
C
Y1
Q
D1
XNOR2
C
CLR
CLR
Y0
XOR2
CLK
CLR
Rys. 2. Schemat układu zrealizowanego z wykorzystaniem przerzutników D
Schemat układu z wykorzystaniem przerzutników typu JK pokazano na rysunku (Rys. 3).
X
FJKC
FJKC
XOR2
XNOR2
J
K
JK0
XNOR2
C
J
K
Q
C
CLR
JK1
Q
Y1
XOR2
CLR
CLK
CLR
Y0
XOR2
Rys. 3. Schemat układu zrealizowanego z wykorzystaniem przerzutników JK
9. Przebiegi czasowe
Przebiegi czasowe dla układu realizowanego z wykorzystaniem przerzutników typu D oraz układu
realizowanego z wykorzystaniem przerzutników typu JK są identyczne. Aby ułatwić obserwację
wyników, podczas symulacji układu w środowisku Active-HDL wyjścia układu (Y1 oraz Y0) zostały
połączone w magistralę (na Rys. 4 magistrala oznaczona została jako VBUS1).
Rys. 4. Przebiegi czasowe zrealizowanego układu
Wskazówka: Aby podczas symulacji połączyć sygnały w magistralę należy je zaznaczyć,
a następnie z menu kontekstowego (prawy przycisk myszki) wybrać opcję Merge Signals.
Układy cyfrowe - laboratorium
przygotowali: dr inż. Remigiusz Wiśniewski, dr inż. Iwona Grobelna
ZADANIE 1
Zaprojektować jako automat Mealy’ego układ opisany siecią działań z rysunku (Rys.5).
Y0
0
X0
1
Y1
Y2
0
X1
1
Rys. 5. Sieć działań projektowanego układu
ZADANIE 2
Zaprojektować układ z zadania 1 z wykorzystaniem automatu Moore’a.
ZADANIE 3
Zaprojektować synchroniczny licznik modulo 6 zliczający w naturalnym kodzie binarnym
z wykorzystaniem przerzutników typu D.
ZADANIE 4
Zaprojektować synchroniczny licznik modulo 6 zliczający w naturalnym kodzie binarnym
z wykorzystaniem przerzutników typu JK.
LISTA OMÓWIONYCH ZAGADNIEŃ
1. Projektowanie synchronicznych układów sekwencyjnych.
2. Formy specyfikacji automatów.
3. Automat Moore'a i Mealy'ego.