Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Układy kombinacyjne. Układy kombinacyjne 2/28 Metody minimalizacji układów kombinacyjnych Zjawisko hazardu.

Podobne prezentacje


Prezentacja na temat: "Układy kombinacyjne. Układy kombinacyjne 2/28 Metody minimalizacji układów kombinacyjnych Zjawisko hazardu."— Zapis prezentacji:

1 Układy kombinacyjne

2 Układy kombinacyjne 2/28 Metody minimalizacji układów kombinacyjnych Zjawisko hazardu

3 Minimalizacja funkcji logicznych 3/28 Minimalizacja funkcji logicznych Przy bardziej złożonych funkcjach logicznych użycie wprost zapisów KPS i KPI do realizacji układu prowadzi do rozbudowanych układów cyfrowych. Dlatego dąży się do minimalizacji funkcji logicznych, polegającej na zmniejszeniu liczby operatorów i zmiennych potrzebnych do ich zapisu. Dzięki temu potrzeba mniejszej liczby bramek logicznych i mniejszej sieci połączeń między nimi. To z kolei pozwala uzyskać układ cyfrowy: zajmujący mniej miejsca; zużywający mniej energii podczas pracy; bardziej niezawodny; tańszy w produkcji i eksploatacji.

4 Minimalizacja funkcji logicznych 4/28 Zmniejszenie liczby zmiennych i operatorów w wyrażeniu opisującym funkcję logiczną można osiągnąć poprzez odpowiednie przekształcenia tegoż wyrażenia. Pomocne są przy tym właściwości algebry Boole'a podane wcześniej. Spośród metod przydatnych przy "ręcznym" projektowaniu układów cyfrowych należy wymienić: metodę przekształceń algebraicznych; metodę tablic Karnaugh'a; metodę Quine'a-McCluskey'a. ( skrypt PB: Podstawy techniki cyfrowej)

5 Minimalizacja funkcji logicznych 5/28 1. Wykorzystanie przekształceń algebraicznych dla APN: f 1 = [1, 3, 4, 6, 7] mamy bez minimalizacji: Koszt realizacji: 3 x NOT + 4 x NAND + 2 x OR

6 Przekształcając funkcję f 1 z wykorzystaniem właściwości algebry logiki uzyskujemy: Minimalizacja funkcji logicznych 6/28 Schematy realizacyjne: wiersz w4 wiersz w5 koszty realizacji: 2 x NOT + 3 x AND + 1 x OR 1 x AND + 1 x XOR + 1 x OR

7 Metoda przekształceń algebraicznych cechuje się: silnym uzależnieniem od umiejętności i doświadczenia projektanta; uzyskiwaniem nie zawsze minimalnych realizacji; trudna w stosowaniu przy funkcjach niezupełnych i słabookreślonych. Minimalizacja funkcji logicznych 7/28

8 Dlatego opracowano bardziej sformalizowane metody prowadzące do uzyskania zapisów funkcji logicznej w formach przypominających zdefiniowane wcześniej KPS i KPI - są to tzw. postacie normalne APN i KPN: APN - Alternatywna Postać Normalna - suma prostych iloczynów zmiennych logicznych lub ich negacji, np.: Iloczyny będące składnikami APN nazywa się implikantami. KPN - Koniunkcyjna Postać Normalna - iloczyn prostych sum zmiennych logicznych lub ich negacji. np.: Sumy będące czynnikami KPN nazywa się implicentami. Minimalizacja funkcji logicznych 8/28

9 Minimalizacja funkcji logicznych 9/28 2. Metoda tablic Karnaugh'a - tablicowo-graficzna ( skrypt PB: Podstawy techniki cyfrowej rozdz. 2.3.1) Konstruowanie tablicy Karnaugh'a: 1. Wypisujemy wartości funkcji dla wszystkich możliwych słów wejściowych A i. Przy n zmiennych wejściowych jest 2 n takich wartości. Traktując kolejne A i jako słowa kodu NB porządkujemy je rosnąco. 2. Dzielimy zbiór zmiennych wejściowych na dwie grupy o l=n/2 i k=n-l zmiennych. 3. Rysujemy tablicę prostokątną o l wierszach i k kolumnach. 4. Wiersze i kolumny tablicy opisujemy kolejnymi liczbami kodu Gray'a. W ten sposób dowolne pole tablicy ma współrzędne (A li ; A ki ) odpowiadające po połączeniu tylko jednemu ze słów wejściowych A i. 5. W pola tablicy wpisujemy odpowiednie wartości funkcji: f(A i ): "1" dla f(A i )=1"0" dla f(A i )=0"-" dla f(A i )=x

