Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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.

Podobne prezentacje


Prezentacja na temat: "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."— Zapis prezentacji:

1 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, ……. XtXt YtYt UK X t, X t-1, X t-2, ….YtYt US Modelem układu sekwencyjnego jest AUTOMAT Historia wejść

2 I T P W 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 Vy Y jest definiowany przez określenie: S1S1 S2S2 S3S3 v1v1 v2v2 v2v2 v2v2 v1v1 v1v1 v3v3 v3v3 v3v3 v2v2 Y2Y2 v1v1 Y1Y1 Y3Y3 v3v3 v1v1 /Y 2 /Y 1 /Y 3

3 I T P W ZPT 3 F unkcja przejść i wyjść Funkcja wyjść: : S Y (tzw. automat Moorea) Funkcja przejść: : S X S : S X Y (tzw. automat Mealyego) 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

4 I T P W ZPT 4 Specyfikacja automatu Mealyego Tablica przejść-wyjść automatu: Moorea v1v1 v2v2 v1v1 v2v2 S1S1 S2S2 S1S1 y1y1 y2y2 S2S2 S3S3 S2S2 y3y3 y1y1 S3S3 S2S2 S1S1 y2y2 y3y3 v1v1 v2v2 v3v3 y S1S1 S2S2 S1S1 S3S3 y2y2 S2S2 S3S3 S1S1 S2S2 y1y1 S3S3 S1S1 S3S3 S2S2 y3y3... i graf Mealyego: Moorea: stan/ wyjście wejście stan wejście/wyjście

5 I T P W ZPT 5 Specyfikacja automatu Mealyego Tablica przejść-wyjść automatu: Moorea v1v1 v2v2 v1v1 v2v2 S1S1 S2S2 S1S1 y1y1 y2y2 S2S2 S3S3 S2S2 y3y3 y1y1 S3S3 S2S2 S1S1 y2y2 y3y3 v1v1 v2v2 v3v3 y S1S1 S2S2 S1S1 S3S3 y2y2 S2S2 S3S3 S1S1 S2S2 y1y1 S3S3 S1S1 S3S3 S2S2 y3y3... i graf Mealyego Moorea /y 2

6 I T P W ZPT 6 x1xnx1xn y1ymy1ym Q1QkQ1Qk q1qkq1qk Układ sekwencyjny wejście synchronizujące UK BP CLK US Zakodowane litery wejściowe Zakodowane litery wyjściowe Zakodowane stany automatu 00 x 1 x W układach synchronicznychW układach asynchronicznych Jak zrealizowa ć automat v1v1 v2v2 v3v3 Y S1S1 S1S1 S4S4 y2y2 S2S2 S5S5 S3S3 S1S1 y1y1 S3S3 S4S4 S5S5 y3y3 S4S4 S1S1 S2S2 S3S3 y2y2 S5S5 S4S4 S2S2 y4y Q1Q2Q1Q

7 I T P W ZPT 7 x1xnx1xn y1ymy1ym Q1QkQ1Qk q1qkq1qk 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

8 I T P W ZPT 8 x1xnx1xn y1ymy1ym Q1QkQ1Qk q1qkq1qk Synchroniczne układy sekwencyjne UK Przerzutniki CLK BP FF I1I1 I2I2 Q CLK Przerzutnik – to automat typu Moorea 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).

9 I T P W ZPT 9 Przerzutniki W zależności od rodzaju wejść informacyjnych wyróżniamy przerzutniki typu: D, T, SR oraz JK. FF D Q CLK FF T Q CLK FF S R Q CLK FF J K Q CLK Przerzutnik jest określony: tablicą przejść, równaniem charakterystycznym, tablicą wzbudzeń.

10 I T P W ZPT 10 Przerzutniki – tablice przejść DQDQ Q = D TQTQ SR Q –1 110–1 JK Q Równanie charakterystyczne: Q = f(I 1,I 2,Q)

11 I T P W ZPT 11 Przerzutniki – tablice wzbudzeń Q DTS RJ K – – – – 0 D – delayT – 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

12 I T P W ZPT 12 Przebiegi czasowe – przerzutnik typu D D Q CLK FF D Q CLK DQDQ

13 I T P W ZPT 13 Przebiegi czasowe – przerzutnik typu T T Q CLK FF T Q CLK TQTQ

14 I T P W ZPT 14 Przebiegi czasowe - porównanie D (T) Q (D) Q (T) CLK

