IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Logické obvody 3 - Normálne formy a Karnaughova mapy

Minule sme pravdivostná tabuľkou kompletne definovali čo daný kombinačný obvod bude robiť tak, ako bolo v zadaní požadované. Teraz už ho stačí "len" realizovať.

Realizácia pomocou logických členov, čo je potrebné

1. zjednodušenie (minimalizácia) logické funkcie

  1. buď: výpis výstupné funkcie v algebraickom tvare + minimalizácia pomocou pravidiel Booleovej algebry
  2. alebo: zápis výstupné funkcie priamo do Karnaughova mapy, ktorá slúži k minimalizácii výstupnej funkcie grafickou metódou

2. nakreslenie schéma logického obvodu

  1. buď: priamo pomocou základných logických členov - AND, OR, NOT alebo i ďalších (Exor, ...)
  2. alebo: iba pomocou členov NAND alebo iba pomocou členov NOR, napred je ale potrebné previesť logickú funkciu podľa De Morganových zákonov

Výpis výstupné logické funkcie v algebraickom tvare

1. Ako úplná normálna disjunktné forma (ÚNDF)

  • tú získame z pravdivostná tabuľky tak, že vytvoríme súčiny vstupných premenných v riadkoch, kde má výstupné funkcie hodnotu f = 1 tzv. mintermy. Všetky tieto mintermy potom sčítame. Každá premenná v súčinu je zapísaná tak, že ak nadobúda hodnoty log 0, potom ju píšeme s negáciou, ak log 1, potom píšeme bez negácie.

2. ako úplná normálny konjunktní forma (ÚNKF)

  • ktorá sa skladá zo súčtov vstupných premenných v riadkoch, kde má výstupné funkcie hodnotu f = 0 tzv. maxtermů, a všetky tieto maxtermy potom vynásobíme. Každá premenná v súčte je zapísaná tak, že ak nadobúda hodnoty log 0, potom ju píšeme bez negácie, ak log 1, potom píšeme s negáciou.

Príklad vytvorenie ÚNDF a ÚNKF z pravdivostná tabuľky:

Hardware
Hardware
Samozrejme teraz by sme mohli nakresliť schému obvodu, ale vždy je dobré výstupné funkciu skúsiť zjednodušiť. Už skôr sme využívali pravidlá Booleovej algebry, takže len zopakujeme 8-)

Minimalizácia ÚNDF podľa Booleovej algebry

Hardware
Ako je vidieť, dospeli sme k rovnakému výsledku ako je ÚNKF. Oba tvary sú samozrejme tá istá funkcie, takže to zas tak veľké prekvapenie nie je. Zaujímavé je na tom len to, že ÚNKF bol tvar, ktorý bol už minimálny (bol to jediný riadok, resp. Jediná nulová hodnota funkcie, takže preto). Princíp minimalizácia spočíva v určitom vhodnom zlučovanie jedničiek pre ÚNDF a núl pre ÚNKF, však minimalizácia sa robí predovšetkým pre ÚNDF a pre ÚNKF sa volí len, ak je výraznejšie menej núl než jedničiek, čo bol náš prípad.

Schéma výstupné funkcie zo základných logických členov

Tak a teraz schéma zo základných logických členov. Príklad je príliš jednoduchý, takže je hneď zrejmé, že postačuje použiť jeden OR.

OR logický člen - Hardware

Radšej uvediem ešte jeden príklad, ktorý je zadaný pravdivostná tabuľkou a opäť máme vypísať ÚNDF a ÚNKF:

Hardware
Hardware

Minimalizácia ÚNDF podľa Booleovej algebry

Hardware
Tak tu už bola úprava oveľa zaujímavejšie, ale realizovateľná.

Ak by sme chceli zjednodušovať ÚNKF, bolo by nutné zátvorky medzi sebou roznásobit a .... to už samo o sebe je hrozná predstava, takže to robiť nebudeme ;-)

Schéma výstupné funkcie zo základných logických členov

Ešte schéma našej funkcie. Zo základných členov budeme potrebovať 3x dvojvstupové AND a 2x dvojvstupové OR.

Schéma výstupné funkcie zo základných logických členov - Hardware

Schéma vyzerá dobre a nie je ani veľmi zložité, ale každý typ logického člena je obsiahnutý v inom integrovanom obvode. Konkrétne dvojvstupové AND v TTL 7408, kde sú štyri tieto členmi a dvojvstupové OR zase v TTL 7432, kde sú tiež štyroch členov. Čo teda znamená celkom dva integrované obvody.

Realizácia výstupné funkcie iba pomocou členov NAND

V rámci úspor (miesta i financií) sa minimalizácia týka aj obmedzenie typov použitých členov. Takže sa potom robí prenesenie už minimalizované funkcie na len NAND alebo len NOR a to pomocou De Morganových pravidiel.

