Digitaalloogika

Digitaalloogika on andmetöötluse süsteem, mis põhineb Boole'i algebra loogikatehetel. Nende tehete ehk operatsioonide abil on võimalik realiseerida mitmesuguseid loogilisi funktsionaalseid seoseid. Niisugustes seostes on nii sõltumatutel muutujatel ‒ argumentidel ‒ kui ka neist sõltuvatel muutujatel ‒ funktsioonidel ‒ ainult kaks väärtust, kas 1 või 0 (tõene või väär).
Loogikafunktsioone saab esitada tõeväärtustabeli abil. Tõeväärtustabelis on kõikidele argumentide väärtuste kombinatsioonidele seatud vastavusse funktsiooni väärtus. Alltoodud tabelites on x₁ ja x₂ kõikvõimalike argumentide kombinatsioonid ning y-i väärtused on loogikafunktsiooni väärtused  .
Kui loogikafunktsioonil on n argumenti, siis on tal 2ⁿ võimalikku argumentide kombinatsiooni. Allpool on esitatud kahe argumendi x₁ ja x₂ loogikafunktsioonid tõeväärtustabeleina.

Loogikatehted

Eksisteerib elementaarsete loogikafunktsioonide hulk, mille alusel on võimalik realiseerida ükskõik millist teist loogikafunktsiooni. Meid huvitab üks elementaarsete loogikafunktsioonide hulk, mis sisaldab kolme funktsiooni: konjunktsioon (loogiline korrutamine), disjunktsioon (loogiline liitmine) ja inversioon (eitus). Täielikku baasi moodustavaid elementaarsete loogikafunktsioonide hulki on veel, kuid selle teema juures ei ole need olulised.

Loogikaelemendid

