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 1000000 2010110 3001010 4011110 5001100 6010011 7001001 8011101 9101011 10110011 11100011

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 1000000 2010110 3001010 4011110 5001100 6010011 7001001 8011101 9101011 10110011 11100011 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 1000000 2010110 3001010 4011110 5001100 6010011 7001001 8011101 9101011 10110011 11100011 x3x3 x4x4 x5x5 g 10000 20111 31010 41111 51100 60010 71001 81100 91010 100010 110010 x3x3 x4x4 x5x5 g 0000 0111 1010 1111 1100 0010 1001 П G = g 0 1 0 1 0 0 1 0 0 0 0 f G H x 1 x 2 x3x3 x 5 x4x4

13 ZPT 13 x1x1 x2x2 x3x3 x4x4 x5x5 f 1000000 2010110 3001010 4011110 5001100 6010011 7001001 8011101 9101011 10110011 11100011 x1x1 x2x2 gh 10000 20110 30000 40110 50000 60101 70011 80101 91001 101101 111001 x1x1 x2x2 gh 0000 0011 0101 0110 1001 1101 П G = g 0 1 0 1 0 0 1 0 0 0 0 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 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 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,2420 1316 21

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= 1 1 1 0 0 1 0 1 0 0 1 0 0 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 1 0 0 1 0 1 11 0 1 0 … 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 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 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 01 1000 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 2... 011000 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0

31 ZPT 31 Tablica prawdy H x 3 x 4 g 1 g 2 y 1 y 2 y 3... P U G = 0110 00 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 … ( 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