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 Problem kodowania stanów w układach sekwencyjnych (automatach) Sekwencyjne układy asynchroniczne Tadeusz Łuba ZCB

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 zależy od sposobu zakodowania stanów! Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB

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ń Tadeusz Łuba ZCB 9 stanów - ???????????

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. (rozdz. 7.4 Synteza logiczna) Astola J. T., Stanković R. S.: Fundamentals of Switching Theory and Logic Design. Dordrecht: Springer, 2006. Tadeusz Łuba ZCB

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 następne 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: Tadeusz Łuba ZCB

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. Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB 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… Tadeusz Łuba ZCB 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 Tadeusz Łuba ZCB

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. Tadeusz Łuba ZCB 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. Tadeusz Łuba ZCB

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

14 Model układu asynchronicznego
Model układu sekwencyjnego (synchronicznego) Model układu asynchronicznego x1 xn y1 ym Q1 Qk q1 qk UK Pamięć jest realizowana przez sprzężenie zwrotne: czyli współdziałanie litery wejściowej i stanu wewnętrznego BP przerzutniki clock x x W automacie asynchronicznym wszystkie stany są stanami stabilnymi t s Tadeusz Łuba ZCB Stan stabilny s: (s,x) = s (możliwe są również realizacje z przerzutnikami asynchronicznymi)

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 Tadeusz Łuba ZCB 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. Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB W układzie asynchronicznym realizacja tej tablicy może sprawić kłopoty

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 Pod wpływem x1x2 = 11 układ jest w stanie 01, x1x2 zmienia się na 01 1 >  2 0 1 0 0 1 0  1 <  2 0 1 1 1 1 0 Wyścig krytyczny! Układ przeszedł do stanu niezgodnego z pierwotną tablicą p-w Wyścig niekrytyczny Za pośrednictwem stanu niestabilnego układ przeszedł do właściwego stanu Tadeusz Łuba ZCB

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 -- - Tadeusz Łuba ZCB Q1’Q2’ Q1’ Q2’

20 Wyznaczanie funkcji wzbudzeń
x1x2 Q1Q2 00 01 11 10 Y 1 -- - Q1’Q2’ Q1’ Q2’ Ale w układzie asynchronicznym trzeba dodać dodatkowy składnik ? Y = Q2 Tadeusz Łuba ZCB Aby zapobiec powstawaniu szkodliwego zjawiska - 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! Tadeusz Łuba ZCB

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 - Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB

24 Książka „Synteza logiczna” przykład 8.3, str. 210.
Przerzutnik typu D Tadeusz Łuba ZCB Książka „Synteza logiczna” przykład 8.3, str. 210.


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

Podobne prezentacje


Reklamy Google