Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałRadosław Karczewski Został zmieniony 6 lat temu
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.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.