12.07.2015 Views

2. Loogikafunktsioonid ja loogikalülitused - of / [www.ene.ttu.ee]

2. Loogikafunktsioonid ja loogikalülitused - of / [www.ene.ttu.ee]

2. Loogikafunktsioonid ja loogikalülitused - of / [www.ene.ttu.ee]

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Tabeli <strong>2.</strong>1 järg1 2 3 4 5 66. Ekvi-Väljundis onyx1 x2valent-sus siis, kuisignaal 1 ainultx1y= x1⋅ x2+ x1⋅x2x1 x2x2sisenditel onühesugusedyväärtused7. VälistavVÕIVäljundis onsignaal 1 ainultsiis, kui sisenditeolek on erinevx1x1x2x2yy = x1⋅ x2+ x1⋅x2y = x1⊕x2x1x2M2yyy8. ImplikatsioonVäljundis onsignaal 0 ainultsiis, kui x2 = 1 <strong>ja</strong>x1 = 0.Loogilinejäreldusx1x2yyy = x1+x2x1x21y9. K<strong>ee</strong>ld Väljund võrdubsisendiga x, kuisignaal u on 0.Sinaali u = 1korral on väljundissignaal 0sõltumatasisendist xxyyy = x⋅uuxu&y10. Mälu Sisendiga x1lülitatakseväljund olekusse1 ning s<strong>ee</strong> oleksäilib, kuni sedaei muudetasisendiga x2x1y'yx2yy= ( x1+ y')⋅ x2SRTQQMäluelemendi reaktsioon sisendsignaalile sõltub sellest, milline on tema sisemine olek ehkmälu. Mälu saavutatakse tänu tagasisidele Tagasiside moodustub seal, kus signaal antaksesüst<strong>ee</strong>mi väljundist tagasi sisendisse. Joonisel näidatud kontaktasesk<strong>ee</strong>mi puhulmoodustatakse tagasiside rel<strong>ee</strong> y abikontaktiga y'.17


Võrdluseks võib esitada kahendarvude aritm<strong>ee</strong>tikatehted:0 ⋅ 0 = 0; 0 ⋅ 1 = 0;1 ⋅ 0 = 0;1 ⋅ 1 = 1;(<strong>2.</strong>8)0 + 0 = 0; 0 + 1 = 1;1 + 0 = 1;1 + 1 = 10.Kahendarvude loogika- <strong>ja</strong> aritm<strong>ee</strong>tikatehted langevad enamuses kokku, väl<strong>ja</strong> arvatud loogiline<strong>ja</strong> aritm<strong>ee</strong>tiline liitmistehe 1 ∨ 1 = 1 ning 1 + 1 = 10 , mille tulem on erinev. S<strong>ee</strong>pärast tulebloogika- <strong>ja</strong> aritm<strong>ee</strong>tikatehteid kindlalt eristada <strong>ja</strong> loogikatehete tähistamiseks võib kasutadaaritm<strong>ee</strong>tikatehete märke vaid juhul kui pole ohtu neid tehteid segi a<strong>ja</strong>da.Loogikaaksioomide põh<strong>ja</strong>l tuletatakse peamised loogikaseadused:1. Domin<strong>ee</strong>rimisseadus I. Suvalise muutu<strong>ja</strong>te hulga konjunktsioon on null (tühihulk), kuikas või ainult üks muutu<strong>ja</strong>test võrdub nulliga0 ∧ a ∧ b ∧ c ∧!= 0.(<strong>2.</strong>9)<strong>2.</strong> Domin<strong>ee</strong>rimisseadus II. Suvalise muutu<strong>ja</strong>te hulga disjunktsioon on üks(universaalhulk), kui kas või ainult üks muutu<strong>ja</strong>test võrdub ühega1 ∨ a ∨ b ∨ c ∨ ! = 1.(<strong>2.</strong>10)3. Idempotentsus- ehk samaväärsusseadus (kehtib ka kolme <strong>ja</strong> enama muutu<strong>ja</strong> kohta).Argumendi loogiline korrutamine või liitmine is<strong>ee</strong>ndaga ei muuda tulemi väärtusta⋅ a = a; a+ a = a. (<strong>2.</strong>11)4. Eituse eitamise seadus. Argumendi väärtus tema kahekordsel eitamisel ei muutua= a. (<strong>2.</strong>12)5. Komplementaarsus- ehk täiendiseadus. Argumendi <strong>ja</strong> tema eituse ehk täiendiloogiline korrutis on null, loogiline summa üksa ⋅a = 0; a + a = 1.(<strong>2.</strong>13)6. Kommutatiivsusseadus. Argumentide järjekorda loogikatehetes võib muutaa ⋅ b = b ⋅ a; a + b = b+a.(<strong>2.</strong>14)7. Assotsiatiivsusseadus. Mitme argumendi loogilist korrutamist <strong>ja</strong> loogilist liitmist võibsooritada suvalises järjekorras või samaaegselt( b ⋅ c) = ( a ⋅ b) ⋅ c = a ⋅ b ⋅ c;( b + c) = ( a + b) + c = a + b c.a ⋅a + +(<strong>2.</strong>15)8. Distributiivsusseadus (sulgude avamise seadus). Argumentide loogilist summat võibloogiliselt korrutada argumendiga a või korrutada esmalt kõiki argumente a-ga nings<strong>ee</strong>järel n<strong>ee</strong>d korrutised loogiliselt liita. Argumentide loogilisele korrutisele võib liitaargumendi a või esmalt liita loogiliselt kõikidele argumentidele a ning s<strong>ee</strong>järel n<strong>ee</strong>d19


