Minimalizacja form boolowskich

Podobne dokumenty
Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

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

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

Technika cyfrowa Synteza układów kombinacyjnych

Minimalizacja funkcji boolowskich

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

Architektura komputerów Wykład 2

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

Minimalizacja funkcji boolowskich

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

Minimalizacja formuł Boolowskich

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

Synteza układów kombinacyjnych

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

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

Minimalizacja funkcji boolowskich - wykład 2

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.

Metoda Karnaugh. B A BC A

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

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

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

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

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

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

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

Minimalizacja form boolowskich UC1, 2009

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

Tranzystor JFET i MOSFET zas. działania

Cyfrowe bramki logiczne 2012

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

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

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

Państwowa Wyższa Szkoła Zawodowa

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

Wstęp do Techniki Cyfrowej i Mikroelektroniki

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

Kombinacyjne bloki funkcjonalne

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Minimalizacja funkcji boolowskich c.d.

x x

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

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

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

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

Laboratorium podstaw elektroniki

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

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

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

Algebra Boole a i jej zastosowania

Układy kombinacyjne 1

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

Automatyzacja i robotyzacja procesów produkcyjnych

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

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

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.

Arytmetyka liczb binarnych

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

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Laboratorium podstaw elektroniki

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Sławomir Kulesza. Projektowanie automatów synchronicznych

Wielkość analogowa w danym przedziale swojej zmienności przyjmuje nieskończoną liczbę wartości.

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE

Wielopoziomowa synteza układów logicznych

Układy Logiczne i Cyfrowe

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

Technika cyfrowa i mikroprocesorowa. Zaliczenie na ocenę. Zaliczenie na ocenę

LEKCJA. TEMAT: Funktory logiczne.

Elementy cyfrowe i układy logiczne

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

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

UKŁADY KOMBINACYJNE (BRAMKI: AND, OR, NAND, NOR, NOT)

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

funkcja, opisana tablicami rys. 3-8a,b, bez uwzględnienia pozycji nieokreślonych

Ćw. 1: Systemy zapisu liczb, minimalizacja funkcji logicznych, konwertery kodów, wyświetlacze.

Podstawowe układy cyfrowe

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

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

Laboratorium z podstaw automatyki

Teoretyczne podstawy programowania liniowego

Elementy cyfrowe i układy logiczne

Ćwiczenie 2. Algebra Boolea, przykłady równań logicznych. A. TWIERDZENIA ALGEBRY BOOLE A WPROWADZENIE DO TEORII.

A B. 12. Uprość funkcję F(abc) = (a + a'b + c + c')a

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.

Technika cyfrowa Układy arytmetyczne

Dział I FUNKCJE I ICH WŁASNOŚCI

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Geometria analityczna

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

Matura próbna 2014 z matematyki-poziom podstawowy

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Pojęcia, wymagania i przykładowe zadania na egzamin poprawkowy dla klas II w roku szkolnym 2016/2017 w Zespole Szkół Ekonomicznych w Zielonej Górze

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Układy logiczne. Instytut Automatyki

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

3. SYNTEZA UKŁADÓW KOMBINACYJNYCH

Krótkie przypomnienie

Transkrypt:

Sławomir Kulesza Technika cyfrowa Minimalizacja form boolowskich Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010

Minimalizacja form boolowskich Minimalizacja proces przekształcania form boolowskich w celu otrzymania możliwie najprostszych form równoważnych. Kryterium minimalizacji obniżenie kosztu układu cyfrowego, skrócenie ścieżek propagacji sygnałów, ograniczenie liczby sygnałów w układzie. Drogi minimalizacji (1) zmniejszanie liczby bramek, (2) zmniejszanie liczby wejść bramek.

Sens minimalizacji

Wskaźnik złożoności Zwykle nie wiadomo, czy dana forma boolowska jest poszukiwaną formą minimalną. W celu oszacowania złożoności form boolowskich stosuje się tzw. wskaźnik złożoności (kosztu): Z = LT + LL LT liczba termów formy boolowskiej LL liczba literałów w formie boolowskiej Wskaźnik Z powinien przyjmować wartość możliwie małą.

