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