Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ZPT Struktury układów logicznych f Gate ArrayStandard Cell Programmable Logic Devices 1.

Podobne prezentacje


Prezentacja na temat: "ZPT Struktury układów logicznych f Gate ArrayStandard Cell Programmable Logic Devices 1."— Zapis prezentacji:

1 ZPT Struktury układów logicznych f Gate ArrayStandard Cell Programmable Logic Devices 1

2 ZPT Struktury układów logicznych Field Programmable Gate Array Ale w dzisiejszych technologiach układy logiczne to nie tylko bramki! Coraz większego znaczenia nabierają technologie, w których podstawowym elementem konstrukcyjnym są komórki logiczne (Logic Cell) Logic Cell … a dla tych struktur omówione do tej pory metody syntezy - w szczególności minimalizacja - są nieskuteczne 2

3 ZPT Dekompozycja funkcjonalna jest metodą znan ą od dawna, ale jej intensywny rozwój dokonuje się od niedawna. Sytuacja jest podobna do rozwoju nowoczesnych metod minimalizacji, który to rozwój zapoczątkowany został pojawieniem się układów scalonych z milionami bramek logicznych. Jedyną różnicą jest fakt, że technologie struktur komórkowych pojawiły się znacznie później i metody ich syntezy nie są jeszcze wbudowane do systemów komercyjnych. 3

4 ZPT Dekompozycję funkcji boolowskich od razu omówimy w ujęciu nowoczesnym - dostosowanym do złożoności dzisiejszych technologii. Metodę klasyczną omówimy szkicowo, koncentrując się na jej mankamentach… 4 Dekompozycja funkcjonalna Skuteczność dekompozycji jest tak ogromna, że mimo jej braku w narzędziach komercyjnych należy się z tymi metodami zapoznać i stosować w praktyce projektowania układów cyfrowych za pośrednictwem narzędzi uniwersyteckich.

5 ZPT 5 V U G H Y = F(X) W czyli U V X Dekompozycja metodą rachunku podziałów X Ponadto dopuszczamy powiększenie zbioru argumentów bloku G U, V są rozłącznymi podzbiorami X, ale U V niekoniecznie = X W jest podzbiorem właściwym U W U

6 ZPT 6 … w ujęciu rachunku podziałów Funkcję F: B n {0,1} m można zrealizować w strukturze: F = H(U,G(V,W)) Twierdzenie o dekompozycji U G H G P F wtedy i tylko wtedy, gdy istnieje podział G P V W taki, że: P U · G P F

7 ZPT 7 Twierdzenie o dekompozycji - interpretacja G P V W taki, że: P U · G P F F Y = F(X) X Y = H(U,G(V,W)) U G H G X G PUPU P V W (PV)(PV) PFPF to podziały indukowane przez argumenty zbiorów U, V W, (V) Podział wyjściowy funkcji F Trzeba obliczyć!!!

8 ZPT 8 Przykład ilustrujący metodę dekompozycji Obliczyć dekompozycję dla U = {x 1,x 2 }, V = {x 3,x 4,x 5 } P f = Funkcja f: G H x 1 x 2 x3x3 f x 5 x4x4 Nie wiemy ile jest wyjść z bloku G x1x1 x2x2 x3x3 x4x4 x5x5 f

9 ZPT 9 Przykład…obliczanie podziałów P U, P V P f = P U |P U · P f = P U = P V = U = {x 1,x 2 } Bardzo ważny w dalszych obliczeniach jest… P f = x1x1 x2x2 x3x3 x4x4 x5x5 f P U = V = {x 3,x 4, x 5 }

10 ZPT 10 Przykład…obliczanie П G 3,9 П G = PV =PV = P U |P U ·P f = G P V P U · G P F Podział G składamy z bloków podziału P V, ale tak aby zapewnić warunki rozdziału zapisane w podziale P U |P U ·P f G : Sklejanie, małe bloki podziału P V sklejamy w większe bloki G

11 ZPT 11 Komentarz H x 1 x 2 x3x3 f x 5 x4x4 П G = G Zatem dopiero teraz wiemy ile jest wyjść z bloku G. Tylko jedno wyjście! Obliczony Π G jest dwublokowy…

12 ZPT 12 Przykład…tworzenie tablicy funkcji g x1x1 x2x2 x3x3 x4x4 x5x5 f x3x3 x4x4 x5x5 g x3x3 x4x4 x5x5 g П G = g f G H x 1 x 2 x3x3 x 5 x4x4

13 ZPT 13 x1x1 x2x2 x3x3 x4x4 x5x5 f x1x1 x2x2 gh x1x1 x2x2 gh П G = g Przykład…tworzenie tablicy funkcji h h=f G H x 1 x 2 x3x3 x 5 x4x4 g

