Vysoká škola báňská - Techncká unverzta Ostrava Fakulta elektrotechnky a nformatky LOGICKÉ OBVODY pro kombnované a dstanční studum Zdeněk Dvš Zdeňka Chmelíková Iva Petříková Ostrava
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY Prof. Ing. Zdeněk Dvš, CSc., Ing. Zdeňka Chmelíková, Ing. Iva Petříková, Fakulta elektrotechnky a nformatky VŠB Techncká unverzta Ostrava
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY OBSAH LOGICKÝCH OBVODŮ ČÍSELNÉ SOUSTAVY...7. Převod kladných celých čísel...9.. Metoda postupného odečítání vah...9.. Metoda postupného dělení základem.... Převod čísel kladných desetnných...5.. Metoda postupného odečítání vah...5.. Metoda postupného násobení základem...6. Vztah mez bnární, oktální a headecmální soustavou...8 BOOLEOVA ALGEBRA.... Booleovské funkce.... Způsoby zápsu booleovských funkcí...5.. Tabulkové, vektorové a číselné zápsy...5.. Záps logcké funkce přřazením výrazu...4. Mnmalzace Booleovských funkcí...44.. Algebracká mnmalzace...45.. Mnmalzace pomocí Karnaughových map...48.. Mnmalzace metodou Mc-Cluskey...55 LOGICKÉ KOMBINAČNÍ OBVODY...6. Návrh logckých kombnačních obvodů...64. Číslcové ntegrované obvody...65. Realzace logckých kombnačních obvodů pomocí vícevstupových hradel NAND...68.4 Realzace pomocí dvouvstupových hradel NAND...69.5 Realzace pomocí dvouvstupových hradel NOR...7.6 Realzace pomocí hradla AND-OR-INVERT...7
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4.7 Realzace pomocí hradel NAND s otevřeným kolektorem...7.8 Realzace kombnačních obvodů pomocí paměťových prvků...7.9 Hazardní stavy...85. Ošetření vstupních sgnálů...9 4 LOGICKÉ SEKVENČNÍ OBVODY...96 4. Analýza logckých sekvenčních obvodů...4 4.. Analýza sekvenčních obvodů bez paměťového členů...5 4.. Analýza sekvenčních obvodů s paměťovým členy...7 4. Návrh synchronních sekvenčních obvodů...4 4. Standardní zapojení logckých obvodů...5 4.4 Návrh generátoru bnárních posloupností...66 5 ARITMETICKO-LOGICKÁ JEDNOTKA...76 5. Způsob zobrazování celých čísel...77 5.. Vyjádření záporných čísel jednotkovým doplňkem...77 5.. Vyjádření záporných čísel ve dvojkovém doplňku...78 5. Sčítání...79 5. Odčítání...85 5.. Odčítání s jednotkovým doplňkem...85 5.. Odčítání s dvojkovým doplňkem...87 5.4 Násobení...89 5.5 Dělení...9 5.6 Porovnávání...9 5.7 Zobrazování čísel v pohyblvé řádové čárce...95
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5 ÚVODEM LOGICKÝCH OBVODŮ Tyto tety jsou určeny pro studenty prvního ročníku kombnovaného studa bakalářského studjního programu Informační technologe a pro studenty. ročníku bakalářského studjního programu Elektrotechnka, sdělovací a výpočetní technka. Svojí strukturou odpovídají tetům určeným pro dstanční vzdělávání. Orentac v tetu má usnadnt jednotná struktura kaptol spolu s používáním odpovídajících symbolů Kromě teoretckých základů z oblast logckých systémů je zde množství podrobně komentovaných řešených příkladů. Pochopení dané problematky s může student vyzkoušet na mnoha neřešených příkladech, které jsou pravdelně do tetu zařazovány. Tety jsou napsány tak, aby byly srozumtelné pro studenty, kteří se dosud s problematkou logckých obvodů nesetkal a nevyžadují se žádné znalost z tohoto oboru. CÍLE PŘEDMĚTU LOGICKÉ OBVODY Po úspěšném a aktvním absolvování předmětu LOGICKÉ OBVODY budete umět používat další číselné soustavy (bnární, oktální a headecmální), budete umět navrhovat kombnační obvody pomocí různých typů hradel nebo pomocí paměťových prvků, budete umět analyzovat zapojení s logckým obvody a navrhovat sekvenční obvody, posuvné regstry, čítače a generátory bnárních posloupností, budete umět zapsovat a číst data z různých typů paměťových prvků, získáte základní znalost o nejběžnějších ntegrovaných obvodech, budete schopn realzovat zapojení kombnačních a sekvenčních logckých obvodů.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 6 PRŮVODCE STUDIEM V průběhu semestru budou Vaše znalost ověřovány formou dvou samostatných prací a formou testu. První samostatná práce bude představovat návrh kombnačního obvodu, druhá návrh sekvenčního obvodu. Zadání je v obou případech jednotné a je uvedeno v těchto tetech. Realzované funkce má však každý student jné a obdrží je na tutorálu nebo formou e-malu. V průvodc studem Vám poradíme, kdy byste měl být schopn určtou část zadání vypracovat. Správnost Vašeho návrhu s ověříte sam př realzac. SAMOSTATNÁ PRÁCE a) Ze zadané závslost mez 6 vstupním a 4 výstupním proměnným vytvořte pravdvostní tabulku, vyjádřete funkce v součtovém tvaru a pomocí Booleovy algebry je zjednodušte. b) Mnmalzujte zadané funkce pomocí metody Mc-Cluskey. c) Podle získaných rovnc dle bodu a) a dle bodu b) nakreslete síť pro realzac funkcí pomocí hradel NAND, resp. NOR.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 7 ČÍSELNÉ SOUSTAVY ČAS POTŘEBNÝ KE STUDIU Předpokládaný čas k prostudování kaptoly Číselné soustavy je 5 hodn. RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY ČÍSELNÝCH SOUSTAV Realzace logckých systémů mechanckým prvky využívala matematckou soustavu se základem a všechny funkce, například sčítání, byly realzovány v soustavě s tímto základem. Realzace pomocí elektronckých prvků, počínaje elektronkam, přes dody, tranzstory, ntegrované obvody až po mkropočítačové obvody, začala logcké systémy chápat jako číslcové systémy, a protože logcká hodnota v číslcových systémech se nazývá bt (Bnary Dgt dvojková číslce), začala se k popsu vektorů proměnných používat dvojková soustava se symboly,, resp.(, I). K vyjádření velkost vektorů se využívá termín n-btové slovo, kde n znamená počet proměnných. Délka zápsu stavu, například vstupního vektoru ve dvojkové soustavě, dále vedla k přehlednějšímu zapsování a čtení nformace, a to v osmčkové a pozděj šestnáctkové soustavě. CÍLE KAPITOLY ČÍSELNÉ SOUSTAVY Budete umět zapsat čísla v různých číselných soustavách, získáte ucelený přehled o problematce číselných soustav a o používaných metodách pro převody čísel mez soustavam, budete schopn vybrat a použít nejvhodnější metodu pro převod čísel a v následujících kaptolách budete schopn vektory logckých proměnných v různých číselných soustavách zapsat. KLÍČOVÁ SLOVA KAPITOLY ČÍSELNÉ SOUSTAVY Bnární soustava, oktální soustava, headecmální soustava, dekadcká soustava, číselná soustava, koefcent, váha, základ, bt, polynom.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 8 Osmčková soustava používá číselné hodnoty,,,, 4, 5, 6, 7 a šestnáctková soustava symboly,,, A, B, C, D, E, F, kde symboly A, B, C, D, E, F reprezentují desítkové symboly,,,, 4 a 5. Stejně jako v desítkové soustavě je možné realzovat matematcké operace v jných soustavách, vz. kaptola 9. Jestlže použjeme k zápsu stavů v uvedených soustavách stejných matematckých zvyklostí jako v desítkové soustavě, můžeme obecně každé číslo N o základě B psát jako součet součnů N B n n m an B an B K a B a B b B K b m B ( -) kde koefcenty a n, a n-, b -m představují symboly ze soustavy o základu B a mocnna základu představuje jeho váhu. Př běžném zápsu čísel se však tato váha neuvádí a píše se N B a a K n n Kaa, b b m ( -) Je zřejmé, že pomocí výrazu (-) nelze vyjádřt lbovolná reálná čísla, ale pouze čísla kladná a raconální. Přesnost tohoto zápsu je potom dána váhou nejnžšího členu výrazu, v tomto případě B -m. Jným slovy to znamená, že desetnná čísla nelze v jné soustavě vyjádřt vždy se stejnou přesností. Například číslo N 975, lze zapsat jako N 9 7 5 ( -) přčemž přesnost zápsu je dána členem s váhou -, což je,. Stejně tomu je v jných soustavách. K zápsu logckých hodnot není zapotřebí zápsu v desetnném tvaru, ale plně postačuje vyjádření ve tvaru celého kladného čísla. Výraz (-) se potom redukuje na tvar N B a n B n n an B K a B a B ( -4) s přesností ±. Pokud číslcový systém pracuje s desetnným číslem, potom je desetnná čárka pevně defnována a nezobrazuje se specálním symbolem. Rozsah takto zobrazovaných čísel N je v desítkové soustavě v ntervalu -, N (,). Číslu N,5 zobrazenému ve dvojkové soustavě ve 4 btech odpovídá tvar I, což je tvar stejný jako pro celé kladné číslo N 6. Je proto zřejmé, že forma zobrazení je dána vzájemnou dohodou.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 9 ÚLOHY K ŘEŠENÍ - Pomocí sčítání násobků mocnn převeďte a) z bnární do desítkové soustavy číslo N b) z oktální do desítkové číslo N 8 6 c) z headecmální do bnární soustavy číslo N 6 E7. Převod kladných celých čísel Jestlže máme číslo N o základu B a chceme ho převést na číslo o základu B a tato čísla jsou celá kladná, pak pro převod použjeme následující nejběžnější metody: metoda postupného odečítání vah metoda postupného dělení základem.. Metoda postupného odečítání vah Tato metoda vychází ze vztahu N n n B an B an B a B a B K ( -5) Metoda spočívá v hledání koefcentů an, an, Ka, a postupným odčítáním n n zmenšujících se vah B, B, KB, B. Je vlastně hledána mocnna se základem B menší nebo rovna zbytku převáděného čísla. Algortmus výpočtu na počátku předpokládá hodnoty všech koefcentů an, an, K a, a. Od n čísla N B se odečte nejblžší nžší váha B a dostaneme zbytek N. B n N B N B B ( -6) n Když N B B, potom a n a n a opětovně odčítáme váhu B n. V n n opačném případě tj. N B < B jž váha B nemůže být ve zbytku obsažena (nepřeváděl bychom jž číslo kladné) a přejdeme na hledání koefcentu a n. n Platí, že N N B a opětovně a a, když N B n a nebo B B n n B
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY přejdeme na odčítání nžší váhy, když stanovením koefcentu a. N < n B B. Algortmus končí Z uvedeného vyplývá, že koefcent a n představuje kolkrát od čísla N B mohu n odečíst váhu B, aby výsledek byl kladný nebo se rovnal nule. Analogcky toto platí pro zbývající koefcenty. ŘEŠENÝ PŘÍKLAD Metodou postupného odečítání vah převeďte číslo N 86 do bnární a oktální soustavy. Řešení příkladu Převod do bnární soustavy Koefcenty an, an, Ka, a mohou nabývat pouze hodnoty nebo a odpovídající váhy mají hodnotu: Váha Rozdíl Koefcent a n 8 56 86-56 -7 a 8 7 8 86-8 58 a 7 6 64 58-64 -6 a 6 5 58-6 a 5 4 6 6-6 a 4 8-8 a 4-4 - a - a - - a Z tabulky vyplývá, že N. B
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY Převod do oktální soustavy. Koefcent a n může nabývat hodnot od do 7. Váha Rozdíl Koefcent a n 8 5 86-5 -6 a 8 64 86-64 a - 64 58 a 8 8 58-8 5 a 5-8 4 a 4-8 4 a 4-8 6 a 4 6-8 8 a 5 8-8 a 6-8 a 7 8 - a - a Můžeme psát, že N 78. B * ÚLOHY K ŘEŠENÍ - Pomocí metody postupného odečítání vah převeďte z desítkové soustavy a) do bnární soustavy N 458, N a N 95, b) do oktální soustavy N 9, N 56 a N 6 c) do headecmální soustavy N, N 847 a N 4
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY.. Metoda postupného dělení základem Předpokládáme, že máme číslo N o základu B a chceme ho vyjádřt jako číslo o základu B. Odvození metod převodu vychází ze zápsu čísla v novém základu B a B a B a B a N n n n n B K ( -7) Jestlže tento výraz budeme dělt základem B, výsledkem bude podíl P a zbytek Z, pro který bude platt B Z >. Můžeme proto psát, že ] [ B a B B a B a B a N n n n n B K ( -8) resp. Z B P N B ( -9) přčemž je zřejmé, že platí a B a Z ( -) a tedy zbytek Z představuje přímo koefcent a. Pro polynom P platí B a B a B a P n n n n K ( -) Ke stanovení koefcentu a vydělíme polynom P základem a dostaneme ] [ B a B B a B a B a P n n n n K ( -) odkud B a B a B a P n n n n K a Z ( -)
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY Dalším dělením polynomu P základem B získáme postupně koefcenty a,,k hledaného čísla v pořadí od nejnžší k nejvyšší váze. a ŘEŠENÝ PŘÍKLAD Metodou postupného dělení základem převeďte číslo 79 do headecmální soustavy. Řešení příkladu Dílčí podíl n P Zbytek n Z Koefcent a n 79 : 6 8 a B 8 : 6 6 a C 6 : 6 6 a 6 Z tabulky je zřejmé, že číslo 79 6CB6. * ŘEŠENÝ PŘÍKLAD Metodou postupného dělení základem vyjádřete číslo N 658 v headecmálním základě. Řešení příkladu Protože zadané číslo není v desítkové soustavě, je nutné s uvědomt, že převod se může uskutečnt buď: přímým převodem v osmčkové soustavě, převodem čísla N do desítkové soustavy pomocí sčítání mocnn a následným převodem z desítkové soustavy.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4 Přímý převod v osmčkové soustavě. Základ nové soustavy vyjádříme v soustavě, ve které budeme převod realzovat, tj. 8. Dílčí podíl n P Zbytek n Z Koefcent a n 65 8 : 8 7 8 a B 7 8 : 8 8 a A 8 : 8 8 a Na základě výpočtu lze psát, že číslo N 658 AB6. Převod přes desítkovou soustavu N 658 8 6 8 58 8 99 Dílčí podíl n P Zbytek n Z Koefcent a n 99 : 6 58 a B 58 : 6 a A : 6 a Z tabulky je vdět, že jsme dospěl ke stejnému výsledku N AB6. * ÚLOHY K ŘEŠENÍ - Pomocí metody postupného dělení základem převeďte z desítkové a) do bnární soustavy čísla N 79, N a N 49 b) do oktální soustavy čísla N 898, N 69 a N 96 c) do headecmální soustavy čísla N 46, N 99 a N 96
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5. Převod čísel kladných desetnných Pro číslo N < o základu B můžeme podle vztahu (-) psát N B b m m B b B K b m B b m B ( -4) kde koefcent b -m je koefcent s nejmenší váhou. Číslo N B pak můžeme analogcky zapsat jako N B, b -, b -,... b -m, b -m, přčemž jeho přesnost je dána váhou B -m. Převod takovýchto čísel je možné uskutečnt: metodou postupného odečítání vah metodou postupného násobení základem.. Metoda postupného odečítání vah Metoda postupného odčítání vah je analogcká s metodou pro celá kladná čísla a je uvedena v následujícím příkladě. ŘEŠENÝ PŘÍKLAD Převeďte číslo N,85 z dekadcké do bnární soustavy s přesností 5 btů. Řešení příkladu Váha Rozdíl Koefcent b m -,5,85 -,5,5 b - -,5,5 -,5, b - -,5, -,5 -, b - -4,65, -,65,45 b -4-5,5,45 -,5,95 b -5 Z tabulky je vdět, že N,85,. *
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 6.. Metoda postupného násobení základem Metoda postupného násobení základem vychází ze vztahu (-4), který po vynásobení základem B dostane tvar: N m m B B b b B b m B b m B b S K ( -5) kde S představuje dílčí součn polynomu. Dalším vynásobením zbytku získáme koefcent b - a dílčí součn S. S B b m m b B K b m B b m B b S ( -6) Uvedený algortmus je možné opakovat až do zadané délky polynomu nebo stanovené přesnost zobrazení v počtu btů. ŘEŠENÝ PŘÍKLAD Metodou postupného násobení základem převeďte číslo,64 do bnární, oktální a headecmální soustavy Řešení příkladu Převod do bnární soustavy s přesností 7 btů: Dílčí součn Sn Koefcent b -m,64,68 b -,68,56 b -,56,7 b -,7,44 b -4,44,88 b -5,88,576 b -6,756, 5 b -7
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 7 Převod do oktální soustavy s přesností 9 btů: Dílčí součn Sn Koefcent b -m,64 8 5,7 b - 5,7 8,576 b -,576 8 4,68 b - 4 Převod do headecmální soustavy s přesností btů: Dílčí součn Sn Koefcent b -m,64 6,44 b - A,44 6,4 b -,4 6 4, 864 b - 4 Číslo N,64,,54 8,A4 6. * ÚLOHY K ŘEŠENÍ -4 Zvolte s metodu a převeďte z desítkové soustavy a) do bnární soustavy čísla N,79, N,9 a N,4 b) do oktální soustavy čísla N,, N,89 a N,659 c) do headecmální soustavy čísla N,88, N,7 a N,98
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 8. Vztah mez bnární, oktální a headecmální soustavou Předpokládejme, že máme celé kladné číslo N vyjádřené v bnární soustavě polynomem a a a a a N n n n n K ( -7) V souladu s kaptolou.. pro převod do oktální soustavy vydělíme tento polynom základem nové soustavy, tj. 8. Potom dostaneme [ ] 4 Z P a a a a a N n n n n K ( -8) kde P představuje celočíselný podíl polynomu a Z je zbytek. Protože Z představuje člen s nejmenší váhou v oktální soustavě, platí a a a Z ( -9) a lze konstatovat, že tento člen je dán součtem nejnžších vah v bnární soustavě. Mnmální hodnota výrazu (-9) je pro a a a a mamální hodnota pro a a a. Zbytek Z nabývá hodnot až 7, což znamená, že obsahuje všechny symboly potřebné pro zobrazení v oktální soustavě. Dalším vydělením polynomu P váhou získáme zbytek Z, který představuje v oktální soustavě váhu 8. Pro převod z bnární do oktální soustavy lze tedy postupovat tak, že bnární číslo rozdělíme na skupny po symbolech (btech) od desetnné čárky směrem vlevo a tyto vyjádříme v symbolech oktální soustavy. Pro převod do headecmální soustavy vyjdeme opět ze vztahu (-7), který po vydělení základem headecmální soustavy, tj. 4 má tvar [ ] 4 4 4 5 4 Z P a a a a a a a N n n n n K ( -) Zbytek a a a a Z charakterzuje člen s nejnžší váhou v headecmální soustavě. Pro převod čísla lze tedy bnární číslo rozdělt na skupny po 4 symbolech (btech) od desetnné čárky směrem vlevo a tyto vyjádřt v symbolech headecmální soustavy.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 9 ŘEŠENÝ PŘÍKLAD Převeďte číslo N do oktální a headecmální soustavy. Řešení příkladu Převod do oktální soustavy: N odkud N 8 66 8. Převod do headecmální soustavy: N 6 odkud N 6 5B 6. * ŘEŠENÝ PŘÍKLAD Pomocí převodu přes bnární soustavu převeďte z oktální do headecmální soustavy číslo N 8 75 a z headecmální do oktální soustavy číslo N 6 F Řešení příkladu N 8 75 N N N 6 C5 N 6 F N N N 8 47 Pokud se převod kladných čísel N< z bnární soustavy do soustavy oktální, resp. headecmální uskutečňuje metodou postupného násobení, znamená to, že polynom (-4) vynásobíme základem umocněným na druhou pro převod do oktální soustavy nebo základem umocněným na třetí pro převod do headecmální soustavy. Praktcky to odpovídá rozdělení polynomu do skupn po třech, resp. po čtyřech symbolech (btech) od desetnné čárky vpravo a vyjádření těchto skupn odpovídajícím symboly.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY ŘEŠENÝ PŘÍKLAD Převeďte číslo N,75 8 do soustavy headecmální. Řešení příkladu N,,,5DD 6 * ÚLOHY K ŘEŠENÍ -5 Pomocí přímého převodu převeďte a) z bnární do oktální soustavy číslo N b) z oktální do bnární soustavy číslo N 8 754 c) z bnární do headecmální soustavy N d) z headecmální do bnární N 6 C5 SHRNUTÍ KAPITOLY ČÍSELNÉ SOUSTAVY V kaptole Číselné soustavy jsme uvedl různé typy číselných soustav a používané metody pro převody čísel mez nm, a to pro kladná celá čísla a kladná desetnná čísla. Dále jsou zde uvedeny vztahy mez bnární, oktální a headecmální číselnou soustavou. Jak uvdíme v následujících kaptolách, je zvládnutí problematky kaptoly Číselné soustavy nezbytné zejména př zápsu vektorů proměnných v bnární, oktální a headecmální soustavě, př vektorovém zápsu logcké funkce a v mkropočítačové technce. Shrnutí
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY BOOLEOVA ALGEBRA ČAS POTŘEBNÝ KE STUDIU Předpokládaný čas k prostudování kaptoly Booleova algebra je hodn. RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY BOOLEOVA ALGEBRA Booleova algebra představuje jeden z možných matematckých prostředků, pomocí něhož lze pracovat s logckým (booleovským) proměnným, které nabývají pouze dvou hodnot. Tyto hodnoty se označují symboly a I nebo L a H (z anglčtny low a hgh ) podle nžší a vyšší sgnální velčny, která zobrazuje logcké hodnoty. Logcká proměnná může v určtém logckém systému například vyjadřovat, je-l vypínač sepnut (I) nebo rozepnut (), je-l nějaká fyzkální velčna větší nebo menší než daná hodnota apod. Základní význam př popsu chování kombnačních obvodů, kterým je věnována kaptola, mají dvouhodnotové funkce s dvouhodnotovým proměnným. Takovéto funkce se nazývají booleovské funkce. Kaptola je zaměřena na způsoby zápsu booleovských funkcí a na nejběžnější metody jejch mnmalzace. CÍLE KAPITOLY BOOLEOVA ALGEBRA Budete umět defnovat logckou proměnnou, funkc rovnost a logcké operátory, napsat pravdvostní tabulku logcké funkce, zapsat funkc do Karnaughovy mapy a vyjádřt funkc pomocí booleovského výrazu, získáte přehled o různých možnostech zápsu logckých funkcí a přehled o používaných metodách mnmalzace logckých funkcí, budete schopn uplatnt zákony Booleovy algebry př úpravě a zjednodušování booleovských výrazů, budete schopn upravovat booleovské výrazy do žádaného tvaru a mnmalzovat booleovské funkce vhodnou mnmalzační metodou.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY KLÍČOVÁ SLOVA KAPITOLY BOOLEOVA ALGEBRA Logcká proměnná, funkce rovnost, logcké operátory, logcký součn, logcký součet, negace (komplement), asocatvní zákon, komutatvní zákon, dstrbutvní zákon, zákon absorpce, De Morganovy zákony, zákon absorpce konsensu, booleovská funkce, mnmalzace, algebracká mnmalzac, Mc-Cluskey, Karnaughova mapa. Klíčová slova K ZAPAMATOVÁNÍ Booleova algebra je defnována souborem postulátů a teorémů, které jsou tvořeny: logckým proměnným funkcem rovnost logckým operátory DEFINICE LOGICKÉ PROMĚNNÉ - Jestlže je logcká proměnná, která může nabývat pouze dvou hodnot (,), musí platt: když a když DEFINICE FUNKCE ROVNOSTI - Když uvažujeme dvě logcké proměnné a a současně platí, že a nebo a, lze psát, že a znamená to, že tyto proměnné se sobě rovnají.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY DEFINICE LOGICKÝCH OPERÁTORŮ - Pro dvě lbovolné logcké proměnné a jsou defnovány základní logcké operace - logcký součn a logcký součet. Operátor logckého součnu a zároveň nebo nebo Operátor logckého součtu nebo nebo a zároveň K ZAPAMATOVÁNÍ Logcký komplement (negace) Další zákony a věty Booleovy algebry jsou: komutatvní zákon asocatvní zákon dstrbutvní zákon zákon absorpce zákon absorpce konsenzu De Morganovy zákony zákon spojení
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4 Komutatvní zákon - Asocatvní zákon - ( ) ( ) ( ) ( ) Dstrbutvní zákon - ( ) ( ) ( ) ( ) Zákon absorpce -4 ( ) ( ) Důkaz ( ) ( ) ( ) ( )
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5 Zákon absorpce konsenzu -5 ( ) ( ) ( ) ( ) ( ) Důkaz Poslední člen na levé straně první rovnce vynásobíme výrazem ( ), roznásobíme a vytkneme: ( ) ( ) ( ) V druhé rovnc roznásobíme závorky současně na levé pravé straně a postupně upravujeme pomocí zavedených postulátů: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 6 De Morganovy zákony -6 De Morganovy zákony převádí operac logckého součnu na operac logckého součtu a naopak. Důkaz Mějme dvě booleovské proměnné, a booleovské výrazy,,,, a. Vyjádříme-l logcké hodnoty uvedených proměnných a výrazů, vyplývá platnost zákonů z následující tabulky: Zákon spojení -7 ( ) ( ) Důkaz: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 7 K ZAPAMATOVÁNÍ ŘEŠENÝ PŘÍKLAD Zjednodušte booleovský výraz. ( ) ( ) Řešení příkladu Roznásobíme a upravíme: ( ) ( ) ( ) ( ) ( ) ( ) X X X X X X X X X X X X 678 678 678 4 48 4 64 7 4 48 4 64 7 4 48 4 64 7 678 678 678
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 8 Výsledek lze psát přímo uplatněním zákona spojení. Výše uvedený postup je možné považovat za důkaz zákona. * ŘEŠENÝ PŘÍKLAD Zjednodušte výraz pomocí Booleovy algebry. Řešení příkladu ( ) ( ) ( ) ( ) ( ) ( ) K ZAPAMATOVÁNÍ 4 Z předchozího už víme, že. Také změníme-l například výraz na tvar, bude logcká hodnota obou výrazů stejná. V této souvslost je vhodné s uvědomt, že ne vždy je výhodné se okamžtě snažt počet členů a proměnných př úpravě výrazu hned snžovat. Na počátku nebo v průběhu dalších úprav nám může pomoc, vložíme-l do výrazu člen, který hodnotu výrazu nezmění, ale další úpravy zjednoduší. Vložení výrazu
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 9 ŘEŠENÝ PŘÍKLAD Pomocí Booleovy algebry upravte výraz:. Řešení příkladu Algebrackou úpravu s zjednodušíme vložením vhodného členu: ( ) ( ) Upravovaný výraz je stejný jako v předchozím řešeném příkladu porovnejte postup př zjednodušování. * ŘEŠENÝ PŘÍKLAD Pomocí Booleovy algebry a De Morganových zákonů zjednodušte booleovský výraz. ( ) ( ) Řešení příkladu Na odpovídající členy aplkujeme nejprve De Morganovy zákony, roznásobíme a zjednodušíme. ( ) ( ) ( ) ( ) ( ) ( ) *
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY ÚLOHY K ŘEŠENÍ - Pomocí booleovy algebry zjednodušte následující výrazy: a) b) ( ) ( ) ( ) ( ) c) ( ) ( ) d) ( ) ( ) ( ) e) f) g) ( ) ( ) ( ) h) ÚLOHA K ŘEŠENÍ - Pomocí booleovy algebry upravte následující výraz tak, aby obsahoval pouze logcké součty. ( ) ( ) ( ) ÚLOHY K ŘEŠENÍ - Dokažte, že platí: ( ) ( )
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY. Booleovské funkce Booleovské funkce jsou dvouhodnotové funkce s dvouhodnotovým proměnným. Booleovská funkce Úplná booleovská funkce f( n-,..,, ) o n proměnných n-,.., je zobrazení Úplná booleovská funkce f: {,} n {,} ( -4) kde (,) n - je množna, která tvoří defnční obor booleovské funkce, (,) - je množna, která tvoří obor hodnot booleovské funkce Defnčním oborem funkce je tedy množna všech n-tc s prvky a, kterým odpovídají všechna možná uspořádání n-tc hodnot proměnných n-,..,. Obor tedy obsahuje právě n n-tc. Defnční obor úplné booleovské funkce Booleovská funkce přřazuje každé n-tc hodnot proměnných určtou hodnotu a. Booleovské funkc dvou proměnných odpovídá určté zobrazení {,} {,}, kde {,} {,},{,},{,},{,} je množna všech dvojc hodnot proměnných. Příklad konkrétní booleovské funkce f je uveden na obr. -. f Obr. -: Příklad konkrétní booleovské funkce dvou proměnných
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY ( ) Z defnce booleovské funkce je zřejmé, že pro n proměnných estuje různých booleovských funkcí. Pro jednu proměnnou estují tedy 4 různé funkce, které jsou uvedeny na obr. -. n Booleovské funkce jedné proměnné f f f f Obr. -: Booleovské funkce jedné proměnné Analogcky pro dvě vstupní proměnné estuje 6 různých funkcí, obr. -. Booleovské funkce dvou proměnných f f f f f 4 f 5 f 6 f 7 f 8 f 9 f f f f f 4 f 5 Obr. -: Booleovské funkce dvou proměnných Podrobnějším studem obr. - zjstíme, že obsahuje některé velm známé funkce, např. f 8 je známá Percova funkce, f 4 je Schäfferova funkce, f 9 je ekvvalence atd. Př řešení praktckých úloh návrhu logckých kombnačních obvodů se setkáváme s neúplným booleovským funkcem. Neúplná booleovská funkce f( n-,...,, ) je zobrazení Neúplná booleovská funkce f: Q {,} ( -5) kde Q {,} n.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY Defnčním oborem neúplné booleovské funkce je vlastně podmnožna Q množny {,} n. Neúplná funkce proto není defnována ve všech bodech oboru {,} n úplné booleovské funkce. Obor Q je například tvořen množnou hodnot proměnných Q {,,,}, v nchž je defnována (není defnována v bodech,, a ). Tabulkové vyjádření takové funkce je uvedeno na obr. -4. Defnční obor neúplné booleovské funkce f Obr. -4: Příklad neúplné booleovské funkce Pro řešení praktckých úkolů je potom výhodnější využívat obecněj defnovanou booleovskou funkc. Rozšířená booleovská funkce f( n-,...,, ) je zobrazení Rozšířená booleovská funkce f: {,} n {,,X} ( -6) kde symbol X se nterpretuje jako hodnota neurčtá, tj. lbovolná hodnota ( nebo ). f f f X X X X Obr. -5: Příklad rozšířené booleovské funkce f s rovnocenným úplným booleovským funkcem f a f
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4 Množna rozšířených booleovských funkcí s n proměnným proto obsahuje n různých funkcí a zobrazuje dříve defnovanou neúplnou booleovskou funkc. Příklad rozšířené booleovské funkce je uveden na obr. -5. Z uvedeného je zřejmé, že booleovské funkce realzující zobrazení Booleovská funkce F: A U ( -7) kde A {,} n a U {,} m jsou množny vstupních nebo výstupních vektorů obvodu s n vstupním a m výstupním proměnným a umožňují pops kombnačního obvodu. Pro logcký kombnační obvod, který má m výstupních proměnných a n vstupních proměnných platí: y f ( n-,... ) ( -8) kde,,...m. Například pro chování kombnačního obvodu se dvěma vstupním a dvěma výstupním proměnným lze psát: y f (, ) ( -9) y f (, ) Je třeba poznamenat, že v chování kombnačních obvodů se velm často vyskytuje potřeba použtí rozšířené booleovské funkce, a to především v těchto případech: určté vstupní vektory se nevyskytují, tj. okolí (prostředí) obvodu je negeneruje, hodnota výstupní proměnné není defnovaná pro některé vstupní vektory. Je však třeba přpomenout, že př popsu chování kombnačního obvodu pomocí booleovských funkcí se neposthují jeho dynamcké vlastnost. Vztahy mez proměnným vyjadřují ustálený stav, tj. stav po akceptování změn vstupních a výstupních proměnných. Závěr booleovských funkcí
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5. Způsoby zápsu booleovských funkcí Každý matematcký záps funkce se ve své podstatě vyznačuje svojí jednoznačností. Protože však pro záps booleovských funkcí nelze použít známé způsoby z matematky, zapsují se jným jednoznačným způsobem... Tabulkové, vektorové a číselné zápsy Tabulkový záps, resp. záps pomocí pravdvostní tabulky je nejznámější způsob zápsu. Tabulka pro úplnou booleovskou funkc f na obr. -6 a) n obsahuje pro n vstupních proměnných kombnací logckých hodnot, a proto musí mít n řádků. Je zřejmé, že tento záps je vhodný pro menší počet vstupních proměnných. Například pro 8 vstupních proměnných vychází až 56 řádků a takovýto záps vzhledem ke svým rozměrům ztrácí na přehlednost. Tabulkový záps Pro snížení počtu řádků se proto někdy používá tzv. zhuštěný záps. Prncp zhuštěného zápsu spočívá v použtí symbolu X pro hodnoty vstupních proměnných. V tomto případě symbol X znamená, že logcká hodnota výstupní proměnné je stejná pro logckou hodnotu dané vstupní proměnné nebo. Prncp zhuštěného zápsu funkce f je zřejmý z obr. -6 b). a) Úplný záps b) Zhuštěný záps n f 4 5 6 7 n f, X, X 4,5 X 7 Obr. -6: Způsoby tabulkového zápsu funkce f
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 6 Číselný záps booleovské funkce využívá skutečnost, že logcké hodnoty se ztotožňují s číselnou hodnotou. Logcká hodnota I se ztotožní s číselnou hodnotou, logcká hodnota se ztotožní s číselnou hodnotou. Na základě záměny logcké hodnoty za číselnou lze vstupní n-tc chápat jako číslo vyjádřené ve dvojkové soustavě. Takovéto číslo se potom nazývá nde. Předpokladem využtí číselného zápsu však je pevně defnované pořadí vstupních proměnných. Toto pořadí se uvádí v závorce za symbolem funkce, přčemž zároveň vyjadřuje váhové pořadí proměnných, zleva doprava, od nejvyšší váhy k váze nejnžší. Například n-tce I. Číselný záps Estují dvě základní formy číselného zápsu: Dsjunktvní číselný záps funkce- za symbolem rovnost se uvádí symbol D a v závorce jsou potom uvedeny ndey vstupní n-tce, vyjádřené v desítkové soustavě, v nchž booleovská funkce nabývá hodnoty logcké I. Dsjunktvní záps Například funkce f z obr. -6 bude vyjádřena takto: f,, ) D(,,4,5,6) ( -) ( Konjunktvní číselný záps funkce- za symbolem rovnost je uveden symbol K a v závorce jsou uvedeny ndey v nchž booleovská funkce nabývá logcké hodnoty. Konjunktvní záps Jako příklad opět záps funkce f z obr. -6: f,, ) K(,,7) ( -) ( Je zřejmé, že neúplnou booleovskou funkc nelze tímto způsobem zapsat a pro rozšířené booleovské funkce je nutné zavést z důvodu jednoznačnost zápsu opět konvenc. Konvence spočívá v tom, že za symbolem D, resp. K jsou v závorce uvedeny dva soupsy ndeů čísel. První soups odpovídá dsjunktvnímu (konjunktvnímu) zápsu. Druhý soups je vnořen pomocí závorek do prvního soupsu a obsahuje ndey vstupních n-tc, ve kterých booleovská funkce má hodnotu X. Př této konvenc lze pro funkc f z obr. -5 psát: f (,, ) f (,, ) D(,6(,,5,7)) K(,4(,,5,7)) ( -) ( -)
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 7 Vektorový záps booleovské funkce využívá skutečnost, že logcké hodnoty funkce jsou uspořádány v řádcích a uvažují se jako hodnoty číselné. Pořadí vstupních proměnných je uvedeno v závorce za symbolem funkce a určuje váhu proměnné. První hodnota za symbolem rovnost odpovídá nejvyššímu ndeu a poslední hodnota nejnžšímu ndeu vstupní n-tce. Hodnoty booleovské funkce jsou rovněž psány sestupně zleva doprava. Vektorový záps Vektorový záps booleovské funkce z obr. -6 lze potom psát ve tvaru: f,, ) ( -4) ( Protože funkční hodnoty v tomto případě představují číslo ve dvojkové soustavě, je možné tento záps modfkovat zkráceně v jné číselné soustavě. Ekvvalentní zápsy vztahu (-4) tudíž jsou: f ( f (,,,, ) 7 ) 7A 8 6 ( -5) V případě rozšířené booleovské funkce se v zápsu mez použtým číselným hodnotam a vyskytuje ještě symbol X. Například funkce f z obr. -5: f,, ) XXXX ( -6) ( Neúplnou booleovskou funkc nelze tímto způsobem zapsat.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 8 Geometrcký záps čísel pomocí mapy. Mapa představuje geometrcké znázornění defnčního oboru {,} n booleovské funkce v rovně pomocí čtverečků, přčemž každé n-tc oboru je použtým kódováním přřazen n čtvereček. Mapa tedy tvoří síť obsahující čtverečků. Příklad mapy pro záps funkce čtyř proměnných a způsob přřazení čtverečků jednotlvým čtveřcím hodnot proměnných,,, (tj. způsob kódování) je zřejmý z obr. -7. Geometrcký záps Pomocí kódovacích čar na levém a horním okraj mapy a dle přpsaných proměnných jsou defnovány čtverečky, ve kterých jednotlvé vstupní proměnné nabývají hodnoty logcké nebo I. Předpokládá se, že v oblast nacházející se pod čarou příslušné proměnné tato proměnná nabývá hodnotu log I a mmo tuto oblast hodnotu log. Čtvereček označený proto odpovídá vstupní n-tc III. Takto uspořádaná mapa se nazývá Karnaughova mapa. Karnaughova mapa Postup vytvoření Karnaughovy mapy pro lbovolný počet proměnných a zajštění správného kódování vychází z mapy pro proměnnou a je uveden na obr. -8. Algortmus vytvoření mapy pro n proměnných vychází z mapy pro n proměnných a spočívá ve vytvoření zrcadlového obrazu mapy a jeho přpojení k původní mapě. Nový zrcadlový obraz se označí novou proměnnou. Z hledska přehledu a orentace se používají mapy nejvíce pro 5 proměnných. Obr. -7: Mapa pro 4 proměnné
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 9 5 5 Obr. -8: Příklad vytvoření Karnaughových map
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4 Časový průběh představuje grafcké znázornění, kde logcké hodnotě je přřazena čára o nízké úrovn, označená L, a logcké hodnotě I čára o vysoké úrovn, označena H. Tato forma zadání se nejvíce používá v návrhových systémech pro prvky typu PLD - Programmable Logc Devces. Příklad tohoto zobrazení je na obr. -9, přčemž zobrazená funkce je ekvvalentní zápsu: Časový průběh ( ) f, ) D, ( -7) ( Obr. -9: Časový průběh booleovské funkce.. Záps logcké funkce přřazením výrazu Na základě defnce logckých operátorů - je zřejmé, že každá booleovská funkce f ( n,...,, ) může být vyjádřena ve dvou tvarech, a to buď pomocí součtu, anebo součnu jných jednodušších funkcí. Nechť pro k jsou funkce f, g, g,..., gk rozšířené booleovské funkce o n proměnných. Potom pro součtový tvar lze psát Součtový tvar f g g... ( -8) g k kde g (,,,k) jsou funkce, které splňují tyto podmínky: funkce g jsou mplkanty (podmnožny) funkce f, každý jednotkový bod funkce f je pokrytý alespoň jedním mplkantem. Jestlže bereme v úvahu nejdříve body oboru, ve kterých má funkce f hodnotu log I, musí mít alespoň jedna funkce g hodnotu log I, což vyplývá z defnce
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4 operace součtu. V bodech oboru, kde funkce f má hodnotu log, nesmí mít žádná funkce g hodnotu log I. Funkce g se rovněž nazývá mnterm. V případě, že funkce g bude funkcí vstupních proměnných g g,...,, ) a bude funkcí úplnou, musí být vztah mez vstupním ( n proměnným defnován operací součnu. Jným slovy to znamená, že v bodě, kde funkce f má hodnotu log I, musí součn logckých hodnot vstupních proměnných mít hodnotu log I. Z toho vyplývá, že funkce g může obsahovat nejen proměnné přímé, ale jejch komplementy. Je-l -tý vstupní term charakterzovaný funkcí g a tato bude obsahovat proměnnou, která má hodnotu, musí být tato komplementována, neboť musí platt, že g I. K ZAPAMATOVÁNÍ 5 Základní součtový tvar funkce f je tedy dán součtem základních součnů přímých nebo negovaných proměnných. Nechť pro k jsou funkce f, h, h,..., hk rozšířené booleovské funkce o n proměnných. Potom pro součnový tvar lze psát: Součnový tvar f h h... ( -9) h k kde h (,,,k) jsou funkce, které splňují tyto podmínky: funkce h jsou mplkanty funkce f, každý nulový bod funkce f je pokrytý aspoň jedním mplkantem. Stejně jako v případě součtového tvaru lze pro součnový tvar psát, že pro nulové body funkce f musí mít aspoň jedna funkce h hodnotu log. V bodech, kde funkce f má hodnotu log I, musí mít všechny funkce h hodnotu log I. Funkce h se někdy nazývá materm. Vzájemný vztah mez jednotlvým tvary je potom dán negací. Když máme funkc f a soubor mplkantů g, g,..., gk funkce f tak, že platí f g... g g k, potom podle De Morganových zákonů je
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4 f g g... g k. Funkce g pro,,..., k jsou mplkanty funkce f a platí: h g ( -) K ZAPAMATOVÁNÍ 6 Základní součnový tvar je dán součnem základních součtů přímých nebo negovaných proměnných. ŘEŠENÝ PŘÍKLAD Pro závslost f (,, ) napšte základní součtový tvar a základní součnový tvar funkce. Řešení příkladu Funkc vyjádříme nejdříve kombnační tabulkou: f (, ),
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 4 Základní součtový tvar je defnován pro body, kdy f : Vstupní kombnace Dílčí součn (mnterm) Potom součtový tvar funkce je: f. Základní součnový tvar je defnován pro body, kdy f : Vstupní kombnace Dílčí součet (materm) Odtud f ( ) ( ) ( ) ( ). *
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 44. Mnmalzace Booleovských funkcí Logcká funkce vyjádřena úplnou základní součtovou nebo součnovou formou z pravdvostní tabulky není jedným možným vyjádřením realzace popsované logcké funkce. Tato základní logcká funkce je samozřejmě správná, ale z hledska praktcké realzace není mnmální. Obsahuje nadbytečné prvky, které neovlvní logcký výsledek rovnce. Většnou lze nalézt algebracké vyjádření, které povede ke snížení počtu operací. Nalezené vyjádření je mnohdy podstatně jednodušší a vhodnější pro realzac. Snížením počtu operací (součtů nebo součnů) se vyhneme složtému zápsu funkce a pro pra tím docílíme zmenšení složtost obvodu. Prncpem mnmalzace je tedy odstranění přebytečných proměnných. Výsledkem této čnnost (mnmalzace) je proto nalezení mnmálního výrazu. Mnmálním výrazem rozumíme takový výraz, který má nejmenší četnost vyskytujících se proměnných. Četností proměnných v tomto případě rozumíme algebracký součet proměnných vyskytujících se ve výrazu, a to bez ohledu na nde a bez ohledu na skutečnost, zda proměnná je v přímé formě nebo ve formě negované. Mnmalzace Booleovských funkcí Pojem mnmálnost lze defnovat z mnoha hledsek. Jedním z hledsek může být počet operací ovlvňující složtost zapojení, tedy počet prvků součástkové základny potřebný pro praktckou realzac, který ovlvňuje celkovou fnanční náročnost realzace. Počet prvků má vlv na spolehlvost obvodu a ovlvňuje celkovou dobu průchodu sgnálu obvodem. Tato doba se nazývá zpoždění a představuje reakc výstupní proměnné na změnu logcké hodnoty vstupní proměnné. Je patrné, že čím větší počet stupňů má výsledné zapojení, tím je také větší doba zpoždění. Mnmálnost ÚKOL K ZAMYŠLENÍ Zvažte, jaké další problémy mohou nastat pokud by byla praktcká realzace provedena na základě nemnmalzovaného výrazu. Mnmálnost Pro vlastní mnmalzac Booleovských funkcí vyjádřených pomocí základního booleovského výrazu se nejčastěj používají následující metody: Metody mnmalzace algebracká mnmalzace, mnmalzace pomocí Karnaughových map, mnmalzační metody Mc-Cluskey
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 45.. Algebracká mnmalzace Metoda algebracké mnmalzace vychází z aplkace postulátů Booleovy algebry, ze znalost teorémů a jejch aplkace na záps logcké funkce. Úroveň konečného zjednodušení je dána především zkušenostm a ntucí. Z tohoto důvodu se tato metoda využívá pro menší počet proměnných. Metoda algebracké mnmalzace je vhodná pro mamálně 4 proměnné. Pro větší počet proměnných se tato metoda nedoporučuje a je vhodnější použít jný postup (např. metoda Mc-Cluskey). Algebracká mnmalzace ŘEŠENÝ PŘÍKLAD Vyjádřete v úplném součtovém a součnovém tvaru funkc F (,, ) D(, 4, 6, 7). Mnmalzujte j pomocí Booleovy algebry. Řešení příkladu Nejprve sestavíme na základě zadání pravdvostní tabulku:. nde F mnterm materm 4 5 6 7
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 46 Na základě pravdvostní tabulky poté můžeme psát logckou funkc v úplném součtovém tvaru: F Tuto logckou funkc zjednodušíme pomocí algebrackých úprav: F 678 6748 Na základě pravdvostní tabulky můžeme také psát logckou funkc v úplném součnovém tvaru: ( ) ( ) ( ) ( ) F Tuto logckou funkc zjednodušíme pomocí zákonů Booleovy algebry na mnmalzovaný tvar (použjeme zákona spojení): ( ) ( ) F * ŘEŠENÝ PŘÍKLAD Mnmalzujte a vyjádřete v úplném součtovém a součnovém tvaru funkc F (,, ) K (,, 4, 6). Získané výsledky porovnejte, případnou úpravou dokažte, že jsou ekvvalentní. Řešení příkladu Opět sestavíme pravdvostní tabulku funkce F.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 47 nde F mnterm materm 4 5 6 7. Sestavíme úplný součtový tvar funkce, který zjednodušíme : F F 678 678 Sestavíme úplný součnový tvar funkce, který zjednodušíme (můžeme opět aplkovat zákon spojení jako v předchozím příkladu): ( ) ( ) ( ) ( ) F ( ) ( ) F Tento výraz roznásobíme a upravíme: ( ) F 678 678 Touto úpravou jsme dokázal, že funkce získaná na základě úpravy úplného součtového tvaru je shodná s funkcí získanou na základě úpravy úplného součnového tvaru. *
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 48 ÚLOHY K ŘEŠENÍ -4 Vyjádřete v úplném součtovém a součnovém tvaru zadanou funkc a mnmalzujte j pomocí Booleovy algebry: a) F (,, ) K(,7) b) F (,,, ) (CD) 6 PRŮVODCE STUDIEM Po prostudování této kaptoly jste přpraven vypracovat bod a) první samostatné práce... Mnmalzace pomocí Karnaughových map Způsob sestavení mapy zajšťuje určté kódování proměnných (Grayův kód), čímž je docíleno toho, že sousední čtverečky se v mapě lší pouze v jedné proměnné. Tuto podmínku splňují čtverečky krajních řádků a sloupců. Prncp zjednodušení spočívá v grafckém sloučení sousedních čtverečků a jejch popsání pomocí vstupních proměnných. Grafcký postup v podstatě odstraňuje méně přehledné zápsy dílčích součtů nebo součnů. Mnmalzace logcké funkce pomocí Karnaughovy mapy se vykonává na základě následujících pravdel: musí být pokryty všechny čtverečky, v nchž funkce nabývá hodnotu log I (pro součtový tvar) nebo hodnotu log (pro součnový tvar), n smyčka musí zahrnovat sousedních čtverečků, (kde n,,,,..), snažíme se dosáhnout mnmálního počtu smyček (mnmální počet dílčích součnů nebo součtů), snažíme se dosáhnout mnmálního počtu proměnných v jednotlvých součnech nebo součtech.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 49 Tímto se z daného součnu, resp. součtu vyloučí proměnná, která mění svůj stav. V případě neúplné funkce je postup stejný, pouze nedefnované hodnotě se vytvořenou smyčkou přřadí konkrétní logcká hodnota log I nebo log. ŘEŠENÝ PŘÍKLAD Zjednodušte funkc f (,,, ) CD6 Řešení příkladu Pro danou funkc sestavíme pravdvostní tabulku a odpovídající Karnaughovu mapu: n f 4 5 6 7 8 9 4 5 Pravdvostní tabulka
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5 Karnaughova mapa Součtový tvar - smyčkou označíme sousední čtverečky, v nchž funkce nabývá hodnotu log I a tyto smyčky vypíšeme jako dílčí součny. Součtový tvar Mapa s vyznačením dílčích součnů B 4 C A B Dílčí součn označený smyčkou A je tvořen čtverečky s označením,,,4 a tedy platí: A ( ) ( ) ( ) Pro smyčky B a C lze z mapy přímo psát: B C. Výsledná funkce má potom tvar: f A B C Mnmální součtový tvar funkce
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5 Součnový tvar - smyčkou označíme sousední čtverečky, v nchž funkce nabývá hodnotu log a tyto smyčky vypíšeme jako dílčí součty. Součnový tvar Mapa s vyznačením dílčích součtů Pro jednotlvé smyčky platí: A B C Výslednou funkc dostaneme jako součn dílčích součtů: ( ) ( ) ( ) C B A f Mnmální součnový tvar funkce Správnost řešení potvrdíme převedením součnového tvaru na součtový roznásobením závorek. ) ( ) ( ( ) ).( ( f a po aplkování absorpce konsenzu f * B C A C
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5 ČÁST PRO ZÁJEMCE Kaptola je věnována praktcké realzac logckého kombnačního obvodu. Jako praktcký příklad návrhu kombnačního obvodu je zde uveden NÁPOJOVÝ AUTOMAT. Už v tuto chvíl byste byl schopn vyřešt v tomto příkladu body a) a b). ŘEŠENÝ PŘÍKLAD Pro funkc F (,,, ) XXX sestavte pomocí Karnaughovy mapy mnmální součtový a součnový tvar. Řešení příkladu Pro danou funkc sestavíme pravdvostní tabulku a odpovídající Karnaughovu mapu:
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 5 n f X 4 5 6 X 7 8 9 4 5 X Pravdvostní tabulka Karnaughova mapa X 6 4 X 7 5 9 X 5 8 4 Pro součtový tvar zvolíme smyčky: Součtový tvar B X X C A X B C Mapa s vyznačením smyček pro součtový tvar funkce Pro jednotlvé smyčky můžeme psát:
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 54 A B C Výsledný mnmální součtový tvar funkce je: F Mnmální součtový tvar funkce Ze zvolených smyček je zřejmé, že term s pořadovým číslem bude mít hodnotu log I a zbývající nedefnované hodnoty budou mít hodnotu log. Smyčky pro součnový tvar: Součnový tvar X X B X A A Mapa s vyznačeným smyčkam pro součnový tvar funkce Dílčí smyčky: A B Výsledná funkce má potom tvar: F ( ) ( ) Mnmální součnový tvar funkce Z obrázku je zřejmé, že pouze term s pořadovým číslem 6 bude mít hodnotu log. Porovnáme-l výsledné výrazy součtového a součnového tvaru lze konstatovat, že se an po potřebné úpravě nebudou shodovat. Rozdílnost vyplývá z přřazení různých logckých hodnot místo hodnoty neurčté. *
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 55 ÚLOHA K ŘEŠENÍ -5 Mnmalzujte funkc v součtovém tvaru pomocí Karnaughovy mapy f,, ). ( ÚLOHA K ŘEŠENÍ -6 Mnmalzujte funkc v součnovém tvaru pomocí Karnaughovy mapy f,,, ). (
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 56.. Mnmalzace metodou Mc-Cluskey Tuto mnmalzační metodu je výhodné používat v případě funkcí s více než čtyřm vstupním proměnným. Metoda vychází ze vzájemného porovnávání všech vstupních vektorů, způsobem každý s každým, a to ve dvou etapách. V první etapě se vyhledají a roztřídí vstupní vektory do skupn podle počtu lšících se logckých hodnot vstupních proměnných. Ve druhé etapě se porovnávají vektory, které se mohou lšt jen v jedné proměnné. V případě, že se dva porovnávané vektory lší v jedné proměnné, lze konstatovat, že na této proměnné nezávsí a je možné tyto vektory sloučt do jednoho. Jestlže se dva vektory lší v proměnné, lze obecně pro tyto vektory psát : n K n K K n K K ( ) K n K K ( -) Dalším porovnáním vektorů zůstanou pouze ty, které není možné jž dále zjednodušt a jsou zahrnuty do výsledného tvaru funkce. Tyto vektory nazýváme mplkanty. Vzhledem k tomu, že mplkant může současně pokrýt více vektorů, je pro mnmální tvar funkce nutné provést kontrolu pokrytí vektory. Na základě této kontroly se potom vyloučí stejné mplkanty a sestaví se výraz pro mnmální tvar funkce. Metodu je možné aplkovat jak pro sestavení funkce v součtovém tvaru, tak v součnovém tvaru. Postup metody bude zřejmý z následujícího zjednodušení rozšířené funkce F,,, ) D(,,5,8,9,,,(,6,5)) ( -) ( Pravdvostní tabulka funkce je uvedena na obr. -. Zároveň je rozšířena o sloupec obsahující nde vstupní n-tce, označený K. Př sestavování výrazu funkce v součtovém tvaru se provádí porovnávání vstupních vektorů, v nchž má funkce hodnotu log I. Vektory, v nchž funkce není defnována se do řešení nemusí zahrnout, ale v tom případě je jm aprorně přřazena výstupní hodnota log a nemohou být využty př zjednodušování. Z tohoto důvodu jsou do řešení zahrnuty a o jejch případném vypuštění se rozhodne až př kontrole pokrytí. Řešení tedy probíhá jako by tyto vektory měly logckou hodnotu. Z pravdvostní tabulky z obr. - proto dostaneme pravdvostní tabulku pro součtový tvar funkce, obr. -.
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 57 K f X 4 5 6 X 7 8 9 4 5 X Obr. -: Pravdvostní tabulka kombnačního obvodu K 5 6 8 9 5 Obr. -: Pravdvostní tabulka součtový tvar
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 58 První etapa spočívá v porovnání vektorů z obr. - a vytváření skupn, které se mohou lšt pouze v jedné proměnné. Lze proto jednoznačně oddělt skupny vektorů, lšících se od sebe ve více proměnných. Krtérem pro vytvoření takovýchto skupn může být např. počet hodnot log I ve vektoru. Výsledek prvního porovnání je uveden na obr. -. První etapa porovnávání K Počet hodnot žádná jedna 8 5 dvě 6 9 tř 5 čtyř Obr. -: První etapa porovnávání Význam uspořádání vektorů podle obr. - spočívá v tom, že postačuje porovnávat pouze vektory jedné skupny s vektory skupny vyšší. V našem případě porovnáváme vektor s ndeem s vektory s ndey, a 8, dále vektor s ndeem s vektory s ndey 5, 6, 9 a, vektor s ndeem s vektory s ndey 5, 6, 9, atd. až po porovnání vektoru s ndeem s vektorem s ndeem 5. Můžeme-l vektory sloučt, zapíšeme oba ndey do sloupce K a logckou hodnotu pro lšící se proměnnou označíme symbolem -. Výsledek tohoto porovnávání je uveden na obr. -. V případě, kdy některý z vektorů není možné sloučt s jným, označíme jej jako mplkant a zahrneme do tabulky pokrytí. Systém porovnávání, každý vektor s každým, přpouští výskyt stejných vektorů v jedné skupně. Projeví se to rovněž ve sloupc K, kde jsou všechny ndey sloučených vektorů, ale v odlšném pořadí. Je-l tomu tak, můžeme lbovolný z mplkantů vzhledem k duplctě z dalšího porovnávání vyloučt. V tomto případě tomu tak není, a proto přkročíme k dalšímu porovnávání vektorů, čímž získáme tabulku uvedenou na obr. -4. Druhá etapa porovnávání Implkant
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 59 K Počet hodnot, - žádná, -, 8 -, 5 - jedna, 9 -, 6 - (A), - 8, 9-8, - 5, - dvě 9, - 9, -, -, 5 - tř, 5 - Obr. -: Vzájemné porovnávání vektorů ve skupnách K Počet hodnot,,8,9 - - žádná,,8, - -,8,,9 - -,8,, - -,5,9, - - jedna,9,5, - - 8,9,, - - 8,,9, - - 9,,,5 - - dvě 9,,,5 - - Obr. -4: Vzájemné porovnávání vektorů ve skupnách
ZDENĚK DIVIŠ, ZDEŇKA CHMELÍKOVÁ, IVA PETŘÍKOVÁ: LOGICKÉ OBVODY 6 Z obr. - jsme ke sloučení s jným vektorem nepoužl vektor s ndey, 6. Jde tedy o mplkant a označíme ho písmenem (A). V obr. -4 se nacházejí shodné vektory, např.,, 8, 9 a, 8,, 9. K dalšímu slučování použjeme pouze jeden z nch. Na obr. -5 je potom uvedena tabulka, ze které jsou vypuštěny stejné vektory. Jestlže pokračujeme v porovnávání zjstíme, že další sloučení není možné. Znamená to tedy, že jednotlvé vektory jsou mplkanty a označíme je dalším písmeny abecedy (B-F). Uvedeným postupem jsme nalezl všechny možné mplkanty, které lze použít k sestavení booleovského výrazu. Dalším úkolem je z těchto odvozených mplkantů vybrat pouze ty, které jsou nezbytné k sestavení mnmálního výrazu odpovídajícího dané booleovské funkc. Hledání mnmálního výrazu vychází z tabulky pokrytí sestavené pro vstupní vektory, v nchž má booleovská funkce hodnotu log I a X. Řádky tabulky pokrytí, obr. -6, odpovídají odvozeným mplkantům a sloupce odpovídají ndeům vstupních vektorů, ve kterých funkce nabývá hodnoty log I a X. Pořadí ndeů ve sloupcích je výhodné volt tak, že nejdříve jsou uvedeny ndey, v nchž má funkce hodnotu log I a potom hodnotu X. Obsah tabulky potom udává, jak daný mplkant pokrývá požadované vstupní vektory, přčemž pokrytí je vyznačeno symbolem X. Vzhledem k tomu, že k sestavení mnmálního booleovského výrazu má rozhodující vlv část tabulky, kde funkce nabývá hodnotu log I, je druhá část tabulky pouze nformatvní. Pracujeme proto s první částí tabulky a význam druhé část nastává v okamžku, kdy je zapotřebí rozhodnout se mez více mplkanty pokrývající shodné ndey v první část tabulky. V tomto případě je zapotřebí volt mplkant pokrývající více ndeů v celé tabulce. Z tabulky pokrytí je zřejmé, že některý nde pokrývá jedný mplkant (nde 5 a mplkant D) a některé ndey můžeme pokrýt několka mplkanty. V prvním případě se jedná o tzv. nevyhnutelný mplkant, to je mplkant, který musí být obsažen ve výsledném výrazu funkce. Jako nevyhnutelný mplkant vzhledem k ndeu 5 je mplkant (D), čímž zároveň pokryje ndey 9 a. Pro pokrytí ndeu můžeme volt mez mplkantem (A) a (C). Vzhledem k většímu počtu pokrytí ndeů v první část tabulky volíme (C), čímž zároveň pokryjeme ndey, 8 a. Jedný nde, který nemá pokrytí mplkantem (C) a (D) je nde. Můžeme proto volt mez mplkantem (E) a (F). Protože každý mplkant pokrývá 4 ndey celé tabulky, musí být obě řešení ekvvalentní. Výsledný mnmální tvar funkce potom bude: F ( C) ( D) ( E) nebo ( -) F ( C) ( D) ( F)