.. Minimalizace logické funkce a implementace do cílového programovatelného obvodu Zadání. Navrhněte obvod realizující neminimalizovanou funkci (úplný term) pomocí hradel AND, OR a invertorů. Zaznamenejte počet použitých hradel a počet pouzder integrovaných obvodů.. Minimalizujte zadanou funkci pomocí Karnaughovy mapy. Z minimalizované funkce navrhněte schéma s hradly NAND a invertory. Celý postup zaznamenejte (pravdivostní tabulku, Karnaughovy mapy, minimalizovanou logickou funkci, schéma zapojení).. V návrhovém prostředí Xilinx WebPack navrhněte minimalizovanou funkci a funkci ověřte na testovacím přípravku. Zjistěte, jakou logickou hodnotu signalizuje rozsvícení LED.. Navrhněte obvod, který řeší zadanou funkci, pomocí multiplexeru. Celý postup zaznamenejte.. V návrhovém prostředí Xilinx WebPack navrhněte danou funkci pomocí multiplexeru a funkci ověřte na testovacím přípravku. Teoretický úvod Logickou funkci můžeme zapsat několika způsoby: Pravdivostní tabulkou Pravdivostní tabulka obsahuje hodnoty výstupních proměnných pro všechny stavy vstupních proměnných. Proto má tabulka počet řádků daný číslem n, kde n je počet vstupů. Kombinace vstupních proměnných se nejčastěji uvádí jako posloupnost přirozených čísel v binárním kódu. Při tomto způsobu zápisu vyjadřují uvedená čísla stav jednotlivých vstupních proměnných a označují se jako stavový index.
Tab. : Pravdivostní tabulka Stavový Vstupy Výstup index y 0 L L L L L L L L L L L L L L L L L L L L L L L L L 8 L L L L 9 L L 0 L L L L L L L L L L L Logickým výrazem Logickou funkci lze zapsat logickým výrazem mnoha způsoby, ale nejčastější je součet součinových termů. Každý součinový term (minterm) je zápis každého stavu vstupních proměnných. Zápis v úplném součtovém tvaru odvodíme z tabulky tak, že funkci zapíšeme jako součet mintermů odpovídajících řádkům tabulky, pro něž tato funkce má hodnotu. Pro tab. můžeme proto psát y d c a. ( ) Schéma navržené z tohoto úplného součinového termu může vypadat jako na obr..
y Obr. : Schéma navržené z úplného součtového termu Každý součinový term je realizován obvodem AND a výsledný součet všech součinových termů je realizován obvodem OR. Karnaughova mapa Pro minimalizaci logické funkce nejčastěji používáme Karnaughovy mapy. Karnaughova mapa má n polí, kde n je počet vstupů. Každé pole zastupuje jeden řádek v pravdivostní tabulce. Do pole se zapisuje hodnota výstupu při vstupní kombinaci reprezentované polem. Příklad přepisu tab. do Karnaughovy mapy je znázorněn na obr. 9. a 0 b 8 9 0 Obr. : Příklad zápisu logické funkce pomocí Karnaughovy mapy Karnaughova mapa se dále využívá při minimalizaci logické funkce. Výraz minimalizované funkce je uveden v rovnici. a b c, d b d c V d b a. ( ) c d
Můžete jej porovnat s výrazem uvedeným v rovnici. Oba reprezentují stejnou logickou funkci. Schéma s logickými obvody Poslední možností pro zápis logické funkce je použití logického schématu. Schémat zapojení, která představují jednu logickou funkci, může být mnoho. Záleží na typu použitých hradel, dále na tom, zda je funkce minimalizovaná nebo je-li schéma tvořeno z úplného součtového termu jako na obr. nebo z minimalizované funkce jako na obr.. y Obr. : Schéma minimalizované logické funkce Minimalizace logické funkce Minimalizace logické funkce se provádí nejčastěji pomocí Karnaughovy mapy. Jako příklad budeme minimalizovat funkci zadanou v tab.. Zakreslíme si Karnaughovu mapu podle obr.. V mapě vytvoříme smyčky tak, že všechna pole v mapě, která mají hodnotu musí být obsažena alespoň v jedné smyčce, přičemž se smyčky mohou překrývat. Smyčky musí zahrnovat co nejvíce polí a nesmí mít vnější úhly menší než 80 (nesmí být ve tvaru písmene L nebo T). Nesmíme zapomenout dělat smyčky i přes rohy a strany mapy. Když máme všechny pole s hodnotou zahrnuty ve smyčkách, musíme jednotlivé smyčky popsat. Popisujeme je pomocí součinového termu. Výsledná funkce je dána součtem všech termů reprezentujících jednotlivé smyčky v mapě. Mapa s vyznačenými smyčkami je nakreslena na obr.. a 0 b IV. I. II. III. 8 9 0 Obr. : Karnaughova mapa s vyznačenými smyčkami c d
Smyčky popíšeme výrazy a b c, d b d c V d b a. Pak výsledná funkce je dána logickým součtem všech termů, které popisují jednotlivé smyčky. Tato funkce je uvedena ve výrazu. Schéma navržené z minimalizované funkce je uvedeno na obr.. Realizace logické funkce pomocí multiplexeru Realizovat logickou funkci můžeme pomocí multiplexeru pouze tehdy, když má multiplexer počet řídicích vstupů minimálně N-, kde N je počet vstupních proměnných logické funkce. Protože v příkladu realizujeme funkci o čtyřech proměnných, vystačíme s multiplexerem se třemi řídicími vstupy. Jako multiplexer můžeme použít integrovaný obvod ALS (v Xilinx WebPack M8_E). Jeho schematická značka je zobrazena na obr.. Funkce multiplexeru je taková, že multiplexer přenáší informaci ze zvoleného vstupu 0 až na výstup Q. Vstup, ze kterého je informace převáděna na výstup, je vybrán adresou binárním číslem na vstupech C, B, A, přičemž vstup C má největší váhu. Číslo zvoleného vstupu odpovídá binárnímu číslu přivedenému na vstupy C, B, A. Pro přenos informace ze vstupu na výstup musí být na vstupu S logická úroveň L. Při logické úrovni na vstupu S je na výstupu Q logická úroveň L. 0 9 ALS 0 MX A B C S Obr. : Schematická značka multiplexeru ALS Realizaci logické funkce provádíme tak, že tři vstupní proměnné d, c, b přivedeme na vstupy multiplexeru C, B, A. Nyní je převedena informace ze vstupu 0 na výstup multiplexeru Q pro kombinaci vstupních proměnných b = L, c = L a d = L, což odpovídá stavovému řádku s indexem 0 a v pravdivostní tabulce. Na tento vstup 0 připojíme vstupní proměnnou a, protože se výstupní proměnná y mění podle vstupní proměnné a ( y a ). Dále mohou nastat další případy. Případ, kdy výstupní hodnota je negací vstupní proměnné a ( y a ) pro určité dva stavové řádky pravdivostní tabulky, řešíme tak, že na příslušný vstup multiplexeru připojíme vstupní proměnnou a. Dále můžou nastat dva případy, kdy se výstupní hodnota y pro určité dva stavové řádky nemění. Pak připojíme příslušný vstup multiplexeru na logickou úroveň nebo L, podle toho, jaké logické úrovně nabývá výstupní proměnná y pro dané stavové řádky. Příklad realizace logické funkce zadané v tab. pomocí multiplexeru je nakreslena na obr..
0 A 0 B 9 C S ALS MX Q y Obr. : Realizace logické funkce s použitím multiplexeru
Protokol jméno: skupina: Zadaná fce: Pravdivostní tabulka: Index Výstup Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 9 0 0 0 0 0 0 0 0 0 0 Karnaughova mapa: Minimalizovaná fce: y =