14 ZPT 14 Przykład (TL27) ilustrujący skuteczność dekompozycji.type fr.i 10.o 1.p e Można wykazać, że funkcja ta jest zależna od 7 argumentów X = {x 3, x 5, x 6, x 7, x 8, x 9, x 10 } Synteza układów logicznych str. 65 Dalej wszystkie obliczenia będą wykonywane na podziałach P 3, P 5, P 6, P 7, P 8, P 9, P 10 Celem przykładu jest pokazanie, że cały proces dekompozycji (łącznie z obliczeniem tablic prawdy) można wykonać wyłącznie na podziałach Są to podziały na zbiorze ponumerowanych wektorów 1,…,25

15 ZPT 15 Specyfikacja funkcji – podziałami P 3 = P 5 = P 6 = P f = P 7 = P 8 = P 9 = P 10 =

16 ZPT 16 Ustalenie zbiorów U i V X = {x 3, x 5, x 6, x 7, x 8, x 9, x 10 } U = {x 7, x 8, x 9 } V = {x 3, x 5, x 6, x 10 } f G H x 7 x 8 x 9 x 3 x 5 x 6 x 10 Przyjmujemy arbitralnie… Nie wiemy ile jest wyjść z bloku G

17 ZPT 17 Obliczenie podziałów P U, P V PV=PV= P U = P U =P 7P 8P 9 P V =P 3P 5P 6P 10 Można je wyznaczyć bezpośrednio z tablicy funkcji, ale tym razem przy zastosowaniu rachunku podziałów: …obliczenia są żmudne, ale proste U = {x 7, x 8, x 9 } V = {x 3, x 5, x 6, x 10 }

18 ZPT 18 ((1,4)(10) P U = P f = Podział ilorazowy P u |P u P F ; (2)(11) (6,7)(15,20,24) ; (8)(13,16,19) ; (17,25) ; (23)) ; (3)(14,18,21) ; (5,9)(12,22) P u |P u P f = Przy liczeniu podziału ilorazowego po prostu rozdzielamy elementy bloków P U między różne bloki podziału P f W każdym bloku P u |P u P f są co najwyżej dwa elementy (nawiasy), zatem liczba bloków podziału Π G musi być co najmniej dwa.

19 ZPT 19 Obliczenie Π G P u |P u · P f = ((1,4)(10) ; (2)(11) ; (3)(14,18,21) ; (5,9)(12,22) ; (6,7)(15,20,24) ; (8)(13,16,19) ; (17,25) ; (23)) PV=PV= 4,17110,18,23 3,6,1125,14 127,22 8,25 915,19,

20 ZPT 20 Liczba wyjść bloku G Liczba wyjść z bloku G = 1 Skoro Π G jest dwublokowy f G H x 7 x 8 x 9 x 3 x 5 x 6 x 10

21 ZPT 21 Co dalej … Zawartość bloków G i H, czyli tablice prawdy funkcji G i H f G H x 7 x 8 x 9 x 3 x 5 x 6 x 10

22 ZPT 22 Funkcja G x 3 x 5 x 6 x 10 g PV=PV= P 3 = P 5 = P 6 = P 10 = Wektory (wiersze) tablicy funkcji g są wyznaczane przez bloki P V, a wartości tej funkcji przez bloki Π G

