Minimalizace logické funkce Michal Krajíček Martin Klíma
Obsah Základní pojmy Hradla a logické operce Vyjádření logické funkce logickými členy Booleova algebra Minimalizační metody De Morganovy zákony Karnaghova mapa Zdroje Zadání úkolu
Základní pojmy Dvojková (binární) soustava je číselná soustava, která používá pouze dva symboly - nejčastěji 0 a 1. Je to poziční číselná soustava mocnin čísla 2. Logická (Bool) hodnota je hodnota reprezentována stavy pravda/nepravda (true/false), nebo také ano/ne, zapnuto/vypnuto nebo ‘1’/’0’ Logická operace je taková operace s výroky, jejíž výsledkem je opět výrok, jež nabývá logických hodnot závisejících na pravdivosti výroků a druhu operace. Logická funkce je funkce, která pro konečný počet vstupních parametrů vrací logické hodnoty Hradlo je základní stavební prvek logických obvodů. Vyčísluje logickou funkci, resp. logická hodnota na výstupu hradla je funkcí vstupních logických hodnot.
Logické operace Identita realizována hradlem buffer Negace realizována hradlem NOT - zápis: Konjunkce (log. součin) - realizována hradlem AND Disjunkce (log. součet) realizována hradlem OR zápis: Neekvivalence (exkluzivní log. součet) - realizována hradlem XOR - zápis:
Hradla NOT XOR OR NOR AND NAND Používané značení hradel: a) EU, b) US, c) ČSN, d) IEC
Vyjádření funkce logickými členy Jednotlivé operace jsou reprezentovány příslušným typem hradla Řazení hradel za sebe odpovídá váze logických operací Př)
Booleova algebra Je to algebra stavu Oproti klasické algebře např. neexistují operace odčítání a dělení Základní funkce Booleovy algebry jsou: Logicky součet (disjunkce) Logicky součin (konjunkce) Negace Uvedené tři základní funkce lze rozšířit na libovolný počet vstupních proměnných a to v přímém i inverzním tvaru. Pravidla Booleovy algebry jsou formálně shodná s pravidly číselné algebry Odchylky vyplývají z omezení pouze dvou možných hodnot (‘1’ a ‘0’) Mimořádá vlastnost Booleovy algebry je její dualita
Zákony pro logické operace Komutativní Asociativní Distributivní Dvojité negace Vyloučení třetího O agresivnosti O neutrálnosti Absorpce Absorpce negace
De Morganovy zákony Popisují pravidla vyplývající z duality Booleovy algebry
De Morganovy zákony V praxi se kromě zjednodušení log. funkce využívají k jejímu vyjádření pomocí jedné operace - jednoho typu hradel (OR, AND)
Minimalizační metody Karnaughovy mapy Quine-McCluskeyho metoda Vychází ze stejných principů jako metoda karnaughových map Pracuje s inplikanty (konjunkcemi) funkce Dvě fáze: Hledání prostého implikantu (konjunkce minimální součtové formy dané funkce) Výběr minimálního počtu prostých implikantů, jejichž součet tvoří formu Patrickova metoda Pracuje s množinami prostých implikantů a jednotlivých stavů dané funkce Podle daných pravidel sestavuje tabulku, ze které se vychází při minimalizaci
Karnaughova mapa Je to matematický nástroj pro práci s logickými funkcemi Umožňuje realizovat prakticky všechny operace Booleovy algebry Pro zjednodušení funkce více než dvou proměnných je téměř vždy použít mapu Do mapy může být zapsána i obecná logická funkce upravená do tvaru DNT Tvar mapy odpovídá plnému počtu proměnných logické funkce, pravdivostní tabulky Karnaughova mapa umožňuje: zápis disjunkční funkce nebo pravdivostní tabulky minimalizaci nebo jiné logické úpravy (např. rozvoj funkce až do úrovně UDNT) inverzi funkce určení duální funkce, vzhledem k zápisu zpravidla v konjunkčním tvaru *) DNT – Disjunktivní normální tvar UDNT – Úplná disjunktivní normální forma
Sestavení Karnaughovy mapy - mapa Kanaughova mapa je tvořena tabulkou tvořenou 2n políčky, kde n je počet vstupních proměnných a platí n = 1, 2, 3, 4 …
Sestavení Karnaughovy mapy - souřadnice Proměnné funkce tvoří systém souřadnic buněk, přičemž se jedná o veškeré kombinace, které proměnné mohou mít a jsou zapsány tak, že se mění vždy pouze v jednom bitu – Grayův kód Obvykle se zapisuje pouze ‘1’, nevyplněná buňka odpovídá ‘0’ Pro neúplné funkce se prázdná políčka vyplňují X Grayův kód:
Sestavení Karnaughovy mapy - zápis Zjednodušovaná funkce je ve tvaru (v tomto případě pro 4 proměnné A, B, C, D) kde fn( ) je identita, negace, nebo nulová funkce Součinový člen udává souřadnici buňky, kam zapisujeme ‘1’
Pravidla pro vyhodnocení Karnaughovy mapy: Utváří se co největší skupiny buněk s hodnotou ‘1’, které mohou mít pouze 2n buněk (n = 1,2,3 …) a mají tvar obdélníku. Nejmenší obdélník je jedna buňka První a poslední buňka řádku a první a poslední buňka sloupce jsou sousedními buňkami Pokud skupina zabírá v dané ose více buněk, její souřadnice v tomto směru je ta, která se nemění, případně, že zabírá všechny buňky v tomto směru, je určena pouze souřadnicemi směru kolmého Buňka s hodnotou ‘1’ může být obsažena ve dvou i více skupinách Zjednodušenou funkci tvoří součet všech souřadnic určujících skupiny buněk s hodnotou ‘1’, přičemž jsou tyto souřadnice součinovými členy Pokud nedokážeme jednoznačně určit zda bude v daném políčku ‘1‘, nebo ‘0’, (např. hazardní stavy zařízení, nebo nevyužité bity zařízení), pak se jedná o neurčitý stav. Ten se zpravidla značí ‘X’ a pokud je to výhodné pro zjednodušení, je možné tvořit skupiny z ‘1’ a ‘X’ podle předchozích pravidel
Sestavení Karnaughovy mapy - vyhodnocení
Sestavení Karnaughovy mapy - příklad 2. Vyznačení skupin hodnot ‘1’ 1. Zápis do mapy 3. Určení souřadnic skupin a sestavení zjednodušené funkce
Zdroje Arendáš V.: Číslicová technika. Bohumín, 2002 Logická funkce Dvojková soustava Logické operace Bitové operátory Booleho algebra Minimalizační metody De Morganovy zákony Logické členy Karnaughova mapa http://cs.wikipedia.org/wiki/Logick%C3%A1_funkce http://cs.wikipedia.org/wiki/Dvojkov%C3%A1_soustava http://cs.wikipedia.org/wiki/Pozi%C4%8Dn%C3%AD_%C4%8D%C3%ADseln%C3%A1_soustava http://cs.wikipedia.org/wiki/Logick%C3%A1_operace http://cs.wikipedia.org/wiki/Bitov%C3%BD_oper%C3%A1tor http://elektronika.ezin.cz/view.php?cisloclanku=2006070014-Cislicova-technika-8dil-Booleova-Algebra http://cs.wikipedia.org/wiki/Booleova_algebra http://mvt.ic.cz/dva/prp/prp-03.pdf http://www.prochazka.profitux.cz/booleova-algebra.a6.html http://artemis.osu.cz/polpo/07/05a_Booleova_algebra.pdf http://jjohnyk.sweb.cz/elektronika/12.htm http://ww.webpark.cz/cviceni02.pdf http://www.prochazka.profitux.cz/de-morganovy-zakony.a7.html http://cs.wikipedia.org/wiki/Logick%C3%BD_%C4%8Dlen#AND Arendáš V.: Číslicová technika. Bohumín, 2002 http://www.prochazka.profitux.cz/karnaughova-mapa.a12.html http://www.prochazka.profitux.cz/karnaughova-mapa-dvou-promennych.a11.html http://www.prochazka.profitux.cz/karnaughova-mapa-pro-tri-promenne.a13.html http://www.prochazka.profitux.cz/karnaughova-mapa-pro-ctyri-promenne.a14.html
Děkujeme za pozornost
Zadání úkolu Zrealizujte pomocí hradel funkci Y a pro hodnoty A = 1, B = 1 a C = 1. Zobrazte její výsledek na sedmisegmentovém displayi, případně na diodě. Po té funkci zjednodušte pomocí Karnaughovy mapy a opět zobrazte. Porovnejte původní a zjednodušenou funkci i logické obvody, které ji realizovaly.
Řešení A) B) Výsledná funkce: