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.