Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Dekompozycja metodą rachunku podziałów c.d.

Podobne prezentacje


Prezentacja na temat: "Dekompozycja metodą rachunku podziałów c.d."— Zapis prezentacji:

1 Dekompozycja metodą rachunku podziałów c.d.
Dekompozycja nierozłączna Pojęcie  r - przydatności  1

2 Dekompozycja nierozłączna
Twierdzenie o dekompozycji jest ogólne i uwzględnia przypadek tzw. dekompozycji nierozłącznej V U G H Y W Funkcję F: Bn {0,1}m można zrealizować w strukturze: F = H(U,G(V,W)) wtedy i tylko wtedy, gdy istnieje podział G ³ PVW taki, że: PU · G £ PF. 2

3 Dekompozycja nierozłączna
jest ważna… Wtedy dobrym wyjściem może być dołożenie do G dodatkowych argumentów ze zbioru W V U G H Y W  U V U G H Y W U, V rozłączne podzbiory X …dekompozycja rozłączna nie zawsze istnieje! 3

4 Rachunek podziałów umożliwia
Nowy problem V U G H Y W Ale jak wyznaczyć zbiór W Rachunek podziałów umożliwia wyznaczenie zbioru W !!! 4

5 Przykład dekompozycji nierozłącznej
Najpierw dekompozycja rozłączna dla U = {x1,x2,x3}, V = {x4,x5} x1 x2 x3 x4 x5 y1 y2 y3 1 2 3 4 5 6 7 8 9 10 G H x1 x2 x3 x4 y1 y2 y3 x5 PF = 5

6 Przykład Dla U = {x1,x2,x3}, V = {x4,x5}, PF = PU = PV = PU |PU•PF =
2 3 4 5 6 7 8 9 10 PF = PU = PV = PU |PU•PF = 6

7 G H Obliczamy ПG PU |PU•PF = PV = Obliczamy ПG: 3,7,9
Fatalnie dekompozycja rozłączna nie istnieje, bo obliczony пG nie spełnia warunku dekompozycji G H x1 x2 x3 x4 y1 y2 y3 x5 PU |PU•PF = PV = Obliczamy ПG: 3,7,9 7

8 G H Przykład... Ale nie załamujmy się
może istnieje dekompozycja nierozłączna G H x1 x2 x3 x4 x5 coś z U y1 y2 y3 Ale jak wyznaczyć zbiór W ??? 8

9 Przyjrzyjmy się dokładniej obliczanemu пG
Spróbujmy ... x1 x2 x3 x4 x5 y1 y2 y3 1 2 3 4 5 6 7 8 9 10 PU |PU•PF = PV = Przyjrzyjmy się dokładniej obliczanemu пG 3, 7 | 9 3 | 9 7 | 9 x1, x2 x2 Czyli zmienna x2 rozdziela wektory 3, 7 od 9 9

10 G H Przykład... Schemat dekompozycji należy zmodyfikować x2 PV’ =
x1 x2 x3 x4 x5 y1 y2 y3 Schemat dekompozycji należy zmodyfikować Ale to jest nowa sytuacja: Nowy zbiór V, czyli V’ PV’ = PV  P2 PV = PV’ = 10

11 I spełnia warunek twierdzenia PU  G  PF
Przykład... Jak zwykle obliczamy ΠG. Sposób postępowania jest taki sam…czyli Ale ten podział jest drobniejszy, może teraz będzie szansa na znalezienie dobrego пG PU |PU•PF = PV’ = I spełnia warunek twierdzenia PU  G  PF Udało się 11

12 G H G H Przykład... Dalej standardowo;
Wyznaczamy tablice prawdy funkcji G i H G H x1 x2 x3 x4 x5 y1 y2 y3 x1 x2 x3 x4 x5 x2 G H y1 y2 y3 12

13 Pojęcie r-przydatności Główny mankament dekompozycji
U Główny mankament dekompozycji W V Nie znamy odpowiedzi na pytanie dla jakich U, V istnieje dekompozycja G Jest to istotne o tyle, że Tw. o dekompozycji wyznacza dekompozycję dla ustalonych U i V H Y Pozwala oszacować – zapisane w formie podziałów - argumenty zbioru U pod względem „jakości” dekompozycji R-przydatność ułatwia wyznaczenie dobrych zbiorów U, dla których istnieje dekompozycja 13

