Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

I T P W ZPT 1 Metoda ekspansji Łączy idee metody Quinea McCluskeya oraz metody Espresso: Metoda ta zrealizowana w programach Pandor oraz Instant jest udostępniona.

Podobne prezentacje


Prezentacja na temat: "I T P W ZPT 1 Metoda ekspansji Łączy idee metody Quinea McCluskeya oraz metody Espresso: Metoda ta zrealizowana w programach Pandor oraz Instant jest udostępniona."— Zapis prezentacji:

1 I T P W ZPT 1 Metoda ekspansji Łączy idee metody Quinea McCluskeya oraz metody Espresso: Metoda ta zrealizowana w programach Pandor oraz Instant jest udostępniona na stronie przedmiotu w katalogu: Komputerowe narzędzia syntezy logicznej a) generacja implikantów prostych (wg Espresso) b) selekcja implikantów (wg Quinea McCluskeya) Zmodyfikowana metoda ekspansji (rozdz. 3.3 książka SUL lub rozdz. 4 Ulog w zadaniach)

2 I T P W ZPT 2 Pojęcia podstawowe Kostka K to krotka o składowych 0, 1, reprezentująca zbiór wektorów zero-jedynkowych. Kostka reprezentuje niepełny iloczyn: K = 0 1 = K = (0 1 ), to zbiór wektorów: Nie każda kostka jest implikantem, ale każdy implikant jest kostką. Kostka może być zbiorem wektorów fałszywych, albo prawdziwych i fałszywych.

3 I T P W ZPT 3 Oznaczenia W standardzie espresso wektory (w ogólności kostki), dla których funkcja f = 1 oznacza się zbiorem F. Wektory (kostki) dla których funkcja f = 0 oznacza się zbiorem R. f = (F, R)

4 I T P W ZPT 4 Przykład (EXTL) x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f k1k k2k k3k k4k k5k

5 I T P W ZPT 5 Ekspansja Ekspansja jest procesem działającym na kostkach zbiorów F i R, a jej celem jest uzyskanie dla danej k F kostki k' tak dużej, jak to tylko możliwe (tzn. z możliwie dużą liczbą pozycji o wartości ) i nie pokrywającej żadnego wektora zbioru R. W swoich obliczeniach Ekspansja wykorzystuje tzw. macierz blokującą B. Macierz blokująca dla danej kostki k F powstaje z macierzy R przez zanegowanie tych kolumn R, których pozycje są wyznaczone przez pozycje jedynek w kostce k F.

6 I T P W ZPT 6 Tworzenie macierzy blokującej Wyznaczymy macierz blokującą dla kostki k 1 wiedząc, że F i R są opisane macierzami: Skoro k 1 = ( ), to dla uzyskania B wystarczy w macierzy R "zanegować" kolumny drugą, piątą i siódmą. Zatem B(k 1,R):

7 I T P W ZPT 7 Pokrycie kolumnowe Pokryciem kolumnowym macierzy B jest zbiór kolumn L (L {1,...,n}) taki, że dla każdego wiersza i istnieje kolumna j L, która w wierszu i ma jedynkę. Pokryciem kolumnowym Zbiór L jest minimalnym pokryciem kolumnowym macierzy B, jeśli nie istnieje zbiór L (tworzący pokrycie) taki, że L L. L = {L 4, L 7 } jest pokryciem kolumnowym. L = {L 2, L 3, L 6 } jest pokryciem kolumnowym. L = {L 2, L 3 } – nie L = {L 2, L 6 } – nie L = {L 3, L 6 } – nie Przykład i interpretacja: Obliczenie jakiegokolwiek minimalnego pokrycia kolumnowego nie jest trudne!

8 I T P W ZPT 8 Jak obliczyć wszystkie… minimalne pokrycia kolumnowe! Koniunkcję sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów Zapisać zbiory kolumn wskazywane 1 (jedynkami) Składniki tego iloczynu reprezentują minimalne pokrycia (L i, L j,L k …) (L k, L p,L q …) (L i + L j + L k ) (L k + L p + L q ) … w postaci iloczynu sum L i L k + L j L p L q + …

