Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Podobne dokumenty
Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Minimalizacja form boolowskich

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Architektura komputerów Wykład 2

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Metoda Karnaugh. B A BC A

Część 2. Funkcje logiczne układy kombinacyjne

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Technika cyfrowa Synteza układów kombinacyjnych

Wstęp do Techniki Cyfrowej... Algebra Boole a

Państwowa Wyższa Szkoła Zawodowa

dr inż. Małgorzata Langer Architektura komputerów

Technika cyfrowa Synteza układów kombinacyjnych (I)

Arytmetyka liczb binarnych

Algebra Boole a. Ćwiczenie Sprawdź, czy algebra zbiorów jestrównież algebrą Boole a. Padaj wszystkie elementy takiej realizacji.

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Minimalizacja funkcji boolowskich - wykład 2

WOJSKOWA AKADEMIA T E CHNI CZNA im. Jarosława Dą brow ski ego ZAKŁAD AWIONIKI I UZBROJENIA LOTNICZEGO

Funkcja Boolowska. f:b n B, gdzieb={0,1} jest zbiorem wartości funkcji. Funkcja boolowska jest matematycznym modelem układu kombinacyjnego.

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

Algebra Boole a i jej zastosowania

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

LOGIKA I TEORIA ZBIORÓW

Cyfrowe bramki logiczne 2012

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Minimalizacja formuł Boolowskich

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

Wstęp do Techniki Cyfrowej i Mikroelektroniki

Synteza układów kombinacyjnych

x x

Automatyzacja Ćwicz. 2 Teoria mnogości i algebra logiki Akademia Morska w Szczecinie - Wydział Inżynieryjno-Ekonomiczny Transportu

Tranzystor JFET i MOSFET zas. działania

Automatyka Lab 1 Teoria mnogości i algebra logiki. Akademia Morska w Szczecinie - Wydział Inżynieryjno-Ekonomiczny Transportu

Laboratorium podstaw elektroniki

Podstawy techniki cyfrowej

Elementy cyfrowe i układy logiczne

3. SYNTEZA UKŁADÓW KOMBINACYJNYCH

Minimalizacja funkcji boolowskich

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Elementy logiki matematycznej

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Minimalizacja funkcji boolowskich

Automatyzacja i robotyzacja procesów produkcyjnych

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały:

Logika pragmatyczna. Logika pragmatyczna. Kontakt: Zaliczenie:

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

Minimalizacja form boolowskich UC1, 2009

Układy kombinacyjne i sekwencyjne. Podczas ćwiczenia poruszane będą następujące zagadnienia:

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Podstawowe układy cyfrowe

Synteza strukturalna automatu Moore'a i Mealy

Errata do książki Multisim. Technika cyfrowa w przykładach.

SWB - Wprowadzenie, funkcje boolowskie i bramki logiczne - wykład 1 asz 1. Plan wykładu

Zwykle układ scalony jest zamknięty w hermetycznej obudowie metalowej, ceramicznej lub wykonanej z tworzywa sztucznego.

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Logika pragmatyczna dla inżynierów

Układy kombinacyjne 1

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

Laboratorium podstaw elektroniki

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Definicje. Algorytm to:

Zasada indukcji matematycznej

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Ćw. 8 Bramki logiczne

Laboratorium elektroniki. Ćwiczenie E51IS. Realizacja logicznych układów kombinacyjnych z bramek NAND. Wersja 1.0 (24 marca 2016)

PRZED PRZYSTĄPIENIEM DO ZAJĘĆ PROSZĘ O BARDZO DOKŁADNE

Laboratorium elektroniki i miernictwa

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Wydział Fizyki UW CC=5V 4A 4B 4Y 3A 3B 3Y

I. Podstawowe zagadnienia z teorii układów cyfrowych

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Wstęp. Przygotowanie teoretyczne

Transkrypt:

