Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Układy kombinacyjne
2
Metody minimalizacji układów kombinacyjnych
Układy kombinacyjne /28 Metody minimalizacji układów kombinacyjnych Zjawisko hazardu
3
Minimalizacja funkcji logicznych 3/28
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
Wykorzystanie przekształceń algebraicznych dla APN: f1 = [1, 3, 4, 6, 7] mamy bez minimalizacji: Koszt realizacji: 3 x NOT + 4 x NAND + 2 x OR
6
Minimalizacja funkcji logicznych 6/28
Przekształcając funkcję f1 z wykorzystaniem właściwości algebry logiki uzyskujemy: Schematy realizacyjne: wiersz w wiersz w5 koszty realizacji: 2 x NOT + 3 x AND + 1 x OR x AND + 1 x XOR + 1 x OR
7
Minimalizacja funkcji logicznych 7/28
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.
8
Minimalizacja funkcji logicznych 8/28
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.
9
Minimalizacja funkcji logicznych 9/28
2. Metoda tablic Karnaugh'a - tablicowo-graficzna ( skrypt PB: “Podstawy techniki cyfrowej” rozdz ) Konstruowanie tablicy Karnaugh'a: 1. Wypisujemy wartości funkcji dla wszystkich możliwych słów wejściowych Ai. Przy n zmiennych wejściowych jest 2n takich wartości. Traktując kolejne Ai 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 (Ali ; Aki) odpowiadające po połączeniu tylko jednemu ze słów wejściowych Ai. 5. W pola tablicy wpisujemy odpowiednie wartości funkcji: f(Ai): "1" dla f(Ai)=1 "0" dla f(Ai)=0 "-" dla f(Ai)=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 2m 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 ab cd
13
Minimalizacja funkcji logicznych 13/28
Przykłady możliwych sklejeń w tablicy 4x8 00 01 11 10 ab cde Przykład pokrywania się możliwych sklejeń współrzędne zaznaczonych grup: I1 : 1_0_ I2 : _11_ I3 : 11_ _ I2 I3 I1 00 01 11 10 ab cd
14
Minimalizacja funkcji logicznych 14/28
Przykład 1 wykorzystania metody Dana jest funkcja trzech zmiennych f1(a,b,c) = [1, 3, 4, 6, 7]. Należy wyznaczyć minimalne realizacje APN i KPN. tablica prawdy tablica Karnaugh’a Dla jedynek funkcji: Ai a b c f1 1 2 3 4 5 6 7 00 01 11 10 1 ab c O5 O4 O3 O1 O2 Dla zer funkcji:
15
Minimalizacja funkcji logicznych 15/28
Przykład 2 wykorzystania metody Dana jest funkcja trzech zmiennych f1(a,b,c) = [0, 1, 4 (2, 7)]. Należy wyznaczyć minimalne realizacje APN i KPN. tablica prawdy tablica Karnaugh’a Dla jedynek funkcji: Ai a b c f1 1 2 - 3 4 5 6 7 00 01 11 10 1 - ab c O4 O3 O1 O2 Dla zer funkcji:
16
Minimalizacja funkcji logicznych 16/28
Przykład 3 wykorzystania metody Dana jest tablica Karnaugh’a. Należy wyznaczyć minimalną realizację APN. 00 01 11 10 x1x2 x3x4 O1 O2 O5 O4 O3 O6
17
Minimalizacja funkcji logicznych 17/28
Z 6 możliwych grup można utworzyć 4 warianty:
18
Minimalizacja funkcji logicznych 18/28
2. Metoda Quine’a-McCluskey’a – analityczna ( skrypt PB: “Podstawy techniki cyfrowej” rozdz ) 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: i x1 x2 x3 x4 f(Ai) „1” funkcji „1” posortowane 1 0000 0000 v 000x v 0001 0001 v 0x00 v 0x0x * 2 0011 0100 v 00x1 * 3 0100 0x01 v 4 0101 0011 v 010x v 5 1010 0101 v x100 v 6 1011 1010 v x011 * x10x * 7 1100 1100 v x101 v 8 1101 101x v 9 1110 1011 v 1x10 v 10 1111 1101 v 110x v 11 1110 v 11x0 v 1x1x * 12 1x11 v 11xx * 13 1111 v 11x1 v 14 111x v 15
20
Minimalizacja funkcji logicznych 20/28
Zbiór prostych implikantów: 00x1 , x011 , 0x0x , x10x , 1x1x , 11xx Tablica pokrycia (indeksy przy ‘v’ oznaczają kolejność ich pojawiania się w tablicy) Ai f(Ai)= 00x1 x011 v2 0x0x x10x v2 1x1x 11xx v v v v v v v v3 albo albo
21
Minimalizacja funkcji logicznych 21/28
Ostatecznie możliwe są 4 minimalne formy wyrażenia logicznego APN reprezentującego funkcję: y =x1x3 + x1 x3 +x1x2 x4 + x2x3 y =x1x3 + x1 x3 +x1x2 x4 + x1 x2 y =x1x3 + x1 x3 +x2 x3 x4 + x2x3 y =x1x3 + x1 x3 +x2 x3 x4 + x1 x2
22
Minimalizacja funkcji logicznych 22/28
Dla KPN byłoby: 0010 0010 v 0110 1000 v 0x10 * 0111 0110 v 100x * 1000 1001 v 011x * 1001 0111 v Implicenty proste: x1 +x3 + x4 x1 + x2 + x3 x1 +x2 +x3 wszystkie implicenty są niezbędne Tablica pokrycia: Ai f(Ai)= v x10 v x v x v v v v5
23
Minimalizacja funkcji logicznych 23/28
Metodę Quine’a-McCluskey’a 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: i x1 x2 x3 x4 f(Xi) - 0 v 0,1(1) * 1 1 v 2 3 1,3(2) v 5 3 v 1,5(4) v 4 7 5 v 1,9(8) v 9 9 v 1,3,5,7(2,4) * 6 10 10 v 3,7(8) v 1,5,9,13(4,8) * 12 12 v 5,7(2) v 8 13 5,13(8) v 14 7 v 9,13(4) v 13 v 10,14(4) * 11 14 v 12,13(1) * 12,14(2) * 15
25
Minimalizacja funkcji logicznych 25/28
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): Xi \ f(Xi)=1: 0,1 10,14 12,13 12,14 v2 1,3,5, implikant niezbędny v2 1,5,9, implikant niezbędny v3 v1 v1 v v3
26
Minimalizacja funkcji logicznych 26/28
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: Xi \ f(Xi)=1: 10, wiersz zdominowany 12, wiersz zdominowany 12, wiersz dominujący 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 x2x4
27
tzw. hazard w jedynkach (HS1)
Zjawisko hazardu /28 Niech funkcja będzie opisana tablicą Karnaugh’a: y= ab+~ac Realizacja na bramkach: 00 01 11 10 1 ab c O1 O2 a ~a b c ab ~ac y tzw. hazard w jedynkach (HS1) τP Przy bramce NOR na wyjściu byłby to hazard w zerach (HS0)
28
Realizacja na bramkach:
Zjawisko hazardu /28 Eliminacja hazardu: y= ab+~ac+bc Realizacja na bramkach: c ab 00 01 11 10 1 1 O1 O3 O2 a ~a b c ab ~ac bc y
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.