P4 LOGICKÉ OBVODY
I. Kombinační Logické obvody
I. a) Základy logiky
Zákony Booleovy algebry 1. Komutativní zákon a+b = b+a 2.
a.a = a
Zákon absorpce
a + (a . b) = a 5.
(a . b) . c = a . (b . c)
Zákon idempotence
a + a = a 4.
a.b = b.a
Asociativní zákon
(a + b) + c = a + (b + c) 3.
duální forma
a . (a + b ) = a
Zákon agresivnosti nuly a jedničky
a.0 = 0
a + 1 = 1
Zákon neutrálnosti nuly a jedničky a + 0 = a
a.1 = a
Distributivní zákon a . (b + c) = (a . b) + (a . c)
a + (b . c) = (a + b) . (a + c)
Zákon sporu a vyloučeného třetího
a.a =0
a+a= 1
.a =0 Zákon involuce aneboli dvojí negacea + a = 1
a =a Zákon absorpce negace a + a. b = a + b
a.(a + b) = a.b
De Morganovy zákony a + b + c + ... + z = a . b . c ... z
a . b . c .... z = a + b + c + ... + z
Shannonův expanzní teorém - rozklad logické funkce I. verze součtová : F(x1, x2, … , xn) = x1 . F(1, x2, … , xn) + x 1 . F(0, x2, … , xn) II. verze součinová : F(x1, x2, … , xn) = [x1+F(0, x2, … , xn)] . [ x 1 + F(1, x2, … , xn)]
DUALITA FUNKCÍ FD(x1 , x2, x3, … , xn , 0 , 1 , + , .) = F(x1 , x2, x3, … , xn , 1 , 0 , . , + )
Základní logické funkce
Schematické značky logických členů
Funkce majority Funkce majority je souměrná logická funkce, která nabývá jedničkové hodnoty tehdy, když většina vstupních logických proměnných nabývá logické hodnoty jedna. Př.: Majorita ze tří je rovna jedné právě když 2 nebo 3 logické vstupní proměnné nabývají jedničkovou hodnotu. Označíme ji následovně: M3(x , y , z )
nebo x # y # z
nebo ji můžeme zapsat jako logickou funkci tří proměnných:
M3(x , y , z) = x yz + x yz + xy z + xyz a tu je možné realizovat : 1 log. členem OR - čtyřvstupovým a 4 log. členy AND – třívstupovými a 3 log. členy NOT – invertory Tedy bylo by zapotřebí celkem 8 logických členů(prvků)
Můžeme ale udělat úpravu – vytkneme z posledních čl. xy M3 = x yz + x yz + xy z + xyz =
x yz + x yz + xy ( z + z )
= x yz + x yz + xy
=1
Tuto upravenou funkci můžeme realizovat 1 x OR – třívstupový 2 x AND – třívstupový 1 x AND – dvouvstupový 2 x NOT – invertory Tedy celkem by bylo třeba 6 logických členů!
A posléze můžeme udělat další úpravu pokud rozšíříme funkci na
bázi zákona idempotence : xyz = xyz + xyz + xyz - pak
M3 =x yz + x yz + xy z + xyz = x yz + x yz + xy ( z + z ) = ( x + x ) yz + ( y + y ) xz + xy( z + z ) = xy + xz + yz
Nyní již budeme realizovat majoritní funkci se 4 logickými členy: 1 x OR – třívstupový 3 x AND – dvouvstupový
Pozn: Invertory nepotřebujeme!
Zápis logické funkce pravdivostní tabulkou a mapou
Zobrazení do mapy :
Mapy pro 3 a 4 proměnné :
Poznámka: Jedna jedničková hodnota zadané logické funkce může být pokývána libovolněkrát, ale musí být splněna zmíněná kriteria minimality. Příklad Karnaughovy mapy pro 5 proměnných: použit Grayův kód
Normální formy logických funkcí a) Úplná normální disjunktní forma (úndf) - součtová V úplné normální formě je každá jedničková hodnota zadané logické funkce „pokrývána“ jedním termem resp. implikantem. Takový součinový term obsahuje všechny proměnné zadané logické funkce jako přímé nebo negované (minterm). Na příklad u zmíněné majority ze tří (funkce je dána třemi xyz , x yz , x yz , x y z , atd. proměnnými) jsou implikanty délky 3 – tj. Prvotní popis majoritní funkce ze 3 je zapsán úplnou normální formou.
b) Úpná normální konjunktní forma (únkf) - součinová Konjunktní forma pokrývá nulové hodnoty zadané logické funkce svými součtovými termy – např. ( x + y + z ).( x + y + z ). ...(maxtermy – obsahuje opět všechny proměnné).
c) Minimální normální disjunktní forma (mndf) Minimální normální disjunktní forma (mndf) obsahuje nejmenší možný počet nejkratších implikantů(součinových termů), tj. přímých implikantů. Kriteria minimality tedy jsou: 1) má minimální délku formy (tj. počet přímých implikantů) 2) má minimální délku implikantů(tj. s min.počtem prom.) 3) eventuelně obsahuje minimální počet negací
Minializace pomocí mapy: Pokrýváním jedničkových stavů zadané logické funkce vytvoříme nejmenší počet co největších smyček! Řešení nemusí být jediné. Ukázka viz Karnaughova mapa pro 4 proměnné v předchozím slajdu – řešení jsou dvě :
ac + abc + bcd + abd 2. F2(a.b.c.d) = ac + abc + bcd + bcd 1. F1(a,b,c,d) =
Příklad na tabulku pokrytí Je daná následující logická funkce 4 proměnných
Úplná množina přímých implikantů {PI}:
{PI} = {c.d , a.d , b.c , a.c , a.b.d , b.c.d , a.b.c}
Nejvýhodnějším řešení je první funkce - doplňující implikant má délku 2 (dvě proměnné) :
Realizace log. funkce s členy NAND (NOR)
Další aplikace logických obvodů s členy NAND
Realizace kaskády NAND : Náhrada NAND
Realizace součtové formy s NAND členy
Návrh kombinačních obvodů s členy NAND Výchozí podmínky: - minimální forma logické funkce - jsou dané typy logických členů, resp. se volí pro danou technologii - je daná rychlost logického --------------------------------------------------------------------------------------------- požaduje se snadná diagnostika a oživování - bere se ohled na konstrukční řešení
I. OBECNÁ a KLASICKÁ STRUKTURA AND – OR Uvažujme realizaci dané logické v minimálním tvaru:
F3 (a, b, c, d) = a . b + a . d + a . b . d + a . c . d + a . b . c Tuto minimální součtové funkci (mndf) můžeme zakreslit ve struktuře AND - OR
Úprava minimální logické funkce pro realizaci s členy NAND Použijeme zákona dvojí negace (involuce) a De Morganových pravidel
F3 (a, b, c, d) = a . b + a . d + a . b . d + a . c . d + a . b . c
F3 (a, b, c, d) = a . b + a . d + a . b . d + a . c . d + a . b . c F3 (a, b, c, d) = (a.b ) . (a . d ) . (a . b . d ) . (a . c . d ) . (a . b . c ) Z této úpravy lze již snadno nakreslit schéma se členy NAND neboť každé závorce odpovídá logický člen NAND a negace celého výrazu odpovídá pětivstupovému NAND výstupnímu
Výsledné schéma se členy NAND max. třívstupovými - bylo třeba nahradit výstupní log, člen pětivstupový Úprava logické funkce
F3 (a, b, c, d) = a . b + a . d + a . b . d + a . c . d + a . b . c Funkci rozdělíme na 2 větve F3 (a, b, c, d) = a . b . a . d . a . b . d + a . c . d . a . b . c
Další úprava F3 (a, b, c, d) = a . b . a . d . a . b . d . a . c . d . a . b . c
1. větev
2. větev
Upravené schéma – s 2 a 3 vstupovými log. členy
Prodloužení větví znamená delší reakce na výstupech!!
Příklad sčítačky :