Metoda klasyczna (wg książki Sasao)

Slides:



Advertisements
Podobne prezentacje
Niezawodności sieci telekomunikacyjnych
Advertisements

Minimalizacja formuł Boolowskich
Teoria układów logicznych
Grafy spełniające nierówność Γ(G) < IR(G)
Grafy o średnicy 2 i dowolnej liczbie dominowania
Grażyna Mirkowska PJWSTK 15 listopad 2000
Kolorowanie grafów Niech G = (V, E) będzie spójnym grafem nieskierowanym bez pętli. Kolorowaniem wierzchołków grafu nazywa się przypisanie wierzchołkom.
WYKŁAD 6. Kolorowanie krawędzi
Metody rozwiązywania układów równań liniowych
Badania operacyjne. Wykład 2
Michał Łasiński Paweł Witkowski
Metody numeryczne wykład no 2.
ALGORYTMY I STRUKTURY DANYCH
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 4. Skojarzenia Skojarzenie w grafie G to niezależny zbiór krawędzi (rozłączne, bez wspólnych konców). Skojarzenie M w G traktujemy jak podgraf.
WYKŁAD 4. Skojarzenia Skojarzenie w grafie G to niezależny zbiór krawędzi (rozłączne, bez wspólnych konców). Skojarzenie M w G traktujemy jak podgraf G.
Wprowadzenie do Mathcada
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Struktury układów logicznych
Matematyka.
Zależności funkcyjne.
Jak usprawnić obliczanie MKZ?
minimalizacja automatów
O relacjach i algorytmach
Dane do obliczeń.
Funkcje logiczne i ich realizacja. Algebra Boole’a
ETO w Inżynierii Chemicznej MathCAD wykład 4.. Analiza danych Aproksymacja danych.
Algorytmy i struktury danych
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Sieci bayesowskie Wykonali: Mateusz Kaflowski Michał Grabarczyk.
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Podstawy programowania w języku C i C++
Minimalizacja automatu
Minimalizacja automatu
Tablice w Turbo Pascalu.
Działania na zbiorach ©M.
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Struktury układów logicznych
Model relacyjny.
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
Podstawy Techniki Cyfrowej
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Grafika i komunikacja człowieka z komputerem
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.
Czy pamiętasz ?.
PLANARNOŚĆ i KOLOROWANIE MAP. Problem Jaka jest minimalna liczba kolorów, za pomocą których można pokolorować obszary województw na mapie Polski tak,
Zagadnienie własne Macierz wektorów własnych V=(v1,v2,...,vn) przekształca zatem macierz A do postaci diagonalnej: W większości zastosowań w chemii i fizyce.
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
Matematyka Ekonomia, sem I i II.
Metody rozwiązywania układów równań liniowych
I T P W ZPT 1. I T P W ZPT 2 Synteza logicznaInżynieria informacji Dekompozycja funkcjonalna Odwzorowanie technologiczne FPGA Hierarchiczne podejmowanie.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Zarządzanie projektami
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
Wyrażenie algebraiczne, które powstaje przez dodawanie jednomianów. Jednomiany, które dodajemy nazywamy wyrazami sumy.
Elementy cyfrowe i układy logiczne
I T P W ZPT 1 Realizacje funkcji boolowskich Omawiane do tej pory metody minimalizacji funkcji boolowskich związane są z reprezentacją funkcji w postaci.
Dr Galina Cariowa. Legenda  Optymalizacja układów dwupoziomowych.  Kryterium kosztu realizacji.  Tablica (mapa) Karnaugh’a.  Metoda Quine’a – Mc Cluske’a.
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.
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Minimalizacja automatu
Aktualne problemy syntezy logicznej
Tadeusz Łuba Faculty of Electronics and Information Technology
Wstęp do Informatyki - Wykład 6
Układy asynchroniczne
Zapis prezentacji:

Metoda klasyczna (wg książki Sasao) ... 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 X G H Y U V  1 01 00    001 000 abc de 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. Tadeusz Łuba ZCB

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 - Tadeusz Łuba ZCB

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

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. Tadeusz Łuba ZCB

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)) Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB K0, K3 zgodna K0, K4 zgodna

Klasy zgodności… …policzymy najprostszą metodą bezpośrednią 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 Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB

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 - Tablica H Kodowanie? Może być dowolne Tadeusz Łuba ZCB

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 G H g1g2 ab 00 01 11 10 1 - Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB 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 Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB 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 Tadeusz Łuba ZCB 14

Przestawiliśmy wiersze Przykład – funkcja h Uwaga: Przestawiliśmy wiersze g1g2 ab 00 01 11 10 1 - Tadeusz Łuba ZCB 15

Realizacja – struktura wielopoziomowa a b c d e G g1 g2 H Tadeusz Łuba ZCB h = f

Realizacja funkcji f na bramkach Po dekompozycji: Bez dekompozycji: f = ab!c!de + !abc!d + a!b!cd!e + a!bcde + !a!b!c!d!e + !a!bcd!e + !a!b!cde Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB U V