Ja to trošku zjednoduším. Ak chceme použiť len NAND, musíme sa zbaviť všetkých súčtov vo funkcii a naopak ak chceme funkciu realizovať len NOR, potom je potrebné odstrániť súčiny. To vykonáme "dvojitú negáciou" nad súčtom (alebo súčinom). Otázka je prečo dvojitá negácia, keď podľa De Morgana stačí len jedna negácia pre zmenu súčtu na súčin (alebo súčinu na súčet). Tak ak by sme našej funkciu znegoval iba raz, tak vlastne realizujeme funkciu práve opačnú než sme chceli. Takže tá druhá negácie je tam preto, aby sme nezmenili pôvodnú funkciu. Pre vlastné demorganování ju nepoužijeme, len tam zostane.

Hardware

Schéma výstupné funkcie len z logických členov NAND

Hardware

Keď na to teraz pozerám, tak sme si moc nepomohli, pretože zase budeme potrebovať dva integrované obvody (TTL 7400 a TTL 7411). Síce je dvoch aj třívstupové NAND rovnaký typ, ale bohužiaľ sa rozlišuje aj počet vstupov, ale dúfam, že princíp je jasný :-P .

Minimalizácia výstupné funkcie pomocou Karnaugovy mapy

Cieľom minimalizácia je nájsť najjednoduchšie vyjadrenie zadanej logické funkcie. Táto metóda je vhodná maximálne pre 4 až 5 premenných, ale je rýchla a výsledná funkcia je vždy v minimálnom tvare.

hľadáme:

MNDF, minimálna normálne disjunktní formu - logický súčet minimálneho počtu minimálnych súčinov (mintermů)

alebo

MNKF, minimálna normálne konjunktní formu - logický súčin minimálneho počtu minimálnych súčtov (maxtermů)

Postup minimalizácia pomocou Karnaughova mapy

  1. Zapíšeme výstupné funkciu do mapy.
  2. Vytvoríme slučky. Pre hľadanie MNDF vytvárame slučky približne v tvare štvorca alebo obdĺžnika, ktoré obsahujú, čo najväčší počet "susedných jedničkových stavov". Počet týchto stavov musí byť vždy mocninou čísla 2 (tj. 1, 2, 4, 8, 16, ... atď.). Susedné jednotkovej stavy sú "jedničky", ktoré spolu susedia hranou, a to aj cez okraje mapy. Slučky sa môžu navzájom prekrývať, nerobíme však slučky nadbytočné. Všetky jednotky musia byť opísané buď v rámci niektorej slučky, alebo samostatne.
  3. Jednotlivé slučky sa opisujú mintermy, zloženými iba z tých premenných, ktoré sa počas celej slučky nemení (premenná a bude v mintermu obsiahnutá, ak pre všetkých "1" v slučke nadobúda rovnaké hodnoty, napr. A = 1). Termy dvoch susedných polí sa od seba líšia len v stave jednej premennej ao túto premennú možno funkciu, pri zlúčení týchto polí do slučky, zjednodušiť. Čím viac susedných "1" je v slučke, tým menej premenných bude v príslušnom mintermu.
  4. Výsledná MNDF je súčtom takto vytvorených minimálnych mintermů.

Pre MNKF platí to isté, s tým, že slučky vytvárame okolo "susedných nulových stavov" a slučky sa opisujú pomocou maxtermů. Výsledná MNKF je potom súčinom týchto minimálnych maxtermů.

Pr .: Napíšte pravdivostnú tabuľku, Karnaughova mapu, MNDF a MNKF funkcie, zadanej pomocou stavových indexov.

Hardware

Pr .: Vytvorte pravdivostnú tabuľku, Karnaughova mapu, MNDF a MNKF logického člena OR. Uvažujte dve vstupné premenné.

Hardware

Minimalizácia neúplne zadaných funkcií

Pri minimalizácii neúplne zadaných funkcií postupujeme zhodne ako pri minimalizácii funkcií úplne zadaných s tým, že neurčenej stavy x zahŕňame buď do slučiek s "jednotkami" alebo do slučiek s "nulami" alebo ich nemusíme zahrnúť do žiadnej slučky. Vždy hľadíme na výhodnosť ich polohy pre tú ktorú minimalizáciu. Stručne povedané, ak je výhodné zahrnúť neurčitý stav a získať tak väčšiu slučku (teda menší počet premenných) urobíme tak, inak nie.

Pr .: pravdivostná tabuľka a Karnaughova mapa funkcie neúplne zadané

Hardware

Pre MNDF nie je výhodné neurčený stav zahŕňať, viedlo by to len k vytvoreniu ďalšej slučky a tým ďalších premenných.

Pre MNKF je však slučka s x výhodnejšie pretože je popísaná len premennú b, oproti popisu samotnej "0", ktoré by viedlo k opisu (a + b).

Pr .: Minimalizujte neúplne zadanú funkciu pomocou Karnaughova mapy a zapíšte v tvare MNDF. Funkcia je zadaná stavovým indexom.

Hardware
Tak myslím, že v tomto diele toho už bolo pomerne dosť 8-) , Tak aby sme sa úplne mentálne nevyčerpali je nutné povedať, že väčšina lepších simulačných programov vie vykonať minimalizáciu zo zadanej pravdivostná tabuľky alebo funkcie v algebraickom tvare jedným kliknutím.

 

Všetky články v sekcii
Hardware
Článok pre vás napísala jasper
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
jasper
Aktivity