INF4 Kombinatorisk Logikk
Oversikt Binær addisjon Negative binære tall - 2 er komplement Binær subtraksjon Binær adder Halvadder Fulladder Flerbitsadder Carry propagation / carry lookahead Generell analyseprosedyre Omid Mirmotahari
Binær addisjon Prosedyren for binær addisjon er identisk med prosedyren for desimal addisjon Eksempel Adder 5 og 3: 5 + + 3 = = 8 Omid Mirmotahari 2
Negative binære tall Mest vanlig representasjon: 2 er komplement Lar mest signifikante bit være for negative tall Dette må være avtalt på forhånd Eksempel: 4 bit kan representere tallene 8 til +7 7 6 5 4 3 2 - -2-3 -4-5 -6-7 -8 Omid Mirmotahari 3
2 er komplement Setter minus foran et binært tall ved å invertere alle bittene og plusse på Eksempel: Finner -5: 7 6 5 4 3 2 invertert 5: -5: + = - -2-3 -4-5 -6-7 -8 Omid Mirmotahari 4
Binær subtraksjon Fremgangsmåte for tall representert ved 2 er komplement: Adder tallene på vanlig måte. Eksempel: 6 + + - 2 = () = 4 Går ut Betyr positivt tall Omid Mirmotahari 5
Binær subtraksjon Eksempel: 3 + + - 8 = = -5 Betyr negativt tall Omid Mirmotahari 6
Binær adder En av de mest brukte digitale kretser Vanlige anvendelser: Mikroprosessor ALU / Xbox / mikserbord / digitalt kommunikasjonsutstyr / AD-DA omformere osv... Basis for addisjon / subtraksjon / multiplikasjon / divisjon og mange andre matematiske operasjoner All form for filtrering / signalbehandling Omid Mirmotahari 7
Binær adder Ønsker å designe en generell binær adder Funksjonelt eksempel Adder to tall A=5 og B=3: A B + S = A A B B C 2 C S Omid Mirmotahari 8 S
Halvadder (ingen mente inn) Adderer sammen de to minst signifikante bittene A og B. Elementet har 2 innganger og 2 utganger Sannhetstabell S = A B + A B = A B C = A B A B S C Omid Mirmotahari 9
Halvadder implementasjon A B A B S A B S A B C C S = A B + A B S = A B C = A B C = A B Omid Mirmotahari
Fulladder (mente inn) Adderer sammen bit A n, B n med evt. mente inn Elementet har 3 innganger og 2 utganger S n = A n B n C n (oddefunksjon) Sannhetstabell A n B n C n S n C n+ C n+ = A n B n C n + A n B n C n + A n B n C n + A n B n C n Omid Mirmotahari
Forenkling Forenkler C n+ ved Karnaughdiagram A n B n C n C n+ = A n B n C n + A n B n C n + A n B n C n + A n B n C n C n+ = A n B n + A n C n + B n C n Omid Mirmotahari 2
Implementasjon I Rett fram implementasjon S n = A n B n C n A n B n C n S n C n+ = A n B n + A n C n + B n C n A n B n A n C n C n+ B n C n Omid Mirmotahari 3
Implementasjon II Forenklet implementasjon av C n+ basert på gjenbruk av porter fra S n S n = (A n B n ) C n Leser ut C n+ fra karnaughdiagram på nytt B n C n C n+ = A n B n + A n B n C n + A n B n C n A n C n+ = A n B n + (A n B n + A n B n ) C n C n+ = A n B n + (A n B n ) C n Omid Mirmotahari 4
Implementasjon II Vanlig implementasjon av en-bits fulladder S n = (A n B n ) C n C n+ = A n B n + (A n B n ) C n A n A n B n B n S n A n B n C n+ C n Omid Mirmotahari 5
Binær adder Halvadder (ikke mente inn) A B S C n+ C n C C A n A n B n Fulladder (evt. mente inn) S n A B + S = A B C n+ B n S n S 6 C n
Et adder system Systemelementer: Halvadder: Tar ikke mente inn Fulladder: Tar mente inn A 3 B 3 A 2 B 2 A B A B C 4 Full adder C 3 Full adder C 2 Full adder C Halv C = adder S 3 S 2 S S Omid Mirmotahari 7
Menteforplantning 4-bits binær adder Full adder C 3 Full adder C 2 Full adder C Halv adder C 4 Omid Mirmotahari 8
Menteforplantning Portforsinkelse gir menteforplantning (rippeladder) Eksempel Adderer og Full adder Full adder Full adder Halv adder Omid Mirmotahari 9
Subtraksjon? Omid Mirmotahari 2
Carry Lookahead Ønsker å unngå menteforplantning gir økt hastighet G i generate: brukes i menteforplantningen P i propagate: påvirker menteforplantningen Omid Mirmotahari 2
Carry Lookahead S i = P i C i C i+ = G i + P i C i Omid Mirmotahari 22
Carry Lookahead For en 4-bits adder bestående av 4 fulladdertrinn har vi: S i = P i C i C i+ = G i + P i C i Uttrykker C, C 2 og C 3 rekursivt C = G + P C C 2 = G + P C = G +P (G + P C ) = G + P G + P P C C 3 = G 2 + P 2 C 2 = G 2 + P 2 G + P 2 P G + P 2 P P C Omid Mirmotahari 23
Carry Lookahead generator Rett fram implementasjon av C, C 2, C 3 Omid Mirmotahari 24
Carry Lookahead adder 4-bits Carry Lookahead adder med input carry C 2 5
Generell analyseprosedyre for digitale kretser ) Sett funksjonsnavn på ledningene 2) Finn funksjonene 3) Kombiner funksjonsuttrykkene Omid Mirmotahari 26
Eksempel T 2 T 2 =ABC F F T T =A+B+C T 3 = F 2 (A+B+C) T 3 F 2 F 2 F 2 =AB+AC+BC F =ABC+ (AB+AC+BC) (A+B+C) 2 7
Oppsummering Binær addisjon Negative binære tall - 2 er komplement Binær subtraksjon Binær adder Halvadder Fulladder Flerbitsadder Carry propagation / carry lookahead Generell analyseprosedyre Omid Mirmotahari 28