14 Pojęcie r - przydatności
Oznaczenia: g - liczba elementów w największym bloku ilorazu podziałów. G = log2g a  zaokrąglenie w górę do najbliższej całkowitej g = 3 G praktycznie jest liczbą bitów potrzebnych do zakodowania g  = log23 = 2 log25 = 3 14

15 Pojęcie r - przydatności…
Zbiór podziałów {P1,...,Pk} jest r-przydatny względem P, gdzie: r = k + (P1...Pk | P  P1...Pk) W dekompozycji przyjmujemy P = PF 15

16 Przykład (SUL Tabl. 8.3, UL w zad. przykład 7.3)
x1 x2 x3 x4 x5 y1 y2 y3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Przykład ten był liczony na wykładzie W07 16

17 Przykładzik Obliczmy r dla oraz Mamy tu: log25 = 3
P = PF = Mamy tu: PF  P1 = P1 | PF  P1 = g(P1 | P  P1) = 5, Bo 5 nawiasów G(P1 | P  P1) = log25 = 3 czyli r = = 4 17

18 Interpretacja r-przydatności
Jeśli {P1,...,Pk} jest r-przydatny (k < r) względem PF i jeśli istnieje dekompozycja to blok H ma dokładnie r wejść G H X Xk Xr+1 … Xn Xk+1 Xr Y 18

19 Przykładzik… Skoro P1 (z przykładziku) jest 4-przydatny to możemy się spodziewać tylko takiej dekompozycji: x1 x2 x3 x4 x5 g h w której liczba wejść do bloku h jest dokładnie 4!!! 19

20 Przykładzik… Natomiast gdyby P1 był 3-przydatny, to moglibyśmy się spodziewać dekompozycji z trzema! tylko wejściami do h x1 x2 x3 x4 x5 g h 20

21 Twierdzenia o r - przydatności
Jeśli {P1,...,Pk } jest r-przydatny (k < r) względem P, to istnieje zbiór podziałów {Pk+1,...,Pr}, dla których: P1...Pk  Pk+1,...,Pr  P natomiast nie istnieje {P’k+1,...,P’r-1} taki, że: P1...Pk  P’k+1,...,P’r-1  P Inaczej mówiąc, warunkiem koniecznym i wystarczającym na to, aby: P1...Pk  Pk+1,...,Pm  P jest m-przydatność zbioru {P1,...,Pk} względem P. 21

22 Wracamy do przykładu (z książki SUL)
Jak policzymy r-przydatności dla każdego Pi P1 = r = 4 r = 3 x1 x2 x3 x4 x5 y1 y2 y3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 P2 = P3 = P4 = P5 = PF = 22

23 P3, P4, są 3-przydatne względem PF
Przykład … P3, P4, są 3-przydatne względem PF x1 x2 x4 x5 g x3 h x1 x2 x3 x5 g x4 h 23

24 Szukajmy czegoś lepszego
Przykład… Szukajmy czegoś lepszego Obliczmy r-przydatność dla zbioru {P3, P4} P3  P4 = log23 = 4 czyli r{P3, P4} = 2 + 24

25 Przykład … Skoro {P3, P4} jest 4-przydatny, to przyjmując x3, x4 jako wejścia x3 x4 x1 x2 x5 do pełnej realizacji funkcji potrzebne są jeszcze dwa wejścia. g h Z poprzedniego wykładu wiemy, że taka dekompozycja istnieje 25

26 Przykład – inna dekompozycja tej samej funkcji
Ale może uda nam się znaleźć zbiór { Pi, Pj, Pk}, który byłby 4-przydatny. Bardzo ciekawy schemat, 4 wejścia jak poprzednio, ale prostsza G – zaledwie dwu-wejściowa, czyli jakaś prosta bramka G H xi xj xk xm xn y1 y2 y3 26

27 Pożyteczne   fakty Można wykazać, że jeśli P = {P1,...,Pk } jest m-przydatny względem PF, to każdy podzbiór z P jest m’-przydatny, gdzie m’  m. Tym samym warunkiem koniecznym na to, aby P = {P1,...,Pk} był m-przydatny względem PF, jest r-przydatność podzbiorów z P taka, że dla każdego P’ zawartego w P, r(P’)  m. 27

