Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Układy sekwencyjne - pojęcie automatu
v2 v1 v V y Y v3 S2 /Y1 S1 /Y2 v2 v1 v3 v1 v2 v3 Y3 Y1 Y2 v1 v3 v1 S3 /Y3 v2 jest definiowany przez określenie: a) zbioru liter wejściowych V (X) i wyjściowych Y, b) zbioru stanów wewnętrznych S, c) funkcji przejść (ozn. ), d) funkcji wyjść (ozn. ).
2
Funkcja przejść i wyjść
Funkcja przejść: : S X S Funkcja wyjść: : S X Y (tzw. automat Mealy’ego) : S Y (tzw. automat Moore’a) Automat może być zupełny lub niezupełny
3
Specyfikacja automatu
Tablica przejść-wyjść automatu: Moore’a Mealy’ego v1 v2 v3 y S1 S2 S3 y2 y1 y3 v1 v2 S1 S2 y1 y2 S3 y3 ... i graf Mealy’ego: Moore’a: stan wejście/wyjście stan/ wyjście wejście
4
Specyfikacja automatu
Tablica przejść-wyjść automatu: Moore’a Mealy’ego v1 v2 v3 y S1 S2 S3 y2 y1 y3 v1 v2 S1 S2 y1 y2 S3 y3 ... i graf /y2 Moore’a Mealy’ego
5
wejście synchronizujące
Układ sekwencyjny Zakodowane litery wejściowe Zakodowane litery wyjściowe x1 xn y1 ym Q1 Qk q1 qk US UK układ kombinacyjny BP blok pamięci Zakodowane stany automatu CLK wejście synchronizujące Układy sekwencyjne: Synchroniczne (BP zbudowany z przerzutników synchronicznych) Asynchroniczne (BP realizują opóźnienia lub przerzutniki asynchroniczne)
6
Synchroniczne układy sekwencyjne
x1 xn y1 ym UK Q1 Qk q1 qk BP Przerzutniki CLK
7
Przerzutniki Przerzutnik FF I1 I2 Q CLK – 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). W zależności od rodzaju wejść informacyjnych wyróżniamy przerzutniki typu: D, T, SR oraz JK. FF J K Q CLK FF S R Q CLK FF D Q CLK FF T Q CLK
8
Przerzutniki Przerzutnik jest określony: tablicą przejść,
FF I1 I2 Q CLK Przerzutnik jest określony: tablicą przejść, równaniem charakterystycznym, tablicą wzbudzeń.
9
Przerzutniki – tablice przejść
Q 1 D Q 1 Q’ = D SR Q 00 01 11 10 – 1 JK Q 00 01 11 10 1 Równanie charakterystyczne: Q’ = f(I1,I2,Q)
10
Przerzutniki – tablice wzbudzeń
Q Q’ D T S R J K 00 0 – 01 1 1 0 1 – 10 0 1 – 1 11 – 0 D – delay T – trigger S – Set (wejście włączające) R – Reset (wejście wyłączające) J – wejście włączające K – wejście wyłączające
11
Przebiegi czasowe – przerzutnik typu D
FF D Q CLK CLK D D Q 1 Q
12
Przebiegi czasowe – przerzutnik typu T
FF T Q CLK CLK T T Q 1 Q
13
Przebiegi czasowe - porównanie
CLK D (T) Q (D) Q (T)
14
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 S2 S3 v1 v2 v3 /Y2 /Y1 /Y3 CLK x Y minimalizacja v1 v2 S1 S2 y1 y2 S3 y3 kodowanie
15
Synteza kombinacyjna…
Y = f(X,Q) (Mealy) Q’ Q X Przerzu tniki Y UK we UK wy Obliczanie funkcji sterujących wejściami przerzutników (funkcje wzbudzeń) Obliczanie funkcji wyjściowych CLK Y = f(Q) (Moore) Q’ = f(X,Q)
16
Przykład syntezy (detektor sekwencji)
Wystarczą dwa przerzutniki X S Q1Q0 1 A 01 00 B 11 C (–) 10 – – – X S 1 A B C Kodowanie Y Na razie staramy się spełnić wyłącznie warunek jednoznaczności kodowania
17
Obliczanie funkcji wzbudzeń i wyjściowych
X S Q1Q0 1 A 01 00 B 11 C (–) 10 – – – QQ’ D 00 01 1 10 11 Y X Q1Q0 1 00 01 11 10 – D1=Q1’ D0=Q0’
18
Schemat logiczny detektora sekwencji
x Y
19
Przykład... Realizacja T Y – jak poprzednio QQ’ T 00 01 1 10 11 X Q1Q0
1 00 01 11 10 – X Q1Q0 1 00 01 11 10 – QQ’ T 00 01 1 10 11 Q1’ Q0’ X Q1Q0 1 00 01 11 10 – X Q1Q0 1 00 01 11 10 – 1 1 1 1 1 T1 T0 Y – jak poprzednio
20
Schemat logiczny detektora (T)
x Y CLK Y – jak poprzednio
21
Schemat logiczny detektora (JK)
CLK Y x Y – jak poprzednio
22
CAD Nie martwmy się ... Synteza kombinacyjna układów
sekwencyjnych może być (i zazwyczaj jest) procesem żmudnym, trzeba przetwarzać ogromne tablice wypełnione zerami i jedynkami. CAD Ale nie martwmy się! Proces ten – w systemach komputerowego projektowania – jest całkowicie zautomatyzowany.
23
jedyną czynnością użytkownika jest ...
Nie martwmy się ... zapisanie tablicy p-w w języku AHDL lub VHDL …dalej automatycznie …aż do zaprogramowania
24
Specyfikacja automatu
Nie wnikając w szczegóły takiego zapisu (będą one omawiane na innych wykładach) trzeba podkreślić, że jest to wierne odwzorowanie tablicy przejść wyjść automatu. tablica przejśc-wyjść AHDL VHDL Odwzorowanie
25
Na przykład licznik ze sterowaniem...
TABLE % current current next next % % state input state output % s, v[] => s, y; s0, B"00„ => s1, ; s0, B"01„ => s4, ; s0, B"1X„ => s0, ; s1, B"00„ => s2, ; s1, B"01„ => s0, ; s1, B"1X„ => s0, ; s2, B"00„ => s3, ; s2, B"01„ => s1, ; s2, B"1X„ => s0, ; s3, B"00„ => s4, ; s3, B"01„ => s2, ; s3, B"1X„ => s0, ; s4, B"00„ => s0, ; s4, B"01„ => s3, ; s4, B"1X„ => s0, ; END TABLE; X S 00 01 10 Y S0 S1 S4 S2 S3 1 zapisany w języku AHDL, po wprowadzeniu...
26
…specyfikacji do edytora tekstowego
TABLE % current current next next % % state input state output % s, v[] => s, y; s0, B"00„ => s1, ; s0, B"01„ => s4, ; s0, B"1X„ => s0, ; s1, B"00„ => s2, ; s1, B"01„ => s0, ; s1, B"1X„ => s0, ; s2, B"00„ => s3, ; s2, B"01„ => s1, ; s2, B"1X„ => s0, ; s3, B"00„ => s4, ; s3, B"01„ => s2, ; s3, B"1X„ => s0, ; s4, B"00„ => s0, ; s4, B"01„ => s3, ; s4, B"1X„ => s0, ; END TABLE;
27
i uruchomieniu kompilatora…
...zostanie automatycznie zrealizowany bez udziału projektanta. EPM7032 q0 _EQ001 = !q0 & q1 & !X1 & X2 # q2 & !X1 & X2 # !q0 & !q2 & !X1 & !X2; q1 _EQ002 = q2 & !X1 & X2 # q0 & q1 & !X1 & X2 # !q0 & q1 & !q2 & !X1 & !X2 # q0 & !q1 & !q2 & !X1 & !X2; q2 _EQ003 = !q0 & !q1 & !q2 & !X1 & X2 # q0 & q1 & !q2 & !X1 & !X2;
28
Wniosek Skoro kompilator oblicza funkcje wzbudzeń automatycznie, to umiejętność ta nie jest w dzisiejszych czasach sprawą najważniejszą. Lepiej skoncentrować się na tych metodach i procedurach syntezy logicznej, które nie są jeszcze wbudowane do systemów komercyjnych.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.