Przykład oszacowania wskaźnika Z x1 x2 f(x1,x2) 0 0 1 1 0 1 0 1 0 1 0 1 Kanoniczna forma iloczynowa: f(x) = (x1+x2) (x1'+x2) Z = 2 + 3 = 5 Kanoniczna forma sumacyjna: f(x) = x1' x2 + x1 x2 Z = 2 + 3 = 5 Forma minimalna: f(x) = x2 Z = 1 + 1 = 2

Metody minimalizacji (1) M. algebraiczne: bazują na tożsamościach i prawach algebry Boole'a. Wady: podejście niesystematyczne (brak algorytmu), trudno określić moment osiągnięcia formy minimalnej, tylko do form o niewielkiej złożoności. (2) M. graficzne: siatki Karnaugha. Wady: ograniczona liczba zmiennych wejściowych (do 5). (3) M. numeryczne: metoda Quine'a-McCluskeya, metoda Espresso. Wady: minimalizowane formy zwykle muszą posiadać określoną postać, problemy NP-trudne (Q-MC). Zalety: pozwalają w systematyczny sposób dojść do formy minimalnej, dostępne oprogramowanie niekomercyjne.

Implikanty funkcji logicznej Funkcja logiczna g jest implikantem funkcji f wtedy i tylko wtedy, gdy zachodzi implikacja: x1x2...xk X [g(x1x2...xk) = 1] [f(x1x2...xk) = 1] Każda kombinacja liniowa termów w formie boolowskiej jest więc implikantem funkcji opisywanej tą formą. Implikant prosty w formie sumacyjnej n-zmiennych jest takim iloczynem m-literałów (m n), że po odrzuceniu choćby jednego literału przestaje być implikantem tej funkcji

Nieredukowalne formy boolowskie Twierdzenie 1: Każdą formę boolowską można przekształcić do postaci sumy zawierającej wyłącznie implikanty proste. Twierdzenie 2: Suma implikantów prostych formy boolowskiej, która po odrzuceniu któregokolwiek z nich nie opisuje funkcji logicznej f jest nieredukowalną formą boolowską. W trakcie minimalizacji można otrzymać jedną lub więcej nieredukowalnych form boolowskich. Wybiera się wówczas formę o najmniejszej złożoności Z.

Istotne implikanty proste i jądro formy Niech dana jest forma: f(a,b,c) = a'b'c + a'bc + a'bc' + abc' + ab'c' Wówczas można pokazać, że: f(a,b,c) = a'c + a'b + ac' f(a,b,c) = a'c + bc' + ac' Otrzymaliśmy 2 nieredukowalne formy boolowskie o Z = 8. Wspólne implikanty proste a'c oraz ac' są tzw. istotnymi implikantami prostymi, które tworzą jądro formy boolowskiej. Wszystkie nieredukowalne formy boolowskie danej funkcji logicznej zawierają to samo jądro.

Ogólny schemat minimalizacji Określ wszystkie implikanty proste formy boolowskiej Wyznacz jądro formy (istotne implikanty proste) Wyznacz nieredukowalne formy boolowskie Wybór formy nieredukowalnej w oparciu o wskaźnik złożoności

Narzędzia minimalizacji Minimalizacja ilości literałów w formie boolowskiej korzysta z praw i tożsamości algebry Boole'a: F(a,b) = ab + ab' = a(b + b') = a G(a,b) = a'b' + ab' = (a' + a)b' = b' A B F 0 0 0 1 0 0 1 1 0 1 1 1 A B G 0 0 0 1 1 0 1 1 0 1 1 0

n-kostki boolowskie Funkcję boolowską n zmiennych można przedstawić w postaci n-wymiarowej kostki (n-kostki). Każdy wierzchołek (0-kostka) reprezentuje jeden z możliwych mintermów. Dwa wierzchołki są sąsiednimi, jeżeli opisujące je liczby dwójkowe różnią się na jednej pozycji. Każda krawędź łącząca dwa sąsiednie wierzchołki stanowi 1-kostkę opisaną (n-1)-zmiennymi (1-kostka pokrywa dwie 0-kostki).

n-kostki boolowskie

Ex.: Przeniesienie pełnego sumatora Zbiór wszystkich 1-mintermów jest pokrywany przez sumę 1-kostek: Cout = BCin + AB + ACin

Ex.: Minimalizacja formy niezupełnej Niech dana jest forma niezupełna: f(x,y,z) = (0,4,6,7(3,5)) Forma nieredukowalna: f(x,y,z) = x + y'z'

Siatki Karnaugha Siatka Karnaugh dla funkcji n-zmiennych składa się z 2n_pól, w które wpisuje się wartości funkcji dla wszystkich termów. Współrzędne kratek opisuje się w kodzie Graya, stąd termy z sąsiednich kratek różnią się stanem jednej zmiennej. Sklejanie sąsiednich kratek pozwala na eliminację zmiennej występującej w stanie 1 oraz 0: (a+a')b = b.

Siatki Karnaugha Siatki Karnaugha można konstruować dla dowolnej ilości literałów, aczkolwiek możliwości ich analizy kończą się w przypadku form o więcej niż 6 zmiennych (niezanegowanych). Wypełnianie oczek jest łatwiejsze po opisaniu ich kodem NKB.

Sklejanie oczek siatki Dopuszczalne jest sklejanie sąsiednich oczek jedynie w prostokątne grupy liczące 2n-pól, przy czym można sklejać pola na brzegach siatki.

Ex. 1. Minimalizacja na siatce Karnaugh

Ex. 2. Minimalizacja na siatce Karnaugh

Ex. 3. Minimalizacja na siatce Karnaugh

Ex. 4. Minimalizacja na siatce Karnaugh

Ex. 4. Minimalizacja na siatce Karnaugh

Implikanty proste na siatce Karnaugha

Realizacja AND-OR

Realizacja NAND

Sklejanie zer Na siatce Karnaugha można także sklejać zera. Pamiętać należy jedynie, iż w ten sposób otrzymamy kanoniczną postać iloczynową funkcji logicznej.

Realizacja OR-AND

Realizacja NOR

Układy wielowyjściowe W przypadku układów o wielu wyjściach dobrze jest poszukiwać implikantów wspólnych dla form wyjściowych, a nie poszukiwać implikantów prostych dla każdej formy z osobna.

Układy wielowyjściowe

Ex. Komparator 2-bitowy

Ex. Komparator 2-bitowy

Algorytm minimalizacji na siatce K. Krok 1: Wybierz element na mapie Karnaugh nie powiązany z żadnym implikantem. Krok 2: Znajdź wszystkie sąsiedzkie pokrycia danego pola o maksymalnej powierzchni (2n), czyli implikanty proste. Powtórz krok 1 i 2 aż znajdziesz wszystkie implikanty proste. Krok 3: Wyszukaj wszystkie istotne implikanty proste (pola pokrywane tylko przez 1 implikant prosty). Krok 4: Pola niepokryte przez istotne implikanty proste pokryj najmniejszą możliwą ilością implikantów prostych.

Ex. Budowanie minimalnego pokrycia

Narzędzia komputerowe minimalizacji http://www-ihs.theoinf.tu-ilmenau.de/~sane/projekte/karnaugh/ http://karnaugh.shuriksoft.com/

Metoda Quine'a-McCluskeya Metoda Q-McC jest metodą algorytmiczną, dającą się zaimplementować numerycznie. Przebieg minimalizacji: Selekcja prostych implikantów na grupy w zależności od ilości '1' Wyszukanie wszystkich możliwych par różniących się zawartością tylko 1 bitu Wybór optymalnego pokrycia minimalnego

Ex. 1. Minimalizacja Q-McC Zminimalizujmy funkcję 4 zmiennych: f(x1,x2,x3,x4) = (3,7,10,11,15) Selekcja prostych implikantów na grupy w zależności od liczby 1 Wyszukanie wszystkich możliwych par różniących się zawartością na 1 pozycji Poszukiwane rozwiązanie: f(x1,x2,x3,x4) = x1x2'x3 + x3x4 xx11 (3,7,11,15) (3,11,7,15)

Ex. 2. Minimalizacja Q-McC Zminimalizujmy funkcję 4 zmiennych: f(x1,x2,x3,x4) = (1,3,4,6,7,12,14,15) Selekcja prostych implikantów na grupy w zależności od liczby 1 Wyszukanie wszystkich możliwych par różniących się zawartością na 1 pozycji Następny krok selekcja najlepszego minimalnego pokrycia:

Ex. 2. Minimalizacja Q-McC Generacja tablicy Quine'a Poszukiwane pokrycie minimalne: f(x1,x2,x3,x4) = x2x4' + x2x3 + x1'x2'x4