Elementy logiki: Algebra Boole a i układy logiczne 1 Elementy logiki dla informatyków Wykład III Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Elementy logiki: Algebra Boole a i układy logiczne 2 Algebra Boole a Algebra Boole a jest strukturą matematyczną postaci: ({0, 1},,,, 0, 1), gdzie dany jest zbiór dwuelementowy, działania alternatywy (sumy), koniunkcji (iloczynu) oraz negacji (dopełnienia), a także element neutralny sumy i iloczynu. Dla uproszczenia zapisu koniunkcję p q zapisujemy jako p q lub pq, a negację p jako p. Działania alegbry Boole a spełniają następujące prawa: element neutralny: p 0 = p, p 1 = p, identyczność: p 1 = 1, p 0 = 0, idempotentność: p p = p, p p = p, dopełnianie: p p = 1, p p = 0, przemienność: p q = q p, p q = q p, łączność: (p q) r = p (q r), (p q) r = p (q r), rozdzielność: p (q r) = (p q) (p r), p (q r) = (p q) (p r), pochłanianie: (p q) p = p, (p q) p = p, prawa De Morgana: p q = p q, p q = p q. Przykładami algebr Boole a są: Algebra zerojedynkowa: ({0, 1},,,, 0, 1), Zbiory: (2 S,,, X,, S), Ciągi zerojedynkowe o długości n: ({ppp... p : p {0, 1}},,,, 000... 0, 111... 1).

Elementy logiki: Algebra Boole a i układy logiczne 3 Funkcje Booleowskie Niech B = {0, 1}. Funkcją booleowską n-argumentową nazywamy dowolną funkcję typu: f : B n B. W ogólnym przypadku istnieje 2 2n różnych funkcji booleowskich. Dla n = 1 mamy cztery funkcje, dla n = 2 jest ich 16 a dla n = 3 aż 256. Przykład funkcji 3-argumentowej przedstawiono poniżej. p q r f(p, q, r) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Funkcja ta dla p = 0 realizuje koniunkcję pozostałych argumentów, a dla p = 1 ich alternatywę; można więc ją zapisać w postaci: Inna postać tej funkcji: f(p, q, r) = p (q r) p (q r). f(p, q, r) = p q r p q r p q r p q r. Wyrażenia postaci x y z, lub prościej xyz, gdzie x = p lub x = p, y = q lub y = q oraz z = r lub z = r nazywamy atomami (iloczynami) w B 3. Różnych takich atomów jest 2 n. Każdą funkcję można przedstawić jako sumę atomów. Postać minimalna: f(p, q, r) = p q p r q r.

Elementy logiki: Algebra Boole a i układy logiczne 4 Wyrażenia booleowskie Wyrażenia booleowskie służą do zapisu i definiowania funkcji booleowskich. Definicja 1 Niech będą dane symbole zmiennych booleowskich p 1, p 2,..., p n. Wyrażeniem booleowskicm jest: symbol 0, 1 oraz każdy z symboli p 1, p 2,..., p n, jeżeli P 1 i P 2 sa wyrażeniami booleowskimi, to również P 1 P 2, P 1 P 2 oraz P 1 ( P 2 ) sa wyrażeniami booleowskimi. Każde wyrażenie booleowskie definiuje pewna funkcje booleowską. Wartości tej funkcji dla konkretnego wyrażenia wyznaczamy stosując reguły algebry Boole a. Dwa wyrażenia booleowskie nazywamy równoważnymi gdy definiują one identyczne funkcje. Iloczynem minimalnym n zmiennych booleowskich nazywamy koniunkcję (atom w B n ) n zmiennych; żadna zmienna nie może się powtarzać. Każdą funkcję i każde wyrażenie booleowskie można przedstawić w równoważnej postaci składającej się z samych iloczynów minimalnych - jest to tzw. postać kanoniczna (postać normalna alternatywno-koniunkcyjna). Określenie postaci kanonicznej polega na wskazaniu które iloczyny minimalne wchodzą (+) do definicji funkcji, a które nie wchodza ( ). p q r iloczyn f(p, q, r) czy wchodzi 0 0 0 p q r 0 0 0 1 p qr 0 0 1 0 pq r 0 0 1 1 pqr 1 + 1 0 0 p q r 0 1 0 1 p qr 1 + 1 1 0 pq r 1 + 1 1 1 pqr 1 +

Elementy logiki: Algebra Boole a i układy logiczne 5 Bramki logiczne

Elementy logiki: Algebra Boole a i układy logiczne 6 Układy logiczne Z bramek logicznych można budować dowolnie złożone układy logiczne. Rysunek 1: Przykład układu logicznego sumator.