summad loogiliselt korrutada. Kui esim<strong>ene</strong> teisendus vastab sulgude avamisele arvudealgebras, siis teine on rakendatav üksnes loogikaalgebras( b + c) = a ⋅ b + a ⋅ c;b ⋅c= ( a + b) ⋅( a c).a ⋅a + +(<strong>2.</strong>16)9. Absorbtsiooni- ehk n<strong>ee</strong>lduvusseadused. Kui kahe argumendi loogilist summat, kusüheks argumendiks on a, korrutada sama argumendiga a, siis teine argument n<strong>ee</strong>ldubning tulemiks on samuti a. Sama kehtib ka siis, kui korrutatavaid summasid on rohkemning kui kõigis neis sisaldub ühe argumendina a. Seadus on rakendatav nii summadekorrutiste kui ka korrutiste summade kohta. Kui osasummas või osakorrutises sisaldubargumendi a eitus (inversioon), on tulemiks a <strong>ja</strong> teise argumendi korrutis ab või summaa+b( a + b) a;( a + b) ⋅( a + c) ( a + w ) a;a ⋅ =a ⋅ ! =a+ a⋅ b= a;a + a ⋅ b + a ⋅ c + ! + a ⋅w= a;(<strong>2.</strong>17)( a + b) = a ⋅ b;a ⋅a+ a⋅ b= a+ b.10. Kl<strong>ee</strong>pimisseadus. Kui üks loogiline korrutis sisaldab argumenti b <strong>ja</strong> teine selle eitust, siisnende korrutiste loogilisel summ<strong>ee</strong>rimisel argument koondub. Kui üks loogiline summasisaldab argumenti b <strong>ja</strong> teine selle eitust, siis nende summade loogilisel korrutamiselargument koondubab ⋅ + ab ⋅ = a;a + b ⋅ a + b = a(<strong>2.</strong>18)( ) ( ) ;Üldised kl<strong>ee</strong>pimisseadused:ab ⋅ + ac ⋅ + bc ⋅ = ab ⋅ + ac ⋅ ;( a b) ⋅( a + c) ⋅( b + c) = ( a + b) ⋅( a + c);( a + b) ⋅( a + c) = a ⋅c+ a ⋅ b.+ (<strong>2.</strong>19)11. De Morgani seadused. Argumentide loogilise korrutise eitus võrdub nende argumentid<strong>ee</strong>ituste loogilise summaga. Argumentide loogilise summa eitus võrdub nendeargumentide eituste loogilise korrutisega. De Morgani seadusi rakendades saab asendadaloogilise liitmistehte loogilise korrutamisega ning vastupidi loogilise korrutamise tehteloogilise liitmisegaab ⋅ = a+ b;a+ b= a⋅ b;abc ⋅ ⋅ ! w= a+ b+ c+ ! + w; (<strong>2.</strong>20)a+ b+ c+ ! + w= a⋅b ⋅c! w.20


