Technika Cyfrowa 1 Wykład 4: Układy Sekwencyjne

Transkrypt

Technika Cyfrowa 1 Wykład 4: Układy Sekwencyjne
JS TC1
III UKŁADY SEKWENCYJNE
JS TC1
1 WPROWADZENIE
Technika Cyfrowa 1
• Przypomnienie:
¾ układy kombinacyjne: Yi = f( Xi )
Wykład 4:
Układy Sekwencyjne
¾
układy sekwencyjne: Yi = f(X1, X2, ... Xi )
• Układ „pamięta” pobudzenia wcześniejsze ⇒ „pamięć” – stan układu –
zbiór sygnałów binarnych, tzw. zmiennych stanu.
• Skończona liczba zmiennych stanów ⇒ skończony zbiór stanów ⇒ automat
skończony (automaty nieskończone rozważane w teorii automatów).
dr inż. Jarosław Sugier
[email protected]
• Ogólnie: przełączanie układu może zależeć od (często niestałych)
zależności czasowych wprowadzonych przez dodanie sprzężeń zwrotnych.
Alternatywa: przełączanie układu synchronizuje się dodatkowym sygnałem
(-ami) synchronizującym (-ymi).
IIAR, pok. 227 C-3
• Automaty synchroniczne a asynchroniczne, sposoby synchronizacji pracy…
4-1
Idea pracy:
I
Q
Q = 1 ⇒ „nie było zbocza opadającego sygnału I”,
Q = 0 ⇒ „wykryto zbocze opadające sygnału I”,
+ sygnał inicjujący (ustawiający Q = 1) =>
powstaje kompletny układ detekcji zbocza opadającego.
Przykład 1:
Q
I
Q’ = I ⋅ Q
Q’ – stan „następny”, „nowy” w stosunku do aktualnego Q.
Q’
0
Q
Analiza pracy:
Przykład 2:
1) Jeśli I = 0: Q’ = Q ⋅ 0 = 0
– stan jednoznacznie określony jak w układach kombinacyjnych
= STAN STABILNY
Q’ = /(I ⋅ Q)
Analiza pracy:
Ze względu na stan bistabilny ten układ NIE jest już kombinacyjny.
4-3
S
/Q
1) Jeśli I = 0:
Q’ = /(Q ⋅ 0) = /0 = 1
- stan stabilny j.w.
2) Jeśli I = 1:
Q’ = /(Q ⋅ 1) = /Q
- sprzeczność
= STAN ASTABILNY
W poprawnych projektach automatów stany astabilne NIE powinny wystąpić.
JS TC1
1.2 Asynchroniczny przerzutnik RS
Q
Q
I
2) Jeśli I = 1: Q’ = Q ⋅ 1 = Q
– też stan poprawny, równy 0 lub 1 w zależności od
stanu poprzedniego (tu układ pamięta swój stan)
= STAN BISTABILNY
R
JS TC1
JS TC1
1.1 Sprzężenie zwrotne a układ kombinacyjny
I
0
1
4-2
4-4
JS TC1
S R Q /Q
0 0 Q /Q
0 1 0 1
1 0 1 0
1 1 0 0
Typ pobudzenia:
- „pamiętaj” stan
- kasuj (reset)
- ustaw (set)
- pobudzenie sprzeczne
• Dokładna analiza pracy – tzw. grafy przejść: dla założonych stanów
początkowych bramek Q i /Q oraz danych pobudzeń R i S bada się lawinę
zmian stanów oraz stany końcowe.
• W tym przypadku wszystkie kombinacje stanów początkowych Q / /Q oraz
pobudzeń R / S prowadzą do osiągnięcia stanów stabilnych bądź
bistabilnych; nie ma niebezpieczeństwa stanów astabilnych.
Opis układu:
• Z analizy powstaje następująca tabela pracy układu:
Jest to elementarny, w pełni funkcjonalny układ sekwencyjny zdolny do
pamiętania 1 bitu informacji.
S R Q /Q
0 0 Q /Q
0 1 0 1
1 0 1 0
1 1 0 0
• Q, /Q – stan przerzutnika; wyjście /Q jest negacją wyjścia Q – tzw. wyjścia
komplementarne;
• S (SET) – wejście ustawiające, aktywne stanem 1;
• R (RESET) – wejście kasujące , aktywne stanem 1.
stan bistabilny !
Uwaga:
Jednoczesny stan aktywny obu wejść S oraz R jest zabroniony dlatego, bo
wówczas wbrew zasadzie komplementarności:
Q = /Q = 0
stany stabilne
4-5
4-6
1
JS TC1
Realizacja dualna na bramkach NAND:
Przykład: eliminacja drgań styków (debouncing)
JS TC1
Problem: styk po przełączeniu drga w nowym położeniu przez kilka –
kilkadziesiąt ms.
/S
Q
+Vcc
I1 (/S)
/Q
/R
/S
Q
I1
/S
0
0
1
1
/R
0
1
0
1
Q
1
1
0
Q
I2 (/R)
O1 (Q)
I2
/Q
1
0
1
/Q
O1
/Q
/R
O2
O2 (/Q)
Uwagi:
1) Na wykresie pominięto opóźnienia czasowe.
2) Przyjmujemy tzw. logikę dodatnią sygnałów napięciowych:
0V≡ „logiczne 0”, +Vcc ≡ „logiczne 1”
• Tu wejścia ustawiające i kasujące są aktywne stanem niskim.
3) W drganiach występuje jednoczesny stan wysoki => zastosowano
przerzutnik RS na bramkach NAND
4) Gdyby występował jednocześnie stan 0 – przerzutnik na NOR.
4-7
2. UKŁADY SEKWENCYJNE – OPIS FORMALNY
4-8
JS TC1
JS TC1
Przy tak określonych alfabetach, pracę układu sekwencyjnego opisują dwie funkcje:
X
X = < x0, x1, ... xn–1>
UKŁAD
CYFROWY
Y
- wektor n binarnych sygnałów WE
Y = < y0, y1, ... ym–1>
- wektor m binarnych sygnałów WY
X = {X1, X2, ... XN}
- zbiór stanów (słów) WE (N ≤ 2n); alfabet WE
Y = {Y1, Y2, ... YM}
A = {A1, A2, ... AK}
- zbiór stanów (słów) WY (M ≤ 2m); alfabet WY
- zbiór stanów wewnętrznych; alfabet wewnętrzny
1) δ : A × X → A
- tzw. funkcja przejść: podaje stan następny, do którego
automat ma przejść w zależności od stanu bieżącego oraz
pobudzenia na wejściu układu; δ (A, X) = A’.
2) λ : A × X → Y
- tzw. funkcja wyjść: podaje stan wyjść układu w funkcji stanu
bieżącego oraz pobudzenia na wejściu układu; λ(A, X) = Y.
UWAGA: jest to sformułowanie funkcji wyjść dla najbardziej ogólnej postaci
tzw. automatu Mealy’ego.
Układ cyfrowy – AUTOMAT – definiuje się jako piątkę:
Stan wewnętrzny jest reprezentowany wektorem bitowym:
K ≤ 2k
A = < Q0, Q1, ... Qk–1>,
gdzie sygnały binarne Qi symbolizują stan elementarnych układów pamięci
– przerzutników.
A = (A, X, Y, δ, λ ).
4-9
4-10
JS TC1
2.1 Automaty Mealy’ego vs. Moore’a
JS TC1
2.2 Komentarze
1) Rozważamy zbiory A, X, Y wyłącznie skończone => AUTOMAT
SKOŃCZONY.
Skoro stany wewnętrzne A zależą od stanów WE X, możliwe jest inne
sformułowanie funkcji wyjść λ:
2)
δ:A×X→A
λ:A→Y
- tzw. automat Moore’a: stan WY zależy wyłącznie od stanu
wewnętrznego automatu (nie od stanu WE).
δ i λ są funkcjami => AUTOMAT DETERMINISTYCZNY.
Automat niedeterministyczny: więcej niż jeden następny stan wewnętrzny;
automaty probabilistyczne.
3) Jeśli |A| = 1 (tylko jeden stan wewnętrzny – nieistotny) => pozostaje tylko
funkcja wyjść:
λ:A×X→Y
Uwagi:
⇓ (skoro |A| = 1...)
1) Dla każdego automatu Mealy’ego można podać równoważny mu (w sensie
generowanych odpowiedzi na WY) automat Moore’a i na odwrót.
λ:X→Y
- Y = λ( X ), układ kombinacyjny!
Układy kombinacyjne są formalnie definiowane jako automaty o
jednoelementowym zbiorze stanów wewnętrznych.
2) Zaleta automatów Moore’a: odseparowanie WY od (być może
przypadkowych) zmian sygnałów WE.
3) Automaty synchroniczne: w wersji Moore’a stan WY zmienia się także
synchronicznie, w wersji Mealy’ego – nie (bo zależy od zmian WE, które
ogólnie mogą być asynchroniczne).
4-11
4-12
2
JS TC1
JS TC1
2.3 Struktury automatu
2.4 Analiza dynamiczna pracy automatu
Wynikają z opisu równaniami przejść / wyjść. Dla automatów Mealy’ego:
X
δ
A
λ
Y
⇒
X
γ
B
ΚΟΜΒ.
µ
A
λ
Y
• Pracę bloków kombinacyjnych λ oraz γ można opisywać jak dotychczas – z
pominięciem czasu:
PAM.
Y = λ(A, X),
B = γ (A, X).
• W bloku opisanym funkcją δ można wyróżnić część z elementami pamięci µ (o
sygnale wyjściowym A) oraz kombinacyjną część pomocniczą γ, przygotowującą
sygnały sterujące elementy pamięciowe (ozn. B).
• Nie można tak opisywać pracy układu z blokiem pamiętającym:
Dla automatów Moore’a:
• Najczęściej wartości τ i analiza dynamiczna nie będzie nas interesować i
będziemy oznaczać:
X
δ
A
λ
Y
⇒
X
γ
ΚΟΜΒ.
B
µ
A
PAM.
δ ( A(t), X(t) ) = A(t+τ).
gdzie τ = zwłoka wprowadzana przez układ cyfrowy realizujący funkcję δ.
A(t+τ) = A’,
δ ( A, X ) = A’.
Y
λ
4-13
JS TC1
• Dla współczesnych elementów τ jest rzędu nanosekund (10-9s) ⇒ możliwa
lawina zmian stanów w układzie:
4-14
JS TC1
3. SYNCHRONIZACJA PRACY AUTOMATÓW SEKWENCYJNYCH
Cel: zmiany stanu wewnętrznego automatu następują tylko w momentach
wyznaczonych sygnałem (-ami) taktującym (-ymi).
δ ( A0, X0 ) = A1 → δ ( A1, X0 ) = A2 → δ ( A2, X0 ) = A3 ...
• Występuje specjalny sygnał wejściowy (sygnał zegarowy, CLK), którego
przebieg (np. zbocza narastające) wyznacza momenty przełączania się układu: w
tych momentach próbkowane są wartości sygnałów i następuje odpowiednie
przełączenie się stanu wewnętrznego.
• Definicja:
Stan Ak automatu nazywamy stabilnym ⇔
∀ Ai, Xj : δ ( Ai, Xj ) = Ak ⇒ δ ( Ak, Xj ) = Ak
• Poza nimi stan sygnałów kombinacyjnych w układzie (X, B) jest nieistotny, a stan
elementów pamięciowych (A) nie zmienia się
– taki jest ideał.
Przy projektowaniu automatów asynchronicznych wymaga się, aby wszystkie
stany były stabilne.
• Impulsy taktujące dzielą ciągły czas na odcinki (zwane taktami) – dyskretyzacja /
kwantowanie czasu:
• Wady automatów asynchronicznych: kłopotliwa analiza zależności
czasowych, problemy z ich spełnieniem w rzeczywistych układach
cyfrowych, problemy ze stabilnością ⇒ aby tego uniknąć wprowadza się
synchronizację pracy układu cyfrowego.
lub:
t = 0, 1, 2, ...
δ ( A(t), X(t) ) = A(t+1),
Y(t) = λ( A(t), X(t) )
µ( B(t) ) = A(t+1),
B(t) = γ ( A(t), X(t) ),
Y(t) = λ( A(t), X(t) ).
4-15
4-16
JS TC1
JS TC1
3.1 Bramkowanie sygnałów WE
Przerzutnik typu zatrzask, ang.: LATCH.
Na przykładzie przerzutnika RS (NOR):
Zalety synchronizacji:
• prostsza analiza pracy ⇒ prostsze projektowanie (nie ma lawiny zmian stanów);
• praca nie zależy od spełnienia zależności czasowych, większa stabilność;
• stan sygnałów poza momentami przełączania się nieistotny ⇒ odporność na
zakłócenia impulsowe, hazardy itp.
R
Q
CLK
S
Zasada: „zmiany stanu wewnętrznego tylko w momentach wyznaczonych...” –
jest pewnym ideałem. W praktyce chodzi przede wszystkim o usunięcie groźby
lawinowego przełączania się układu jak to jest w pracy asynchronicznej - stąd
proponuje się różne METODY SYNCHRONIZACJI układu cyfrowego.
/Q
CLK
R
S
Q
• Gdy CLK = 0 (a więc od momentu zbocza opadającego CLK) sygnały R i S są
odcinane od przerzutnika, jego stan jest „zamrażany” – ZATRZASKIWANY.
• Lawina przełączeń stanu wciąż możliwa, gdy CLK = 1!! Dlatego:
• Zastosowanie:
- NIE przerzutniki reprezentujące stan wewnętrzny automatu, ale:
- bufory, komórki pamięci
4-17
4-18
3
JS TC1
3.2 Praca dwuzboczowa (Master-Slave)
JS TC1
CLK
Układy wyzwalane poziomem: LEVEL-TRIGGERED CIRCUITS.
S
Bramkowanie WE + wstrzymanie zmian stanu aż do momentu zbocza
opadającego CLK.
R
R
QM
S
/QM
QM
Q
Q
• Gdy CLK = 1 zmiany WE ustawiają odpowiednio przerzutnik Master (QM),
ale nie przenoszą się na wyjścia Q / /Q.
/Q
CLK
• Efekt końcowy: stan przerzutnika zmienia się „w momencie” zbocza
opadającego CLK („50% idei pracy synchronicznej”).
SLAVE
MASTER
Idea:
• dwa kaskadowo połączone przerzutniki: Master (nadrzędny) i Slave (podrzędny),
• przerzutnik Master bramkowany sygnałem CLK, Slave - /CLK.
4-19
• Wada takiego rozwiązania: stan WE R, S jest badany przez cały odcinek
czasu gdy CLK = 1, a nie tylko „w momencie” zbocza opadającego CLK.
• Konsekwencja: przełączenie układu mogą zakłócić pojawiające się
zakłócenia impulsowe (np. drugi impuls S = 1 mógł być takim zakłóceniem)
– tzw. efekt „łapania jedynek” w przerzutnikach MS.
4-20
JS TC1
3.3 Pełna praca synchroniczna
Układy wyzwalane zboczem: EDGE-TRIGGERED CIRCUITS.
• Wejścia układu są „próbkowane” w określonych momentach (np. zbocza
narastającego CLK), a zmiana stanu przerzutnika następuje „natychmiast”
potem.
• W rzeczywistości: „moment” próbkowania WE to przedział czasowy
wyznaczony parametrami układu:
tS = time set – minimalny czas konieczny dla ustalenia się sygnału WE
przed pojawieniem się zbocza przełączającego;
tH = time hold – wymagany minimalny czas utrzymania sygnału WE po
pojawieniu się zbocza przełączającego; może wynosić
zero;
τ – czas przełączania się układu.
CLK
WE
Q
tS
tH
τ
4-21
4