15 I T P W 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) S1S1 S2S2 S3S3 v1v1 v2v2 v2v2 v2v2 v1v1 v1v1 v3v3 v3v3 v3v3 /Y 2 /Y1/Y1 /Y 3 v1v1 v2v2 v1v1 v2v2 S1S1 S2S2 S1S1 y1y1 y2y2 S2S2 S3S3 S2S2 y3y3 y1y1 S3S3 S2S2 S1S1 y2y2 y3y3 CLK x Y

16 I T P W ZPT 16 Synteza kombinacyjna… UK we Prze rzu tniki UK wy X Y Obliczanie funkcji sterujących wejściami przerzutników (funkcje wzbudzeń) Obliczanie funkcji wyjściowych CLK QQ Q = f(X,Q) Y = f(Q) (Moore) Y = f(X,Q) (Mealy)

17 I T P W ZPT 17 Przykład syntezy (detektor sekwencji) X S 0101 A BA00 B CA00 C CA01 X Q1Q A B C (–) 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

18 I T P W ZPT 18 Obliczanie funkcji wzbudzeń i wyjściowych X S Q1Q A B C (–) 10– –– X Q1Q0 01 X Q1Q –– –– D1=Q1D0=Q0 Y QQD Tworzymy tabelki dla funkcji wzbudzeń poszczególnych przerzutników

19 I T P W ZPT 19 Schemat logiczny detektora sekwencji x Y CLK Schemat logiczny rysujemy na podstawie obliczonych funkcji wzbudzeń:

20 I T P W ZPT 20 Jak pracuje automat x Y CLK X S Q1Q A B C (–) 10– –– Q1 Q0 clk

21 I T P W ZPT 21 Przykład... Realizacja T X Q1Q –– X Q1Q –– QQT X Q1Q –– X Q1Q –– Q1 Q0 T1T0 Y – jak poprzednio

22 I T P W ZPT 22 Schemat logiczny detektora (T) Y – jak poprzednio CLK x Y

23 I T P W ZPT 23 Przykład... Realizacja JK QQJ K 000 – 011 – 10– 1 11– 0 Q1Q –– –– J1K1 Q1Q –– –– J0K0 X Q1Q –– X Q1Q –– Q1 Q0 – 1 0–0 0 – 0 – – –0 0 – – 1 – 1 –– 0 1 – 1

24 I T P W ZPT 24 Schemat logiczny detektora (JK) CLK Y Y – jak poprzednio x

25 I T P W ZPT Porównanie realizacji 25 x Y CLK x Y Y x Realizacja DRealizacja T Realizacja JK

26 I T P W ZPT 26 a – up – liczenie do przodu b – down – liczenie do tyłu c – clear – zerowanie x1x2x1x2 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) y Licznik Informację o tym jaka czynność (mikrooperacja) ma być wykonywana, wprowadzana jest do licznika sygnałami x 1, x 2.

27 I T P W ZPT 27 Zadanie: licznik mod. 5 ze sterowaniem XSXS abcY X Q2Q1Q S0S1S4S S1S2S S2S3S1S S3S4S2S S4S0S3S a – up – liczenie do przodub – down – liczenie do tyłuc – clear – zerowanie a – up – liczenie do przodu b – down – liczenie do tyłu c – clear – zerowanie Licznik (up, down, clear) x 1 x 2 clk y Naturalny kod binarny NKB

28 I T P W ZPT 28 Licznik ze sterowaniem… X Q2Q1Q x 1 x 2 Q2Q1Q Q2Q1Q0

29 I T P W ZPT 29 x 1 x 2 Q2Q1Q x 1 x 2 Q2Q1Q x 1 x 2 Q2Q1Q ––––110110––––110110–––– ––––111111––––111111–––– ––––101101––––101101–––– x 1 x 2 Q2Q1Q Q2Q1Q0 Q2 Q1 Q0 Dla przerzutników typu D: Q = D = D0 = D1= D2 Przerzutniki D Kolory wyróżniają stan bieżący i następny poszczególnych przerzutników Q2 Q1 Q0

30 I T P W ZPT 30 x 1 x 2 Q2Q1Q x 1 x 2 Q2Q1Q x 1 x 2 Q2Q1Q –––– –––– –––– 111–––– –––– –––– 101–––– –––– –––– D2D1D1D0 D2 = D1 = D0 = Licznik ze sterowaniem - przerzutniki D

31 I T P W ZPT 31 Licznik ze sterowaniem - przerzutniki JK

32 I T P W ZPT 32 Licznik ze sterowaniem - JK x 1 x 2 Q2Q1Q x 1 x 2 Q2Q1Q –––– –––– –––– –––– 110–––– –––– 111–––– –––– 101–––– –––– 100–––– 1111 J2K2 J2 = K2 =1 x 1 x 2 Q2Q1Q –––– 111 –––– 101 –––– Q2 QQJ K 000 – 011 – 10– 1 11– 0

