Minimalizacja form boolowskich UC1, 2009

Podobne dokumenty
Minimalizacja funkcji boolowskich c.d.

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

Minimalizacja formuł Boolowskich

Minimalizacja form boolowskich

Minimalizacja funkcji boolowskich

Minimalizacja funkcji boolowskich

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

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

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

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

Układy równań liniowych

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

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

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

Wstęp do Techniki Cyfrowej... Teoria automatów

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

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

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Obliczenia iteracyjne

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

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

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

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

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

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

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

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

Zaawansowane metody numeryczne

10. Kolorowanie wierzchołków grafu

PRACA DYPLOMOWA INŻYNIERSKA

x x

1 Zbiory i działania na zbiorach.

5. Rozwiązywanie układów równań liniowych

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Programowanie celowe #1

III TUTORIAL Z METOD OBLICZENIOWYCH

Macierze. Rozdział Działania na macierzach

PRACA DYPLOMOWA. Andrzej Kisiel DISCOVERING DECISION RULES OF BINARY DATA TABLES USING COMPLEMENT OF BOOLEAN FUNCTIONS

Teoretyczne podstawy programowania liniowego

Ćwiczenie 3: Wprowadzenie do programu Matlab

1 Macierze i wyznaczniki

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

KADD Minimalizacja funkcji

Własności wyznacznika

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

Programowanie liniowe

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

Rozdział 1 PROGRAMOWANIE LINIOWE

Metoda Karnaugh. B A BC A

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

Krótkie wprowadzenie do macierzy i wyznaczników

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Laboratorium elektroniki i miernictwa

Wprowadzenie do Mathcada 1

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

Podstawowe układy cyfrowe

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

3. SYNTEZA UKŁADÓW KOMBINACYJNYCH

Algebra liniowa z geometrią

Rozdział 1 PROGRAMOWANIE LINIOWE

Synteza układów kombinacyjnych

, A T = A + B = [a ij + b ij ].

biegle i poprawnie posługuje się terminologią informatyczną,

Metoda eliminacji Gaussa

OPTYMALIZACJA W LOGISTYCE

Wyk lad 3 Wyznaczniki

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zestaw 12- Macierz odwrotna, układy równań liniowych

Układy równań liniowych

3 Przestrzenie liniowe

Minimalizacja funkcji boolowskich - wykład 2

Algebra liniowa. 1. Macierze.

Wartości i wektory własne

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Maszyna Turinga języki

Dodatek 1. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń. Próbkowanie i kwantowanie

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

TEORIA GRAFÓW I SIECI

Zaawansowane metody numeryczne

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Kody blokowe Wykład 2, 10 III 2011

Macierze i Wyznaczniki

Analiza matematyczna i algebra liniowa Macierze

Układy równań liniowych. Krzysztof Patan

Klasyczne zagadnienie przydziału

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Informatyka I Lab 06, r.a. 2011/2012 prow. Sławomir Czarnecki. Zadania na laboratorium nr. 6

Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium.

Kombinacje liniowe wektorów.

Wielopoziomowa synteza układów logicznych

Algebra WYKŁAD 3 ALGEBRA 1

Wykład 14. Elementy algebry macierzy

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD

Transkrypt:

Minimalizacja form boolowskich UC, 29

mplikanty funkcji boolowskiej UC, 29 2

mplikanty funkcji boolowskiej UC, 29 3

Metody minimalizacji UC, 29 4

Siatki Karnaugh UC, 29 5

Siatki Karnaugh UC, 29

Stosowanie siatki Karnaugh (przykład ) UC, 29 7

Stosowanie siatki Karnaugh (przykład ) UC, 29 8

Stosowanie siatki Karnaugh (przykład 2) UC, 29 9

Stosowanie siatki Karnaugh (przykład 3) UC, 29

Siatki Karnaugh dla n = 5 i UC, 29

Metody analityczne i komputerowe w minimalizacji funkcji boolowskich Metoda Quine a McCluskey a a) generacja implikantów prostych b) selekcja implikantów (tzw. pokrycie) Metoda Espresso duża liczba różnorodnych procedur procedury heurystyczne iteracyjne poprawianie wyniku UC, 29 2

Metoda Quine a-mccluskey a Algorytm:. Wypisujemy wszystkie wektory zbioru F i F*, 2. Łączymy wektory w grupy według liczby jedynek występujących w danym wektorze, 3. Porównujemy każdy wektor z grupy o i-tej liczbie jedynek z każdym wektorem z grupy i+ liczbie jedynek. Jeżeli dwie kombinacje różnią się tylko na jednej pozycji to łączymy je w jeden implikant zastępując pozycje różniące symbolem *. Na przykład łączymy z i uzyskujemy -, 4. Kontynuujemy procedurę łącząc dalej uzyskane implikanty. Na przykład - można łączyć z - uzyskując --. Proces kończymy, gdy nie ma możliwości dalszych łączeń. 5. Tworzymy zbiór implikantów, które uzyskaliśmy w wyniku łączenia i tych wektorów, które nie były wykorzystane w procesie łączenia.. Dokonujemy selekcji implikantów w celu uzyskania minimalnego pokrycia funkcji korzystając z tablicy implikantów. Ćwiczenie. Korzystając z metody Q-M zminimalizować funkcję F(A,B,C,D): F={4,5,,8,9,,3}, F*={,7,5} UC, 29 3