Elementy logiki: Algebra Boole a i układy logiczne 7 Analiza układów logicznych Analiza układów logicznych polega na rekonstrukcji funkcji logicznej realizowanej przez zadany układ logiczny. Można to zrobić posługując się matrycą logiczną układu. Dla układu z Rys. 2 mamy: inp1(x1) inp2(x1) inp(a2) X1 A1 A2 out(x2) out(o1) 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 0 1 1 Na postawie powyższej tabeli można odtworzyć funkcje w postaci kanonicznej; dla uproszczenia podstawmy inp1(x1) = p, inp2)x1) = q, inp(a2) = c. Mamy: out(x2) = p qc pq c p q c pqc, out(o1) = pqc p qc pq c pqc. Można też określić postacie minimalne dla tych funkcji: out(x2) = p qc pq c p q c pqc, out(o1) = pq pc qc. Postać minimalna i kanoniczna funkcji out(x2) są identyczne. Funkcje tego układu można też określić bezpośrednio w oparciu o schemat; jednak jest ona bardziej skomplikowana i trudna do dalszej analizy.

Elementy logiki: Algebra Boole a i układy logiczne 8 Synteza układów logicznych Synteza układów logicznych polega na zaprojektowaniu struktury sieci logicznej realizującej określoną funkcję. Funkcja którą należy zrealizować może być zadana: ekstensjonalnie w postaci tabeli wejścia-wyjście, intensjonalnie w postaci wyrażenia logicznego (booleowskiego). Etapy projektowania obejmują: specyfikację funkcji (np. werbalną, w postaci zestawu warunków), budowę tablicy opisującej relacje wejścia-wyjścia, generację funkcji, minimalizację i ew. faktoryzację funkcji, implementację z wykorzytaniem zadanych bramek logicznych. Tablica definiująca funkcję budowana jest w oparciu o werbalną specyfikację funkcji, np.: Zaprojektować układ do głosowania, o trzech wejściach, który daje na wyjściu 1 o ile przynajmniej na dwóch wejściach pojawią się jedynki. p q r f(p, q, r) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Elementy logiki: Algebra Boole a i układy logiczne 9 Synteza układów logicznych Dla tabeli specyfikującej działanie funkcji można łatwo zbudować postać kanoniczną funkcji. W tym celu należy: uwzględnić jedynie te wiersze tabeli, w których na wyjściu układu jest 1, dla każdego takiego wiersza zbudować iloczyn minimalny zawierający wszystkie zmienne wejściowe, jeżeli w danym wierszu zmienna wejściowa przyjmuje wartość 1 to w iloczynie minimalnym występuje bez negacji, jeżeli w danym wierszu zmienna wejściowa przyjmuje wartość 0 to w iloczynie minimalnym występuje z negacją, wygenerowane iloczyny minimalne połączyć symbolem alternatywy. Postać kanoniczna tej funkcji: f(p, q, r) = p q r p q r p q r p q r. Postać kanoniczna jest zwykle zbyt rozbudowana, aby wykorzystać ją bezpośrednio do syntezy układu. Należy zatem dokonać minimalizacji funkcji korzystając z praw algebry Boole a. Minimalizacja może przebiegać następująco: p q r p q r p q r p q r = ( p q r p q r) (p q r p q r) (p q r p q r) = q r p r p q. Dla realizacji tej funkcji potrzeba 3 bramki AND i 2 bramki OR. Dla realizacji funkcji z wykorzystaniem bramek NAND stosujemy przekształcenie: f(p, q, r) = q r p r p q = pq pr qr. (4 bramki NAND).

Elementy logiki: Algebra Boole a i układy logiczne 10 Minimalizacja i przekształcanie wyrażeń Minimalizację i przekształcanie funkcji logicznych można prowadzić z wykorzystaniem reguł algebry Boole a; pozwalają one zachować równoważność wyrażeń booleowskich (funkcji). Przy minimalizacji szczególnie użyteczne są następujące reguły: Reguła sklejania wyrażeń iloczynowych Niech będą dane dwa iloczyny literałów postaci x 1 x 2... x i 1 px i+1... x n oraz x 1 x 2... x i 1 px i+1... x n, które są identyczne poza i-tą pozycją na której występują literały komplementarne. Iloczyny te można zastąpić jednym iloczynem wg następującego schematu: x 1 x 2... x i 1 p x i+1... x n, x 1 x 2... x i 1 p x i+1... x n x 1 x 2... x i 1 x i+1... x n Symbol oznacza dowolną wartość i może zostać pominięty; otrzymamy wówczas skrócony iloczyn postaci x 1 x 2... x i 1 x i+1... x n. Reguła pochłaniania wyrażeń iloczynowych W trakcie redukcji wyrażeń booleowskich może okazać się, że pewne wyrażenia przestają być niezbędne dla zapisu funkcji stają się one nadmiarowe i jako takie mogą być usunięte. Niech będą dane dwa iloczyny literałów postaci x 1 x 2... x n oraz y 1 y 2... y n. Powiemy, że zachodzi pochłanianie: x 1 x 2... x n y 1 y 2... y n wtw. gdy dla każdego i, x i = y i lub x i =. Inaczej, wyrażenie pochłaniające przyjmuje wartość 1 zawsze gdy wyrażenie pochłaniane przyjmuje wartość 1. Wyrażenie pochłaniane y 1 y 2... y n można wyeliminować (bez wpływu na równoważność; pamiętajmy, że x 1 x 2... x i 1 x i+1... x n x 1 x 2... x i 1 x i+1... x n ).

