Repetisjon digital-teknikk teknikk,, INF227 Grovt sett kan digital-teknikk-delen fordeles i tre: Boolsk algebra og digitale kretser Arkitektur (Von Neuman, etc.) Ytelse (Pipelineling, cache, hukommelse, etc.) 29 2.4.29 INF227 /26
Boolsk algebra Brukes for å beskrive funksjoner i digitale kretser Tre grunnleggende funksjoner: AND, OR og NOT Andre funksjoner som NAND, NOR, XOR og XNOR avledes fra AND, OR og NOT En Boolsk funksjon kan beskrives enten vha. Funksjonsuttrykk eller Sannhetsverditabell 29 To funksjoner er ekvivalente hvis de for alle input-kombinasjoner gir samme output INF227 2/43
Boolske funksjoner Tilordner en binær r funksjon, F, en verdi bestemt av verdien på p en eller flere andre binære variabler Eksempel F x y' z ( x yz) 29 Direkte port-implementasjon: y y z 2.4.29 INF227 3/43
Sannhetsverditabell En boolsk funksjon kan visualiseres i en sannhetsverditabell Eksempel F x y' z En gitt funksjon har kun en sannhetstabell Men, en gitt sannhetsverditabell har uendelig mange funksjonsuttrykk x y z F 29 kan brukes til forenkling av funksjonsuttrykk 2.4.29 INF227 4/43
Teorem/postulatliste for Boolsk Algebra (regneregler som kan brukes til forenkling) x + = x x + x = x + y = y+x x + (y+z) = (x+y) + z x(y+z) = xy + xz x + x = x x + xy = x (x+y) = x y x = x xx = xy = yx x (yz) = (xy)z x + (yz) = (x+y)(x+z) x x = x x + = x = x(x+y) = x (xy) = x + y 29 2.4.29 INF227 5/43
Forenkling av uttrykk gir enklere port-implementasjon x y z x yz 29 xy xy x z 2.4.29 INF227 6/43
Generell designprosedyre (Kombinatoriske kretser). Bestem hvilke signal som er innganger og hvilke som er utganger 2. Sett opp sannhetsverditabell for alle inngangskombinasjoner 3. Generer funksjonsuttrykket ut fra sannhetsverditabellen 29 4. Tilpass /forenkle funksjonsuttrykket mot aktuelle porter 2.4.29 INF227 7/43
Karnaughdiagram - 4 variable Plassering av termer for 4-variable funksjoner Termene plasseres slik at kun variabel varierer i mellom hver vannrette/loddrette naborute 29 2.4.29 INF227 8/43
Grupperingsregler for diagram med 2-42 4 variable Gruppèrer rer naboruter som inneholder slik at vi får f r sammenhengende rektangler Antall ruter i hver gruppèring ring må m være et multiplum av 2 (dvs., 2, 4, 8, etc.). Ytterkantene av diagrammet kan også være naboruter 29 Eksempel 2.4.29 INF227 9/43
Grupperingsregler for diagram med 2-42 4 variable Eksempel: 29 2.4.29 INF227 /43
Utlesningsregler for diagram med 2-42 4 variable Representerer hver gruppe ved de variablene i gruppen som ikke varierer. Diagrammets funksjon blir summen av hvert gruppeledd: 29 Eksempel F = AD + CD +B C + AB 2.4.29 INF227 /43
Utlesning av ere Ved å lese ut de tomme rutene ( erne)( fra diagrammet får f r man F Dette kan noen ganger gi en enklere funksjon, eksempel: 29 F = yz + wx F = (yz + wx ) Hadde vi lest ut ere ville vi fått: f F = xy + w y + w z + xz 2.4.29 INF227 2/43
Dekoder Dekoder tar inn et binært ord, gir ut alle kombinasjoner 29 Eksempel: 3bit inn / 8bit ut 2.4.29 INF227 3/43
Enkoder Enkoder motsatt av dekoder Eksempel: 8x3 enkoder Innganger Utganger 29 D D D 2 D 3 D 4 D 5 D 6 D 7 x y z x = D 4 + D 5 + D 6 + D 7 y = D 2 + D 3 + D 6 + D 7 z = D + D 3 + D 5 + D 7 Antar at det ikke eksisterer andre inngangskombinasjoner 2.4.29 INF227 4/43
Enkoder En enkoder utfører motsatt operasjon av en dekoder og setter n outputsignaler som funksjon av verdien på 2 n inputsignaler 29 INF227 5/43
Multiplekser (MUX) Multiplekseren sender ett av mange input-signaler ut på en output-linje. Hvilken inputlinje (a -a 3 ) som velges å koble mot utgangen bestemmes av selectsignalene, S og S Antall input-linjer er alltid en potens av 2 (, 2, 4, 8, 6, osv.) Kan implementeres slik: 29 S S F a a a 2 a 3 INF227 6/43
Demultiplexer (DEMUX) Demultiplekseren gjør det motsatte av multiplekseren og sender ett inputsignal ut på en av mange output-linjer. Hvilken outputlinje som velges bestemmes av select-signalene Antall output-linjer er alltid en potens av 2 29 INF227 7/43
Binær r adderingskrets Halvadder (ikke mente inn) A B S C 29 Fulladder (evt. mente inn) A n B n S n C n+ C n 2.4.29 INF227 8/43
C n+ C n C Systemelementer: Halvadder: Tar ikke mente inn Fulladder: Tar mente inn Subtraksjon kan også enkelt implementeres (2-er komplement) Et adder-system A n A B + S = B n S n A B S 29 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 2.4.29 INF227 9/43
Definisjoner, logiske kretser Kombinatorisk logikk Utgangsverdiene er entydig gitt av nåværende n kombinasjon av inngangsverdier Sekvensiell logikk Inneholder hukommelse (låsekretser/latcher, FlipFlops) 29 Utgangsverdiene er gitt av nåværende n kombinasjon av inngangsverdier, samt sekvensen (tidligere inngangs - /utgangsverdier) 2.4.29 INF227 2/43
Flip-Flop Flop er FlipFlop er kommer i to varianter: Positiv flanketrigget Negativ flanketrigget Hakk, indikerer flanketrigget På en positiv flanketrigget FlipFlop kan utgangen kun skifte verdi i det øyeblikk klokkesignalet går fra til. D Clk Q 29 På en negativ flanketrigget FlipFlop kan utgangen kun skifte verdi i det øyeblikk klokkesignalet går fra til. D Clk Q 2.4.29 INF227 2/43
En D latch er transparent for Clk= D Flip-Flop Flop D Q Clk D Clk Q 29 En positiv flanketrigget D FlipFlop holder/låser (sampler) verdien på p D i det øyeblikk Clk går fra til (positiv flanke). Denne verdien holdes fast på p utgangen helt til neste positive flanke D Q Clk 2.4.29 INF227 D Clk Q 22/43
JK Flip-Flop Flop En JK FlipFlop har følgende egenskaper J=,, K=: Utgang låst l J=,, K=: Resetter utgang til J=,, K=: Setter utgang til J=,, K=: Inverterer utgang Q Q Q Q 29 Utgangen kan kun forandre verdi på p stigende klokkeflanke En JK FlipFlop er den mest generelle FlipFloppen vi har J K Q låst Q 2.4.29 INF227 23/43
T Flip-Flop Flop Kretsoppbygging Grafisk symbol Q Q 29 Q Q 2.4.29 INF227 24/43
T Flip-Flop Flop En T FlipFlop har følgende egenskaper T=, Utgang låst Q T=, Inverterer utgang Q Q Q 29 Utgangen kan kun forandre verdi på stigende klokkeflanke Det er lett å lage tellere av T FlipFlop er T Q låst Q 2.4.29 INF227 25/43
Tilstandsmaskin En tilstandsmaskin er et sekvensielt system som gjennomløper et sett med tilstander styrt av verdiene på inngangssignalene Tilstanden systemet befinner seg i, pluss evt. inngangsverdier bestemmer utgangsverdiene Tilstandsmaskinskonseptet gir en enkel og oversiktlig måte å designe avanserte system på 29 Generell tilstands-maskin basert på p D flip-flops flops N-stk flip-flops flops gir 2 N forskjellige tilstander Utgangssignalene er en funksjon av nåværende tilstand pluss evt. Inngangsverdier Se forelesningsnotater og ukeoppgaver 2. februar 2.4.29 INF227 26/43