Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Minimalizacja funkcji boolowskich

Podobne prezentacje


Prezentacja na temat: "Minimalizacja funkcji boolowskich"— Zapis prezentacji:

1 Minimalizacja funkcji boolowskich
Zagadnienie intensywnych prac badawczych od początku lat pięćdziesiątych 20 wieku. Ogromny wzrost zainteresowania minimalizacją f.b. powstał ponownie w latach 80. Przyczyna: możliwość realizacji układów logicznych w strukturach scalonych o złożoności milionów bramek logicznych.

2 Minimalizacja funkcji boolowskich
W ciągu kilkudziesięciu lat powstało wiele metod… Graficzne Analityczne Komputerowe Absolutnie nieprzydatne do obliczeń komputerowych Tablice Karnaugha Metoda Quine’a – McCluskey’a Omówienie całego Espresso jest nierealne! Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich (Uniwersytet Kalifornijski w Berkeley) : Metoda i system Espresso (1984) Ze względu na ograniczony zakres wykładu omówimy wyłącznie: Metodę tablic Karnaugha Metodę Ekspansji (jako przykładową procedurę Espresso)

3 Metoda tablic Karnaugha
Mimo swoich niedoskonałości metoda K. jest często wykładaną metodą minimalizacji funkcji boolowskich. Paradoksalnie to co jest jej wadą – prostota – jest jednocześnie jej zaletą, gdyż można szybko ją „opanować” i stosować w obliczeniach ręcznych… Należy jednak pamiętać, że w praktyce projektowania inżynierskiego metoda tablic K. jest absolutnie nieprzydatna.

4 Tablice Karnaugha Tablica K. jest prostokątem złożonym z 2n kratek, z których każda reprezentuje jeden pełny iloczyn (minterm) zmiennych binarnych. W kratki wpisuje się wartości funkcji. x3 x1x2 1 00 01 11 10 W tablicy K. różniącym się tylko o negację pełnym iloczynom przyporządkowane są leżące obok siebie pola tablicy (sąsiednie kratki). Korzysta się z faktu, że dla dowolnego A: - 1 Dla uzyskania efektu sąsiedztwa współrzędne pól opisuje się kodem Gray’a

5 Kod Gray’a 1 00 01 11 10 000 001 011 010 110 111 101 100 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

6 Przykładzik wprowadzający do metody
1) Wpisanie funkcji do tablicy x1 x2 x3 f 1 2 3 4 5 6 7 2) Zakreślanie pętelek Z pętelkami kojarzymy iloczyn zmiennych (prostych lub zanegowanych) x3 x1x2 1 00 01 11 10 1 1 1 f = x1x2 + x3

7 Wpisywanie funkcji ułatwia…
…opis kratek tablic Karnaugha wg NKB x3 x1x2 1 00 01 2 3 11 6 7 10 4 5 x2x3 x1 00 01 11 10 1 3 2 4 5 7 6 x1 x2 x3 f 1 2 3 4 5 6 7 x3 x1x2 1 00 01 11 10 x3x4 x1x2 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9 1 1 1

8 Zakreślanie pętelek i tworzenie iloczynów
x3 x1x2 1 00 01 11 10 x1 x3 x2 1 = 3 2 x f 1 x1 x3 x2 1 x1 x2 x3 x3 1 x1 x2

9 Algorytm minimalizacji
1) Zapisujemy funkcję do tablicy K. 2) Zakreślamy pętelki. a) Pętelki zakreślamy wokół grup sąsiadujących kratek zawierających 1-ki albo 1-ki i „–” (kreski). b) Liczba kratek objętych pętelka musi wynosić: 1, 2, 4, …,2k. c) Staramy się objąć pętelką jak największą liczbę kratek. 3) Pętelki zakreślamy tak długo, aż każda 1-ka będzie objęta co najmniej jedną pętelką, pamiętając o tym aby pokryć wszystkie 1-ki możliwie minimalną liczbą pętelek. 4) Z każdą pętelką kojarzymy iloczyn zmiennych prostych lub zanegowanych. Suma tych iloczynów, to minimalne wyrażenie boolowskie danej funkcji.

10 Przykłady prawidłowych pętelek…
x2x3 x1 00 01 11 10 1 x3 x1x2 1 00 01 11 10 x4x5 x1x2x3 00 01 11 10 000 001 011 010 110 111 101 100 x3x4 x1x2 00 01 11 10

11 Przykład - minimalizacja dla KPS
Suma iloczynów x3x4 x1x2 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9  f = 0, 5, 6, 7, 10, (2, 3, 11, 12) x3x4 x1x2 00 01 11 10 1