Tabel <strong>2.</strong>3a b f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 15"0" &aba b ⊕ ∨ ~ bbabaa"1"&ab0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 11 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1Boole'i funktsiooni standardesituseks on tema normaalkuju. Loogikafunktsiooni normaalkujukoosneb elementaarkonjunktsioonidest (konjunktsioonitehte abil seotud otsestest võiinvert<strong>ee</strong>ritud muutu<strong>ja</strong>test, kus iga muutu<strong>ja</strong> esineb vaid üks kord). Kui loogikafunktsioon onesitatud elementaarkonjunktsioonide disjunktsioonina, nimetatakse esitusviisi funktsioonidisjunktiivseks normaalkujuks (DNK). Vähem kasutatakse loogikafunktsioonikonjunktiivset normaalkuju (KNK), mil funktsioon esitatakse elementaardisjunktsioonidekonjunktsioonina. Kui funktsiooni disjunktiivse normaalkuju iga elementaarkonjunktsioonsisaldab kõiki muutu<strong>ja</strong>id, nimetatakse funktsiooni esitusviisi tema täielikuks disjunktiivseksnormaalkujuks (TDNK). Täielikku disjunktiivset normaalkuju on hõlpus leidaloogikafunktsiooni oleku- ehk tõeväärtustabelist.<strong>2.</strong>4. Loogikalülituste sünt<strong>ee</strong>s <strong>ja</strong> minim<strong>ee</strong>rimineLoogikalülituste konstru<strong>ee</strong>rimisel on oluline lülitust võimalikult lihtsustada, mis vähendablülituse hinda <strong>ja</strong> koostamise töömahtu. S<strong>ee</strong>pärast tuleb juba loogikalülituste sünt<strong>ee</strong>silfunktsioone kindlate krit<strong>ee</strong>riumide järgi minim<strong>ee</strong>rida. Kõige enam on läbi töötatudloogikafunktsioonide täielike disjunktiivsete normaalkujude minim<strong>ee</strong>rimism<strong>ee</strong>todid.Tavaliselt on <strong>ee</strong>smärgiks leida minimaalse pikkusega loogikafunktsiooni algebraline avaldis,milles on minimaalne arv sisendmuutu<strong>ja</strong>te tähiseid, näiteks minimaalne disjunktiivnenormaalkuju ehk MDNK. <strong>Loogikafunktsioonid</strong>e minim<strong>ee</strong>rimiseks kasutatakse 1) vahetutlihtsustamist, 2) lihtsustamist Karnaugh kaardi abil, 3) Quine - Mc Cluskey m<strong>ee</strong>todit,4) Blake' i m<strong>ee</strong>todit jms.Karnaugh kaart on loogikafunktsiooni tõeväärtustabeli ehk olekutabeli erikuju, midakasutatakse funktsiooni minim<strong>ee</strong>rimiseks. Karnaugh kaart on ruudu- või ristkülikukujulinelahterdatud tabel. Lahtrite arv sõltub funktsiooni sisendmuutu<strong>ja</strong>te (argumentide) arvust n ningvastab muutu<strong>ja</strong>te kombinatsioonide arvule 2 n . Kahe, kolme <strong>ja</strong> nel<strong>ja</strong> muutu<strong>ja</strong> funktsiooniKarnaugh kaardid on joonisel 1.5. Muutu<strong>ja</strong>d <strong>ja</strong> funktsiooni väärtsused paigutatakse tabelissenii, et võimalik oleks esitada kõiki muutu<strong>ja</strong>te kombinatsioone. S<strong>ee</strong> <strong>ee</strong>ldab muutu<strong>ja</strong>te erilistpaigutust, nagu on näidatud joonisel. Klambriga hõivatud alas on muutu<strong>ja</strong>l ots<strong>ene</strong>, väl<strong>ja</strong>spool22