28 Przykład… inna dekompozycja
r-przydatności par {Pi, Pj} dla przykładu z planszy 22 {P1, P3} {P1, P4} {P2, P3} {P2, P4} {P3, P4} {P3, P5} {P4, P5} 4-przydatne pary: 4-przydatnymi trójkami mogą być tylko: a) {P1, P3, P4} b) {P2, P3, P4} Pozostałe są 5-przydatne! c) {P3, P4, P5} Niestety to są trójki podejrzane o 4-przydatność, należy zweryfikować, które są 4-przydatne 28

29 Przykład… inna dekompozycja
W tym celu liczymy odpowiednie iloczyny podziałów P1•P3•P4 = P2•P3•P4 = P2•P3•P4 = P3•P4•P5 = {P1, P3, P4} oraz {P3, P4, P5}. czyli wyłącznie są 4-przydatne r{P1, P3, P4} = 3 + log22 = 4 29

30 Przykład … inna dekompozycja
Skoro {P1, P3, P4} oraz {P3, P4, P5} są 4-przydatne to mogą istnieć dekompozycje: G H x3 x4 x5 x x2 y1 y2 y3 G H x1 x3 x4 x x5 y1 y2 y3 30

31 Przykład … inna dekompozycja
PU  = P1P3P4 = PU |PF = x1 x3 x4 x1 x3 x4 x x5 x x5 G G H H y1 y2 y3 y1 y2 y3 Czy potrafimy bezpośrednio z podziału PV obliczyć funkcję G G = x2  x5 31

32 Ciekawy przykład Dla funkcji F z tab. 1a istnieje dekompozycja: F = H(x4, x5, x6, G1 (x1, x2, x3)) Funkcja G1 jest podana w Tab.1b. x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 Tab. 1a Tab. 1b x1 x2 x3 g1 1 2 3 4 Należy obliczyć dekompozycję szeregową zapewniającą realizację tej funkcji na minimalnej liczbie komórek logicznych o wymiarach 3/1 (3 wejścia, 1 wyjście). 32

33 Ciekawy przykład… Założonej dekompozycji funkcji F = H(x4, x5, x6, G1 (x1, x2, x3)) odpowiada schemat blokowy jak na rysunku. Tab. 1a x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 G1 H y1 y2 G2 x4 x5 x x1 x2 x3 33

34 Ciekawy przykład… Dla tej dekompozycji funkcja G1 może być opisana następującym podziałem: Tab. 1a x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 Tab. 1b x1 x2 x3 g1 1 2 3 4 1 1 1 1 34

35 G1 G2 H G2 G1 H Ciekawy przykład…
x1 x2 x3 x4 x5 x6 Dekompozycję można stosować wielokrotnie. G2 g1 Mając policzoną dekompozycję z G1 możemy liczyć kolejną dekompozycję przy założeniu, że g1 jest wejściem niezależnym (pierwotnym). H y1 y2 Uzyskalibyśmy dekompozycję z dodatkowym blokiem G, ozn. G2. G1 H y1 y2 G2 x4 x5 x x1 x2 x3 g1 Oczywiście trzeba sprawdzić, czy taka dekompozycja istnieje. 35

36 Do realizacji potrzebnych
Ciekawy przykład… Łatwo sprawdzić, że taka dekompozycja istnieje Dla U = {g1} G1 H y1 y2 G2 x4 x5 x x1 x2 x3 R-przydatność P(g1): g1 Do realizacji potrzebnych jest 5 komórek 3/1 r = 3 36

37 G1 H G2 G1 H Ciekawy przykład… U = {g1, x4} r = 4 U = {g1, x5} r = 4
Ale może jest jeszcze lepsze rozwiązanie? xj x1 x2 x3 G1 H y1 y2 g1 U = {g1, x4} r = 4 xj x1 x2 x3 G1 H y1 y2 G2 U = {g1, x5} r = 4 37

38 G2 G1 H Ciekawy przykład… U = {g1, x6} r = 3 To nas zadawala
y1 y2 G2 x4 x5 xj x6 x1 x2 x3 38

39 Ciekawy przykład… W = {x2} U = {g1, x6}
Należy wyznaczyć zmienną (zmienne) xj x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 W = {x2} 39

40 Do realizacji potrzebne są
Ciekawy przykład… Dla nowego łatwo wyznaczyć ΠG’: spełniający warunek PU  ΠG’ ≤ PF. G1 H y1 y2 G2 x2 x4 x5 x6 x1 x2 x3 ΠG Do realizacji potrzebne są 4 komórki 3/1 Poprzednio było 5 40

