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

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Funkcje tworzące są wygodnym narzędziem przy badaniu zmiennych losowych o wartościach całkowitych nieujemnych. Funkcje tworzące pierwszy raz badał de.
Teoria układów logicznych
Automaty asynchroniczne
Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel
Układy sekwencyjne - pojęcie automatu
Modelem układu sekwencyjnego jest AUTOMAT
Obserwowalność System ciągły System dyskretny
Architektura systemów komputerowych
Funkcje Barbara Stryczniewicz.
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Wykonał : Marcin Sparniuk
Michał Łasiński Paweł Witkowski
PRZERZUTNIKI W aktualnie produkowanych przerzutnikach scalonych TTL wyróżnia się dwa podstawowe rodzaje wejść informacyjnych: - wejścia asynchroniczne,
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Od algebry Boole’a do komputera
Wykład 2: Upraszczanie, optymalizacja i implikacja
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Układy logiczne kombinacyjne sekwencyjne
Minimalizacja funkcji boolowskich
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Struktury układów logicznych
Jak usprawnić obliczanie MKZ?
Automatyka Wykład 3 Modele matematyczne (opis matematyczny) liniowych jednowymiarowych (o jednym wejściu i jednym wyjściu) obiektów, elementów i układów.
Układy sekwencyjne pojęcia podstawowe.
minimalizacja automatów
Przerzutniki.
Układy kombinacyjne.
Układy kombinacyjne cz.2
Podstawy układów logicznych
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Problem kodowania stanów w układach sekwencyjnych (automatach)
Zadanie treningowe… …do wykładów ULOG cz. 6 i cz. 7 Rozwiązanie: E S 1
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Cyfrowe układy logiczne
Sekwencyjne bloki funkcjonalne
Układy cyfrowe.
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Minimalizacja automatu
Minimalizacja automatu
Problematyka wykładu Podział rejestrów i liczników
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne
Pudełko Urządzenia Techniki Komputerowej
Podstawy Techniki Cyfrowej
PODSTAWOWE BRAMKI LOGICZNE
Podstawy Techniki Cyfrowej
Funkcje Barbara Stryczniewicz Co z tym zrobisz Ćwiczenia wstępne Opis funkcji,elementy Własności funkcji 4 Sposoby przedstawiania funkcji 5.
Złożone układy kombinacyjne
Bramki logiczne i układy kombinatoryczne
Własności bramek logicznych RÓZGA DARIUSZ 20061
Układy asynchroniczne
Przerzutniki Przerzutniki.
Przerzutniki bistabilne
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
315.W jakim czasie ciało swobodnie spadające przebędzie piąty metr swojej drogi?
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
I T P W ZPT Konwerter BIN2BCD 1 LK „8” DEC LK = 0 LOAD1 R3R2R1  K S3 S2S1 A B „5” K  5 MUX 1 0 A R4 LOAD2 Y = LD B LB „3” US Układ wykonawczy Układ sterujący.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Problem kodowania stanów w układach sekwencyjnych (automatach)
Układy asynchroniczne
Podstawy Automatyki Człowiek- najlepsza inwestycja
Zapis prezentacji:

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

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!

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

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ń

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.

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:

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.

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!

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)

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

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!

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.

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

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

(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

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.

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

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

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’

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

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!

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 -

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

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

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

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)

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’

Przykład - realizacja