klambrit aga invert<strong>ee</strong>ritud väärtus. Karnaugh kaarti saab koostada loogikafunktsioonitõeväärtustabeli või algebralise võrrandi järgi.Karnaugh kaardi iseloomulikuks omaduseks on, et funktsiooni väärtused erinevad kõrvutiasuvates lahtrites vaid ühe muutu<strong>ja</strong> poolest, s. t naaberlahtrisse minekul muudab (invert<strong>ee</strong>rib)oma olekut vaid üks sisendmuutu<strong>ja</strong>. S<strong>ee</strong>juures loetakse naabriteks ka kaardi äärmisedvasakpoolsed <strong>ja</strong> äärmised parempoolsed ning ülemised <strong>ja</strong> alumised lahtrid. Naaberlahtreid,mis erinevad vaid ühe muutu<strong>ja</strong> poolest, kasutatakse loogikafunktsiooni minim<strong>ee</strong>rimiseks.a) b) c)cbbcdaaabJoonis <strong>2.</strong>1. Karnaugh kaardid kahe (a), kolme (b) <strong>ja</strong> nel<strong>ja</strong> muutu<strong>ja</strong> (c)loogikafunktsiooni <strong>ja</strong>oksS<strong>ee</strong>järel kirjutatakse loogikafunktsiooni avaldis disjunktiivsel normaalkujul, milles igalekontuurile vastab elementaarkonjunktsioon muutu<strong>ja</strong>test, mis terve kontuuri <strong>ja</strong>oks on kasinvert<strong>ee</strong>rimata või invert<strong>ee</strong>ritud.Vaadelgem näidet, mille puhul on loogikafunktsiooni z = f(a, b, c) täielik disjunktiivnenormaalkujuz= abc + abc+ abc+ abc + abc. (<strong>2.</strong>22)Funktsiooni <strong>2.</strong>22 olekutabel <strong>2.</strong>4a b c z0 0 0 10 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1Avaldist saab lihtsustada, kui tuua muutu<strong>ja</strong>d sulgud<strong>ee</strong>tte, kuid s<strong>ee</strong> ei kindlusta soodsaima lahenduse saamist.Loogikalülituse minim<strong>ee</strong>rimiseks on otstarbekaskasutada Karnaugh kaarti (joonis <strong>2.</strong>2), millele vastabolekutabel <strong>2.</strong>4, kus on toodud kõigile võimalikelesisendsignaalide kombinatsioonidele vastavadväljundsignaali(de) väärtused. Karnaugh kaardilmoodustatakse ühtedega täidetud ruutudestristkülikukujulised lahtrid suurusega 1, 2, 4, 8, ... ruutu,taotledes et ruudud oleksid nii suured kui võimalik.Kontuurid võivad üksteisega ka ka<strong>ttu</strong>da.Vaadeldava kaardi tarvis saab kirjutadaloogikafunktsiooni järgmisel kujul:23


z = ab+ ac+ bc+ abc. (<strong>2.</strong>23)Kui tuua muutu<strong>ja</strong>d sulgude ette, saab avaldise tähtede arvu v<strong>ee</strong>lgi vähendada( b + c) + bc a b c.z = a+(<strong>2.</strong>24)Sellele avaldisele vastab loogikalülitus joonisel <strong>2.</strong>3.bca b c1 0 1 01b+c&a(b+c)a0 1 1 11a&bc1Joonis <strong>2.</strong><strong>2.</strong> Funktsiooni Karnaughkaart1b&a b c1cJoonis <strong>2.</strong>3. Funktsioonile vastav loogikalülitusVaadelgem minim<strong>ee</strong>rimise näitena summaatori ülekande loogikafunktsiooni minim<strong>ee</strong>rimist.Loogikafunktsiooni saab esitada Karnaugh kaardiga (joonis <strong>2.</strong>4). Kaardil saab eristada kolmenaaberlahtrite paari, mille puhul funktsiooni väärtus võrdub ühega.y= a ⋅ b ⋅ c ∨ a ⋅ b ⋅ c ∨ a ⋅ b ⋅ c ∨ a ⋅ b ⋅ c.(<strong>2.</strong>25)bcKolme lahtrite paar kohta saab kirjutadaloogikafunktsiooni lihtsustatud kujul (<strong>2.</strong>26).0 0 1 0y= a ⋅ b ∨ a ⋅ c ∨ b ⋅c.(<strong>2.</strong>26)a0 1 1 1Joonis <strong>2.</strong>4Quine - Mc Cluskey m<strong>ee</strong>todi kohaselt määratakse kõigepealt esmased ehk lihtimplikandidning s<strong>ee</strong>järel eraldatakse neist olulised lihtimplikandid. Minim<strong>ee</strong>rimise tulemusena saadaksefunktsiooni minimaalne disjunktiivne või konjunktiivne normaalkuju. Quine - Mc Cluskeym<strong>ee</strong>todi töötas 195<strong>2.</strong> aastal väl<strong>ja</strong> W. Quine ning seda arendas 1956. aastal edasi E.McCluskey. Samuti nagu ka Karnaugh kaardid, põhineb Quine - Mc Cluskey m<strong>ee</strong>todalljärgneval lihtsustamisr<strong>ee</strong>glil.24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!