W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

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

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

Minimalizacja form boolowskich

Algebra Boole a i jej zastosowania

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

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

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

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

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

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

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Metoda Karnaugh. B A BC A

opracował: Patryk Besler

Minimalizacja formuł Boolowskich

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

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz:

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

x x

Operacje arytmetyczne

3. Macierze i Układy Równań Liniowych

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

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Excel wykresy niestandardowe

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

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

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

Minimalizacja funkcji boolowskich

Architektura komputerów Wykład 2

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 funkcji boolowskich - wykład 2

Laboratorium podstaw elektroniki

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

Podział sieci na podsieci wytłumaczenie

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Laboratorium elektroniki i miernictwa

FINCH PONG. Realizator: Partner: Patronat:

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

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007

Laboratorium podstaw elektroniki

Zaznaczanie komórek. Zaznaczenie pojedynczej komórki polega na kliknięciu na niej LPM

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Czterowejściowa komórka PAL

Rozwiązanie Ad 1. Model zadania jest następujący:

W tej lekcji omówimy mechanizmy za pomocą których jest możliwe wykonywanie działań w Excelu, czyli:

Systemy liczbowe używane w technice komputerowej

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

Podstawowe układy cyfrowe

Formatowanie komórek

zmiana stanu pamięci następuje bezpośrednio (w dowolnej chwili czasu) pod wpływem zmiany stanu wejść,

Przekształcanie wykresów.

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

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

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

Synteza układów kombinacyjnych metodą tablic Karnaugha - ćwiczenie 7

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Technika cyfrowa Synteza układów kombinacyjnych

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

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Pomorski Czarodziej 2016 Zadania. Kategoria B

Programowanie liniowe

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

FUNKCJA LINIOWA. Zadanie 1. (1 pkt) Na rysunku przedstawiony jest fragment wykresu pewnej funkcji liniowej y = ax + b.

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

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

Synteza układów kombinacyjnych

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

Odwrócimy macierz o wymiarach 4x4, znajdującą się po lewej stronie kreski:

Arytmetyka liczb binarnych

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

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

1.2 Funktory z otwartym kolektorem (O.C)

Minimalizacja funkcji boolowskich

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

Łożysko z pochyleniami

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

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Szczegółowe wymagania edukacyjne na poszczególne oceny dla klasy I gimnazjum

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Przenoszenie, kopiowanie formuł

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Minimalizacja form boolowskich UC1, 2009

I. Liczby i działania

FUNKCJE I RÓWNANIA KWADRATOWE. Lekcja 78. Pojęcie i wykres funkcji kwadratowej str

Cyfrowe bramki logiczne 2012

Dostosowanie szerokości kolumn

WYMAGANIA KONIECZNE - OCENA DOPUSZCZAJĄCA:

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia

Sławomir Kulesza. Projektowanie automatów synchronicznych

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

3. SYNTEZA UKŁADÓW KOMBINACYJNYCH

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

FUNKCJE. Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 5 Teoria funkcje cz.1. Definicja funkcji i wiadomości podstawowe

Co to jest arkusz kalkulacyjny?

Podstawy techniki cyfrowej. Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

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

Transkrypt:

W jakim celu to robimy? W projektowaniu układów cyfrowych istotne jest aby budować je jak najmniejszym kosztem. To znaczy wykorzystanie dwóch bramek jest tańsze niż konieczność wykorzystania trzech dla układu spełniającego identyczne funkcje. Układy cyfrowe opisuje się funkcjami boolowskimi. Minimalizacje takiej funkcji boolowskiej skutkuje uproszczeniem układu, który implementuje taką funkcję z a tym wiąże się obniżenie kosztów. Do minimalizacji używa się tablic Karnaugh. Ręcznie daje się minimalizować tablicę dla kilku (zwykle do 4) zmiennych. Dla większej ilości trzeba wspomagać się odpowiednim oprogramowaniem. Tablica Karnaugh Jak taka tablica wygląda? Dla dwóch zmiennych: 0 1 x i y to zmienne wejściowe (mogą przyjmować wartość 0 lub 1 ). Wartości zmiennych wpisywane są zgodnie z kodem Graya. Niewypełnione miejsca przeznaczone są na wartości funkcji. W przecięciu wiersza i kolumny odpowiadającym wartościom odpowiednich zmiennych wstawia się wartość funkcji. Na przykład w górnej lewej komórce umieszcza się wartość funkcji dla x=0 i y=0. Spróbujmy wypełnić taką tablicę danymi z Zad. 1a. =( x, y)= x y+ x y+x y Co oznacza taki zapis? Podane są warunki, dla których funkcja przyjmuje wartość 1. Czyli dla (x=0 i y= 1) lub (x=1 i y=0 ) lub (x=1 i y=1). W pozostałych przypadkach funkcja przyjmuje wartość 0. Minimalizacja Gdybyśmy chcieli zrealizować taką funkcję bez minimalizacji potrzebowalibyśmy trzy bramki AND i jedną bramkę OR. Bramki AND realizowałyby mnożenie odpowiednich zmiennych a bramka OR sumowałaby wyniki mnożeń oraz dwa inwertery dla uzyskania zanegowanego sygnału. Zad. 1a jest na tyle proste, że można pokusić się o próbę minimalizacji bez tablicy Karnaugh przez