10 Minimalizacja funkcji logicznych 10/28 Minimalizacja polega na łączeniu w grupy po 2, 4, 8 itd. Pól, których współrzędne różnią się parami tylko na jednej pozycji – są to tzw. pola sąsiadujące. Zwykle zaczyna się od wyznaczenia par pól sąsiadujących, a następnie szuka możliwości połączenia sąsiadujących ze sobą par tworząc grupy 4-elementowe, itd.

11 Minimalizacja funkcji logicznych 11/28 Utworzone pola muszą spełniać warunki: zawierają zawsze 2 m pól; wartości funkcji w ich wnętrzu są jednakowe lub część pól może mieć wartość nieokreśloną; obszary mają kształt regularnych prostokątów, o długościach boków będących potęgami 2 (np. 1x2, 1x4, 2x2, 4x2); w jednej tablicy mogą się znaleźć obszary o różnych rozmiarach; zbiór wszystkich obszarów pokrywa maksymalną liczbę "1" lub "0" (zależnie od tego, które pola się skleja), niektóre pola mogą pozostać nie sklejone z żadnym z obszarów; obszary mogą mieć części wspólne, tzn. to samo pole może należeć do więcej niż jednego obszaru.

12 Minimalizacja funkcji logicznych 12/28 Przykłady możliwych sklejeń w tablicy 4x4 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 ab cd ab cd ab cd ab cd ab cd ab cd

13 Przykład pokrywania się możliwych sklejeń współrzędne zaznaczonych grup: I 1 : 1_0_ I 2 : _11_ I 3 : 11_ _ Minimalizacja funkcji logicznych 13/28 Przykłady możliwych sklejeń w tablicy 4x8 00 01 11 10 000 001 011 010 110 111 101 100 00 01 11 10 000 001 011 010 110 111 101 100 ab cde ab cde I2I2 I3I3 I1I1 00 01 11 10 00 01 11 10 ab cd

14 Minimalizacja funkcji logicznych 14/28 Przykład 1 wykorzystania metody Dana jest funkcja trzech zmiennych f 1 (a,b,c) = [1, 3, 4, 6, 7]. Należy wyznaczyć minimalne realizacje APN i KPN. tablica prawdy tablica Karnaugha AiAi abcf1f1 00000 10011 20100 30111 41001 51010 61101 71111 00 01 11 10 00110011 11101110 0 1 ab c O5O5 O4O4 O3O3 O1O1 O2O2 Dla jedynek funkcji: Dla zer funkcji:

15 Minimalizacja funkcji logicznych 15/28 Przykład 2 wykorzystania metody Dana jest funkcja trzech zmiennych f 1 (a,b,c) = [0, 1, 4 (2, 7)]. Należy wyznaczyć minimalne realizacje APN i KPN. tablica prawdy tablica Karnaugha Dla jedynek funkcji: Dla zer funkcji: AiAi abcf1f1 00001 10011 2010- 30110 41001 51010 61100 7111- 00 01 11 10 1-011-01 10-010-0 0 1 ab c O4O4 O3O3 O1O1 O2O2

16 Minimalizacja funkcji logicznych 16/28 Przykład 3 wykorzystania metody Dana jest tablica Karnaugha. Należy wyznaczyć minimalną realizację APN. 00 01 11 10 00 01 11 10 x1x2x1x2 x3x4x3x4 1 1 1 0 - 1 0 - 1 1 - 1 0 0 1 1 O5O5 O1O1 O2O2 O3O3 O4O4 O6O6

17 Minimalizacja funkcji logicznych 17/28 Z 6 możliwych grup można utworzyć 4 warianty:

18 Minimalizacja funkcji logicznych 18/28 2. Metoda Quinea-McCluskeya – analityczna ( skrypt PB: Podstawy techniki cyfrowej rozdz. 2.3.2) Szczegółowy opis algorytmu postępowania w skrypcie Przykład zastosowania Funkcja jest przedstawiona opisami dziesiętnymi: f= {0,1,3,4,5,10,11,12,13,14,15} f= {2,6,7,8,9}

19 Minimalizacja funkcji logicznych 19/28 Dla APN mamy: ix1x1 x2x2 x3x3 x4x4 f(A i ) 1 funkcji 1 posortowane 000001 00000000 v000x v 100011 00010001 v0x00 v0x0x * 200100 00110100 v00x1 * 300111 01000x01 v 401001 01010011 v010x v 501011 10100101 vx100 v 601100 10111010 vx011 *x10x * 701110 11001100 vx101 v 810000 1101101x v 910010 11101011 v1x10 v 1010101 11111101 v110x v 1110111 1110 v11x0 v1x1x * 1211001 1x11 v11xx * 1311011 1111 v11x1 v 1411101 111x v 1511111

