Hardware počítačů Doc.Ing. Vlastimil Jáneš, CSc, K620, FD ČVUT E-mail: janes@fd.cvut.cz Informace a materiály ke stažení na WWW: http://www.fd.cvut.cz/personal/janes/hwpocitacu/hw.html
2. LOGICKÉ OBVODY Kombinační logické obvody
2. Kombinační logické obvody I. Základy logiky Výrokový počet pravdivostní hodnoty pravda P ano + true 1 aj. nepravda N ne false 0 aj. Příklad dvou osob: M 1.. 1. osoba je muž M 2.. 2. osoba je muž S 1.. 1. osoba je svobodná S 2.. 2. osoba je svobodná V.. mohou se vzít
2. Kombinační logické obvody Proveďme dohodu pro formální zápis logických operací: X a Y X. Y X nebo Y X + Y ne X X pravda 1 logická konstanta nepravda 0 - - Kupř.: V = ( M 1. M 2 + M 1. M 2 ). S 1. S 2
2. Kombinační logické obvody
2. Kombinační logické obvody Booleova algebra 1. Komutativní zákon duální forma a + b = b + a a. b = b. a 2. Asociativní zákon (a + b) + c = a + (b + c) (a. b). c = a. (b. c) 3. Zákon idempotence a + a = a a. a = a 4. Zákon absorpce a + (a. b) = a a. (a + b ) = a 5. Zákon agresivnosti nuly a jedničky a. 0 = 0 a + 1 = 1
2. Kombinační logické obvody- Booleova algebra 6. Zákon neutrálnosti nuly a jedničky a + 0 = a a. 1 = a 7. Distributivní zákon a. (b + c) = (a. b) + (a. c) a + (b. c)= (a + b). (a + c) 8. Zákon sporu a vyloučeného třetího a. a= 0 a + a= 1 9. Zákon involuce neboli dvojí negace a 10. Zákon absorpce negace a.(a + b) = a.b 11. De Morganovy zákony a + a.b = a + b a + b + c +... + z = a. b. c... z
2. Kombinační logické obvody Booleova algebra a. b. c... z = a + b + c +... + z Shannonův expanzní teorém - rozklad logické funkce I. verze součtová : F(x 1, x 2,, x n ) = x 1. F(1, x 2,, x n ) + x 1. F(0, x 2,, x n ) II. verze součinová : F(x 1, x 2,, x n ) = [x 1 + F(0, x 2,, x n )]. [ x 1 + F(1, x 2,,x n )] Každá logická funkce se dá realizovat v součtové nebo součinové formě. D U A L I T A F U N K C Í F D (x 1, x 2,, x n, 0, 1, +,.) = F(x 1, x 2,, x n, 1, 0,., + ) Poznámka: pořadí operací + a. Je důležité jde o záměnu, totéž platí pro logické konstanty 0 a 1
2. Kombinační logické obvody operace nebo Funkce nebo 1. Uveďme příklad výroku: bude-li číslo dělitelné 2 nebo 3 není to prvočíslo. Tedy : číslo X - je dělitelné 2 číslo Y - je dělitelné 3... pak X nebo Y = pravda, neboli 1 nebo 1 = 1 Hovoříme o tzv. obyčejném nebo X + Y 2. Uveďme jiný příklad: chlapec bude hodný nebo dostane pár facek Tedy : A - bude hodný B - dostane par facek A nebo B : 1 nebo 1 = 0 jedná se o tzv. vylučovací nebo Zapisujeme jako : A B Závěr: nebo nebo
2. Kombinační logické obvody základní logické funkce Základní logické funkce: 1. Vylučovací nebo, XOR [exclusive OR], součet modulo 2, nonekvivalence X Y = X. Y + X. Y 2. Funkce ANI, NOR, Pierceova funkce, X Y = X + Y 3. Funkce Nand, Shefferova funkce, X Y = X. Y 4. Ekvivalence X Y = X. Y + X. Y 5. Imlikace X Y = X + Y
2. Kombinační logické obvody Základní logické funkce pravdivostní tabulka Realizace základních logických členů: - diodová logika - tranzistorová logika - DTL - TTL - Schottkyho logika ; MOS CMOC technologie
2. Kombinační logické obvody realizace log. členů RTL logika
2. Kombinační logické obvody realizace logických čl. Příklad realizace TTL - Schottky Realizace funkce NAND 2
2. Kombinační logické obvody Schematické značky
2. Kombinační logické obvody 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ě: M 3 (x, y, z) nebo x # y # z nebo ji můžeme zapsat jako logickou funkci tří proměnných: M 3 = x yz + xyz + xyz + 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ů)
2. Kombinační logické obvody funkce majority Můžeme udělat úpravu funkce majority vytkneme součin xy M 3 = xyz + xyz + xyz + xyz = xyz + xyz + ( z + z) xy = xyz + xyz + xy Tuto upravenou funkci můžeme realizovat : 1x OR - třívstupový, 2x AND - třívstupový, 1x AND dvouvstupový, 2y NOT invertory Posléze můžeme udělat další úpravu pokud rozšíříme funkci na bázi : xyz = xyz + xyz + xyz
2. Kombinační logické obvody 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:
2. Kombinační logické obvody - mapy Zobrazení logických funkcí do mapy :
2. Kombinační logické obvody - mapy Mapy pro 3 a 4 logické proměnné :
2. Kombinační logické obvody mapy II Karnaughova mapa pro 5 proměnných
2. Kombinační logické obvody Svobodova mapa Svobodova mapa - zakódování vstupních logických proměnných vůči sloupcům a řádkům je v přímém binárním kódu, tedy stavové indexy jdou v mapě vzestupně za sebou. Mapa pro 3 a 4 logické proměnné :
2. Kombinační logické obvody úplné norm. formy 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 proměnnými) jsou implikanty délky 3 tj. xyz, xyz, x yz, x yz, atd. 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ř. (maxtermy obsahuje opět všechny proměnné ).
2. Kombinační logické obvody - mndf 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 resp. Svobodova mapa pro 4 proměnné v předchozím slajdu (41) řešení jsou dvě : 1. F 1 (a,b,c,d) = 2. F 2 (a.b.c.d) = ac + abc + bcd + abd
2. Kombinační logické obvody Příklad na tabulku pokrytí Je daná následující logická funkce 4 proměnných
2. Kombinační logické obvody tabulka pokrytí Existují dvě nejvýhodnější řešení: F (a, b, c, d) = F 1 2 (a, b, c, d) = a.d + a.d + a.d a.d + + c.d c.d + + a.b.c b.c.d Obě funkce jsou pro realizaci rovnocenné mají stejný počet termů (implikantů), termy jsou stejně dlouhé a je potřeba všechny proměnné negovat.
2. Kombinační logické obvody - realizace Ekvivalence logických členů NAND AND - NOT
2. Kombinační obvody realizace a řazení s NAND
2. Kombinační obvody realizace s členy NAND
2. Kombinační obvody aplikace XOR
2. Kombinační obvody návrh KLO 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 systému TANT metoda --------------------------------------------------------------------------------------------- - požaduje se snadná diagnostika a oživování - bere se ohled na konstrukční řešení a další I. OBECNÁ a KLASICKÁ STRUKTURA AND OR Uvažujme realizaci dané logické v minimálním tvaru: F 3 (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
2. Kombinační obvody realizace AND - OR
2. Kombinační obvody realizace c členy NAND Úprava minimální logické funkce pro realizaci s členy NAND Použijeme zákona dvojí negace (involuce) a De Morganových pravidel 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
2. Kombinační obvody výsledné schéma Výsledné schéma se členy NAND max. třívstupovými - bylo třeba nahradit výstupní log. člen pětivstupový viz
2. Kombinační obvody - úprava Rottovými mřížkami Pro realizaci logické funkce je možné provést úpravu Rottovou mřížkou, kde každé potržení logického výrazu představuje NAND resp. NOR. Postupně se vylučují operace log. součtu resp. součinu. Vstupní logické proměnné se ve schématu berou negované při lichém počtu úrovní.
2. Kombinační obvody příklad sčítačky