Logické obvody 1 - Úvod
Principy logických obvodů jsou vlastně velice jednoduché. Mikrovlnná trouba, pračka, otvírání garážových vrat i počítač jsou řízeny ve své podstatě logickými obvody, které vyhodnocují určitou situaci podle navržené logické funkce.
Představme si třeba výtah, u kterého je nutné hlídat, zda jsou zavřené dveře, jestli není přetížen a zda je stisknuto tlačítko volby patra atd. Výše uvedená fakta jsou pro nás tzv. "vstupní proměnné". Podle navrženého logického obvodu pak svými "výstupními funkcemi" zapíná motor, signalizuje přetížení nebo spouští alarm při nenadálém zablokování výtahu, tedy automaticky ovládá chod výtahu.
vstupní proměnné = čidla, snímače, senzory výstupní funkce = akční členy, signalizace
Logickou závislost „výstupů" na „vstupech" řeší vnitřní struktura. Ta je navržena podle principů výrokové logiky a může být řešena jako kombinační logický obvod nebo sekvenční logický obvod.
Skutečná fyzická realizace záleží už jen na našich možnostech. Můžeme vytvořit náš obvod pomocí diskrétních integrovaných obvodů nebo paměťovým obvodem třeba v jazyce VHDL.
návrh = výroková logika, graf přechodů vnitřní struktura = kombinační obvod, sekvenční obvod realizace = diskrétní součástky, paměťový obvod
Kombinační logický obvod
Realizuje takové logické funkce, u kterých je logická hodnota výstupní funkce dána pouze kombinací okamžitých hodnot vstupních proměnných.
kombinační funkce nejčastěji zapisujeme:
- slovním popisem
- pravdivostní tabulkou
- algebraickým výrazem
- stavovým indexem
- Karnaughovou mapou
- logickým obvodem
- jazykem VHDL
Rozdělujeme je podle stupně integrace:
- SSI - small scale integration,(1-10 hradel),AND,OR,NOT,NAND,NOR,EXOR,EXNOR
- MSI - medium scale integration,(10-100),aritmetické obvody,dekodéry,multiplexory
- LSI - large scale integration,(100-100 000),ALU,řadič
SSI - základní logické členy
SSI - vnitřní zapojení základních logických členů
Slovní zadání příkladů
Následující příklady jsou pouze ukázkou, jak by mohly být jednotlivé úlohy zadány. První tři úlohy by se mohly řešit jako jednoduché kombinační obvody pomocí pravdivostní tabulky. Pro čtvrtý, pátý a šestý příklad je již lepší využít integrované obvody střední integrace a u sedmého příkladu jde o návrh jednoduchého sekvenčního automatu. Každý návrh je pak trochu jiný.
- př.: Navrhněte logický obvod, který vysílá signál v případě poruchy jednoho nebo obou větráků. U každého větráku jsou umístěny snímače, které vysílají trvale signál, dojde-li k poruše větráku.
- př.: Automat na nápoje vydá vodu nebo citronovou a nebo malinovou limonádu podle výběru stisknutého tlačítka. Vodu zákazník dostane zdarma, limonády pouze po vložení příslušné finanční částky. Navrhněte ovládání ventilů zásobníků: vody, citronového sirupu a malinového sirupu a zásobníku peněz. Limonáda se míchá z vody a příslušného sirupu, tedy musí být spuštěny oba ventily najednou. Pokud zadá zákazník špatnou kombinaci, rozsvítí se signalizace "špatná volba" a peníze jsou vráceny.
- př.: Navrhněte úplnou binární sčítačku pro dvě jednobitová čísla.
- př.: Navrhněte obvod, který rozsvítí led diodu, pokud součet dvou čtyřbitových binárních čísel je větší než dekadické číslo 5.
- př.: Vytvořte multiplexor a demultiplexor.
- př.: Navrhněte asynchronní čítač, který má volitelný směr čítání (čítá vzestupně nebo sestupně).
- př.: Navrhněte synchronní čítač, který bude simulovat světelný semafor.
Booleova algebra
Booleova algebra je binární algebra (má jen dvě konstanty 0 a 1) a využívá AND, OR a NOT jako úplný soubor funkcí (žádné jiné nemá). Používá se k úpravě a minimalizaci logických funkcí. Platí v ní tři zákony, podobně jako v klasické algebře:
Asociativní
Při stejném operátoru nezáleží na závorkách.
Komutativní
Nezáleží na pořadí prvků.
Distributivní
První rovnice je běžné roznásobení, ale pozor, druhá rovnice v běžné algebře neplatí. Když si obě rovnice pořádně prohlédnete, tak se jen zamění znaménka
Zákony není potřeba nějak studovat, prostě se počítá jako v matematické algebře. Pro zjednodušování jsou však mnohem důležitější následující pravidla:
Pravidla pro jednu proměnnou
Agresivnost nebo neutrálnost 0 a 1:
Pravidla pro dvě proměnné
DeMorganův teorém
Oba zákony platí pro dvě i pro více proměnných.
Je dobré umět zjednodušit jednoduché logické funkce, ale pro složitější je výhodné využít Karnaughovu mapu. V současnosti zjednodušování umí některé simulační programy, např. NI Multisim. V případě, že nerealizujeme obvod základními logickými členy, není nutné funkci zjednodušovat vůbec, neboť se do paměti zapisuje buď celá pravdivostní tabulka, nebo se to řeší přes instrukce.
Příklady
Zjednodušení logické funkce pomocí pravidel Booleovy algebry
Úprava pomocí těchto pravidel je velmi zdlouhavá a dělá se při ní poměrně dost chyb. Navíc většinou není úplně jisté, zda je výsledek již opravdu minimální. Velkou výhodou je jen, že lze využít kdykoliv "ručně" a pro více proměnných není (mimo počítačových algoritmů) jiná metoda vhodná.
Zjednodušení logické funkce pomocí zákonů De Morgana
Stejně jako úprava podle Booleovy algebry i tady jde spíše o procvičení si logického myšlení a aplikace zákonů na příkladech. V současné době se většina obvodů realizuje zcela jinak a nebo lze využít již hotových počítačových programů. Nicméně na SŠ a i na VŠ se zatím oba dva typy příkladů vyskytují a zkouší a tak je dobré tyto úpravy znát a velmi dobře procvičit .