9 I T P W ZPT 9 (L 6 + L 7 ) (L 3 + L 4 ) (L 2 + L 4 ) (L 2 + L 3 + L 7 ) = ( L 4 + L 2 )(L 4 + L 3 )( L 7 + L 6 )(L 7 + L 2 + L 3 ) = ( L 4 + L 2 L 3 )(L 7 + L 6 (L 2 + L 3 )) = ( L 4 + L 2 L 3 )(L 7 + L 2 L 6 + L 3 L 6 ) = L 4 L 7 + L 2 L 4 L 6 + L 3 L 4 L 6 + L 2 L 3 L 7 + L 2 L 3 L 6 + L 2 L 3 L 6 Przykład… Korzystamy z własności algebry Boolea {L 6, L 7 } {L 3, L 4 } {L 2, L 4 } {L 2, L 3, L 7 } Obliczanie pokrycia kolumnowego

10 I T P W ZPT 10 {L 6, L 7 } {L 3, L 4 } {L 2, L 4 } {L 2, L 3, L 7 } L 4 L 7 + L 2 L 4 L 6 + L 3 L 4 L 6 + L 2 L 3 L 7 + L 2 L 3 L 6 Obliczanie pokrycia kolumnowego {L 4, L 7 } {L 2, L 4, L 6 } Obliczona i zminimalizowana suma iloczynów reprezentuje wszystkie minimalne pokrycia kolumnowe {L 3, L 4, L 6 }... Pokrycie kolumnowe jest pojęciem ogólnym, można go tworzyć dla każdej macierzy binarnej

11 I T P W ZPT 11 Pokrycie kolumnowe macierzy blokującej B(k,R) pozwala wyznaczyć ekspansję kostki k oznaczaną k + (L,k) w sposób następujący: wszystkie składowe kostki k należące do L nie ulegają zmianie, natomiast składowe nie należące do L przyjmują wartość. Ekspansja kostki k jest implikantem funkcji f = (F,R). W szczególności k + (L,k) jest implikantem prostym, gdy L jest minimalnym pokryciem kolumnowym macierzy B(k,R). Generacja (obliczanie) implikantów

12 I T P W ZPT 12 Obliczanie implikantów - przykład Dla k 2 = ( ) i macierzy B= zbiór L = {4,7} jest pokryciem kolumnowym B, a więc Natomiast dla L = {2,3,6} (inne pokrycie kolumnowe), k + (L,k) = ( 00 1 ) = k 2 = ( ) czyli implikantem F jest k + (L, k 2 ) = ( 0 0),

13 I T P W ZPT 13 Ekspansja - interpretacja x3x4x1x2x3x4x1x –– – –1 Kostka 0111 Ekspansja 0*1* W interpretacji tablic Karnaugha ekspansja to powiększenie kostki pierwotnej, czyli zakreślenie wokół tej kostki jak największej pętelki.

14 I T P W ZPT 14 Zmodyfikowana procedura Ekspansji 10010k1k k2k kjkj knkn Macierz blokująca Wszystkie minimalne pokrycia kolumnowe Wszystkie (najkrótsze) implikanty proste Zbiór implikantów prostych Powtarzamy dla każdej kostki k j F Uzyskane zbiory implikantów prostych porządkujemy wyrzucając implikanty powtarzające się

15 I T P W ZPT 15 Implikanty proste Obliczając kolejno implikanty proste dla każdej k F uzyskuje się: Dla k 1 1 x 74 xx 2 5 x xx 63 xx 5 62 xx k1k1 k2k2 k3k3 k4k4 k5k5 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f

16 I T P W ZPT 16 Implikanty proste Porządkując i oznaczając kolejno uzyskujemy następujący zbiór implikantów prostych: Na ogół jest to zbiór za duży, zatem trzeba wybrać najlepsze implikanty.

