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