1 / 28

Układy kombinacyjne

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

orrin
Download Presentation

Układy kombinacyjne

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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 w4 wiersz w5 koszty realizacji: 2 x NOT + 3 x AND + 1 x OR 1 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 normalneAPN 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. 2.3.1) 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. 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 cd cd cd cd cd cd ab ab ab ab ab ab Minimalizacja funkcji logicznych 12/28 Przykłady możliwych sklejeń w tablicy 4x4

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

  14. c 0 1 ab 00 01 11 10 0 0 1 1 1 1 1 0 O1 O4 O2 O5 O3 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: Dla zer funkcji:

  15. c 0 1 ab 00 01 11 10 1 - 0 1 1 0 - 0 O1 O3 O4 O2 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: Dla zer funkcji:

  16. x3x4 x1x2 00 01 11 10 00 01 11 10 Minimalizacja funkcji logicznych 16/28 Przykład 3 wykorzystania metody Dana jest tablica Karnaugh’a. Należy wyznaczyć minimalną realizację APN. O1 1 1 1 0 - 1 0 - 1 1 - 1 0 0 1 1 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. 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:

  20. albo albo 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)=1 0000 0001 0011 0100 0101 1010 1011 1100 1101 1110 1111 00x1 x011 v2 0x0x x10x v2 1x1x 11xx v1 v3 v2 v3 v1 v3 v3 v3

  21. Minimalizacja funkcji logicznych 21/28 Ostatecznie możliwe są 4 minimalne formy wyrażenia logicznego APN reprezentującego funkcję: y =x1x3 + x1 x3 +x1x2 x4 + x2x3 y =x1x3 + x1 x3 +x1x2 x4 + x1 x2 y =x1x3 + x1 x3 +x2 x3 x4 + x2x3 y =x1x3 + x1 x3 +x2 x3 x4 + x1 x2

  22. Minimalizacja funkcji logicznych 22/28 Dla KPN byłoby: Implicenty proste: x1 +x3 + x4 x1 + x2 + x3 x1 +x2 +x3 wszystkie implicenty są niezbędne Tablica pokrycia: Ai f(Ai)=0 0010 0110 0111 1000 1001 v2 0x10 v6 100x v4 011x v1 v2 v3 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:

  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: 1 3 7 9 12 13 14 0,1 10,14 12,13 12,14 v2 1,3,5,7 - implikant niezbędny v21,5,9,13 - implikant niezbędny v3 v1 v1 v1 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: 12 14 10,14  wiersz zdominowany 12,13  wiersz zdominowany 12,14  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 x2x4

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

  28. a ~a b c ab ~ac bc y Zjawisko hazardu 28/28 Eliminacja hazardu: y= ab+~ac+bc Realizacja na bramkach: c 0 1 ab 00 01 11 10 0 0 1 0 1 1 1 0 O1 O3 O2

More Related