I T P W ZPT 1 Układy sekwencyjne UKŁAD KOMBINACYJNY Wektor wyjściowy Y t w chwili t zależy od wektora wejściowego X t w chwili t UKŁAD SEKWENCYJNY Wektor wyjściowy Y t w chwili t zależy od sekwencji wektorów wejściowych X t , X t-1 , X t-2 , …. w chwilach t, t-1, t-2, ……. X t Y t UK X t , X t-1 , X t-2 , …. Y t US Modelem układu sekwencyjnego jest AUTOMAT Historia wejść
Układy sekwencyjne. UKŁAD KOMBINACYJNY Wektor wyjściowy Y t w chwili t zależy od wektora wejściowego X t w chwili t. UK. US. X t , X t-1 , X t-2 , …. X t. Y t. Y t. Historia wejść. UKŁAD SEKWENCYJNY Wektor wyjściowy Y t w chwili t - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ITPW
ZPT
1
Układy sekwencyjne
UKŁAD KOMBINACYJNYWektor wyjściowy Yt w chwili t zależy od wektora wejściowego Xt w chwili t
UKŁAD SEKWENCYJNYWektor wyjściowy Yt w chwili t zależy od sekwencji wektorów wejściowych Xt, Xt-1, Xt-2, …. w chwilach t, t-1, t-2, …….
Xt YtUKXt, Xt-1, Xt-2, …. YtUS
Modelem układu sekwencyjnego jest AUTOMAT
Historia wejść
ITPW
ZPT
2
Układy sekwencyjne - pojęcie automatu
Automat
a) zbioru liter wejściowych V (X)
b) zbioru stanów wewnętrznych S,
c) funkcji przejść (ozn. ),
d) funkcji wyjść (ozn. ).
i wyjściowych Y,
v V y Y
jest definiowany przez określenie:
S1
S1 S2
S2
S3
S3
v1
v1
v2
v2
v2
v2
v2
v2
v1
v1
v1
v1
v3
v3
v3
v3
v3
v3
v2
v2
Y2
Y2v1
v1
Y1
Y1Y3
Y3v3
v3v1
v1
/Y2
/Y2 /Y1
/Y1
/Y3
/Y3
ITPW
ZPT
3
Funkcja przejść i wyjść
Funkcja wyjść:
: S Y (tzw. automat Moore’a)
Funkcja przejść: : S X S
: S X Y (tzw. automat Mealy’ego)
Automat może być zupełny lub niezupełny.
Automat jest niezupełny, jeżeli funkcja nie jest określona dla całego zbioru S X, lub funkcja nie jest określona dla całego zbioru S X lub zbioru S
ITPW
ZPT
4
Specyfikacja automatu
Mealy’egoTablica przejść-wyjść automatu:
Moore’a
v1 v2 v1 v2
S1 S2 S1 y1 y2
S2 S3 S2 y3 y1
S3 S2 S1 y2 y3
v1 v2 v3 y
S1 S2 S1 S3 y2
S2 S3 S1 S2 y1
S3 S1 S3 S2 y3
... i grafMealy’ego: Moore’a:
stan/wyjście
wejście
stan
wejście/wyjście
ITPW
ZPT
5
Specyfikacja automatu
Mealy’egoTablica przejść-wyjść automatu:
Moore’a
v1 v2 v1 v2
S1 S2 S1 y1 y2
S2 S3 S2 y3 y1
S3 S2 S1 y2 y3
v1 v2 v3 y
S1 S2 S1 S3 y2
S2 S3 S1 S2 y1
S3 S1 S3 S2 y3
... i graf
Mealy’ego
Moore’a
v
vvv
v
v
v
v
v1
11
2
2
3
3
2
3
y
y
1
3
2
S
S
S
3
1
/y2
v /y
v /y
v /y
v /y
v /y
v /y1
1
1
1
2
2
2
1
2
3
3
2
1S
3S
2S
ITPW
ZPT
6
x1
xn
y1
ym
Q1
Qk
q1
qk
Układ sekwencyjny
wejście synchronizujące
UK
BP
CLK
US
Zakodowane litery wejściowe
Zakodowane litery wyjściowe
Zakodowane stany
automatu
00x1 x2 01 11
W układach synchronicznych W układach asynchronicznych
Jak zrealizowaćautomat
v1 v2 v3 Y
S1 S1 S4 ─ y2
S2 S5 S3 S1 y1
S3 S4 ─ S5 y3
S4 S1 S2 S3 y2
S5 S4 ─ S2 y4
0100
11
1001
000
001
010
Q1Q2Q1Q2
011
100
ITPW
ZPT
7
x1
xn
y1
ym
Q1
Qk
q1
qk
Klasyfikacja układów sekwencyjnych
Układy sekwencyjne:
Synchroniczne (BP zbudowany z przerzutników synchronicznych)
wejście synchronizujące
Asynchroniczne (BP realizują opóźnienia lub przerzutniki asynchroniczne)
UK
BP
CLK
Brak sygnału zegarowego
ITPW
ZPT
8
x1
xn
y1
ym
Q1
Qk
q1
qk
Synchroniczne układy sekwencyjne
UK
Przerzutniki
CLK
BP
FFI1
I2
Q
Q
CLK
Przerzutnik – to automat typu Moore’a
o dwóch stanach wewnętrznych,
jednym lub dwóch wejściach informacyjnych,
dwóch wyjściach (prostym i zanegowanym)
oraz wejściu synchronizującym (zegarowym).
ITPW
ZPT
9
Przerzutniki
W zależności od rodzaju wejść informacyjnych wyróżniamy przerzutniki typu: D, T, SR oraz JK.
FFDQ
Q
CLK
FFTQ
Q
CLK
FFSR
Q
Q
CLK
FFJK
Q
Q
CLK
Przerzutnik jest określony: tablicą przejść, równaniem charakterystycznym, tablicą wzbudzeń.
ITPW
ZPT
10
Przerzutniki – tablice przejść
D
Q0 1
0 0 1
1 0 1
Q’ = D
T
Q0 1
0 0 1
1 1 0
QTQTQ'
SR
Q00 01 11 10
0 0 0 – 1
1 1 0 – 1
JK
Q00 01 11 10
0 0 0 1 1
1 1 0 0 1
Równanie charakterystyczne: Q’ = f(I1,I2,Q)
ITPW
ZPT
11
Przerzutniki – tablice wzbudzeń
Q Q’ D T S R J K
00 0 0 0 – 0 –
01 1 1 1 0 1 –
10 0 1 0 1 – 1
11 1 0 – 0 – 0
D – delay T – trigger
S – Set (wejście włączające)R – Reset (wejście wyłączające)
J – wejście włączająceK – wejście wyłączające
ITPW
ZPT
12
Przebiegi czasowe – przerzutnik typu D
D
Q
CLK
FFDQ
Q
CLK
D
Q0 1
0 0 1
1 0 1
ITPW
ZPT
13
Przebiegi czasowe – przerzutnik typu T
T
Q
CLK
FFTQ
Q
CLK
T
Q 0 1
0 0 1
1 1 0
ITPW
ZPT
14
Przebiegi czasowe - porównanie
D (T)
Q (D)
Q (T)
CLK
ITPW
ZPT
15
Synteza układów sekwencyjnych
Etapy syntezy: synteza abstrakcyjna (utworzenie tablicy przejść-wyjść) redukcja (minimalizacja) liczby stanów kodowanie stanów, liter wejściowych i wyjściowych synteza kombinacyjna (obliczanie funkcji wzbudzeń przerzutników i funkcji wyjściowych)
S1
S1 S2
S2
S3
S3
v1
v1
v2
v2
v2
v2
v2
v2
v1
v1
v1
v1
v3
v3
v3
v3
v3
v3
/Y2
/Y2 /Y
1
/Y
1
/Y3
/Y3
v1 v2 v1 v2
S1 S2 S1 y1 y2
S2 S3 S2 y3 y1
S3 S2 S1 y2 y3
T1Q1
Q 1
Q1
Q 1
T0Q0
Q 0
CLK
x x Y
ITPW
ZPT
16
Synteza kombinacyjna…
UK wePrzerzutniki
UK wyXXYY
Obliczanie funkcji sterujących wejściami przerzutników (funkcje wzbudzeń)
Obliczanie funkcji wyjściowych
CLK
QQQ’Q’
Q’ = f(X,Q)Y = f(Q) (Moore)
Y = f(X,Q) (Mealy)
ITPW
ZPT
17
Przykład syntezy (detektor sekwencji)
X S
0 1 0 1
A B A 0 0
B C A 0 0
C C A 0 1
X Q1Q0
0 1 0 1
A 00 01 00 0 0
B 01 11 00 0 0
C 11 11 00 0 1
(–) 10 – – – – – –Y
Do zakodowania trzech symboli stanów potrzebne są dwie zmienne binarne
Samo przyporządkowanie symbolom stanów słów binarnych jest zazwyczaj dowolne, gdyż staramy się spełnić wyłącznie warunek jednoznaczności kodowania, ale…
czyli wystarczą dwa przerzutniki, oznaczamy je Q1, Q0
ITPW
ZPT
18
Obliczanie funkcji wzbudzeń i wyjściowych
XS Q1Q0
0 1 0 1
A 00 01 00 0 0
B 01 11 00 0 0
C 11 11 00 0 1
(–) 10 – – – – – –
XQ1Q0
0 1X
Q1Q00 1
00 0 0 00 1 0
01 1 0 01 1 0
11 1 0 11 1 0
10 – – 10 – –
D1=Q1’ D0=Q0’
Y
xQ1Y
Q0xD1Q1' xD0Q0'
QQ’ D
00 0
01 1
10 0
11 1
Tworzymy tabelki dla funkcji wzbudzeń
poszczególnych przerzutników
Tworzymy tabelki dla funkcji wzbudzeń
poszczególnych przerzutników
ITPW
ZPT
19
Schemat logiczny detektora sekwencji
xQ1YQ0xD1 xD0
D 1Q 1
Q 1
D 1Q 1
Q 1
D 0Q 0
Q 0
x Y
CLKCLK
Schemat logiczny rysujemy na podstawie obliczonych funkcji wzbudzeń: Schemat logiczny rysujemy na podstawie obliczonych funkcji wzbudzeń:
ITPW
ZPT20
Jak pracuje automat
D 1Q 1
Q 1
D 1Q 1
Q 1
D 0Q 0
Q 0
x Y
CLKCLK
XS Q1Q0
0 1 0 1
A 00 01 00 0 0
B 01 11 00 0 0
C 11 11 00 0 1
(–) 10 – – – – – –
0 0
0
Q1
Q0
clk
1 1
1
0 0
ITPW
ZPT
21
Przykład... Realizacja T
XQ1Q0
0 1
00 0 0
01 1 0
11 1 0
10 – –
XQ1Q0
0 1
00 1 0
01 1 0
11 1 0
10 – –
QQ’ T
00 0
01 1
10 1
11 0
XQ1Q0
0 1
00
01
11
10 – –
XQ1Q0
0 1
00
01
11
10 – –
Q1’ Q0’
T1 T0
xQ1x1Q0QT1 xQ00QxT0 Y – jak poprzednio
0 0
0
0
1
1
0
0
0 1
1
1
ITPW
ZPT
22
Schemat logiczny detektora (T)
xQ1x1Q0QT1 xQ00QxT0 Y – jak poprzednio
T1Q1
Q 1
Q1
Q 1
T0Q0
Q 0
CLK
xx
Y
ITPW
ZPT
23
Przykład... Realizacja JK
QQ’ J K
00 0 –
01 1 –
10 – 1
11 – 0
Q1Q0 0 1 Q1Q0 0 1
00 00
01 01
11 11
10 – – 10 – –
J1 K1
Q1Q0 0 1 Q1Q0 0 1
00 00
01 01
11 11
10 – – 10 – –
J0 K0
Q0xJ1 xJ0 xK1 xK0
XQ1Q0
0 1
00 0 0
01 1 0
11 1 0
10 – –
XQ1Q0
0 1
00 1 0
01 1 0
11 1 0
10 – –
Q1’ Q0’
– 1
0 –0
0– 0
–
–
– 0
0 –
–1
–
1
–– 0
1
–
1
ITPW
ZPT
24
Schemat logiczny detektora (JK)
Q0xJ1 xJ0 xK1 xK0
1QJ
K Q0K
J Q
QCLK
Y
Y – jak poprzednio
x
ITPW
ZPT
Porównanie realizacji
25
D 1Q 1
Q 1
D 1Q 1
Q 1
D 0Q 0
Q 0
x Y
CLKCLK
T1Q1
Q 1
Q1
Q 1
T0Q0
Q 0
CLK
x
xY
1QJ
K Q0K
J Q
QCLK
Yx
Realizacja D Realizacja T
Realizacja JK
ITPW
ZPT
26
a – up – liczenie do przodu
b – down – liczenie do tyłu
c – clear – zerowanie
x1
x2
Zadanie nieco trudniejsze
(Licznik mod. 5 ze sterowaniem)
Licznik to układ cyfrowy (blok funkcjonalny), w którym zliczane są impulsy zegarowe. Pojawienie się impulsu zwiększa lub zmniejsza zawartość licznika o 1.
Czyli jest to prosty układ sekwencyjny, który musi pamiętać poprzednią zawartość reprezentowaną stanem wewnętrznym.
Zaprojektować licznik, który będzie wykonywał trzy czynności:
(up, down, clear)yLicznik
Informację o tym jaka czynność (mikrooperacja) ma być wykonywana, wprowadzana jest do licznika sygnałami x1, x2.
ITPW
ZPT
27
Zadanie: licznik mod. 5 ze sterowaniem
XS
a b c YX
Q2Q1Q000 01 11 10
S0 S1 S4 S0 0 000 001 100 000 000
S1 S2 S0 S0 0 001 010 000 000 000
S2 S3 S1 S0 0 010 011 001 000 000
S3 S4 S2 S0 0 011 100 010 000 000
S4 S0 S3 S0 1 100 000 011 000 000
a – up – liczenie do przodub – down – liczenie do tyłuc – clear – zerowanie
Ale nie martwmy się! Proces ten – w systemach komputerowego projektowania – jest całkowicie zautomatyzowany.
Synteza kombinacyjna układów sekwencyjnych może być
(i zazwyczaj jest) procesem żmudnym,
01100100
10011110
01001000
01010101
010100111...i jeszcze zakreślać pętelki!!!
ITPW
ZPT
36
Nie martwmy się ...
AHDL lub VHDL
…dalej automatycznie
…aż do zaprogramowania
jedyną czynnością użytkownika jest ...
ITPW
ZPT
37
Specyfikacja automatu
Nie wnikając w szczegóły takiego zapisu (będą one omawiane na wykładzie z Układów cyfrowych) trzeba podkreślić, że jest to wierne odwzorowanie tablicy przejść wyjść automatu.
AHDLVHDL
AHDLVHDL
ITPW
ZPT
38
Na przykład licznik ze sterowaniem...
TABLE % current current next next % % state input state output %
PROCESS(X, state_reg)BEGIN CASE state_reg ISWHEN S0 =>CASE X ISWHEN a =>state_next <= S1;WHEN b =>state_next <= S4;WHEN c =>state_next <= S0;WHEN OTHERS =>state_next <= S0;END CASE;
………..
WHEN S4 =>CASE X ISWHEN a =>state_next <= S0;WHEN b =>state_next <= S3;WHEN c =>state_next <= S0;WHEN OTHERS =>state_next <= S0;END CASE;WHEN OTHERS =>state_next <= S0; END CASE;END PROCESS;-- funkcja wyjscia Y <= '1' WHEN state_reg = S4 ELSE '0';
END funkcja_przejsc;
po wprowadzeniu…
ITPW
ZPT
40
…specyfikacji do edytora tekstowego
TABLE % current current next next % % state input state output %