Procedury systemu ESPRESSO F,D Complement Epand Essential primes rredundant-cover Reduce Last-gasp F M UC, 29 4

Metoda ekspansji Dla funkcji słabo określonych ( F, F<< F* ) wielu zmiennych stosowanie metody Q-M jest nieopłacalne czasowo. Przykład. Jeżeli musimy zminimalizować funkcję 2 zmiennych przy czym liczność zbioru F i F wynosi po 2 elementów to stosując metodę Q-M mamy do rozważenia 22-2 wektorów. Efektywniejsza czasowo jest metoda ekspansji. -maksymalne jak to możliwe rozszerzanie zbioru F na zbiór F* nie wchodząc w kolizję ze zbiorem F. -zastąpienie jak największej liczby elementów każdego wektora zbioru F symbolem *, tak aby nie wejść w kolizję z wektorami zbioru F. UC, 29 5

Pojęcia podstawowe Kostka K to krotka o składowych,, reprezentująca zbiór wektorów zero-jedynkowych. K = ( ), to zbiór wektorów: Kostka reprezentuje niepełny iloczyn: K = = 3 UC, 29

7 Oznaczenia W standardzie espresso wektory (w ogólności kostki), dla których funkcja f = oznacza się zbiorem F. Wektory (kostki) dla których funkcja f = oznacza się zbiorem R. f = (F, R) k 5 k 4 k 3 k 2 k f 7 5 4 3 2 = F R = UC, 29

Ekspansja Ekspansja jest procesem działającym na kostkach zbiorów F i R, a jej celem jest uzyskanie dla danej k F kostki k' tak dużej, jak to tylko możliwe (tzn. zmożliwie dużą liczbą pozycji o wartości ) i nie pokrywającej żadnego wektora zbioru R. W swoich obliczeniach Ekspansja wykorzystuje tzw. macierz blokującą B. UC, 29 8

Macierz blokująca Macierzą blokującą (kostkę k) nazywamy macierz B(k,R) = [b ij ],w której każdy element b ij {,} jest definiowany następująco: b ij =, jeśli k j = oraz r ij = lub k j = oraz r ij = ; b ij =, w pozostałych przypadkach. Macierz blokująca dla danej kostki k F powstaje z macierzy R przez zanegowanie tych kolumn R, których pozycje są wyznaczone przez pozycje jedynek w kostce k F. UC, 29 9

2 Tworzenie macierzy blokującej F = = R = B Wyznaczymy macierz blokującą dla kostki k wiedząc, że F i R są opisane macierzami: Skoro k = (), to dla uzyskania B wystarczy w macierzy R "zanegować" kolumny drugą, piątą i siódmą. Zatem B(k,R): UC, 29

Pokrycie kolumnowe Pokryciem kolumnowym macierzy B jest zbiór kolumn L (L {,...,n}) taki, że dla każdego wiersza i istnieje kolumna j L, która w wierszu i ma jedynkę. Zbiór L jest minimalnym pokryciem kolumnowym macierzy B, jeśli nie istnieje zbiór L (tworzący pokrycie) taki, że L L. B = 2 3 4 5 7 {,7} {3,4} {2,4} {2,3,7} L = {4,7} jest pokryciem kolumnowym. L = {2,3,} jest pokryciem kolumnowym. L = {2,3} nie, L = {2,} nie, UC, 29 L = {3,} nie. 2

Generacja implikantów Macierz blokująca B(k,R) pozwala wyznaczyć ekspansję kostki k oznaczaną k + (L,k) w sposób następujący: wszystkie składowe kostki k należące do L nie ulegają zmianie, natomiast składowe nie należące do L przyjmują wartość. Ekspansja kostki k jest implikantem funkcji f = (F,R). Wszczególności k + (L,k) jest implikantem prostym, gdy L jest minimalnym pokryciem kolumnowym macierzy B(k,R). UC, 29 22

23 Generacja implikantów -przykład Dla k 2 = () i macierzy B = 7 5 4 3 2 zbiór L = {4,7} jest pokryciem kolumnowym B, a więc 4 7 3 2 Natomiast dla L = {2,3,} (inne pokrycie kolumnowe), k + (L, k 2 ) = ( ) = k 2 = () czyli implikantem F jest k + (L, k 2 ) = ( ), UC, 29

mplikanty proste Obliczając kolejno implikanty proste dla każdej k F uzyskuje się: Uzyskujemy następujący zbiór implikantów prostych: 2 3 4 5 7 = = = = = = = 2 4 2 5 3 7 3 7 ( ) k ( ) k, ( ) k k 5 2,k3, k 4 UC, 29 24

mplikanty proste 2 3 4 5 7 = = = = = = = 2 4 2 5 3 7 3 7 ( ) k ( ) k, ( ) k k 5 2,k3, k 4 Relacja pokrycia dla kostek 2 3 4 5 k 7 k 2 k 3 k 4 k 5 Tablica implikantów prostych 2 3 k 7 k 2 k 3 k 4 k 5 4 5 UC, 29 25

Selekcja implikantów prostych Pokrycie kolumnowe 2 3 4 5 7 k k 2 k 3 k 4 k 5 Minimalne pokrycie: 2, 3 2 3 = = 2 4 7 Minimalna formuła: 47 + 2 UC, 29 2