Elementy logiki: Algebra Boole a i układy logiczne 11 Tablice Karnaugha Tablice Karnaugha stanowią wizualne narzędzie wspomagające minimalizację wyrażeń booleowskich i funkcji logicznych. Istota tablic Karnaugha polega na uwidocznieniu wyrażeń, które mogą podlegać sklejaniu w postaci sąsiednich pól odpowiednio skonstruowanej tablicy. Rysunek 2: Przykłady tablic Karnaugha

Elementy logiki: Algebra Boole a i układy logiczne 12 Zasady sklejania w tablicach Karnaugha Konstrukcja tablic Karnaugha jest taka, że każde dwie sąsiednie kratki specyfikują iloczyny logiczne różniące się dokładnie na jednej pozycji; pola takie można zatem skleić, analogicznie jak iloczyny zmiennych. Obowiązują następujące zasady sklejania: oznaczenia kratek: n = 2: 00, 01, 11, 10, n = 3: 000, 001, 011, 010, 110, 111, 101, 100. sklejaniu podlegają wszystkie pola zawierające 1; pola zawierające mogą, ale nie muszą być pokryte (są one uwzględniane w miarę potrzeb), sklejane obszary muszą mieć kształt prostokąta; sklejane mogą być również prostokąty skonstruowane na zasadzie sąsiedztwa pól rozmieszczonych symetrycznie na krawędziach, należy wykorzystać prostokąty pokrywające jak największą liczbę jedynek, już pokryte jedynki można wykorzystać do ponownego sklejania, o ile jest taka potrzeba, dla danego prostokąta budowany jest iloczyn zmiennych, przy czym: jeżeli wewnątrz obszaru dana zmienna przyjmuje stale wartość 1, to jest uwzględniana bez negacji, jeżeli wewnątrz obszaru dana zmienna przyjmuje stale wartość 0, to jest uwzględniana z negacją, jeżeli wewnątrz obszaru dana zmienna przyjmuje wartość 1 i 0, to jest pomijana.

Elementy logiki: Algebra Boole a i układy logiczne 13 Przykład syntezy: sumator jednobitowy Specyfikacja zadania Należy skonstruować układ logiczny stanowiący sumator jednobitowy, uwzględniający również przeniesienie. Na wejściu sumatora mamy dwa sumowane bity (sygnały p i q) oraz bit przeniesienia c. Na wyjściu sumatora mamy bit wyniku s oraz bit przeniesienia t. Bit wyniku s jest równy 1 wtedy i tylko wtedy gdy suma sygnałów wejściowych jest nieparzysta (jedna albo trzy jedynki). Bit przeniesienia t jest równy 1 wtedy i tylko wtedy gdy sumowane są co najmniej dwie jedynki. Odpowiednią tablicę specyfikacji funkcji s i t podano poniżej. p q c s t 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Postacie kanoniczne funkcji s i t mogą być odczytane bezpośrednio z tabeli; na tej podstawie można wypelnić odpowiednie tabele Karnaugha. Otrzymane postacie minimalne funkcji s i t są następujące: s = pqc p q c p qc pqc, t = pq pc qc. Inna postać z wykorzystaniem EX-OR): s = p q c, t = pq (p q)c.

Elementy logiki: Algebra Boole a i układy logiczne 14 Algorytm Quine a McCluskeya Algorytm Quine a McCluskeya 1. Przekształcić syntetyzowaną funkcję do postaci DNF. 2. Metodą kolejnego sklejania wyznaczyć wszystki implikanty proste. 3. Wybrać (dowolny) zbiór implikantów prostych reprezentujący (pokrywający) całą funkcję wyjściową. http://en.wikipedia.org/wiki/quine-mccluskey