Jak nakreslit schéma funkci

Dianka23.03.2021 21:34 (Upr. 23.03.2021 21:34) Nahlásit
Minimalizovat umím nevim jen jak to mám nakreslit,
Předem děkuji za odpověď
nakreslit schéma zapojení s využitím hradel AND, OR a NOT.
nakreslit schéma zapojení s využitím hradel AND, OR a NOT.

Odpovědi

Přidat odpověď ▾

Diskuze

Wydygiz23.03.2021 22:33 Nahlásit
Přeji pěkný večer, Dianko,

snad vás potěším sdělením, že kreslení schématu logické funkce je v podobných případech výrazně jednodušší než minimalizace pomocí Karnaughovy mapy nebo algoritmem Quine-McCluskey.

Máme tři druhy komponent - hradlo AND, hradlo OR a hradlo NOT. Tyto komponenty fungují naprosto stejně jako logické funkce. Mají určitý počet vstupů a výstupů. Hradla AND a OR mají dva vstupy a hradlo NOT má jeden vstup. Všechna hradla pak samozřejmě mají jeden výstup, to je triviální, protože jde o obvodovou realizaci funkcí (zobrazení).

Teď stačí vědet, jaká notace se používá v Booleovské algebře. Logický součin je konjunkce (hradlo AND), logický součet je disjunkce (hradlo OR) a pruh nad proměnnou nebo celou formulí je negace.

Hradlo AND se typicky značí jako půlkruh/půlměsíc, případně krabička se znakem &. Hradlo OR mívá často tvar podobný srpkovitému měsíci, případně krabička s nápisem >=1. Hradlo NOT je typicky jednovstupá krabička s nápisem 1, na jejímž výstupu je maličký kroužek značící negaci.

Odněkud tedy vyveďte vodiče A, B, C, D a vhodně je propojte pomocí krabiček tak, aby výstupem byl jediný vodič F.

Samozřejmě v praxi bych nejprve funkci minimalizoval, toto se mi opravdu nezdá minimální. Z toho důvodu sem nebudu přikládat schéma, bylo by obludné a opravdu se mi to nechce kreslit. Pokud chcete, abych vám schéma nakreslil, nejprve mi tu funkci minimalizujte.

Přikládám jen ukázky komponent.

Na prvním obrázku jsou dvě verze hradla AND, dvě verze hradla OR a hradlo NOT.

Na druhém obrázku je ukázka, jak se hradla spojují dohromady, aby tvořila složité logické funkce. Zde jsem náhodně vybral funkci NOT((AB)(A+B)), která by určitě taky šla minimalizovat. Na tom taky vidíte, k čemu je dobrá minimalizace, použijeme nejúspornější možný počet komponent.
Dianka24.03.2021 19:25 Nahlásit
Pěkně děkuji vám za vysvětlení, už to víc chápu a kreslím to. Děkuji :)
Anonym Xuxygis24.03.2021 21:00 Nahlásit
Kdybych tuto funkci měl modelovat, určitě bych z pohodlnosti jen naprogramoval paměť se 4 adresovými vstupy. Ale dejme tomu, že to chci zadrátovat. tak jak je to napsáno, bez optimalizace. Vzal bych 4 vstupní signály a ze všech ještě udělal negaci. Měl bych tedy 8 vstupních "drátů": ABCDĀB̄C̄D̄. První člen bych realizoval tak, že bych k čtyřvstupovém hradlu & připojil na vstupy ĀB̄CD. Tak bych postupně zrealizoval všech 8 členů. dostal bych 8 výstupů a ty zapojil na osmivstupový OR hradlo. Na jeho výstupu by byla hledaná funkce F.
K čemu je to dobré? Třeba, pokud potřebujete rozsvěcovat segmenty na 7segmentovém displeji, jeden každý segment by mohl mít podobný obvod. V praxi by to znamenalo, že v 8 případech z 16 (možných) náš segment svítí a každý člen by představoval konkrétní číslo, kdy se segment rozsvítí. První člen je ĀB̄CD, tedy výsledek je 1 (svítí) tehdy, pokud budou vstupní signály 0011, jestli je A nejnižší bit, je to číslo 12. Druhý ĀBCD při čísle 0111 (14), třetí AB̄C̄D při 1001 (9), čtvrtý AB̄CD při 1011 (13) atd.
Wydygiz24.03.2021 21:35 Nahlásit
Milý Anonyme Xuxygisi,

děkuji za doplnění, jen bych zde pro původní tazatelku chtěl zanechat upozornění, že ten první logický člen není not(A)not(B)CD, ale not(AB)CD, což bohužel není na první pohled vidět (taky mě to prve zmátlo, při porovnání se třetím členem funkce je to ale jasněji patrné). Ten pruh je nad celou skupinou AB, nikoliv nad každou proměnnou P-termu zvlášť, takže formule není v disjunktivní normální formě.

Pokud tedy máte v plánu použít Karnaughovu mapu, Dianko, dejte pozor, protože to nelze v tento okamžik bez převodu do DNF provést!

Samozřejmě pokud minimalizaci provádět nebudete, pak převod nutný není, obvod sestavíte i v této podobě, jen musíte dát pozor, kdy předchází konjunkce negaci.

Samozřejmě je možné, že je to zadání jen špatně napsané, protože se mi nezdá, že by vám učitelé předložili takový přehlédnutelný chyták. Většinou se podobná zadání předkládají v DNF, je to zcela logické. Upřesněte tedy, Dianko, zda první člen má být skutečně not(AB)CD, nebo jde o překlep a skutečně pracujeme s not(A)not(B)CD, jak předpokládá Anonym Xuxygis a původně i já.

not(A)not(B)CD svítí skutečně jen při ohodnocení [ABCD] = [0011], ale not(AB)CD svítí ve třech možných kombinacích vstupních hodnot, tedy [0011], [0111], [1011]!
Anonym Xuxygis25.03.2021 08:09 Nahlásit
Díky za upozornění, to jsem přehlédl. Pokud je to skutečně míněno jako negace součinu A̅B̅ a ne jako součin negací ĀB̄ tak by to zadrátování prvního a posledního členu bylo malinko komplikovanější.

A neodpustím si malou poznámku - v technické praxi se obvykle užívají negovaná hradla NOR a NAND pro jejich větší univerzálnost. Pokud by tedy bylo těch 8 členů realizováno NAND místo AND, bylo by pak potřeba použít místo součtového hradla OR také součin. Je to proto, že AND "sleduje", zda jsou přítomny samé log1 (H), zatímco OR, zda nejsou na všech vstupech jen log0 (L).
Anonym Xuxygis25.03.2021 08:10 Nahlásit
Tak to moc nevyšlo, v editačním okně se ty pruhy slily, ale příspěvku už jsou odděleně.
Přidat komentář do diskuze ▾