7.4.1. Předmět a metody zjednodušování logických výrazů
V tomto odstavci se budeme zabývat
zjednodušováním logických výrazů z hlediska co nejmenšího počtu logických
členů, potřebných k realizaci určité logické funkce. Toto hledisko je
používáno nejčastěji, neboť souvisí s náklady na realizaci příslušné
logické funkce. Je však třeba si uvědomit, že zde se budeme zabývat pouze realizací
logických funkcí pomocí hradel základní logiky, tj. hradel AND, OR resp. NAND,
NOR. V mnoha případech však je možné
požadovanou logickou funkci realizovat pomocí integrovaných obvodů střední nebo
velké integrace s náklady podstatně nižšími, než by byly náklady na její
realizaci pomocí hradel základní logiky. Představitelem integrovaného obvodu schopného generovat prakticky libovolnou logickou
funkci je jednočipový mikropočítač (viz kapitolu 7), k vytvoření jednodušších
logických funkcí můžeme použít tzv. programovatelná logická pole (PLA -
programable logical array). Programovatelné logické
pole reprezentuje prakticky zápis logické funkce v mintermech, tj. jako logický součet
výrazů tvaru ,
kde buď ai = Xi nebo ai =
; jednotlivá logická pole se
liší počtem proměnných n a počtem
mintermů v součtu. Na výstupu je obvykle možné vytvořit ještě inverzi takto
vytvořené logické funkce, což může zjednodušit návrh. Programovatelné logické
pole je kombinační obvod, tj. odezva výstupu PLA na změnu vstupních logických
proměnných může být podstatně rychlejší
než odezva systému řízeného mikroprocesorem. Příprava logické funkce k
programování do PLA může tak být příkladem pro algebraickou metodu
zjednodušování popsanou níže.
Metody zjednodušování jsou v podstatě dvě: algebraická a grafická. První užívá řady identit Booleovy algebry k manipulaci s logickými výrazy obdobně jako se upravují výrazy algebraické. Druhá používá k názornějšímu zobrazení logických funkcí speciálních diagramů - tzv. Karnaughových map, do kterých se zanese informace, kterou o logické funkci víme a po úpravách se z nich informace opět vybírá ve zjednodušené formě. Obecně se dá říci, že algebraická metoda vede rychleji k cíli, vyžaduje však určitou zkušenost v manipulaci s logickými výrazy, zatímco grafické metody vyžadují minimum předběžné přípravy. Programy pro algebraickou manipulaci (Mathematica, Maple atd.) umožňují automatizovat zjednodušování logických výrazů. Grafická metoda zjednodušování, která by měla tuto operaci usnadnit, proto ztrácí na významu. Algebraickou metodu uvádíme proto, že je názorným příkladem využití identit platných v Booleově algebře.