20 Zbiór prostych implikantów: 00x1, x011, 0x0x, x10x, 1x1x, 11xx Tablica pokrycia (indeksy przy v oznaczają kolejność ich pojawiania się w tablicy) A i f(A i )=1 0000 0001 0011 0100 0101 1010 1011 1100 1101 1110 1111 00x1 x011 v 2 0x0x x10x v 2 1x1x 11xx v 1 v 3 v 2 v 3 v 1 v 3 v 3 v 3 Minimalizacja funkcji logicznych 20/28 albo

21 Minimalizacja funkcji logicznych 21/28 Ostatecznie możliwe są 4 minimalne formy wyrażenia logicznego APN reprezentującego funkcję: y = x 1 x 3 + x 1 x 3 + x 1 x 2 x 4 + x 2 x 3 y = x 1 x 3 + x 1 x 3 + x 1 x 2 x 4 + x 1 x 2 y = x 1 x 3 + x 1 x 3 + x 2 x 3 x 4 + x 2 x 3 y = x 1 x 3 + x 1 x 3 + x 2 x 3 x 4 + x 1 x 2

22 Minimalizacja funkcji logicznych 22/28 Dla KPN byłoby: 00100010 v 01101000 v0x10 * 01110110 v100x * 10001001 v011x * 10010111 v Implicenty proste: x 1 + x 3 + x 4 x 1 + x 2 + x 3 wszystkie implicenty są niezbędne Tablica pokrycia: Ai f(Ai)=0 0010 0110 0111 1000 1001 v 2 0x10 v 6 100x v 4 011x v 1 v 2 v 3 v 5

23 Minimalizacja funkcji logicznych 23/28 Metodę Quinea-McCluskeya można też zrealizować pozostając przy notacji dziesiętnej APN lub KPN funkcji Przykład Funkcja jest przedstawiona opisami dziesiętnymi: f= {1,3,7,9,12,13,14(0,5,10)}

24 Minimalizacja funkcji logicznych 24/28 Dla APN: ix1x1 x2x2 x3x3 x4x4 f(X i ) 0 0000-00 v0,1(1) * 10001111 v 20010031,3(2) v 30011153 v1,5(4) v 40100075 v1,9(8) v 50101-99 v1,3,5,7(2,4) * 6011001010 v3,7(8) v1,5,9,13(4,8) * 7011111212 v5,7(2) v 810000135,13(8) v 910011147 v9,13(4) v 101010-13 v10,14(4) * 111011014 v12,13(1) * 121100112,14(2) * 1311011 1411101 1511110

25 Zbiór prostych implikantów: 0,1(1), 10,14(4), 12,13(1), 12,14(2), 1,3,5,7(2,4), 1,5,9,13(4,8) co odpowiada zapisom binarnym: 000x, 1x10, 110x, 11x0, 0xx1, xx01 Tablica pokrycia (indeksy przy v oznaczają kolejność ich pojawiania się w tablicy): X i \ f(X i )=1: 1 3 7 9 12 13 14 0,1 10,14 12,13 12,14 v 2 1,3,5,7 - implikant niezbędny v 2 1,5,9,13 - implikant niezbędny v 3 v 1 v 1 v 1 v 3 Minimalizacja funkcji logicznych 25/28

26 Ponieważ w powyższej tablicy nie wszystkie jedynki funkcji zostały pokryte, konieczna jest dodatkowa tablica pokrycia, umożliwiająca wybór brakujących implikantów. Tablica ta powinna uwzględniać tylko niepokryte wcześniej jedynki funkcji i nie wykorzystane jeszcze implikanty: X i \ f(X i )=1: 12 14 10,14 wiersz zdominowany 12,13 wiersz zdominowany 12,14 wiersz dominujący Minimalizacja funkcji logicznych 26/28 Ostatecznie zostają implikanty: 1,3,5,7(2,4), 1,5,9,13(4,8), 12,14(2), co odpowiada zapisom binarnym: 0xx1, xx01, 11x0. Minimalna postać APN funkcji jest następująca: f = x1 x4 + x3 x4 + x1 x2 x4

27 Niech funkcja będzie opisana tablicą Karnaugha: Zjawisko hazardu 27/28 00 01 11 10 00100010 11101110 0 1 ab c O1O1 O2O2 y= ab+~ac Realizacja na bramkach: Przy bramce NOR na wyjściu byłby to hazard w zerach (HS0) a ~a b c ab ~ac y tzw. hazard w jedynkach (HS1) τPτP

28 Zjawisko hazardu 28/28 Eliminacja hazardu: 00 01 11 10 00100010 11101110 0 1 ab c O1O1 O2O2 y= ab+~ac+bc Realizacja na bramkach: O3O3 a ~a b c ab ~ac bc y


Pobierz ppt "Układy kombinacyjne. Układy kombinacyjne 2/28 Metody minimalizacji układów kombinacyjnych Zjawisko hazardu."

Podobne prezentacje


Reklamy Google