y(i)=1 - Politechnika Krakowska
Transkrypt
y(i)=1 - Politechnika Krakowska
POLITECHNIKA KRAKOWSKA KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH SYNTEZA CYFROWYCH UKŁADÓW STEROWANIA W2: SYNTEZA UKŁADÓW KOMBINACYJNYCH WWW.PK.EDU.PL/~ZK/SCUS_HP.HTML DR INŻ. ZBIGNIEW KOKOSIŃSKI [email protected] Prof. PK Adam Kapralski (1948-2010) – twórca teorii przestrzeni boolowskich i algorytmów syntezy układów cyfrowych Plan wykładu 1. Wprowadzenie do cyfrowe układy sterowania 2. Model automatowy układów cyfrowych 3. Modelowanie układów kombinacyjnych za pomocą macierzy boolowskich – pojęcie kombinacyjnej zależności macierzy 4. Podejście algorytmiczne do syntezy układów cyfrowych - zagadnienia złożonościowe 5. Algorytm dokładny a przybliżone algorytmy Kozakowa i Kapralskiego wyznaczania minimalnej postaci kombinacyjnej zależności wektora z macierzą. 6. Rozwiązanie problemu minimalnego pokrycia zbioru implikantów – algorytm dokładny i przybliżony. 7. Synteza układów wielowejściowych i wielowyjściowych. Problem redukcji liczby wejść. Modelowanie układów kombinacyjnych za pomocą macierzy binarnych Podstawowe założenia : 1. Realizacje układów kombinacyjnych i automatów wiążą się z zagadnieniem minimalizacji nie w pełni określonych funkcji logicznych (funkcji przejść i wyjść), t.j. funkcji z wieloma nieokreślonymi kombinacjami zmiennych wejściowych (DON’T CARE) 2. Macierze binarne wejściowe i wyjściowe (oznaczane odpowiednio jako X i Y) i zawierające wszystkie określone kombinacje wejść i wyjść są nienadmiarowymi reprezentacjami takich funkcji. 3. Wymiary tablic wejściowych i wyjściowych oznaczamy jako X(m, n), Y(m, k). 4. Algorytm minimalizacyjny zapewnia dokładne lub przybliżone rozwiązanie w formie kombinacyjnej zależności macierzy Y z X, t.j. zbioru k w pełni określonych funkcji logicznych n zmiennych. Funkcje te mogą być minimalizowane łącznie lub oddzielnie. Zagadnienia złożonościowe w syntezie układów cyfrowych 1. Problem minimalizacji postaci kombinacyjnej zależności nie może rozwiązany w czasie wielomianowym ponieważ składowe podproblemy: generacja zbioru wszystkich implikantów prostych i rozwiązanie problemu minimalnego pokrycia tego zbioru implikantów są problemami NP-zupełnymi. Dlatego uzasadnione jest stosowanie algorytmów przybliżonych. 2. W syntezie dużych układów o wielu wejściach i wielu wyjściach wymagana jest często redukcja zbioru wejść. Optymalną redukcję można uzyskać rozwiązując problem minimalnej bazy macierzy wejściowej, który jest NP-zupełny. Inne problemy NP-zupełne związane z syntezą cyfrowych układów sterowania : 1. 2. 3. Minimalizacja liczby stanów wewnętrznych automatu. Optymalne kodowanie binarne stanów wewnętrznych automatu. Optymalna synteza układów logicznych na multiplekserach itp. Algorytm Kozakowa minimalizacji układów kombinacyjnych wejście : X – n-wektorowa (n-kolumnowa) macierz wejściowa; y – wektor wyjściowy. wyjście : suboptymalna postać dysjunkcyjna funkcji logicznej y=f(X) . 1. Sprawdź warunek istnienia kombinacyjnej zależności wektora wyjściowego y z macierzą wejściową X. Jeżeli warunek nie jest spełniony przerwij wykonywanie algorytmu. 2. Przyjmij k =1. 3. Generuj kolejny k-elementowy podzbiór (kombinację) kolumn X’ zbioru wektorów wejściowych X dla pierwszej niepokrytej dotąd wartości y(i)=1. 3.1. Sprawdź czy utworzony w X’ iloczyn implikujący y(i)=1 implikuje również inne y(j)=0. Jeśli tak, utwórz w X’ wspólny implikant dla y(i)=1 oraz pozostałych implikowanych y(j)=1. Przejdź do kroku 3.2. W przeciwnym wypadku : 3.1.1. Jeśli wszystkie k-elementowe podzbiory (kombinacje) X’ macierzy X zostały wygenerowane dla bieżącego y(i)=1 to zwiększ k (zapewniając, że k ≤ n) i wróć do kroku 3. 3.2. Dodaj implikant znaleziony w kroku 3.1 do zbioru wszystkich implikantów i zanotuj pokrycia y(i)=1 . Przejdź do kroku 3.3. 3.3. Jeśli istnieje niepokryty y(i)=1 to przywróć k =1 i powtórz krok 3. 4. Rozwiąż problem minimalnego pokrycia w zbiorze implikantów. Algorytm Kozakowa – przykład Rys. Macierze reprezentujące układ kombinacyjny oraz implikanty generowane przez algorytm Kozakowa. Algorytm Kapralskiego minimalizacji układów kombinacyjnych wejście : X – n-wektorowa (n-kolumnowa) macierz wejściowa; y – wektor wyjściowy. wyjście : suboptymalna postać dysjunkcyjna funkcji logicznej y=f(X) . 1. Sprawdź warunek istnienia kombinacyjnej zależności wektora wyjściowego y z macierzą wejściową X. Jeżeli warunek nie jest spełniony przerwij wykonywanie algorytmu. 2. Przyjmij k =1. 3. Generuj w porządku liniowym (np. leksykograficznym) kolejne k-elementowe podzbiory X’ zbioru wektorów wejściowych X dopóki nie zostaną wygenerowane wszystkie ich kombinacje w liczbie C(n, k). 3.1. W każdym X’ sprawdź czy istnieje implikant dla y(i)=1 różny od wszystkich implikantów odpowiadających wszystkim y(j)=0. Jeśli TAK, to utwórz nowy implikant. 3.2. Dodaj implikanty znalezione w kroku 3.1 do zbioru implikantów i zanotuj wszystkie pokryte y(i)=1. 4. Jeżeli istnieje niepokryty dotąd y(i)=1 , to zwiększ k (zachowując k ≤ n) i idź do kroku 3. 5. Rozwiąż problem minimalnego pokrycia w zbiorze implikantów. Algorytm Kapralskiego – przykład Rys. 2. Reprezentacja macierzowa układu kombinacyjnego i implikanty generowane przez algorytm Kapralskiego (wersja zmodyfikowana 1 : zatrzymanie po uzyskaniu pokrycia wszystkich y(i)=1 ) Algorytmy pokrycia zbioru Algorytm dokładny (optymalizacyjny) Algorytm podstawowy (aproksymacyjny) Algorytm randomizowany(aproksymacyjny) Algorytm randomizowany optymalizujący koszt (aproksymacyjny) Algorytm Chvatal’a Algorytm Bar-Yehuda i Even’a Algorytm Bowmana-McVey’a Literatura 1. De Micheli G. : Synthesis and optimization of digital circuits, McGraw Hill, 1994. 2. Kapralski A. : Wstęp do teorii przestrzeni boolowskich i ich zastosowanie w syntezie układów przełączających, Zeszyty Naukowe Politechniki Krakowskiej, Seria: Transport, Vol. 2, Kraków, 1979. 3. Kapralski A. : Wstep do teorii układów przełączających i teorii informacji, Wydawnictwo Politechniki Krakowskiej, Kraków 1985. 4. Kozakow W. D. : Minimization of multi-variable logic functions, Avtomatika i telemechanika, Vol. 23, No. 9, 1962. (in Russian) 5. Łuba T. : Synteza układów logicznych, Oficyna Wydawnicza PW, Warszawa 2005. ICACIT 2015 DECEMBER 11-13, KIEV, UKRAINE