Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAdam Andrzejewski Został zmieniony 8 lat temu
1
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa
2
ZPT V U G H Y W Funkcję F: B n {0,1} m można zrealizować w strukturze: F = H(U,G(V,W)) wtedy i tylko wtedy, gdy istnieje podział G P V W taki, że: P U · G P F. Twierdzenie o dekompozycji jest ogólne i uwzględnia przypadek tzw. dekompozycji nierozłącznej Dekompozycja nierozłączna 2
3
ZPT U, V rozłączne podzbiory X V U G H Y Wtedy dobrym wyjściem może być dołożenie do G dodatkowych argumentów ze zbioru W W U V U G H Y W Dekompozycja nierozłączna 3 jest ważna… nie zawsze istnieje! …gdyż dekompozycja rozłączna
4
ZPT Rachunek podziałów umożliwia wyznaczenie zbioru W !!! Ale jak wyznaczyć zbiór W Nowy problem V U G H Y W 4
5
ZPT Przykład dekompozycji nierozłącznej Najpierw dekompozycja rozłączna dla U = {x 1,x 2,x 3 }, V = {x 4,x 5 } x1x1 x2x2 x3x3 x4x4 x5x5 y1y1 y2y2 y3y3 100000000 200011010 301010100 401111011 501101001 601000001 711010000 810011100 910010001 1010111000 P F = G H x 1 x 2 x 3 x4x4 y 1 y 2 y 3 x 5 5
6
ZPT Przykład Dla U = {x 1,x 2,x 3 }, V = {x 4,x 5 }, x1x1 x2x2 x3x3 x4x4 x5x5 y1y1 y2y2 y3y3 100000000 200011010 301010100 401111011 501101001 601000001 711010000 810011100 910010001 1010111000 P F = P U |P U P F = P V = PU =PU = 6
7
ZPT Obliczamy П G P U |P U P F = P V = 3,7,9 Fatalnie dekompozycja rozłączna nie istnieje, bo obliczony п G nie spełnia warunku dekompozycji G H x 1 x 2 x 3 x4x4 y 1 y 2 y 3 x 5 ПG:ПG: 7
8
ZPT Przykład... G H x 1 x 2 x 3 x 4 x 5 coś z U y 1 y 2 y 3 Ale nie załamujmy się może istnieje dekompozycja nierozłączna Ale jak wyznaczyć zbiór W ??? 8
9
ZPT Spróbujmy... P U |P U P F = P V = 3 | 9 7 | 9 x 1, x 2 x2x2 3, 7 | 9 x1x1 x2x2 x3x3 x4x4 x5x5 y1y1 y2y2 y3y3 100000000 200011010 301010100 401111011 501101001 601000001 711010000 810011100 910010001 1010111000 Przyjrzyjmy się dokładniej obliczanemu п G 9 Czyli zmienna x 2 rozdziela wektory 3, 7 od 9
10
ZPT Przykład... x2x2 G H x 1 x 2 x 3 x 4 x 5 y 1 y 2 y 3 Ale to jest nowa sytuacja: Nowy zbiór V, czyli V’ P V’ = PV P2PV P2 P V = P V’ = Schemat dekompozycji należy zmodyfikować 10
11
ZPT Przykład... Ale ten podział jest drobniejszy, może teraz będzie szansa na znalezienie dobrego п G …spełnia warunek twierdzenia P U G P F Udało się Jak zwykle obliczamy Π G. Sposób postępowania jest taki sam…czyli P U |P U P F = P V’ = 11
12
ZPT Przykład... G H x 1 x 2 x 3 x 4 x 5 y 1 y 2 y 3 Dalej standardowo; Wyznaczamy tablice prawdy funkcji G i H G H x 1 x 2 x 3 x 4 x 5 y 1 y 2 y 3 x2x2 12
13
ZPT V U G H Y W Nie znamy odpowiedzi na pytanie dla jakich U, V istnieje dekompozycja Główny mankament dekompozycji R-przydatność ułatwia wyznaczenie dobrych zbiorów U, dla których istnieje dekompozycja Pozwala oszacować – zapisane w formie podziałów - argumenty zbioru U pod względem „jakości” dekompozycji 13 Jest to istotne o tyle, że Tw. o dekompozycji wyznacza dekompozycję dla ustalonych U i V Pojęcie r - przydatności
14
ZPT Oznaczenia: - liczba elementów w największym bloku ilorazu podziałów. = log 2 a zaokrąglenie w górę do najbliższej całkowitej jest najmniejszą liczbą bitów potrzebnych do zakodowania 14 Pojęcie r - przydatności = log 2 3 = 2 log 2 5 = 3
15
ZPT Pojęcie r - przydatności… Zbiór podziałów {P 1,...,P k } jest r-przydatny względem P, gdzie: r = k + (P 1...P k | P P 1...P k ) 15 W dekompozycji przyjmujemy P = P F
16
ZPT x 1 x 2 x 3 x 4 x 5 y 1 y 2 y 3 1 0 0 0 0 0 0 0 0 2 0 0 0 1 1 0 1 0 3 0 0 0 1 0 1 0 0 4 0 1 1 0 0 0 1 1 5 0 1 1 0 1 0 0 1 6 0 1 1 1 0 0 1 0 7 0 1 0 0 0 0 0 1 8 1 1 0 0 0 0 0 1 9 1 1 0 1 0 0 0 0 10 1 1 1 0 0 1 0 0 11 1 1 1 1 1 0 1 1 12 1 1 1 1 0 0 1 0 13 1 0 0 0 1 0 0 1 14 1 0 0 1 1 0 0 0 15 1 0 0 1 0 1 0 0 Przykład (Synteza logiczna, przykład 6.3, str. 140) 16 Przykład ten był liczony na wykładzie W07
17
ZPT Przykładzik Obliczmy r dla P 1 = oraz P = P F = Mamy tu: P F P 1 = P 1 | P F P 1 = (P 1 | P P 1 ) = 5, Bo 5 nawiasów (P 1 | P P 1 ) = log 2 5 = 3 czyli r = 1 + 3 = 4 17
18
ZPT Interpretacja r-przydatności 18 U = …… Y G … W U V = Jeżeli zbiór { } jest r-przydatny (k < r) względem P F, to istnieje dekompozycja F = H(U,G(V,W)), w której blok H ma dokładnie r wejść oraz W U
19
ZPT Interpretacja r-przydatności 19 V U G H Y W W U Jeżeli zbiór { } jest r-przydatny (k < r) względem P F, to istnieje dekompozycja F = H(U,G(V,W)), w której blok H ma dokładnie r wejść oraz W U Nawet w najgorszym przypadku jest to rozkład dużego układu na dwa mniejsze
20
ZPT Twierdzenie o r - przydatności Jeśli {P 1,...,P k } jest r-przydatny (k < r) względem P, to istnieje zbiór podziałów {P k+1,...,P r }, dla których: P 1...P k P k+1...P r P natomiast nie istnieje {P’ k+1,...,P’ r-1 } taki, że: P 1...P k P’ k+1...P’ r-1 P Inaczej mówiąc, warunkiem koniecznym i wystarczającym na to, aby: P 1...P k P k+1...P m P jest m-przydatność zbioru {P 1,...,P k } względem P. 20
21
ZPT Wracamy do przykładu (ze skryptu Synteza logiczna) x1x2x3x4x5x1x2x3x4x5 y1y2y3y1y2y3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 000000001100010011000110101110010001100011010111001111111110100011001110010000000001100010011000110101110010001100011010111001111111110100011001110010 000010100011001010001001000100011010001000100000010100011001010001001000100011010001000100 P 1 = P 2 = P 3 = P 4 = P 5 = P F = r = 4 r = 3 r = 4 21 Jak policzymy r-przydatności dla każdego P i
22
ZPT Przykład … P 3, P 4, są 3-przydatne względem P F x 1 x 2 x 4 x 5 g x3x3 h x 1 x 2 x 3 x 5 g x4x4 h 22
23
ZPT Przykład… P 3 P 4 = czyli r{P 3, P 4 } = 2 + Szukajmy czegoś lepszego log 2 3 = 4 Obliczmy r-przydatność dla zbioru {P 3, P 4 } 23
24
ZPT Przykład … Skoro {P 3, P 4 } jest 4-przydatny, to przyjmując x 3, x 4 jako wejścia bezpośrednie x 1 x 2 x 5 g x 3 x 4 h do pełnej realizacji funkcji potrzebne są jeszcze dwa wejścia. Z poprzedniego wykładu wiemy, że taka dekompozycja istnieje 24
25
ZPT Przykład – inna dekompozycja tej samej funkcji Ale może uda nam się znaleźć zbiór { P i, P j, P k }, który byłby 4-przydatny. G H x i x j x k x m x n y 1 y 2 y 3 Bardzo ciekawy schemat, 4 wejścia jak poprzednio, ale prostsza G – zaledwie dwu-wejściowa, czyli jakaś prosta bramka 25 Duże znaczenie praktyczne takiej realizacji
26
ZPT Pożyteczne fakty Można wykazać, że jeśli P = {P 1,...,P k } jest m-przydatny względem P F, to każdy podzbiór z P jest m’-przydatny, gdzie m’ m. Tym samym warunkiem koniecznym na to, aby P = {P 1,...,P k } był m-przydatny względem P F, jest r- przydatność podzbiorów z P taka, że dla każdego P’ zawartego w P, r(P’) m. 26
27
ZPT Przykład… inna dekompozycja r-przydatności par {P i, P j } dla przykładu z planszy 21 a) {P 1, P 3, P 4 } 4-przydatnymi trójkami mogą być tylko: b) {P 2, P 3, P 4 } c) {P 3, P 4, P 5 } 27 {P 1, P 3 } {P 1, P 4 } {P 2, P 3 } {P 2, P 4 } {P 3, P 4 } {P 3, P 5 } {P 4, P 5 } 4-przydatne pary: Niestety to są trójki podejrzane o 4- przydatność, należy zweryfikować, które są 4-przydatne Pozostałe są 5-przydatne!
28
ZPT Przykład… inna dekompozycja W tym celu liczymy odpowiednie iloczyny podziałów P 1P 3P 4 = P 2P 3P 4 = P 3P 4P 5 = {P 1, P 3, P 4 } oraz {P 3, P 4, P 5 }.czyli wyłącznie są 4-przydatne r{P 1, P 3, P 4 } = 3 + log 2 2 = 4 28
29
ZPT Przykład … inna dekompozycja G H x 1 x 3 x 4 x 2 x 5 y 1 y 2 y 3 Skoro {P 1, P 3, P 4 } oraz {P 3, P 4, P 5 } są 4-przydatne to mogą istnieć dekompozycje: G H x 3 x 4 x 5 x 1 x 2 y 1 y 2 y 3 29
30
ZPT Przykład … inna dekompozycja P U = P 1 P 3 P 4 = P U |P F = G H x 1 x 3 x 4 x 2 x 5 y 1 y 2 y 3 Czy potrafimy bezpośrednio z podziału P V obliczyć funkcję G G H x 1 x 3 x 4 x 2 x 5 y 1 y 2 y 3 G = x 2 x 5 30
31
ZPT Przykład 6.7 „Synteza logiczna” Dla funkcji F z tab. 1a istnieje dekompozycja: F = H(x 4, x 5, x 6, G 1 (x 1, x 2, x 3 )) Funkcja G 1 jest podana w Tab.1b. x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 y1y1 y2y2 110010000 210111001 311011101 410110000 500111010 611010010 710011110 800101111 900101011 Tab. 1a x1x1 x2x2 x3x3 g1g1 11100 20010 31011 41001 Tab. 1b 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). 31
32
ZPT Założonej dekompozycji funkcji F = H(x 4, x 5, x 6, G 1 (x 1, x 2, x 3 )) odpowiada schemat blokowy jak na rysunku. x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 y1y1 y2y2 110010000 210111001 311011101 410110000 500111010 611010010 710011110 800101111 900101011 Tab. 1a G1G1 H y 1 y 2 G2G2 x 4 x 5 x 6 x 1 x 2 x 3 32 Przykład 6.7 „Synteza logiczna”
33
ZPT x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 y1y1 y2y2 110010000 210111001 311011101 410110000 500111010 611010010 710011110 800101111 900101011 x1x1 x2x2 x3x3 g1g1 11100 20010 31011 41001 Tab. 1a Tab. 1b 1 1 0 Dla tej dekompozycji funkcja G 1 może być opisana następującym podziałem: 1 0 0 1 0 0 33 Przykład 6.7 „Synteza logiczna”
34
ZPT 34 y 1 y 2 H G2G2 x 4 x 5 x 6 g1g1 G1G1 x 1 x 2 x 3 Mając policzoną dekompozycję z G 1 możemy liczyć kolejną dekompozycję przy założeniu, że g 1 jest wejściem niezależnym (pierwotnym). Uzyskamy dekompozycję z dodatkowym blokiem G, ozn. G 2. G1G1 H y 1 y 2 G2G2 x 4 x 5 x 6 x 1 x 2 x 3 g1g1 Oczywiście trzeba sprawdzić, czy taka dekompozycja istnieje. U = {g 1 }, V = {x 4,x 5,x 6 } Przykład 6.7 „Synteza logiczna”
35
ZPT Dla U = {g 1 } r = 3 G1G1 H y 1 y 2 G2G2 x 4 x 5 x 6 x 1 x 2 x 3 Łatwo sprawdzić, że taka dekompozycja istnieje R-przydatność P(g 1 ): Do realizacji potrzebnych jest 5 komórek 3/1 35 g1g1 Przykład 6.7 „Synteza logiczna”
36
ZPT U = {g 1, x 4 } r = 4 U = {g 1, x 5 } r = 4 Ale może jest jeszcze lepsze rozwiązanie? 36 x j x 1 x 2 x 3 G1G1 H y 1 y 2 g1g1 x j x 1 x 2 x 3 G1G1 H y 1 y 2 G2G2 P U = P(g 1 ) ∙ P(x 4 ) Przykład 6.7 „Synteza logiczna”
37
ZPT U = {g 1, x 6 } r = 3 G1G1 H y 1 y 2 G2G2 x 4 x 5 x k x 6 x 1 x 2 x 3 37 To nas zadowala P U = P(g 1 ) ∙ P(x 6 ) P(x 6 ) = Przykład 6.7 „Synteza logiczna”
38
ZPT U = {g 1, x 6 } W = {x 2 } x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 y1y1 y2y2 110010000 210111001 311011101 410110000 500111010 611010010 710011110 800101111 900101011 Należy wyznaczyć zmienną (zmienne) x k 38 V = {x 4, x 5 } Nie można rozdzielić (5,6) od (9) Przykład 6.7 „Synteza logiczna”
39
ZPT łatwo wyznaczyć Π G : G1G1 H y 1 y 2 G2G2 x 2 x 4 x 5 x 6 x 1 x 2 x 3 ΠGΠG Do realizacji potrzebne są 4 komórki 3/1 Poprzednio było 5 39 Dla nowego V’ = {x 4, x 5, x 2 } spełniający warunek P U Π G’ ≤ P F SUKCES Przykład 6.7 „Synteza logiczna”
40
ZPT 40 Komentarz: algorytmy dekompozycji Równoległa Skuteczność dekompozycji funkcjonalnej (szeregowej) maleje ze wzrostem liczby wyjść zespołu funkcji Szeregowa Y U V X G H Zapobiec tej sytuacji można stosując tzw. dekompozycję…
41
ZPT 41 Dekompozycja równoległa… X Y F Y = Y g Y h XhXh H XgXg YgYg G X YhYh 41 Rozłączne podzbiory wyjść… Do rozwiązania tego problemu można zastosować redukcję argumentów
42
ZPT 42 y 1 : {x 1, x 2, x 6 } y 2 : {x 3, x 4 } y 3 : {x 1, x 2, x 4, x 5, x 8 } {x 1, x 2, x 4, x 6, x 8 } y 4 : {x 1, x 2, x 3, x 4, x 7 } y 5 : {x 1, x 2, x 4 } y 6 : {x 1, x 2, x 6, x 8 } Dekompozycja równoległa - przykład 42
43
ZPT 43 y 1 : {x 1, x 2, x 6 } y 2 : {x 3, x 4 } y 3 : {x 1, x 2, x 4, x 5, x 8 } {x 1, x 2, x 4, x 6, x 8 } y 4 : {x 1, x 2, x 3, x 4, x 7 } y 5 : {x 1, x 2, x 4 } y 6 : {x 1, x 2, x 6, x 8 } X g = {x 1, x 2, x 4, x 6, x 8 }X h = {x 1, x 2, x 3, x 4, x 7 } G = {y 1, y 3, y 6 }H= {y 2, y 4,y 5 } Dekompozycja równoległa - przykład 43
44
ZPT x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 HG y 1 y 3 y 6 y 2 y 4 y 5 01 – 101009 110111008 101011017 011000116 001001005 010011114 110001013 100000012 000011001 y6y6 y3y3 y1y1 x9x9 x6x6 x4x4 x2x2 x1x1 – 11111017 100001116 011011005 111011114 101011013 010001012 000010001 y5y5 y4y4 y2y2 x7x7 x4x4 x3x3 x2x2 x1x1 Dekompozycja równoległa - przykład 44
45
ZPT Dekompozycja zrównoważona BD wykorzystuje naprzemiennie dekompozycję szeregową i dekompozycję równoległą F X Y Y G H X X1X1 X2X2 HG X Y1Y1 Y2Y2 X3X3 X4X4 Dekompozycja szeregowa Dekompozycja równoległa 45
46
ZPT Przykład – prosty układ kombinacyjny.type fr.i 10.o 2.p 25 0101000000 00 1110100100 00 0010110000 01 0101001000 01 1110101101 10 0100010101 10 1100010001 00 0011101110 10 0001001110 10 0110000110 10 1110110010 01 0111100000 00 0100011011 00 0010111010 10 0110001110 00 0110110111 11 0001001011 11 1110001110 01 0011001011 01 0010011010 10 1010110010 00 0100110101 11 0001111010 00 1101100100 01 1001110111 11.e x0x2x3x9x0x2x3x9 CL y0y1y0y1 STRATEGIE: a) najpierw dekompozycja szeregowa b) najpierw dekompozycja równoległa 46
47
ZPT Dekompozycja funkcji F STRATEGIA: najpierw dekompozycja szeregowa LC y0y0 x 8 x 9 x 1 x 3 x 4 x 6 2LCs x 0 x 2 x 5 x 7 Dekompozycja szeregowa Dekompozycja równoległa 2LCs LC y1y1 Łącznie: 7 komórek Dekompozycja szeregowa 47
48
ZPT Dekompozycja funkcji F STRATEGIA: najpierw dekompozycja równoległa LC y1y1 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 LC y0y0 Łącznie : 4 komórki 48
49
ZPT Dekompozycja funkcji F w systemie Quartus QuartusII library IEEE; use IEEE.STD_LOGIC_1164.all; entity bul is port(i : in std_logic_vector(1 to 10); port(i : in std_logic_vector(1 to 10); o : out std_logic_vector(1 to 2)); o : out std_logic_vector(1 to 2)); end bul; architecture arch1 of bul is begin PLA: process(i) begin begin case i is case i is when "0101000000" => o o <= "00"; when "1110100100" => o o <= "00"; when "0010110000" => o o <= "10"; when "0101001000" => o o <= "10"; when "1110101101" => o o <= "01"; when "0100010101" => o o <= "01"; when "1100010001" => o o <= "00"; when "0011101110" => o o <= "01"; when "0001001110" => o o <= "01"; when "0110000110" => o o <= "01"; when "1110110010" => o o <= "10"; when "0111100000" => o o <= "00"; when "0100011011" => o o <= "00"; when "0010111010" => o o <= "01"; when "0110001110" => o o <= "00"; when "0110110111" => o o <= "11"; when "0001001011" => o o <= "11"; when "1110001110" => o o <= "10"; when "0011001011" => o o <= "10"; when "0010011010" => o o <= "01"; when "1010110010" => o o <= "00"; when "0100110101" => o o <= "11"; when "0001111010" => o o <= "00"; when "1101100100" => o o <= "10"; when "1001110111" => o o <= "11"; when others => o o <= "XX"; end case; end case; end process; end process;end; 49 28 komórek
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.