23 ZPT 23 Funkcja H x 7 x 8 x 9 g h...) 14,18,21; 3 ; 11; 2 ; 10 ; 1,4( P U G < P F … P 7 = P 8 = P 9 = Wektory (wiersze) tablicy funkcji h są wyznaczane przez bloki P U G, a wartości tej funkcji przez bloki P F

24 ZPT 24 Co uzyskaliśmy… Tylko 2 komórki typowej struktury FPGA QUARTUS Uzyskaliśmy wynik dziesięciokrotnie razy lepszy od wyniku systemu Quartus amerykańskiej firmy Altera 23 kom.

25 ZPT 25 Dekompozycja zespołu funkcji X F X G H Y U V Y = y 1, y 2,…, y m Twierdzenie w ujęciu rachunku podziałów jest ogólne, obliczenia są niezależne od liczby wyjść funkcji F. Dekompozycja

26 ZPT 26 x 1 x 2 x 3 x 4 x 5 y 1 y 2 y Przykład dekompozycji zespołu funkcji (SUL Przykład 8.4) Niezależnie od liczby funkcji wszystkie wyjścia opisujemy jednym! podziałem v v v v v v

27 ZPT 27 Przykład…wyznaczanie podziałów P U, P V U = {x 3,x 4 } V = {x 1,x 2,x 5 } P U = P 3 P 4 P V =P 1 P 2 P 5 x 3 x 4 x 1 x 2 x 5 g h Szukamy dekompozycji

28 ZPT 28 Przykład…obliczanie G (2)(9,14)(3,15) Jak wyznaczyć G ??? Trochę inny zapis

29 ZPT 29 Przykład…kodowanie Π G Należy zakodować bloki Π G Kodowanie jest dowolne Aktualna teoria nie podaje rozwiązania problemu kodowania W przypadku zespołu funkcji liczba bloków podziału Π G jest większa. Kodowanie jest potrzebne do wyznaczenia tablic prawdy funkcji G i H

30 ZPT 30 Tablica prawdy G x 1 x 2 x 5 g 1 g

31 ZPT 31 Tablica prawdy H x 3 x 4 g 1 g 2 y 1 y 2 y 3... P U G = … ( P U G < P F

32 ZPT 32 Co uzyskaliśmy… Ale dla struktur FPGA wystarczy schemat dekompozycji i tablice prawdy. Funkcje g i h można obliczyć jawnie…z tablic prawdy można uzyskać realizacje na bramkach. x 3 x 4 x 1 x 2 x 5 g h Proces minimalizacji jest niepotrzebny!!!

33 ZPT 33 Obliczanie podziału Π G metodą przenoszenia bloków P V na podstawie podziału ilorazowego P U P U Π G jest trudne do zalgorytmizowania. Szczęśliwie jednak algorytm obliczania Π G można sprowadzić do algorytmu obliczania MKZ. Systematyczny algorytm dekompozycji

34 ZPT 34 Systematyczny algorytm dekompozycji Dwa bloki B i i B j podziału P V są zgodne, jeśli podział ij uzyskany z P V przez sklejenie B i oraz B j w jeden blok i pozostawienie pozostałych bloków bez zmiany W przeciwnym przypadku B i oraz B j są niezgodne. P V =( B 1,…,B i,…,B j,…,B N ) ij =( B 1,…,B i B j,…,B N ) spełnia warunek Twierdzenia o dekompozycji: P U ij P F.

35 ZPT 35 Przykład (ten sam co poprzednio) B 1 B 2 B 3 B 4 B5B5 B6B6 B7B7 B8B8 57 = 12 = U = {x 3,x 4 } oraz V = {x 1,x 2,x 5 } Numerujemy bloki P V

36 ZPT 36 Przykład … Ale do wyznaczenia zgodnych (lub sprzecznych) par (B i, B j ) niekoniecznie musimy się posługiwać skomplikowaną nierównością P U ij P F Można sprawdzić, że P U 12 P F, P U 57 P F (B 1, B 2 ) jest sprzeczna (B 5, B 7 ) jest zgodna Wystarczy w tym celu obliczyć iloczyn zbioru B i B j z blokami podziału P U i sprawdzić, czy każdy niepusty iloczyn jest zawarty w jakimś bloku P F

37 ZPT 37 Przykład … B 1 B 2 B 3 B 4 B5B5 B6B6 B7B7 B8B8 (B 1,B 2 ) jest sprzeczna B 1 B 2 = P U PFPF B 5 B 7 = P U P F (B 5, B 7 ) jest zgodna

38 ZPT 38 Przykład c.d. Pary zgodne: (B 1,B 4 ), (B 1,B 6 ), (B 1,B 8 ), (B 2,B 3 ), (B 2,B 4 ), (B 2,B 6 ), (B 3,B 7 ), (B 3, B 8 ), (B 4,B 6 ), (B 4,B 7 ), (B 4,B 8 ), (B 5,B 7 ), (B 6,B 7 ), (B 6,B 8 ). Doskonale wiemy jak obliczać Maksymalne Klasy Zgodne MKZ B 1 B 2 B 3 B 4 B5B5 B6B6 B7B7 B8B8 G ; {B 1,B 4, B 6, B 8 } ; {B 2, B 3 } {B 5, B 7 } Klasy maksymalne: {B 1,B 4, B 6, B 8 } {B 4, B 6, B 7 } {B 2, B 4, B 6 } {B 3, B 7 } {B 3, B 8 } {B 2, B 3 } {B 5, B 7 }

39 ZPT 39 Przykład c.d. B 1 B 2 B 3 B 4 B5B5 B6B6 B7B7 B8B8 Ten sam rezultat co poprzednio G ; {B 1,B 4, B 6, B 8 } ; {B 2, B 3 } {B 5, B 7 }

40 ZPT 40 Komentarz: algorytmy dekompozycji SzeregowaRównoległa Dekompozycję funkcjonalną nazywać będziemy szeregową, dla odróżnienia od równoległej


Pobierz ppt "ZPT Struktury układów logicznych f Gate ArrayStandard Cell Programmable Logic Devices 1."

Podobne prezentacje


Reklamy Google