17 I T P W ZPT 17 … przystępujemy do procesu selekcji Selekcji minimalnej liczby implikantów prostych umożliwiających realizację (pokrycie) funkcji boolowskiej dokonuje się za pomocą tzw. * r lub t r T) (R T pokrywaR i ii jeśli (101 ) 1 * (0 ) (0010) 1 * (0 ) Relacja pokrycia dla kostek Tablicy implikantów (prostych) Pojęciem pomocniczym umożliwiającym konstrukcję TI jest:

18 I T P W ZPT 18 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 k1k k2k k3k k4k k5k Relacja pokrycia dla kostek 1 k )(0, 51 kk )01( 432 k,k,k 0)0( Tablica F:

19 I T P W ZPT 19 Tablica implikantów prostych I1I1 I2I2 I3I3 I4I4 I5I5 k1k1 k2k2 k3k3 k4k4 k5k5 Korzystając z informacji jakie wektory (kostki) funkcji pierwotnej pokrywają poszczególne implikanty tworzymy tablicę implikantów prostych: W tablicy tej wiersze reprezentują: kostki funkcji pierwotnej, a kolumny – implikanty (kostki po ekspansji). Jeśli i k to w przecięciu wiersza i, kolumny j, stawiamy 1, w przeciwnym przypadku – k,k,kI k,kI k I 3 I 3 k 5 I 53 k,k 2

20 I T P W ZPT 20 Tablica implikantów prostych Tablica implikantów prostych umożliwia wybór (selekcję) takiego minimalnego zbioru implikantów, który pokrywa wszystkie kostki funkcji pierwotnej

21 I T P W ZPT 21 Selekcja implikantów prostych I 1, I 4 I 2 I 2,I 3, I 5 I 2 I 4, I 5 Inny zapis tablicy: Minimalne pokrycie: Minimalna formuła: I 1, I 4 I 4, I 5 I 2,I 4 Pokrycie kolumnowe Jak z tej tablicy znaleźć minimalny zbiór implikantów pokrywający każdą k 1,…, k 5 I1I1 I2I2 I3I3 I4I4 I5I5 k1k1 k2k2 k3k3 k4k4 k5k

22 I T P W ZPT 22 Implementacja metody – program Pandor Implicants table of function y All results of function y1 y1 = !x4!x7 + x2!x6 Fragment pliku wyjściowego Pandora: Trochę inny zapis Metoda ta zrealizowana w programach Pandor oraz Instant jest udostępniona na stronie przedmiotu w katalogu: Komputerowe narzędzia syntezy logicznej

23 I T P W ZPT 23.type fr.i 7.o 1.p 9.ilb x1 x2 x3 x4 x5 x6 x7.ob y e.i 7.o 1.ilb x1 x2 x3 x4 x5 x6 x7.ob y.p e Taki sam wynik generuje Espresso… …funkcja EXTL w formacie espresso Więcej na temat formatu espresso w książce SUL Espresso

24 I T P W ZPT 24 Procedury systemu ESPRESSO Expand Essential primes Irredundant-Cover Reduce Last-gasp F,D F M Complement (rozdział 6 w książce SUL)

25 I T P W ZPT 25 Plik wejściowy i wyjściowy przykładu.type fr.i 7.o 1.p 9.ilb x1 x2 x3 x4 x5 x6 x7.ob y e.i 7.o 1.ilb x1 x2 x3 x4 x5 x6 x7.ob y.p e Skoro wyszło to samo co w obliczeniach za pomocą tylko jednej procedury ekspansji......to po co są inne procedury ESPRESSO To jest za prosty przykład!

26 I T P W ZPT 26 Expand Essential primes Irredundant-Cover Reduce Last-gasp F,D F M Complement A jak w jest w rzeczywistym Espresso...

27 I T P W ZPT 27 A jak w jest w rzeczywistym Espresso... Oblicza się ekspansję kostki k 1 (ozn. E(k 1 )) – tylko jedną Wykreśla się z macierzy F wszystkie wektory pokrywane przez E(k 1 ) Powstaje nowa macierz F, w której bierzemy pierwszą kostkę i postępujemy tak samo… Proces kończy się, gdy pokryjemy (wykreślimy) wszystkie kostki F Wynik (zminimalizowaną funkcję) tworzą kolejno obliczone ekspansje

28 I T P W ZPT 28 Przykład obliczany oryginalną ekspansją x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f k1k k2k k3k k4k k5k

29 I T P W ZPT 29 Przykład… F k5k5 k4k4 k3k3 k2k2 k1k

30 I T P W ZPT B k5k5 F = Przykład… Taki może być wynik Ekspansji z Espresso

31 I T P W ZPT 31 Procedury systemu ESPRESSO Expand Essential primes Irredundant-Cover Reduce Last-gasp F,D F M Complement 62 xx


Pobierz ppt "I T P W ZPT 1 Metoda ekspansji Łączy idee metody Quinea McCluskeya oraz metody Espresso: Metoda ta zrealizowana w programach Pandor oraz Instant jest udostępniona."

Podobne prezentacje


Reklamy Google