1 / 28

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

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

kaiyo
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Problem kodowania 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. 3 stany - 3 różne kodowania 4 stany - 3 różne kodowania Kodowanie Jak przewidzieć (obliczyć) najlepsze kodowanie stanów? Czy realne jest sprawdzenie wszystkich możliwości 5 stanów - 140 kodowań 7 stanów - 840 kodowań ponad 10 milionów kodowań 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. 4.3.2). 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 (closedpartition), gdy dla każdej pary stanów Si, Sjnależącej do tego samego bloku  i każdego wejścia Ikstany IkSi oraz IkSjnależą do wspólnego bloku . Podziały z własnością podstawienia:

  7. Twierdzenie Dany jest automat M o zbiorze stanów S, |S| = n. Do zakodowania stanówpotrzeba 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. Kodowanie wg 1  Nie wystarcza to do zakodowania 1•  = (0) Warunek jednoznaczności kodowania!

  9. a co z pozostałymi? Nie musimy obliczać funkcji wzbudzeń, aby stwierdzić, że pierwsza z nich, czyli D1 będzie… Przykład … Co to znaczy, że zastosujemy kodowanie wg podziału zamkniętego: Q1’ = D1 = f(x,Q1) Niestety tylko jedną zmienną zakodowaliśmy wg podziału zamkniętego, zatem: 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: Można wykazać, że oprócz 1 jest 2 Kodowanie wg 1 2 Jest to kodowanie jednoznaczne

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

  15. (Najprostszy układ asynchroniczny) Asynchroniczny przerzutnik SR Q 1 0 1 S Q Dlaczego RS ≠ 11 ? 1 R 1 0

  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. 11 00 11 01 A/0 B/1 10 10 00 01 C/0 10 01 11 Synteza układów asynchronicznych Kod stanu 00 01 10 Graf stanów

  18. 2 1 Analiza działania układu asynchronicznego x1 x2 Układkombinacyjny(bez opóźnień) y q1 q2 Q1 Q2 10 10 01 Opóźnienia 1 > 2 0 1 0 0 1 0 1 < 2 0 1 1 1 1 0 Wyścigkrytyczny! Wyścigniekrytyczny

  19. Zmodyfikowana tablica przejść W celu uzyskania prawidłowego działania układu asynchronicznego jego tablicę przejść należy odpowiednio modyfikować Q1’Q2’ Q1’ Q2’

  20. Wyznaczanie funkcji wzbudzeń Q1’Q2’ Q1’ Q2’ Dlaczego dodano dodatkową pętlę – składnik ? Y = Q2 Zjawisko hazardu

  21. 1 2 Zjawisko hazardu 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ą.

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

  24. Przykład Synchroniczny przerzutnik typu D synchronizowany zboczem dodatnim

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

  26. Przykład c.d. Tablica przejść-wyjść (clk  c) Zakodowana tablica p-w (kody stanów takie same, jak wyjścia Y1, Y2)

  27. Przykład c.d. (clk  c) Q1’ Q2’ Q2’ Q1’

  28. Przykład - realizacja

More Related