33 I T P W ZPT 33 x 1 x 2 Q2Q1Q x 1 x 2 Q2Q1Q –––– –––– 011–––– –––– –––– –––– 111–––– –––– 101–––– –––– –––– J1K1 J1 = K1 = x1x1 x 1 x 2 Q2Q1Q –––– 111 –––– 101 –––– Q1 Licznik ze sterowaniem - JK QQJ K 000 – 011 – 10– 1 11– 0

34 I T P W ZPT 34 x 1 x 2 Q2Q1Q x 1 x 2 Q2Q1Q –––– 001–––– –––– –––– 110–––– –––– 111–––– –––– 101–––– –––– –––– J0K0 J0 =K0 =1 x 1 x 2 Q2Q1Q –––– 111 –––– 101 –––– Q0 Licznik ze sterowaniem - JK QQJ K 000 – 011 – 10– 1 11– 0

35 I T P W ZPT 35 Nie martwmy się... trzeba przetwarzać ogromne tablice wypełnione zerami i jedynkami. 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,...i jeszcze zakreślać pętelki!!!

36 I T P W ZPT 36 Nie martwmy się... AHDL lub VHDL…dalej automatycznie …aż do zaprogramowania jedyną czynnością użytkownika jest...

37 I T P W 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. AHDL VHDL

38 I T P W ZPT 38 Na przykład licznik ze sterowaniem... TABLE % current currentnext next % % stateinputstate output % s, v[] => s, y; s0,B"00 => s1, 0; s0,B"01 => s4, 0; s0,B"1X => s0, 0; s1,B"00 => s2, 0; s1,B"01 => s0, 0; s1,B"1X => s0, 0; s2,B"00 => s3, 0; s2,B"01 => s1, 0; s2,B"1X => s0, 0; s3,B"00 => s4, 0; s3,B"01 => s2, 0; s3,B"1X => s0, 0; s4,B"00 => s0, 1; s4,B"01 => s3, 1; s4,B"1X => s0, 1; END TABLE; XSXS Y S0S1S4S00 S1S2S0 0 S2S3S1S00 S3S4S2S00 S4S0S3S01 zapisany w języku AHDL…

39 I T P W ZPT …lub VHDL ********************* Plik VHDL automat.vhd ********************* LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY automat IS PORT(zegar, reset : IN STD_LOGIC; X: IN STD_LOGIC_VECTOR(1 DOWNTO 0); Y : OUT STD_LOGIC); END automat; ARCHITECTURE funkcja_przejsc OF automat IS CONSTANT a : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00"; CONSTANT b : STD_LOGIC_VECTOR(1 DOWNTO 0) := "01"; CONSTANT c : STD_LOGIC_VECTOR(1 DOWNTO 0) := "11"; CONSTANT S0 : STD_LOGIC_VECTOR(2 DOWNTO 0) := "000"; CONSTANT S1 : STD_LOGIC_VECTOR(2 DOWNTO 0) := "001"; CONSTANT S2 : STD_LOGIC_VECTOR(2 DOWNTO 0) := "010"; CONSTANT S3 : STD_LOGIC_VECTOR(2 DOWNTO 0) := "011"; CONSTANT S4 : STD_LOGIC_VECTOR(2 DOWNTO 0) := "100"; SIGNAL state_reg, state_next : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN PROCESS(reset, zegar) BEGIN IF reset = '1' THEN state_reg <= S0; ELSIF(zegar'EVENT AND zegar = '1') THEN state_reg <= state_next; END IF; END PROCESS; PROCESS(X, state_reg) BEGIN CASE state_reg IS WHEN S0 => CASE X IS WHEN 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 IS WHEN 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…

40 I T P W ZPT 40 …specyfikacji do edytora tekstowego TABLE % current currentnext next % % stateinputstate output % s, v[] => s, y; s0,B"00 => s1, 0; s0,B"01 => s4, 0; s0,B"1X => s0, 0; s1,B"00 => s2, 0; s1,B"01 => s0, 0; s1,B"1X => s0, 0; s2,B"00 => s3, 0; s2,B"01 => s1, 0; s2,B"1X => s0, 0; s3,B"00 => s4, 0; s3,B"01 => s2, 0; s3,B"1X => s0, 0; s4,B"00 => s0, 1; s4,B"01 => s3, 1; s4,B"1X => s0, 1; END TABLE;

41 I T P W ZPT 41 i uruchomieniu kompilatora… 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; EPM zostanie automatycznie zrealizowany bez udziału projektanta.

42 I T P W ZPT 42 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.


Pobierz ppt "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."

Podobne prezentacje


Reklamy Google