ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.

Slides:



Advertisements
Podobne prezentacje
Teoria układów logicznych
Advertisements

Równanie różniczkowe zupełne i równania do niego sprowadzalne
Ile rozwiązań może mieć układ równań?
Badania operacyjne. Wykład 2
Michał Łasiński Paweł Witkowski
PRZERZUTNIKI W aktualnie produkowanych przerzutnikach scalonych TTL wyróżnia się dwa podstawowe rodzaje wejść informacyjnych: - wejścia asynchroniczne,
Materiały pochodzą z Platformy Edukacyjnej Portalu
Przygotował Przemysław Zieliński
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 7. Spójność i rozpięte drzewa
WYKŁAD 8. Siła spójności Wierzchołek v nazywamy wierzchołkiem cięcia grafu G, gdy podgraf G-v ma więcej składowych spójności niż G. Krawędź e nazywamy.
WYKŁAD 8. Siła spójności A,B – dowolne podzbiory V(G)
GRAFY PLANARNE To grafy, które można narysować na płaszczyźnie tak, by krawędzie nie przecinały się (poza swoimi końcami). Na przykład K_4, ale nie K_5.
Układy logiczne kombinacyjne sekwencyjne
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Struktury układów logicznych
Układ równań stopnia I z dwoma niewiadomymi
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Jak usprawnić obliczanie MKZ?
minimalizacja automatów
Podstawy układów logicznych
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
o granicy funkcji przy obliczaniu granic Twierdzenia
Dekompozycja metodą rachunku podziałów c.d.
Problem kodowania stanów w układach sekwencyjnych (automatach)
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
BADANIE STATYSTYCZNE Badanie statystyczne to proces pozyskiwania danych na temat rozkładu cechy statystycznej w populacji. Badanie może mieć charakter:
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Struktury układów logicznych
Model relacyjny.
Sterowanie – metody alokacji biegunów II
Materiały pochodzą z Platformy Edukacyjnej Portalu
PODSTAWOWE BRAMKI LOGICZNE
Podstawy Techniki Cyfrowej
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Dekompozycja metodą rachunku podziałów c.d.
Własności bramek logicznych RÓZGA DARIUSZ 20061
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
PLANARNOŚĆ i KOLOROWANIE MAP. Problem Jaka jest minimalna liczba kolorów, za pomocą których można pokolorować obszary województw na mapie Polski tak,
I T P W ZPT Konwerter BIN2BCD 1 LK „8” DEC LK = 0 LOAD1 R3R2R1  K S3 S2S1 A B „5” K  5 MUX 1 0 A R4 LOAD2 Y = LD B LB „3” US Układ wykonawczy Układ sterujący.
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
I T P W ZPT 1. I T P W ZPT 2 Synteza logicznaInżynieria informacji Dekompozycja funkcjonalna Odwzorowanie technologiczne FPGA Hierarchiczne podejmowanie.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Układy logiczne – układy cyfrowe
ZPT Evatronix Kontroler Ethernet MAC (Media Access Control) 10/100Mbit spełniający rolę rolę podstawowej arterii wymiany danych pomiędzy urządzeniami sterującymi.
Zarządzanie projektami
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Przeprowadzenie badań niewyczerpujących, (częściowych – prowadzonych na podstawie próby losowej), nie daje podstaw do formułowania stanowczych stwierdzeń.
Elementy cyfrowe i układy logiczne
STATYSTYKA – kurs podstawowy wykład 8 dr Dorota Węziak-Białowolska Instytut Statystyki i Demografii.
I T P W ZPT 1 Realizacje funkcji boolowskich Omawiane do tej pory metody minimalizacji funkcji boolowskich związane są z reprezentacją funkcji w postaci.
Trochę matematyki - dywergencja Dane jest pole wektora. Otoczymy dowolny punkt P zamkniętą powierzchnią A. P w objętości otoczonej powierzchnią A pole.
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Rozwiązywanie układów równań Radosław Hołówko Konsultant: Agnieszka Pożyczka.
I T P W ZPT 1 Jak usprawnić obliczanie MKZ? W celu sprawniejszego obliczania MKZ wprowadzimy skuteczniejszą metodę wg par zgodnych Znamy metodę wg par.
Elementy cyfrowe i układy logiczne
Metody optymalizacji Materiał wykładowy /2017
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Układy logiczne – układy cyfrowe
Metoda klasyczna (wg książki Sasao)
Wstęp do Informatyki - Wykład 6
Efektywność algorytmów
Układy asynchroniczne
Podstawy Automatyki Człowiek- najlepsza inwestycja
Zapis prezentacji:

ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji boolowskich

ZPT Struktura PLA 2

ZPT Struktura PAL 3

