Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej

Podobne prezentacje


Prezentacja na temat: "Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej"— Zapis prezentacji:

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

2 Pojęcia podstawowe Kostka K to krotka o składowych 0, 1,  reprezentująca zbiór wektorów zero-jedynkowych. K = (01), to zbiór wektorów:   Kostka reprezentuje niepełny iloczyn: K = 01 = 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 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 Przykład (EXTL) x1 x2 x3 x4 x5 x6 x7 f 1 k1 k2 k3 k4 k5

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 Tworzenie macierzy blokującej
Wyznaczymy macierz blokującą dla kostki k1 wiedząc, że F i R są opisane macierzami: Skoro k1 = ( ), to dla uzyskania B wystarczy w macierzy R "zanegować" kolumny drugą, piątą i siódmą. Zatem B(k1,R):

7 Pokrycie kolumnowe Przykład i interpretacja:
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’. Przykład i interpretacja: L = {L4, L7} jest pokryciem kolumnowym. L = {L2, L3} – nie L = {L2, L3, L6} jest pokryciem kolumnowym. L = {L2, L6} – nie L = {L3, L6} – nie Obliczenie jakiegokolwiek minimalnego pokrycia kolumnowego nie jest trudne!

8 Jak obliczyć wszystkie…
minimalne pokrycia kolumnowe! Zapisać zbiory kolumn wskazywane 1 (jedynkami) (Li, Lj ,Lk …) (Lk, Lp,Lq …) w postaci iloczynu sum (Li + Lj + Lk) (Lk + Lp + Lq) … Koniunkcję sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów Li Lk + Lj LpLq + … Składniki tego iloczynu reprezentują minimalne pokrycia

9 Obliczanie pokrycia kolumnowego
Przykład… {L6, L7} Korzystamy z własności algebry Boole’a {L3, L4} {L2, L4} {L2, L3, L7} (L6 + L7) (L3 + L4) (L2 + L4) (L2 + L3 + L7) = (L4 + L2)(L4 + L3)( L7 + L6)(L7 + L2 + L3) = (L4 + L2 L3)(L7 + L6(L2 + L3)) = (L4 + L2 L3)(L7 + L2L6+ L3L6) = L4 L7 + L2 L4L6 + L3L4L6 + L2 L3L7 + L2 L3L6 + L2 L3L6

10 Obliczanie pokrycia kolumnowego
Obliczona i zminimalizowana suma iloczynów reprezentuje wszystkie minimalne pokrycia kolumnowe {L6, L7} {L3, L4} {L2, L4} {L2, L3, L7} L4 L7 + L2 L4L6 + L3L4L6 + L2 L3L7 + L2 L3L6 {L4, L7} {L2, L4, L6} {L3, L4, L6}... Pokrycie kolumnowe jest pojęciem ogólnym, można go tworzyć dla każdej macierzy binarnej

11 Generacja (obliczanie) implikantów
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).

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

13 Ekspansja - interpretacja
W interpretacji tablic Karnaugha ekspansja to powiększenie kostki pierwotnej, czyli zakreślenie wokół tej kostki jak największej pętelki. Kostka 0111 x3x4 x1x2 00 01 11 10 1 Ekspansja 0*1*

14 Zmodyfikowana procedura Ekspansji
Wszystkie minimalne pokrycia kolumnowe Macierz blokująca Wszystkie (najkrótsze) implikanty proste 1 ••• k1 k2 kj kn Zbiór implikantów prostych Powtarzamy dla każdej kostki kj  F Uzyskane zbiory implikantów prostych porządkujemy wyrzucając implikanty powtarzające się

