Układy kombinacyjne.

Slides:



Advertisements
Podobne prezentacje
Teoria układów logicznych
Advertisements

Minimalizacja formuł Boolowskich
Teoria układów logicznych
Układy cyfrowe W układach cyfrowych sygnały napięciowe (lub prądowe) przyjmują tylko określoną liczbę poziomów, którym przyporządkowywane są wartości liczbowe.
Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel
Układy sekwencyjne - pojęcie automatu
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Architektura systemów komputerowych
UKŁADY ARYTMETYCZNE.
Michał Łasiński Paweł Witkowski
Budowa komputera Wstęp do informatyki Wykład 15
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Od algebry Boole’a do komputera
SYSTEMY LICZBOWE.
Układy logiczne kombinacyjne sekwencyjne
Minimalizacja funkcji boolowskich
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Architektura komputerów
gdzie A dowolne wyrażenie logiczne ; x negacja x Tablice Karnaugha Minimalizacja A x+ A x=A gdzie A dowolne wyrażenie logiczne ;
Bramki Logiczne.
Matematyka.
Kod Graya.
minimalizacja automatów
Układy kombinacyjne.
Technika Mikroprocesorowa 1
Układy kombinacyjne cz.2
Podstawy układów logicznych
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Funkcje logiczne i ich realizacja. Algebra Boole’a
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Wyrażenia algebraiczne
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Problem kodowania stanów w układach sekwencyjnych (automatach)
Cyfrowe układy logiczne
Architektura komputerów
W układach fizycznych napięcie elektryczne może reprezentować stany logiczne. Bramką nazywamy prosty obwód elektroniczny realizujący funkcję logiczną.
Sekwencyjne bloki funkcjonalne
Układy cyfrowe.
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Problematyka wykładu Podział rejestrów i liczników
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Struktury układów logicznych
Sygnały cyfrowe i bramki logiczne
Posługiwanie się systemami liczenia
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Matematyka i system dwójkowy
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Pudełko Urządzenia Techniki Komputerowej
PODSTAWOWE BRAMKI LOGICZNE
Złożone układy kombinacyjne
Bramki logiczne i układy kombinatoryczne
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Działania w systemie binarnym
Obwody elektryczne - podstawowe prawa
Własności bramek logicznych RÓZGA DARIUSZ 20061
Układy asynchroniczne
Przerzutniki bistabilne
NIM gra Beata Maciejewska Monika Mackiewicz.
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Zasady arytmetyki dwójkowej
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Elementy cyfrowe i układy logiczne
Dr Galina Cariowa. Legenda  Optymalizacja układów dwupoziomowych.  Kryterium kosztu realizacji.  Tablica (mapa) Karnaugh’a.  Metoda Quine’a – Mc Cluske’a.
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Metoda klasyczna (wg książki Sasao)
Wstęp do Informatyki - Wykład 6
Podstawy Automatyki Człowiek- najlepsza inwestycja
Zapis prezentacji:

Układy kombinacyjne

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

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.

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”)

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

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

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.

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.

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

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.

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.

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

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 000 001 011 010 110 111 101 100 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 00 01 11 10 ab cd

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 0 1 ab c O5 O4 O3 O1 O2 Dla zer funkcji:

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 - 0 1 ab c O4 O3 O1 O2 Dla zer funkcji:

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 00 01 11 10 x1x2 x3x4 O1 1 1 1 0 - 1 0 - 1 1 - 1 0 0 1 1 O2 O5 O4 O3 O6

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

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}

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

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 albo albo

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

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)=0 0010 0110 0111 1000 1001 v2 0x10 v6 100x v4 011x v1 v2 v3 v5

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)}

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

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 v2 1,5,9,13 - implikant niezbędny v3 v1 v1 v1 v3

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

tzw. hazard w jedynkach (HS1) Zjawisko hazardu 27/28 Niech funkcja będzie opisana tablicą Karnaugh’a: y= ab+~ac Realizacja na bramkach: 00 01 11 10 1 0 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)

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