Układy sekwencyjne - pojęcie automatu

1 Układy sekwencyjne - pojęcie automatuv2 v1 v  V y  Y ...
Author: Łucjusz Radzimski
0 downloads 7 Views

1 Układy sekwencyjne - pojęcie automatuv2 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 automatuTablica 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 automatuTablica 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ąceUkł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 sekwencyjnex1 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 DFF D Q CLK CLK D D Q 1 Q

12 Przebiegi czasowe – przerzutnik typu TFF T Q CLK CLK T T Q 1 Q

13 Przebiegi czasowe - porównanieCLK D (T) Q (D) Q (T)

14 Synteza układów sekwencyjnychEtapy 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ściowychX 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 sekwencjix Y

19 Przykład... Realizacja T Y – jak poprzednio QQ’ T 00 01 1 10 11 X Q1Q01 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ówsekwencyjnych 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 automatuNie 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 tekstowegoTABLE % 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.