INF1400 Kombinatorisk Logikk
Hva lærte vi forrige uke? www.socrative.com Student login Omid Mirmotahari 1
Læringsutbytte Kunnskapsmål: Kunnskap om hvordan addisjon og subtraksjon for binære tall gjøres Kunnskap om fulladder og halvadder design Kunnskap om å kunne diskutere fordeler og ulemper ved ulike adderdesign/løsning Ferdighetsmål: Kunne implementere adder på portnivå Kunne analysere kretsdesign Generelle kompetansemål: Kunne forklare viktigheten av mentepropagering Kunne forklare og bruke negative binære tall Omid Mirmotahari 2
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 3
Binær addisjon Prosedyren for binær addisjon er identisk med prosedyren for desimal addisjon Eksempel Adder 5 og 13: Omid Mirmotahari 4
Negative binære tall Mest vanlig representasjon: 2 er komplement Lar mest signifikante bit være 1 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 1 0-1 -2-3 -4-5 -6-7 -8 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 Omid Mirmotahari 5
2 er komplement Setter minus foran et binært tall ved å invertere alle bittene og plusse på 1 Eksempel: Finner -5: 7 6 5 4 3 2 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0-1 -2-3 -4-5 -6-7 -8 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 Omid Mirmotahari 6
Binær subtraksjon Fremgangsmåte for tall representert ved 2 er komplement: Omid Mirmotahari 7
Binær subtraksjon Eksempel: Omid Mirmotahari 8
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 9
Binær adder Ønsker å designe en generell binær adder Funksjonelt eksempel Adder to tall A=5 og B=13: Omid Mirmotahari 10
Halvadder (ingen mente inn) Adderer sammen de to minst signifikante bittene A 0 og B 0. Elementet har 2 innganger og 2 utganger Omid Mirmotahari 11
Halvadder implementasjon Omid Mirmotahari 12
Fulladder (mente inn) Adderer sammen bit A n, B n med evt. mente inn Elementet har 3 innganger og 2 utganger Omid Mirmotahari 13
Forenkling Forenkler C n+1 ved Karnaughdiagram Omid Mirmotahari 14
Implementasjon I Rett fram implementasjon S n = A n B n C n C n+1 = A n B n + A n C n + B n C n Omid Mirmotahari 15
Implementasjon II Forenklet implementasjon av C n+1 basert på gjenbruk av porter fra S n Omid Mirmotahari 16
Implementasjon II Vanlig implementasjon av en-bits fulladder S n = (A n B n ) C n C n+1 = A n B n + (A n B n ) C n Omid Mirmotahari 17
Binær adder Halvadder (ikke mente inn) A 0 B 0 S 0 C n+1 C n C 1 C 1 A n 1 1 0 1 A n B n Fulladder (evt. mente inn) S n A 0 0 1 0 1 B + 0 1 1 0 1 S = 1 0 0 1 0 A 0 B 0 C n+1 B n S n S 0 1 8 C n
Et adder system Systemelementer: Halvadder: Tar ikke mente inn Fulladder: Tar mente inn A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 C 4 Full adder C 3 Full adder C 2 Full adder C 1 Halv C 0 = 0 adder S 3 S 2 S 1 S 0 Omid Mirmotahari 1 9
Menteforplantning 4-bits binær adder Full adder C 3 Full adder C 2 Full adder C 1 Halv adder C 4 Omid Mirmotahari 20
Menteforplantning Portforsinkelse gir menteforplantning (rippeladder) Eksempel Adderer 0101 og 1011 Full adder Full adder Full adder Halv adder Omid Mirmotahari 21
Subtraksjon? Omid Mirmotahari 22
Carry Lookahead Ønsker å unngå menteforplantning gir økt hastighet G i generate: brukes i menteforplantningen P i propagate: påvirker menteforplantningen Omid Mirmotahari 23
Carry Lookahead S i = P i C i C i+1 = G i + P i C i Omid Mirmotahari 24
Carry Lookahead For en 4-bits adder bestående av 4 fulladdertrinn har vi: S i = P i C i C i+1 = G i + P i C i Uttrykker C 1, C 2 og C 3 rekursivt C 1 = G 0 + P 0 C 0 C 2 = G 1 + P 1 C 1 = G 1 +P 1 (G 0 + P 0 C 0 ) = G 1 + P 1 G 0 + P 1 P 0 C 0 C 3 = G 2 + P 2 C 2 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 C 0 Omid Mirmotahari 25
Carry Lookahead generator Rett fram implementasjon av C 1, C 2, C 3 Omid Mirmotahari 26
Carry Lookahead adder 4-bits Carry Lookahead adder med input carry C 0 2 7
Generell analyseprosedyre for digitale kretser 1) Sett funksjonsnavn på ledningene 2) Finn funksjonene 3) Kombiner funksjonsuttrykkene Omid Mirmotahari 28
Eksempel T 2 F 1 F 1 T 1 T 3 F 2 F 2 F 2 2 9
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 30