Loogikaelemendid (inglise k logic gate) kujutavad endast [[elektroonika|elektroonilisi loogikalülitusi, mis realiseerivad loogikafunktsioone. Seejuures vastavad loogilistele väärtustele pingenivoo väärtused. Elektronarvutis vastab loogilisele 1-le teatud pingenivoo (näiteks +2,8 V kuni +5 V) ja loogilisele väärtusele 0 vastab teine pingenivoo (näiteks 0–0,4 V). Kõik vahepealsed väärtused on määramatud ja seega keelatud arvuti korrektse funktsioneerimise korral.
Kahendsüsteem ja loogikafunktsioonid sobivad arvuti realiseerimiseks paremini kui näiteks kümnendsüsteem, sest tehniliselt on oluliselt lihtsam eraldada usaldusväärselt kahte nivood kui kümmet nivood.

JA-EI-loogikaelement (NAND)

JA-EI-loogikaelemendiga realiseeritakse konjunktsiooni eitust (loogilise korrutamise eitust). Loogikaskeemides tähistatakse seda nagu JA-loogikaelementi, millele on lisatud eituse tunnusena väike ring. Seda elementi võib vaadelda koosnevana kahest loogikaelemendist.

EI-loogikaelement

EI-loogikaelement koosneb kahest järjestikku ühendatud eri tüüpi kanaliga väljatransistorist.
Üleval (+VD) on p-kanaliga väljatransistor ja all (GND) on n-kanaliga välja transistor.
Kui sisend x on kõrgel nivool H, siis juhib voolu alumine transistor ja väljund on madalal nivool L. Kui aga sisend x on madalal nivool, juhib voolu ülemine transistor ja väljund y on kõrgel nivool H. Seega on väljundi väärtus vastupidine sisendiga väärtustele ja realiseeritud on EI-funktsioon.
Kui sisend × on kas L või H, siis voolu ei tarbita, sest toitepinge (+VD) ja nulli nivoo GND vahel puudub voolu juhtiv kanal. Olukord muutub, kui toimub üleminek madalalt nivoolt L kõrgele nivoole H. Ülemisele transistorile hakkab voolu juhtiv kanal kaduma ja samal ajal hakkab alumisel transistoril voolu juhtiv kanal tekkima. Seega tekib hetkeline voolu tee toitepingelt (+VD nulli nivoole GND ja vool IDG ei ole võrdne nulliga. Ümberlülitumisel hetkel t₁ tekib voolu hüpe. Igasugune voolu tarbimine põhjustab soojenemist. Kui tõsta arvuti taktsagedust tuleb ümberlülitusi tihedamalt, ja seega eraldub ka soojust. Selleks et mikroskeemid ei sulaks liiga kõrge temperatuuri tõttu, on vaja jahutust .

JA-EI loogikaelement

JA-EI loogikaelement realiseerib konjunktsiooni eitust. Väljund on kõrgel nivool (1) siis, kui vähemalt ühe sisendi nivoo on madalal (0) ja vastavalt väljund on madalal nivool (0), kui kõik sisendid on kõrgel nivool (1).
JA-EI-elemendi käitumise näitena on vaadeldud kahe sisendiga loogikaelementi, kuid sisendite arv võib olla suurem: valmistatakse kuni kaheksa sisendiga loogikaelemente.
Näitena on toodud JA-EI-loogikaelemendi sisemine struktuur transistoride tasemel. Loogikaelemendi ülemises osas on ühendatud kaks p-kanaliga transistori (T1 ja T2) rööbiti ja alumises osas on kaks n-kanaliga transistori järjest (T3 ja T4)
Lülitite mudelina on vaadeldud kahte kombinatsiooni. Esiteks on mõlemad sisendid kõrgel nivool. Transistorid T3 ja T4, mis on n-kanaliga, on sellisel juhul avatud ja läbi nende on ka väljund y madalal nivool. Ülemised transistorid T1 ja T2 on kinni. Teiseks on vaadeldud juhtu, kus x₁ on madalal nivool ja x₂ on kõrgel nivool. Nüüd on T1 avatud ja läbi tema on väljund y kõrgel nivool. Samas on T3 kinni ja ühendus GND-nivoole on katkestatud. Kui nüüd vahetada x₁ ja x₂ väärtused, vahetavad transistorid T1 ja T2 ning T3 ja T4 vastavalt oma olekud ja väljund on endiselt kõrgel nivool. Kui x₁ ja x₂ mõlemad on madalal nivool, on paralleelselt avatud T1 ja T2 ning väljund y on kõrgel nivool. Samas on T3 ja T4 suletud ja ühendus GND-nivoole puudub.
Voolu tarbimisega on sama olukord kui EI-loogikaelemendi juures. Kui sisendite väärtused ei muutu, ei ole ka toitepinge VD ja nulli nivoo GND vahel voolu juhtivat kanalit, sest teel on alati mõni transistor kinni. Olukord muutub, kui toimub sisendite väärtuste muutus. Lülituse ajal muudavad transistorid oma olekut ja hetkeliselt tekib tee VD ja GND vahel ning tarbitakse voolu kuni uue olukorra fikseerumiseni.
[[Pilt:VÕI-EI-loogikaelement.png|pisi|VÕI-EI-loogikaelemendi skeem]

VÕI-EI-loogikaelement

VÕI-EI-loogikaelement realiseerib disjunktsiooni eitust. Väljund on madalal nivool (0) siis, kui vähemalt ühe sisendi nivoo on kõrge (1) ja vastavalt on ta väljund kõrgel nivool (1), kui kõik sisendid on madalal nivool (0).
Kahe sisendiga VÕI-EI-loogikaskeemi sisemine struktuur koosneb neljast transistorist. T1 ja T2 on p-kanaliga ning T3 ja T4 on n-kanaliga transistorid. Tema käitumist saab analüüsida nagu eelnevaidki loogikaelemente (EI ja JA-EI) lüliti mudelil, mida siin ei ole esitatud.

CMOS-i JA- ja VÕI-loogikaelemendid

CMOS-i tehnoloogias, nagu paljudes teistes, on lihtsaim EI-loogikaelement ja lihtsuselt järgmised on JA-EI- ning VÕI-EI-element.
Tehnoloogiliselt tähendab JA- ja VÕI-elemendi valmistamine, et JA-EI- ja VÕI-EI-loogikaelemendi väljundisse tuleb lisada täiendav EI-element. See tähendab kahte lisatransistori.
Sellepärast pakuvadki paljud tootjad oma tooteperedes baasina ainult eitusega loogikaelemente. Näitena on toodud JA- ja VÕI-loogikaelementide sisemine struktuur.
Paljude tootjate pakutavad EI-, VÕI-EI- ja JA-EI-loogikaelemendid moodustavad täieliku baasi. Kuid tavaliselt on tootjate seeriates oluliselt rohkem loogikaelemente ja seal on olemas ka VÕI- ja JA-elemendid.
Erineva sisendite arvuga loogikaelementide valik on tavaliselt väiksem kui eitusega elementidel (VÕI-EI, JA-EI). Sisendite arvu suurendamine tähendab kahe lisatransistori lisamist iga lisatava sisendi kohta (üks n-MOS ehk NMOS ja teine p-MOS ehk PMOS). Üks transistor tuleb toite (VD) poolele ja teine nullnivoo (GND) poolele.