Układ sekwencyjny – Wikipedia, wolna encyklopedia

Układ sekwencyjny – rodzaj układów cyfrowych charakteryzujący się tym, że stan wyjść zależy od stanu wejść układu oraz od poprzedniego stanu, zwanego stanem wewnętrznym, pamiętanego w zespole rejestrów (pamięci).

Jeżeli stan wewnętrzny układu nie ulega zmianie pod wpływem podania na wejście różnych sygnałów, 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. – wyjście zależy od stanu wewnętrznego i wejść,
  2. – wyjście zależy wyłącznie od stanu wewnętrznego,

gdzie:

  • to stan wewnętrzny,
i to wejścia i wyjścia.

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;
  • jako przebieg czasowy – pokazujący zależności czasowe pomiędzy X, A a Y;
  • w postaci grafu przejść – ich wygląd zależy od rozpatrywanego automatu;
  • jako tablice przejść i wyjść.

Układy asynchroniczne

[edytuj | edytuj kod]

W układach asynchronicznych zmiana sygnałów wejściowych natychmiast powoduje zmianę wyjść. 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 (np. 11b → 00b). Jednak, ze względu na niezerowe czasy przełączania bramek i przerzutników, zmiana jednego z sygnałów może nastąpić nieco wcześniej niż innych. Wyjścia układu przez moment mogą mieć stan tak jakby na wejściach było 10b lub 01b, 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 ma 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 – przykładem takich układów są liczniki stosowane w popularnych zegarkach elektronicznych.

Zobacz też

[edytuj | edytuj kod]