Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Problem kodowania stanów w układach sekwencyjnych (automatach)

Podobne prezentacje


Prezentacja na temat: "Problem kodowania stanów w układach sekwencyjnych (automatach)"— Zapis prezentacji:

1 Problem kodowania stanów w układach sekwencyjnych (automatach)
Informacje uzupełniające o układach sekwencyjnych (zamiast W12 i W13) Problem kodowania stanów w układach sekwencyjnych (automatach) Sekwencyjne układy asynchroniczne

2 Problem kodowania w automatach
Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. Minimalna liczba bitów b potrzebna do zakodowania automatu, w którym liczność zbioru S jest |S| b = log2|S| Q1Q2Q3 v1 v2 v3 Y S1 S4 y2 S2 S5 S3 y1 y3 y4 000 001 010 011 100 Złożoność realizacji sprzętowej automatu silnie zależy od sposobu zakodowania stanów!

3 Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11 Wariant II A = 00 B = 11 C = 01 D = 10 Wariant II Wariant I

4 Kodowanie Jak przewidzieć (obliczyć) najlepsze kodowanie stanów?
Czy realne jest sprawdzenie wszystkich możliwości 3 stany - 3 różne kodowania 4 stany - 3 różne kodowania 5 stanów - 140 kodowań 7 stanów - 840 kodowań 9 stanów - ponad 10 milionów kodowań

5 KODOWANIE Problem kodowania jest bardzo trudny i nawet na poziomie akademickim nie powstały żadne praktycznie użyteczne narzędzia komputerowe wspomagające ten proces (SUL rozdz ). Jedyną realną do omówienia w ograniczonym czasie wykładu jest metoda wykorzystująca podział z własnością podstawienia.

6 Własność podstawienia
Podział  na zbiorze stanów automatu M=<S, I , δ> ma własność podstawienia (closed partition), gdy dla każdej pary stanów Si, Sj należącej do tego samego bloku  i każdego wejścia Ik stany Ik Si oraz Ik Sj należą do wspólnego bloku . x s 1 A F B E C D Podziały z własnością podstawienia:

7 Twierdzenie () – liczba bloków podziału 
Dany jest automat M o zbiorze stanów S, |S| = n. Do zakodowania stanów potrzeba Q1, ..., Qk elementów pamięci. () – liczba bloków podziału  Jeżeli istnieje podział  z własnością podstawienia i jeżeli r spośród k zmiennych kodujących Q1, ..., Qk, gdzie r = log2(), jest przyporządkowanych blokom podziału  tak, że wszystkie stany zawarte w jednym bloku są oznaczone tymi samymi kodami Q1, ..., Qr , to funkcje Q’1, ..., Q’r, są niezależne od pozostałych (k – r) zmiennych.

8 Przykład - interpretacja w.p.
x s 1 A F B E C D Kodowanie wg 1 A B C D E F 1 0 0 0 1 1 0 Nie wystarcza to do zakodowania 1 •  = (0) Warunek jednoznaczności kodowania!

9 Przykład … Co to znaczy, że zastosujemy kodowanie wg podziału zamkniętego: x s 1 A F B E C D Q1Q2Q3 A 0 0 0 B 0 0 1 C 1 0 1 D 1 0 0 E 0 1 0 F 1 1 0 Q1’ = D1 = f(x,Q1) a co z pozostałymi? Niestety tylko jedną zmienną zakodowaliśmy wg podziału zamkniętego, zatem: Nie musimy obliczać funkcji wzbudzeń, aby stwierdzić, że pierwsza z nich, czyli D1 będzie… Q2’ = D2 = f(x,Q1,Q2,Q3) Q3’ = D3 = f(x,Q1,Q2,Q3)

10 Przykład … A może jest więcej podziałów zamkniętych: x s 1 A F B E C D
1 A F B E C D Można wykazać, że oprócz 1 jest 2 Kodowanie wg 1 2 A B C D E F 1 0 0 0 1 1 0 Jest to kodowanie jednoznaczne

11 Jeśli wyjdzie inaczej – TŁ stawia
PRZYKŁAD c.d. Przy tak dobranym kodowaniu pierwsza funkcja wzbudzeń Q1’ tego automatu będzie zależna od jednej zmiennej wewnętrznej, a druga i trzecia łącznie (Q2’, Q3’) od dwóch zmiennych wewnętrznych, czyli Q1’ = f(x,Q1) Q2’ = f(x,Q2,Q3) Q3’ = f(x,Q2,Q3) Jeśli wyjdzie inaczej – TŁ stawia Kto nie wierzy, niech zakoduje, obliczy funkcje Q1’, Q2’, Q3’ i sprawdzi. Dla całego roku!

12 W rozwiązaniu problemu kodowania z pomocą przychodzi technologia…
KODOWANIE W rozwiązaniu problemu kodowania z pomocą przychodzi technologia… Zadanie to znacznie się upraszcza w strukturach z pamięciami, które są bezpośrednio realizowalne w układach FPGA.

