Loogikaväravate uurija
klõpsa sisenditele ja vaata, kuidas signaalid läbi väravate voolavad
NAND üksi suudab iga ahela ehitada 🖖
NAND on funktsionaalselt täielik. NOT, AND ja OR saab täielikult NAND-kombinatsioonidest ehitada, mistõttu eelistavad paljud kiibid väikest primitiivsete väravate komplekti.
Iga värav on pisike jah/ei-otsus 🖖
Loogikavärav loeb oma sisendeid kui HIGH (1) või LOW (0) ja annab kindla reegli järgi ühe ainsa 1 või 0 — AND tahab mõlemat kõrget, OR vähemalt üht, XOR tahab, et need erineksid. Allolev tõeväärtustabel on värava täielik määratlus: iga sisendkombinatsioon koos oma väljundiga, ja rohkem polegi vaja teada. Kuhja piisavalt neid pisikesi otsuseid ja saad liiturid, mälu ning lõpuks terve protsessori.
Ka korrektne skeem võib hetkeks võbeleda 🖖
Signaalid ei jõua kohale hetkega — iga värav lisab väikese levimisviite ja kaks teed sama väljundini võivad olla eri pikkusega. Kui sisend muutub, võib väljund hetkeks näidata valet väärtust, enne kui see paika loksub; seda nimetatakse tõrkeks ehk hasardiks (glitch), kuigi tõeväärtustabel on täiesti õige. Jälgi ajastusriba: väljundi serv järgneb sisendi servale täpselt selle väravaviite võrra ja mitmeväravalistes skeemides liituvad need viited nähtavateks võidujooksudeks.
Näiteülesanded
- XOR erinev - XOR A=1 B=0 -> 1: tõene, kui sisendid erinevad
- NAND universaalne - NAND(1,1) = 0 — NAND pöörab AND-i ümber ja sellest saab ehitada kõik teised loogikaväravad
- poolliitja 1+1 - Poolliitja 1+1: Sum=0 Carry=1 — sama ülekanne levib läbi iga protsessori
- MUX valik - Multiplekser: S=1 suunab sisendi B väljundisse, sõltumata A-st