ZPT Realizacja PLA y1y1 y2y2 a b c d c a b d y1y1 y2y2 4

ZPT Realizacja PAL y1y1 y2y2 a b c d 5

ZPT Struktury FPGA 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 6 Komórka logiczna realizuje każdą funkcję boolowską zmiennych doprowadzonych do jej wejść x1x2x3x4x1x2x3x4 CLBLC f(x 1, x 2, x 3, x 4 )

ZPT Dekompozycja 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. 7 Dekompozycja funkcji boolowskich A dla takich struktur omówione do tej pory metody syntezy – w szczególności minimalizacja – są nieskuteczne

ZPT 8 F Y = F(X) X U G H  G X W przypadku układów logicznych to „rozbicie” dużego układu na mniejsze bloki, Dekompozycja … …przy czym nazywamy ten proces dekompozycją funkcjonalną, gdyż realizujemy go na poziomie abstrakcyjnych funkcji boolowskich

ZPT Dekompozycję funkcjonalną 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… 9 Dekompozycja funkcjonalna Skuteczność dekompozycji funkcjonalnej 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.

ZPT 10 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

ZPT 11 … 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  PVW G  PVW taki, że: P U ·  G  P F

ZPT 12 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 G PUPU PVWPVW (PV)(PV) PFPF to podziały indukowane przez argumenty zbiorów U, V  W, (V) Podział wyjściowy funkcji F Trzeba obliczyć!!!

ZPT 13 Przykład ilustrujący metodę dekompozycji Zgodnie z Tw. dekompozycję liczymy przy zadanych (niestety!) zbiorach U, V: przyjmujemy 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

ZPT 14 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 }

ZPT 15 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:G: Sklejanie, małe bloki podziału P V sklejamy w większe bloki  G

ZPT 16 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…

ZPT 17 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

ZPT 18 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

ZPT 19 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 } Przykład 6.2, str. 137 Synteza logiczna 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

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

ZPT 21 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

ZPT 22 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 }

ZPT 23 ((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.

ZPT 24 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, G:G:

ZPT 25 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 W tym momencie już wiemy na pewno, że założona dekompozycja istnieje

ZPT 26 Co dalej … W obu przypadkach najwygodniejsze do procesu syntezy są tablice prawdy funkcji G i H f G H x 7 x 8 x 9 x 3 x 5 x 6 x 10 Inżynier musi tę funkcję zrealizować: albo na bramkach albo na komórkach

ZPT 27 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

ZPT 28 Funkcja H x 7 x 8 x 9 g h...) 14,18,21; 3 ; 11; 2 ; 10 ; 1,4(  PU  GPU  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

ZPT 29 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.

ZPT 30 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

ZPT 31 x 1 x 2 x 3 x 4 x 5 y 1 y 2 y Przykład dekompozycji zespołu funkcji Niezależnie od liczby funkcji wszystkie wyjścia opisujemy jednym! podziałem v v v v v v (Przykład 6.11, str. 140: Synteza logiczna)

ZPT 32 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

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

ZPT 34 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 Blok G ma dwa wyjścia!

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

ZPT 36 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

ZPT 37 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!!!

ZPT 38 Obliczanie podziału Π G metodą przenoszenia bloków P V na podstawie podziału ilorazowego P U │P U Π G jest trudne do zalgorytmizowania. Komputerowy algorytm dekompozycji Algorytm komputerowy musi być zrealizowany wg całkowicie innych zasad.

ZPT 39 W obliczeniach komputerowych korzysta się z pojęcia zgodnych (albo niezgodnych) par bloków podziału Wtedy algorytm obliczania Π G można sprowadzić do algorytmu obliczania MKZ lub do algorytmu kolorowania grafu. Komputerowy algorytm dekompozycji P V =( B 1,…,B i,…,B j,…,B N )

ZPT 40 Komputerowy 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.

ZPT 41 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

ZPT 42 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

ZPT 43 Przykład … B 1 B 2 B 3 B 4 B5B5 B6B6 B7B7 B8B8 (B 1,B 2 ) jest sprzeczna B 1  B 2 =  PU PU PFPF B 5  B 7 =  PU PU  P F (B 5, B 7 ) jest zgodna

ZPT 44 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 }

ZPT 45 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 }

ZPT 46 Interpretacja na grafie niezgodności Pary sprzeczne B i, B j, gdzie i,j: (1,2), (1,3), (1,5), (1,7), (2,5), (2,7), (2,8), (3,4), (3,5), (3,6), (4,5), (5,6), (5,8), (7,8) Graf niezgodności z minimalną liczbą chromatyczną 1, 4, 6, 8  kolor A 2, 3  kolor B 5, 7  kolor C