13 Sekwencyjne układy asynchroniczne
Układy asynchroniczne – przeznaczone do specyficznych, nietypowych zastosowań W najnowszych książkach… …nic się na ten temat nie pisze …jedynie w specjalistycznych

14 Model układu asynchronicznego
Model układu sekwencyjnego (synchronicznego) x1 xn y1 ym Q1 Qk q1 qk układ kombinacyjny UK BP blok pamięci jest realizowany przez opóźnienia przerzutniki (możliwe są również realizacje z przerzutnikami asynchronicznymi) clock

15 (Najprostszy układ asynchroniczny)
Asynchroniczny przerzutnik SR (Najprostszy układ asynchroniczny) SR q 00 01 11 10 1 Q 1 1 S Q Dlaczego RS ≠ 11 ? 1 R 1

16 Synteza układów asynchronicznych
. . . jest bardzo trudna na etapie kodowania stanów, ale z całkiem innych powodów niż w układach synchronicznych. Przy niewłaściwym doborze kodowania automat może pracować niezgodnie z pierwotną tablica przejść-wyjść Powstają wtedy tzw. wyścigi krytyczne wprowadzające automat do stanu innego niż jest podany w tablicy przejść wyjść. Przyczyną kłopotów są zjawiska niejednakowego opóźnienia sygnału w elementach logicznych.

17 Synteza układów asynchronicznych
Kod stanu x1x2 S 00 01 11 10 y A B C 1 10 01 A/0 B/1 C/0 00 11 00 01 x1x2 S 00 01 11 10 y A B 1 (-) C 10 Graf stanów

18 Analiza działania układu asynchronicznego
x1 x2 x1x2 S 00 01 11 10 y A B 1 (-) C Układ kombinacyjny (bez opóźnień) y Q1 Q2 q1 q2 10 1 10 01 2 Opóźnienia 1 >  2 0 1 0 0 1 0  1 <  2 0 1 1 1 1 0 Wyścig krytyczny! Wyścig niekrytyczny

19 Zmodyfikowana tablica przejść
W celu uzyskania prawidłowego działania układu asynchronicznego jego tablicę przejść należy odpowiednio modyfikować x1x2 S 00 01 11 10 y A B 1 (-) C x1x2 Q1Q2 00 01 11 10 1 -- - Q1’Q2’ Q1’ Q2’

20 Wyznaczanie funkcji wzbudzeń
x1x2 Q1Q2 00 01 11 10 Y 1 -- - Q1’Q2’ Q1’ Q2’ Dlaczego dodano dodatkową pętlę – składnik ? Y = Q2 Zjawisko hazardu

21 Jest to hazard statyczny - szkodliwy w układach asynchronicznych!
Zjawisko hazardu 1 2 Przy Q1 = 1, x1 = 1, a przy zmianie x2: 1  0 na wyjściu Z powinna być stała 1 Na skutek opóźnienia sygnału w sygnale Z pojawia się krótki impuls o wartości 0. Jest to hazard statyczny - szkodliwy w układach asynchronicznych!

22 Zjawisko hazardu W układach asynchronicznych funkcje wzbudzeń muszą być realizowane w taki sposób, aby nie występował hazard statyczny. Wyrażenia boolowskie należy uzupełnić o składnik (nadmiarowy), odpowiadający pętli na tablicy Karnaugha, w taki sposób, aby każde dwie sąsiednie jedynki były objęte wspólną pętlą. x1x2 Q1Q2 00 01 11 10 1 -

23 Jak jest zbudowany przerzutnik synchroniczny?
Q 1 ? Przerzutnik typu D Clk Sygnał zegarowy nie występuje w opisie działania (w tablicy przejść) tego przerzutnika Przerzutniki synchroniczne realizujemy jako układy asynchroniczne

24 Synchroniczny przerzutnik typu D synchronizowany zboczem dodatnim
Przykład Synchroniczny przerzutnik typu D synchronizowany zboczem dodatnim Q 00 01 11 10 1

25 Przykład c.d. 01 00 10 1/11 2/01 3/10 11 D clk Graf Rozdz. 4.4

26 Zakodowana tablica p-w
Przykład c.d. Tablica przejść-wyjść D,clk S 00 01 11 10 Y1Y2 1 3 2 (clk  c) D,c Q1Q2 00 01 11 10 Y1Y2 -- (2) 01 (1) 11 (3) 10 Zakodowana tablica p-w (kody stanów takie same, jak wyjścia Y1, Y2)

27 Przykład c.d. Q1’ Q2’ (clk  c) Q1’ Q2’ D,c Q1Q2 00 01 11 10 Y1Y2 --
(2) 01 (1) 11 (3) 10 Q1’ Q2’ D,c Q1Q2 00 01 11 10 - (2) 01 1 (1) 11 (3) 10 D,c Q1Q2 00 01 11 10 - (2) 01 1 (1) 11 (3) 10 Q1’ Q2’

28 Przykład - realizacja


Pobierz ppt "Problem kodowania stanów w układach sekwencyjnych (automatach)"

Podobne prezentacje


Reklamy Google