12 Przykład - minimalizacja dla KPI
Różnice wynikają ze sposobu interpretacji zmiennej w… Wszystkie czynności są takie same Kanonicznej Postaci Sumy: Kanonicznej Postaci Iloczynu:

13 Ten sam przykład dla „iloczynu sum”
f = 0, 5, 6, 7, 10, (2, 3, 11, 12) x3x4 x1x2 00 01 11 10 1

14 Implikant funkcji boolowskiej
Celem minimalizacji jest reprezentacja funkcji w postaci sumy iloczynów …dlatego taki najkrótszy iloczyn nazywa się implikantem vivjvk + vpvqvrvs +… (v oznacza afirmację albo negację zmiennej x) z najmniejszą liczbą składników oraz najmniejszą łączną liczbą literałów, co zapewnia realizację… z najmniejszą liczbą bramek AND 14 i najmniejszą liczbą wejść do tych bramek

15 Implikant funkcji boolowskiej
 Implikant danej funkcji f jest to iloczyn literałów (zmiennych prostych i zanegowanych) taki, że odpowiadający mu zbiór wektorów binarnych nie zawiera wektora „zerowego” funkcji. Prosty implikant jest to implikant, który zmniejszony o dowolny literał przestaje być implikantem. Prosty implikant

16 Przykład z planszy 11 jest implikantem, bo zbiór wektorów:
x3x4 x1x2 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9  f = 0, 5, 6, 7, 10, (2, 3, 11, 12) jest implikantem, bo zbiór wektorów:   x3x4 x1x2 00 01 11 10 1 nie zawiera żadnego wektora (mintermu), dla którego wartość funkcji jest 0 Ale nie jest to implikant prosty, gdyż można usunąć x1 uzyskując:

17 Implikant funkcji boolowskiej - interpretacja
W interpretacji tablic Karnaugha implikant odpowiada prawidłowo zakreślonej grupie jedynek (i kresek). Natomiast implikant prosty odpowiada grupie jedynek (i kresek), której nie można powiększyć. Implikant x3x4 x1x2 00 01 11 10 1 To nie jest Implikant! Prosty implikant

18 Realizacje bramkowe Realizacja AND-OR (wg sumy iloczynów) Realizacja OR-AND (wg iloczynu sum)

19 Realizacja AND-OR Sum-of-products (SOP) x3 x1x2 1 00 01 11 10

20 Realizacja OR-AND Product-of-sums (POS) x3 x1x2 1 00 01 11 10 20

21 Inne operatory (bramki) logiczne
NAND NOR EX-OR NAND (NOT-AND) NOR (NOT-OR) EXOR (Exclusive OR)

22 Realizacja NAND x3 x1x2 1 00 01 11 10

23 Realizacja NOR x3 x1x2 1 00 01 11 10

24 Minimalizacja funkcji wielowyjściowych
Przykład sygnalizujący problem: Należy zaprojektować zespół trzech funkcji czterech argumentów: f1 = (3,7,11,14,15) f2 = (3,7,12,13,14,15) f3 = (3,7,11,12,13,15)

25 Przykład sygnalizujący problem…
Jeśli każdą funkcję zminimalizujemy oddzielnie: cd cd cd ab ab ab 00 01 11 10 00 01 11 10 00 01 11 10 f1 = abc + cd

26 … to uzyskamy… a b c f1 Do realizacji tych trzech funkcji potrzebujemy 9 bramek. Czy można zredukować ich liczbę? Patrz następna plansza . c d a b f2 c d a b f3 c d

27 …usuwamy niektóre bramki
c f1 Bramka AND dla f1 może być usunięta przez wykorzystanie bramki AND z f3. c d a b f2 c d a b Teraz potrzebujemy 8 bramek. …….cdn. f3 c d

28 …co dalej a b c f1 Bramkę AND z f2 można usunąć przez wykorzystanie faktu c d a b f2 c d Teraz potrzebujemy zaledwie 7 bramek. a b f3 c d

29 Komentarz Przykład sugeruje, że w realizacji zespołu funkcji stosowanie minimalnej sumy implikantów prostych nie zawsze prowadzi do rozwiązania z minimalnym kosztem.

30 Przykład 3.5 z książki SUL 7 bramek AND
cd ab 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9 1 10 11 01 00 cd ab 1 10 11 01 00 cd ab 1 10 11 01 00 cd ab 7 bramek AND

31 Przykład 3.5 z książki SUL 5 bramek AND
cd ab 00 01 11 10 1 cd ab 00 01 11 10 1 cd ab 00 01 11 10 1 1 2 3 4 5 bramek AND 1 2 5 … a poprzednio było 7 bramek AND!!! 4 3 5


Pobierz ppt "Minimalizacja funkcji boolowskich"

Podobne prezentacje


Reklamy Google