Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
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
2
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
3
Relacja zgodności kolumn
1 - Kolumny zgodne można „sklejać” {K1,K4,K7} 1 - 1 - {K5,K6} Tadeusz Łuba ZCB
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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ć
12
uzyskując w rezultacie …
…strukturę na bramkach c d e a b Tadeusz Łuba ZCB
13
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ć
14
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
15
Przestawiliśmy wiersze
Przykład – funkcja h Uwaga: Przestawiliśmy wiersze g1g2 ab 00 01 11 10 1 - Tadeusz Łuba ZCB 15
16
Realizacja – struktura wielopoziomowa
a b c d e G g1 g2 H Tadeusz Łuba ZCB h = f
17
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
18
Przykład bardziej skomplikowany - TL27
.type fr .i 10 .o 1 .p 25 .e x3 x5 x6 x7 x8 x9 x10 f 1 x7 x8 x9 x3 x5 x6 x10 f 1 Tadeusz Łuba ZCB U V
19
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
20
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
21
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!!!
22
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.
23
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
24
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
25
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}
26
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}
27
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
28
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
29
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.
30
Algorytm MKZ wg par zgodnych
E – relacja zgodności (ei,ej) E Rj = { ei | i < j oraz (ei,ej) E} RKZk RKZk 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
31
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
32
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.