Układ sekwencyjny

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Układ sekwencyjny jest jednym z rodzajów układów cyfrowych. Charakteryzuje się tym, że stan wyjść y zależy od stanu wejść x oraz od poprzedniego stanu, zwanego stanem wewnętrznym, pamiętanego w zespole rejestrów (pamięci).

schemat funkcjonalny układu sekwencyjnego

Jeżeli stan wewnętrzny nie ulega zmianie pod wpływem podania różnych sygnałów X, to taki stan nazywa się stabilnym.

Rozróżnia się dwa rodzaje układów sekwencyjnych:

  1. asynchroniczne
  2. synchroniczne

Opis układu sekwencyjnego[edytuj | edytuj kod]

Układ sekwencyjny może być opisany za pomocą dwóch funkcji:

  1. Y = f(X, A) − wyjście zależy od stanu wewnętrznego i wejść
  2. Y = f(A) − wyjście zależy wyłącznie od stanu wewnętrznego

gdzie A to stan wewnętrzny, X i Y są zgodne z ilustracją. Pierwsza funkcja dotyczy tzw. automatu Mealy'ego, druga automatu Moore'a - oba automaty są sobie równoważne.

Zachowanie układu sekwencyjnego może być opisane następująco:

  • słownie;
  • przebieg czasowy - pokazujący zależności czasowe pomiędzy X i Y;
  • grafy przejść (ich wygląd zależy od rozpatrywanego automatu);
  • tablice przejść i wyjść.

Układy asynchroniczne[edytuj | edytuj kod]

W układach asynchronicznych zmiana sygnałów wejściowych X natychmiast powoduje zmianę wyjść Y. W związku z tym układy te są szybkie, ale jednocześnie podatne na zjawisko hazardu i wyścigu. Zjawisko wyścigu występuje, gdy co najmniej dwa sygnały wejściowe zmieniają swój stan w jednej chwili czasu (np. 11_b \to 00_b). Jednak, ze względu na niezerowe czasy przełączania bramek i przerzutników, zmiana jednego z sygnałów może nastąpić [trochę] wcześniej niż innych, powodując trudne do wykrycia błędy. Dlatego też w analizie układów asynchronicznych uznaje się, że jednoczesna zmiana kilku sygnałów jest niemożliwa.

Układy synchroniczne[edytuj | edytuj kod]

W układach synchronicznych zmiana stanu wewnętrznego następuje wyłącznie w określonych chwilach, które wyznacza sygnał zegarowy (ang. clock). Każdy układ synchroniczny posiada wejście zegarowe oznaczane zwyczajowo symbolami C, CLK lub CLOCK. Charakterystyczne dla układów synchronicznych, jest to, iż nawet gdy stan wejść się nie zmienia, to stan wewnętrzny - w kolejnych taktach zegara - może ulec zmianie.

Ponieważ w przypadku układu synchronicznego zrealizowanego jako automat Moore'a wyjście układu jest funkcją stanu wewnętrznego, może ono zmieniać się tylko w chwili nadejścia taktu, co daje gwarancję, że odpowiedni stan wyjść utrzyma się przez cały takt. W przypadku automatu Mealy'ego zmiana wyjścia układu może nastąpić także w momencie zmiany wejścia.

Jeśli układ reaguje na określony stan (logiczny) zegara, to mówi się że układ jest statyczny (wyzwalany poziomem), jeśli zaś układ reaguje na zmianę sygnału zegarowego jest dynamiczny (wyzwalany zboczem). Układ dynamiczny może być wyzwalany zboczem (ang. edge) opadającym lub narastającym, albo impulsem.

Jeśli układ synchroniczny nie ma wejść, a jedynie charakteryzuje go stan wewnętrzny, to taki układ nazywany jest autonomicznym (dobrym przykładem takich układów są liczniki stosowane w popularnych zegarkach elektronicznych).

Zobacz też[edytuj | edytuj kod]