Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Teoria układów logicznych
Automaty asynchroniczne
Minimalizacja formuł Boolowskich
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
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Przetwarzanie i rozpoznawanie obrazów
Michał Łasiński Paweł Witkowski
Systemy liczbowe w architekturze komputerów materiał do wykładu 1/3
Budowa komputera Wstęp do informatyki Wykład 15
Algorytm Rochio’a.
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
Hipergrafy Hipergraf jest rozszerzeniem pojęcia grafu. Hipergraf różni się od grafu nieskierowanego tym, że każda hiperkrawędź może być incydentna do dowolnej.
Architektura komputerów
Tytuł prezentacji Warszawa, r..
Jak usprawnić obliczanie MKZ?
O relacjach i algorytmach
Układy kombinacyjne.
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
UKŁADY LOGICZNE Prowadzi: Tadeusz ŁUBA, (GE pok. 472)
Dekompozycja metodą rachunku podziałów c.d.
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Synteza logiczna w projektowaniu układów cyfrowych
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Problem kodowania stanów w układach sekwencyjnych (automatach)
Problem kodowania stanów w układach sekwencyjnych (automatach)
Espresso mankamenty.
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Espresso mankamenty.
MISTRZOSTWA BYDGOSZCZY
Obserwatory zredukowane
II Zadanie programowania liniowego PL
Minimalizacja funkcji boolowskich
Przykład syntezy strukturalnej
Minimalizacja funkcji boolowskich
Minimalizacja automatu
Minimalizacja automatu
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
Synteza logiczna w projektowaniu…
Problematyka wykładu Podział rejestrów i liczników
Systemy Liczbowe (technika cyfrowa)
Struktury układów logicznych
Obserwowalność i odtwarzalność
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
II Zadanie programowania liniowego PL
Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne
Podstawy Techniki Cyfrowej
Podstawy arytmetyki komputerowej Paweł Perekietka
Bramki logiczne i układy kombinatoryczne
Dekompozycja metodą rachunku podziałów c.d.
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Działania w systemie binarnym
Własności bramek logicznych RÓZGA DARIUSZ 20061
Układy asynchroniczne
Kalendarz 2020.
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
I T P W ZPT 1 Jak usprawnić obliczanie MKZ? W celu sprawniejszego obliczania MKZ wprowadzimy skuteczniejszą metodę wg par zgodnych Znamy metodę wg par.
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Metoda klasyczna (wg książki Sasao)
Zapis prezentacji:

Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe operacje wykonywane są na tzw. tablicy dekompozycji Tablicą dekompozycji funkcji f nazywamy macierz dwuwymiarową o kolumnach etykietowanych wartościami zmiennych funkcji f ze zbioru V oraz o wierszach etykietowanych wartościami zmiennych funkcji f ze zbioru U V  1 01 00    001 000 x1x2x3 x4x5 U Elementami macierzy M są wartości, jakie przyjmuje funkcja f na wektorach złożonych z odpowiednich etykiet i-tego wiersza i j-tej kolumny.

Relacja zgodności kolumn Jak obliczać dekompozycję

Relacja zgodności kolumn Kolumny {kr, ks} są zgodne, jeśli nie istnieje wiersz i, dla którego elementy Kir, Kis są określone i różne, tzn. odpowiednio: 0, 1 albo 1, 0. K1 K2 K3 K4 K5 K6 K7 1 -

Relacja zgodności kolumn 1 - Kolumny zgodne można „sklejać” {K1,K4,K7} 1 - 1 - {K5,K6}

Obliczanie dekompozycji... Wyznaczyć relację zgodności kolumn, czyli wypisać wszystkie pary zgodne (albo sprzeczne). Wyznaczyć rodzinę maksymalnych zbiorów kolumn zgodnych (maksymalnych klas zgodnych – MKZ). Z rodziny tej wyselekcjonować minimalną podrodzinę (w sensie liczności) rozłącznych zbiorów zgodnych pokrywającą zbiór K wszystkich kolumn tablicy dekompozycji.

Istnieje dekompozycja ! Przykład cde a b 000 001 010 011 100 101 110 111 00 1 – 01 10 11   K0 K1 K2 K3 K4 K5 K6 K7 c d e a b Istnieje dekompozycja ! f = h(a,b,g1(c,d,e), g2(c,d,e))