Tablica dekompozycji dla funkcji TL27 U = {x7, x8, x9} V = {x3, x5, x6, x10} X3 x6 x10 1 x7x8x9 000 – – – 1 – – 1 – – 1 – – – – 001 – – – – 1 – – – – 1 – – – 010 – 1 – – – – – – – – – – – – 011 – – – 1 – – 1 – – – – – – 100 – – – – – 1 – – – – – – 1 – – 101 – – – – – – – – – – – – 1 Tadeusz Łuba ZCB 110 – – – – – – – – – – – – – – 1 111 – – 1 – – – – – 1 – – – – – 1 19

Tablica dekompozycji dla funkcji TL27 U = {x7, x8, x9} V = {x3, x5, x6, x10} 1 000 – 001 010 011 100 101 110 111 X3 X5 x6 x10 x7x8x9 Tadeusz Łuba ZCB

Praktyczny wynik dekompozycji funkcji TL27 H G 000 1 001 010 011 100 – 101 110 111 x7x8x9 g c e x6 x10 G 1  Tylko 2 komórki 7 x 4 we komórek 3 x 3 we komórek System QUARTUS realizuje TL27 na: Tadeusz Łuba ZCB Duża skuteczność procedur dekompozycji!!!

Algorytm dekompozycji (TD oznacza Tablicę dekompozycji) Dla ustalonych zbiorów U, V skonstruować TD, 2) Obliczyć pary sprzeczne kolumn TD, 3) Skonstruować graf, którego wierzchołki reprezentują kolumny TD, a krawędzie reprezentują pary sprzeczne tych kolumn, 4) Obliczyć kolorowanie grafu, 5) Skleić (połączyć) kolumny TD reprezentowane wierzchołkami grafu o tym samym kolorze, Tadeusz Łuba ZCB 5) Uzyskana w procesie „sklejania” tablica jest tablicą funkcji H oraz umożliwia obliczenie funkcji G.

Przykład z planszy 19 Pary zgodne: sprzeczne: cde a b 000 001 010 011 100 101 110 111 00 1 – 01 10 11   K0 K1 K2 K3 K4 K5 K6 K7 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,1 0,2 0,5 0,7 1,2 1,7 2,3 2,4 2,6 3,5 3,7 4,7 5,6 6,7 K0, K1 sprzeczna K0, K2 sprzeczna Tadeusz Łuba ZCB K0, K3 zgodna K0, K4 zgodna

Algorytm dekompozycji… to algorytm kolorowania grafu Pary sprzeczne vi, vj, gdzie i,j: (0,1), (0,2), (0,5), (0,7), (1,2), (1,7), (2,3), (2,4), (2,6), (3,5), (3,7), (4,7), (5,6), (6,7) Graf niezgodności z minimalną liczbą chromatyczną 2 1 3 7 6 5 4 0, 3, 4, 6  kolor A 2, 7  kolor B 1, 5 kolor C Tadeusz Łuba ZCB

Jak dekomponować zespoły funkcji Przykład Zapisujemy wektory wyjściowe w postaci liczb dziesiętnych a b c d e y1 y2 y3 1 2 3 4 5 6 7 8 9 10 a b c d e f 1 2 3 4 7 5 6 8 9 10 Przy ustalonych U, V tworzymy tablicę dekompozycji bcd ae 000 001 011 100 110 111 00 2 3 01 4 7 10 11 6 5 Tadeusz Łuba ZCB U = {a, e} V = {b, c, d}

Przykład c.d. {v2,v4,v6} {v3,v4} {v1,v6} {v2,v5} {v1,v3,v5} (v1, v2), Pary sprzeczne: bcd ae 000 v1 001 v2 011 v3 100 v4 110 v5 111 v6 00 2 3 01 4 7 10 11 6 5 (v1, v2), (v1, v4), (v2, v3), (v3, v6), (v4, v5), (v5, v6) E = {(v1, v2), (v1, v4), (v2, v3), (v3, v6), (v4, v5), (v5, v6)} Metodą transformacji CNF na DNF obliczamy maksymalne zbiory niezależne {v2,v4,v6} (v1 + v2)(v1 + v4)(v3 + v2)(v3 + v6)(v5 + v4)(v5 + v6) = {v3,v4} (v1 + v2v4)(v1 + v4)(v3 + v2v6)(v5 + v4v6) = {v1,v6} Tadeusz Łuba ZCB v1v3v5 + v1v2v5v6 + v2v3v4v5 + v2v4v5v6 + {v2,v5} v1v3v4v6 + v1v2v4v6 + v2v3v4v6 + v2v4v6 {v1,v3,v5}

Przykład c.d. G H {v1,v3,v5} {v2,v4,v6} b c d Rozłączne zbiory niezależne reprezentują kolumny, które należy skleić {v2,v4,v6} bcd ae 000 v1 001 v2 011 v3 100 v4 110 v5 111 v6 00 2 3 01 4 7 10 11 6 5 b c d g G H a e f Tablica funkcji G Tablica funkcji H b c d g 1 g ae 1 00 2 3 01 7 4 10 11 6 5 Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB 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 Struktura dwupoziomowa Struktura wielopoziomowa Tadeusz Łuba ZCB 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} Tadeusz Łuba ZCB

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 Tadeusz Łuba ZCB 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} Tadeusz Łuba ZCB Rodzina MKZ