TC Moduł 9: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Daniel-PW (dyskusja | edycje)
Nie podano opisu zmian
Daniel-PW (dyskusja | edycje)
Nie podano opisu zmian
Linia 14: Linia 14:
{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="100%"
|width="500px" valign="top"|[[Grafika:TC_M9_Slajd3.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:TC_M9_Slajd3.png|thumb|500px]]
|valign="top"|
|valign="top"|Najprostszym asynchronicznym układem sekwencyjnym jest przerzutnik asynchroniczny typu SR.  Na planszy podana jest tablica przejść przerzutnika SR. Z tablicy tej wyznaczamy tzw. funkcję charakterystyczną przerzutnika. Funkcja ta podaje zależność stanu następnego Q od stanu bieżącego i sygnałów na wejściach S, R. Wyrażenie boolowskie tej funkcji przekształcamy (wg prawa De Morgana) do postaci zawierającej funktory NAND. Odpowiedni schemat logiczny przerzutnika SR podany jest na rysunku.


|}
|}
Linia 21: Linia 21:
{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="100%"
|width="500px" valign="top"|[[Grafika:TC_M9_Slajd4.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:TC_M9_Slajd4.png|thumb|500px]]
|valign="top"|
|valign="top"|Zaprojektujemy układ asynchroniczny, którego działanie jest opisane na planszy. Najpierw wykażemy, że automat działa zgodnie z grafem pokazanym na rysunku. Załóżmy, że na wejściu jest wektor <math>00\,</math>; układ jest w stanie stabilnym <math>1\,</math> z wyjściem <math>0\,</math> (pętla z wektorem wejściowym <math>00\,</math>). W tym stanie (zgodnie z założeniem) może na wejściu pojawić się wektor <math>01\,</math> – przechodzimy do stanu <math>2\,</math> (wyjście <math>0\,</math>) lub wektor <math>10\,</math> – przechodzimy do stanu <math>3\,</math> (wyjście <math>0\,</math>). W stanie <math>2\,</math> na wejściu może się pojawić wektor <math>11\,</math> – przechodzimy do stanu <math>4\,</math>, a na wyjściu jest stan <math>1\,</math>, gdyż ta sytuacja oznacza, że na wejściu kolejno pojawiały się wektory <math>00, 01, 11\,</math>. Jeśli w stanie <math>2\,</math> pojawi się <math>00\,</math> – wracamy do stanu <math>1\,</math>. Należy teraz rozpatrzyć sytuację w stanie <math>3\,</math> i <math>4\,</math>. W stanie <math>3\,</math> po przyjściu <math>00\,<math> wracamy do stanu <math>1\,<math>, a po przyjściu <math>11\,</math> przechodzimy do stanu <math>5\,</math> (z wyjściem <math>0\,</math>). W stanie <math>4\,</math> po przyjściu <math>10\,</math> można przejść do już istniejącego stanu <math>3\,</math>, zaś po przyjściu <math>01\,</math> trzeba przejść do nowego stanu <math>6\,</math> (nie można przejść do stanu <math>2\,</math>, gdyż sekwencja wejściowa <math>...01,11,01,11,...\,</math> powodowałaby by wygenerowanie na wyjściu sekwencji <math>0101...\,</math> ). Do zamknięcia grafu pozostaje tylko uzupełnienie przejść ze stanów <math>5\,</math> i <math>6\,</math>. Bezpośrednio z uzyskanego grafu tworzymy tablicę przejść-wyjść tego automatu. Kółka w tej tablicy oznaczają stany stabilne. Należy zwrócić uwagę, że w powyższym grafie wszystkie stany są stanami stabilnymi.


|}
|}

Wersja z 06:49, 8 wrz 2006

Układy asynchroniczne

Struktura sekwencyjnego układu asynchronicznego jest podobna do struktury układu synchronicznego (por. moduł 7 plansza 5). Istotną różnicą jest brak wejścia zegarowego clk. Z tego powodu pamięć układu mogą stanowić przerzutniki (automaty elementarne) nie synchronizowane lub elementy opóźniające. Powstaje zatem pytanie: co – wobec braku sygnału zegarowego – wyznacza kolejne takty pracy układu, powodując zmiany jego stanów wewnętrznych? Czynnikiem powodującym te zmiany może być tylko zmiana stanów wejść. Taka sytuacja jest pokazana na rysunku fragmentu grafu. Pod wpływem litery wejściowej Xi układ znalazł się w stanie Sa. Pozostaje w nim tak długo, aż na wejściu pojawi się inna litera – Xj(ji) . Wówczas układ może przejść do stanu Sb. Przykładowe stany Sa i Sb nazywa się stanami stabilnymi. Należy przyjąć, że w układzie asynchronicznym wszystkie stany są stanami stabilnymi, a zmiana stanu może nastąpić tylko w wyniku zmiany stanu wejść.

Najprostszym asynchronicznym układem sekwencyjnym jest przerzutnik asynchroniczny typu SR. Na planszy podana jest tablica przejść przerzutnika SR. Z tablicy tej wyznaczamy tzw. funkcję charakterystyczną przerzutnika. Funkcja ta podaje zależność stanu następnego Q od stanu bieżącego i sygnałów na wejściach S, R. Wyrażenie boolowskie tej funkcji przekształcamy (wg prawa De Morgana) do postaci zawierającej funktory NAND. Odpowiedni schemat logiczny przerzutnika SR podany jest na rysunku.

Zaprojektujemy układ asynchroniczny, którego działanie jest opisane na planszy. Najpierw wykażemy, że automat działa zgodnie z grafem pokazanym na rysunku. Załóżmy, że na wejściu jest wektor 00; układ jest w stanie stabilnym 1 z wyjściem 0 (pętla z wektorem wejściowym 00). W tym stanie (zgodnie z założeniem) może na wejściu pojawić się wektor 01 – przechodzimy do stanu 2 (wyjście 0) lub wektor 10 – przechodzimy do stanu 3 (wyjście 0). W stanie 2 na wejściu może się pojawić wektor 11 – przechodzimy do stanu 4, a na wyjściu jest stan 1, gdyż ta sytuacja oznacza, że na wejściu kolejno pojawiały się wektory 00,01,11. Jeśli w stanie 2 pojawi się 00 – wracamy do stanu 1. Należy teraz rozpatrzyć sytuację w stanie 3 i 4. W stanie 3 po przyjściu Parser nie mógł rozpoznać (błąd składni): {\displaystyle 00\,<math> wracamy do stanu <math>1\,<math>, a po przyjściu <math>11\,} przechodzimy do stanu 5 (z wyjściem 0). W stanie 4 po przyjściu 10 można przejść do już istniejącego stanu 3, zaś po przyjściu 01 trzeba przejść do nowego stanu 6 (nie można przejść do stanu 2, gdyż sekwencja wejściowa ...01,11,01,11,... powodowałaby by wygenerowanie na wyjściu sekwencji 0101... ). Do zamknięcia grafu pozostaje tylko uzupełnienie przejść ze stanów 5 i 6. Bezpośrednio z uzyskanego grafu tworzymy tablicę przejść-wyjść tego automatu. Kółka w tej tablicy oznaczają stany stabilne. Należy zwrócić uwagę, że w powyższym grafie wszystkie stany są stanami stabilnymi.