Przykład - obliczanie klas zgodności Pary zgodne: 0,3 0,4 0,6 1,3 1,4 1,5 1,6 2,5 2,7 3,4 3,6 4,5 4,6 5,7 cde a b 000 001 010 011 100 101 110 111 00 1 – 01 10 11   K0 K1 K2 K3 K4 K5 K6 K7 K0, K1 sprzeczna K0, K2 sprzeczna K0, K3 zgodna K0, K4 zgodna

Metoda bezpośrednia Pary zgodne: a, b b, c a, c {a, b, c} a, b, c a, b, d b, c, d a, c, d {a, b, c, d} i.t.d.

Przykład - klasy zgodności… …policzymy najprostszą metodą 0,3 0,4 0,6 1,3 1,4 1,5 1,6 2,5 2,7 3,4 3,6 4,5 4,6 5,7 0,3,4 0,3,6 Maksymalne klasy zgodności: 0,4,6 1,3,4 1,3,6 0,3,4,6 1,4,5 1,4,6 2,5,7 3,4,6 1,3,4,6 1,4,5 2,5,7

Komentarz 1 2 3 4 5 6 7 Przykład 2.7 i 2.8 (str. 34) Powinniśmy pamiętać, że są jeszcze inne metody obliczania MKZ: metoda kolorowania grafu b) metodę iteracyjną 1 2 3 4 5 6 7 Przykład 2.7 i 2.8 (str. 34)

Przykład c.d. Z rodziny MKZ wybieramy minimalną liczbę klas (lub podklas) pokrywającą zbiór wszystkich kolumn. Wybieramy: 1,5 0,3,4,6 2,7 Ostatecznie: 0,3,4,6 1,3,4,6 0,3,4,6 1,4,5 2,5,7 1,4,5 Kolumny powtarzające się usuwamy Komentarz: formalnie obliczamy pokrycie.. 2,5,7

Sklejanie kolumn – funkcja h cde ab 000 001 010 011 100 101 110 111 00 1 - 01 10 11 K0 K1 K2 K3 K4 K5 K6 K7 {K0,K3,K4,K6} {K1,K5} {K2,K7} g1g2 ab 00 01 11 10 1 - Kodowanie? Może być dowolne

Kodowanie kolumn – funkcja g cde ab 000 001 010 011 100 101 110 111 00 1 - 01 10 11 K0 K1 K2 K3 K4 K5 K6 K7 c d e g1 g2 1 g1g2 ab 00 01 11 10 1 -

Co uzyskaliśmy c d e a b c d e g1 g2 1 - 10 1 11 01 00 g1g2 ab Opis funkcji g i h tablicami prawdy wystarczy dla realizacji w strukturach FPGA Ale funkcje g i h można obliczyć jawnie… czyli po procesie dekompozycji można je minimalizować

uzyskując w rezultacie … …strukturę na bramkach c d e a b Do tego zagadnienia wrócimy pod koniec wykładu

Ten sam przykład metodą r. p. U = {a, b} V = {c, d, e} cde ab 000 001 010 011 100 101 110 111 00 1  01 10 11 cde ab 000 001 010 011 100 101 110 111 00 1  2 3 4 5 6 01 7 8 10 9 11 12 13 14 15 16 Przy takich U i V podziały PU, PV, PF, a także podział ilorazowy PU|PF można obliczyć bezpośrednio z tablicy dekompozycji. Wiersze reprezentują bloki PU, a kolumny bloki PV.

W celu obliczenia PU|PF – jawne obliczenie PF jest niepotrzebne. Ten sam przykład c.d. cde ab 000 001 010 011 100 101 110 111 00 1  01 10 11 cde ab 000 001 010 011 100 101 110 111 00 1  2 3 4 5 6 01 7 8 10 9 11 12 13 14 15 16 W celu obliczenia PU|PF – jawne obliczenie PF jest niepotrzebne.

Ten sam przykład c.d. Obliczenie G: (9,11,12,13) (10,14) (15) 9,16 3,11 7,12 5,13 2,10 6,14 4,8 (1,15)