15 Implikanty proste x x x x x
Obliczając kolejno implikanty proste dla każdej k Î F uzyskuje się: x1 x2 x3 x4 x5 x6 x7 f 1 Dla k 1 x 7 4 x Dla k 2 k1 k2 k3 k4 k5 5 x Dla k 3 Dla k 4 7 x 6 3 x Dla k 5 2

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 … przystępujemy do procesu selekcji
Selekcji minimalnej liczby implikantów prostych umożliwiających realizację (pokrycie) funkcji boolowskiej dokonuje się za pomocą tzw. Tablicy implikantów (prostych) Pojęciem pomocniczym umożliwiającym konstrukcję TI jest: Relacja pokrycia dla kostek * r lub t T) (R T pokrywa R i = Ê jeśli (101) Ê / 1 * (0 ) (0010)

18 ) (0 * k Ê ) 1 ( * , k Ê 0) ( * k , Ê Relacja pokrycia dla kostek
Tablica F: x1 x2 x3 x4 x5 x6 x7 k1 1 k2 k3 k4 k5 ) (0 * 1 k Ê ) 1 ( * , 5 1 k Ê 0) ( * 4 3 2 k , Ê

19 Tablica implikantów prostych
Korzystając z informacji jakie wektory (kostki) funkcji pierwotnej pokrywają poszczególne implikanty tworzymy tablicę implikantów prostych: 4 3 2 5 1 k , I Ê W tablicy tej wiersze reprezentują: kostki funkcji pierwotnej, a kolumny – implikanty (kostki po ekspansji). Jeśli i k Ê I1 I2 I3 I4 I5 k1 k2 k3 k4 k5 1 1 1 1 to w przecięciu wiersza i, kolumny j, stawiamy 1, w przeciwnym przypadku – 0.

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 Selekcja implikantów prostych
Jak z tej tablicy znaleźć minimalny zbiór implikantów „pokrywający” każdą k1,…, k5 I1 I2 I3 I4 I5 k1 k2 k3 k4 k5 Pokrycie kolumnowe 1 1 1 1 Inny zapis tablicy: I1, I4 I2 I2 ,I3, I5 I2 I4, I5 I1, I4 I4, I5 Minimalne pokrycie: I2,I4 Minimalna formuła:

22 Implementacja metody – program Pandor
Implicants table of function y1 10010 01000 01101 00011 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 Więcej na temat formatu espresso w książce SUL
Taki sam wynik generuje Espresso… .type fr .i 7 .o 1 .p 9 .ilb x1 x2 x3 x4 x5 x6 x7 .ob y e Więcej na temat formatu espresso w książce SUL .i 7 .o 1 .ilb x1 x2 x3 x4 x5 x6 x7 .ob y .p e Espresso …funkcja EXTL w formacie espresso

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

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 A jak w jest w rzeczywistym Espresso...
F,D Complement Expand Essential primes Irredundant-Cover Reduce F M Last-gasp

27 A jak w jest w rzeczywistym Espresso...
Oblicza się ekspansję kostki k1 (ozn. E(k1)) – tylko jedną Wykreśla się z macierzy F wszystkie wektory pokrywane przez E(k1) 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 Przykład obliczany oryginalną ekspansją
x1 x2 x3 x4 x5 x6 x7 f 1 k1 k2 k3 k4 k5

29 Przykład… 1 2 3 4 5 6 7 1 2 3 4 5 6 7 é ù ê ú ê ú ê ú ê ú ê ú ë û 7 6
1 1 1 ù k1 ê ú 1 1 1 k2 ê ú F = ê 1 1 ú k3 ê ú 1 1 1 1 k4 ê ú ë 1 1 1 1 1 û k5 7 6 5 4 3 2 1

30 Przykład… Taki może być wynik Ekspansji z Espresso 1 2 3 4 5 6 7 F = 7
k5 F = 7 6 5 4 3 2 ú û ù ê ë é = 1 7 6 5 4 3 2 B Taki może być wynik Ekspansji z Espresso

31 Procedury systemu ESPRESSO
F,D Complement Expand 6 2 x + Essential primes Irredundant-Cover Reduce F M Last-gasp


Pobierz ppt "Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej"

Podobne prezentacje


Reklamy Google