przekształcenie. =( x, y)= x y+ x y+x y =( x, y)= x y+ x y+x y+x y =( x, y)= y( x+x)+ x( y+ y) =( x, y)= y+ x Skorzystaliśmy z własności A= A+ A oraz A + A=1 Funkcja uprościła nam się znacząco. W tej chwili do jej realizacji wystarczy jedna bramka OR. Redukcja kosztów o 75% nie licząc inwerterów. Jak to robić przy użyciu tablicy Karnaugh? Podobnie jak w przekształcaniu zapisu funkcji, musimy znajdować fragmenty tablicy z których możemy wyeliminować jedną lub więcej zmiennych. W tym celu na tablicy rysujemy pętle otaczające leżące obok siebie jedynki. Pętle mogą otaczać 2 n elementów, muszą też być symetryczne względem głównej lub dodatkowej osi symetrii. Wszystkie jedynki muszą być otoczone jakąś pętlą. Pamiętać należy też, że tablica jest sklejona (tzn. lewa strona z prawą i górna krawędź z dolną). Im większą grupę zaznaczymy i im mniej ich będzie tym zminimalizowana funkcja będzie prostsza a układ tańszy. Poszukajmy pętli w naszej tablicy. Pierwsza pętla mówi nam, że wartością funkcji będzie jedynką dla y=1 bez względu na wartość x. Podobnie druga pętla mówi nam, że dla x=1 wartością funkcji będzie jeden bez względu na y. Te dwie pętla otaczają wszystkie jedynki występujące w tablicy, czyli kolejnych grup nie szukamy. Zminimalizowana funkcja będzie miała postać: =( x, y)= y+ x Zad 1b. Tym razem funkcja podana jest w innej postaci. Wymienione są liczby dla których funkcja przyjmuje wartość jeden.

xyz 0 000 0 1 001 0 2 010 1 3 011 1 4 100 1 5 101 1 6 110 0 7 110 0 f Na podstawie takiej tablicy wartości funkcji możemy zbudować tablicę Karnaugh. Przypominam, że wartości zmiennych w kolejności kodu Graya. 0 1 0 0 I pętle: 0 1 0 0 Pętla niebieska mówi nam, że funkcja przyjmuje wartość jeden dla x=0 i y= 1 przy dowolnym z. Pomarańczowa z kolei dla x=1 i y=0 przy dowolnym z. Okazuje się, że funkcja w ogóle nie jest zależna od zmiennej z. Zminimalizowana funkcja ma postać: f 2 =(x, y,z)= x y+ x y Do realizacji takiej funkcji potrzebujemy dwie bramki AND i jedną bramkę OR. Zad. 1c. Wiemy już o co chodzi więc zaczynamy od tablicy Karnaugh. 0 0 1 1 0 1 1 Co zrobić z samotną jedynką dla wartości zmiennych 100? Przypominam, że tablica jest sklejona. Możemy ją połączyć z jedynką dla wartości zmiennych 110.

0 0 1 1 0 1 1 f 3 =( x, y, z)= y z+x y+ x z Zad. 1d. Od razu tablica Karnaugh. 0 1 0 1 Tym razem udało nam się znaleźć 4 jedynki (pomarańczowa pętla wykorzystująca sklejenie lewej krawędzi z prawą) f 4 =(x, y,z)= z+x y Zad 1e. Tym razem mamy cztery zmienne. Od razu tablica Karnaugh. w 00 1 1 0 1 0 0 1 1 0 0 10 1 1 0 1 Tym razem udało nam się znaleźć zacną grupę składającą się z ośmiu jedynek oraz grupę jedynek w narożnikach (pamiętamy, że tabela jest sklejona krawędziami) f 5 =(w, x, y, z)= y+ w z+ x z Zad. 1f. Znów cztery zmienne i zapis taki jak w zad 1a. Warto zwrócić uwagę, że funkcja jest już częściowo zminimalizowana (w funkcji znajdują się wyrażenia bez jednej zmiennej). Prawdopodobnie da się lepiej zminimalizować.

ab\cd 00 01 11 10 00 1 1 0 1 01 0 11 0 0 0 0 10 1 1 0 1 f 6 =(a,b,c,d )= b c+ b d+ a c d Oprogramowanie na licencji GPL służące do projektowania układów cyfrowych. Można między innymi sprawdzić sobie jak dana funkcja się minimalizuje. Strona domowa: http://www.cburch.com/logisim/index.html Do pobrania z sf.net: http://sourceforge.net/projects/circuit/