Przykład (bardziej skomplikowany) - TL27 .type fr .i 10 .o 1 .p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1 .e x3 x5 x6 x7 x8 x9 x10 f 1 x7 x8 x9 x3 x5 x6 x10 f 1 U V

Tablica dekompozycji dla funkcji TL27 x3 x5 x6 x10 1 x7x8x9 000 – – – 1 – – 1 – – 1 – – – – 001 – – – – 1 – – – – 1 – – – 010 – 1 – – – – – – – – – – – – 011 – – – 1 – – 1 – – – – – – 100 – – – – – 1 – – – – – – 1 – – 101 – – – – – – – – – – – – 1 110 – – – – – – – – – – – – – – 1 111 – – 1 – – – – – 1 – – – – – 1 20

Tablica dekompozycji dla funkcji TL27 1 000 – 001 010 011 100 101 110 111 x3 x5 x6 x10 x7x8x9

Tablica dekompozycji dla funkcji TL27 H G g 000 1 001 010 011 100 – 101 110 111 x7x8x9 x3 x5 x6 x10 G 1 

Praktyczny wynik dekompozycji funkcji TL27 Tylko 2 komórki 25 kom. (FLEX) lub 27 kom. (Stratix)!!! Niesamowita skuteczność procedur dekompozycji!!! QUARTUS

Wracamy do przykładu… c d e a b c d e g1 g2 1 - 10 1 11 01 00 g1g2 ab Opis funkcji g i h tablicami prawdy wystarczy dla realizacji w strukturach FPGA Ale funkcje g i h można obliczyć jawnie… czyli po procesie dekompozycji można je minimalizować

Przykład – funkcje g1 i g2 c d e g1 g2 1 e cd 1 00 01 11 10 e cd 1 00 1 e cd 1 00 01 11 10 e cd 1 00 01 11 10 25

Przestawiliśmy wiersze Przykład – funkcja h Uwaga: Przestawiliśmy wiersze g1g2 ab 00 01 11 10 1 - 26

Przykład – realizacja G H a b c d e G g1 g2 H h = f

Mniej ważne metody syntezy… np. faktoryzacja wyrażeń boolowskich – metoda istotna w strukturach bramkowych (w technologiach GA lub S.C.) Faktoryzacja przekształca dwupoziomowe wyrażenie boolowskie w wielopoziomowe, przez wprowadzenie podfunkcji (węzłów) pośrednich. f = ac + ad + bc + bd + e a c a d b c f b d e

Faktoryzacja a dekompozycja f = ac + ad + bc + bd + e, f = (a + b) (c + d) + e g = a + b h = c + d a c a b g h a d f b c f c d b d e e Pierwotne 5 bramek, 9 literałów, operacja faktoryzacji redukuje do 4 bramek i 7 literałów.

Algorytm MKZ wg par zgodnych E – relacja zgodności (ei,ej)  E Rj = { ei | i < j oraz (ei,ej)  E} RKZk RKZk+1 KZ  RKZk a) Rk+1 = , RKZk+1 jest powiększana o klasę KZ = {k+1} b) KZ  Rk+1 = , KZ bez zmian c) KZ  Rk+1  , KZ’ = KZ  Rk+1 {k+1}

Rj = { ei | i < j oraz (ei,ej)  E} Przykład Rj = { ei | i < j oraz (ei,ej)  E} E: 0,3 0,4 0,6 1,3 1,4 1,5 1,6 2,5 2,7 3,4 3,6 4,5 4,6 5,7  R0 = R1 =  R2 =  R3 = 0,1 R4 = 0,1,3 R5 = 1,2,4 R6 = 0,1,3,4 R7 = 2,5

Przykład R0 = R1 = R2 = R3 = R4 = R5 =  {0,1} {0,1,3} {1,2,4} R6 = {0,1,3,4} R7 = {2,5} {0} {0} {1} {0} {1} {2} {0,3} {1,3} {2} {0,3,4} {1,3,4} {2} {4,5} {1,4,5} {2,5} {0,3,4} {1,3,4} {1,4,6} {2,5} {0,3,4,6} {1,3,4,6} {1,4,5} {1,4,5} {2,5,7} {0,3,4,6} {1,3,4,6} {5,7} Rodzina MKZ