41 Komentarz: algorytmy dekompozycji
Skuteczność dekompozycji funkcjonalnej (szeregowej) maleje ze wzrostem liczby wyjść zespołu funkcji Zapobiec tej sytuacji można stosując tzw. dekompozycję… Szeregowa Y U V X G H Równoległa 41

42 Do rozwiązania tego problemu
Dekompozycja równoległa… Xh H Xg Yg G X Yh X Y F Y = Yg  Yh Rozłączne podzbiory wyjść… Do rozwiązania tego problemu można zastosować redukcję argumentów 42

43 Dekompozycja równoległa - przykład
y1: {x1, x2, x6} 1 11 10 9 8 7 6 5 4 3 2 y6 y5 y4 y3 y2 y1 x8 x7 x6 x5 x4 x3 x2 x1 y2: {x3, x4} y3: {x1, x2, x4, x5, x8} {x1, x2, x4, x6, x8} y4: {x1, x2, x3, x4, x7} y5: {x1, x2, x4} y6: {x1, x2, x6, x8} 43

44 Dekompozycja równoległa - przykład
y1: {x1, x2, x6} y2: {x3, x4} y3: {x1, x2, x4, x5, x8} {x1, x2, x4, x6, x8} y4: {x1, x2, x3, x4, x7} y5: {x1, x2, x4} y6: {x1, x2, x6, x8} G = {y1, y3, y6 } H= {y2, y4,y5} Xg = {x1, x2, x4, x6, x8} Xh = {x1, x2, x3, x4, x7} 44

45 Dekompozycja równoległa - przykład
1 9 8 7 6 5 4 3 2 y6 y3 y1 x9 x6 x4 x2 x1 1 7 6 5 4 3 2 y5 y4 y2 x7 x4 x3 x2 x1 x1 x2 x3 x4 x5 x6 x7 x8 H G y1 y3 y6 y2 y4 y5 45

46 Dekompozycja zrównoważona
F X Y BD wykorzystuje naprzemiennie dekompozycję szeregową i dekompozycję równoległą H G X Y1 Y2 X3 X4 Y G H X X1 X2 Dekompozycja szeregowa Dekompozycja równoległa 46

47 Przykład – prosty układ kombinacyjny
.type fr .i 10 .o 2 .p 25 .e x0 x2 x3 x9 y0 y1 CL STRATEGIE: a) najpierw dekompozycja szeregowa b) najpierw dekompozycja równoległa 47

48 Dekompozycja funkcji F
STRATEGIA: najpierw dekompozycja szeregowa Dekompozycja szeregowa LC x8 x9 x1 x3 x4 x6 2LCs x0 x2 x5 x7 LC y0 2LCs LC y1 Dekompozycja równoległa Dekompozycja szeregowa Łącznie: 7 komórek 48

49 Dekompozycja funkcji F
STRATEGIA: najpierw dekompozycja równoległa x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 LC y0 LC y1 Łącznie : 4 komórki 49

50 Dekompozycja funkcji F w systemie Quartus
library IEEE; use IEEE.STD_LOGIC_1164.all; entity bul is port(i : in std_logic_vector(1 to 10); o : out std_logic_vector(1 to 2)); end bul; architecture arch1 of bul is begin PLA: process(i) case i is when " " => o <= "00"; when " " => o <= "00"; when " " => o <= "10"; when " " => o <= "10"; when " " => o <= "01"; when " " => o <= "01"; when " " => o <= "00"; when " " => o <= "01"; when " " => o <= "01"; when " " => o <= "01"; when " " => o <= "10"; when " " => o <= "00"; when " " => o <= "00"; when " " => o <= "01"; when " " => o <= "00"; when " " => o <= "11"; when " " => o <= "11"; when " " => o <= "10"; when " " => o <= "10"; when " " => o <= "01"; when " " => o <= "00"; when " " => o <= "11"; when " " => o <= "00"; when " " => o <= "10"; when " " => o <= "11"; when others => o <= "XX"; end case; end process; end; QuartusII 28 komórek 50


Pobierz ppt "Dekompozycja metodą rachunku podziałów c.d."

Podobne prezentacje


Reklamy Google