Repetisjon Sentrale temaer i kurset som er relevante for eksamen (Eksamen kan inneholde stoff som ikke er nevnt her)
Hovedpunkter Pensumoversikt Gjennomgang av sentrale deler av pensum Div informasjon om eksamen Liten sniktitt på forsiden Eventuelle spørsmål 2
Pensum = Forelesningene. Digital representasjon (binære tall osv) 2. Boolsk algebra (forenkling via regning, postulater) 3. Karnaughdiagram (grafisk verktøy for forenkling) 4. Binær addisjon/subtraksjon (full-bits adder, ALU) 5. Diverse større komponenter (MUX, DEMUX, CPU, osv) 6. Sekvensiell logikk (låsekretser, flip-flopper) 7. Tilstandsmaskiner (analyse og designprosedyre) 8. CMOS teknologi (transistorer og designeksempler) 9. Register, tellere og minne. 3
Transistoren 947 4 Første transistor fra 947. Bell labs. William Shockley Erstattet store og strømkrevende radiorør. Kan fungere som av/på bryter.
NMOS transistoren NMOS (Negative doped Metal Oxide Silicon) En 3 (4) terminals komponent Drain Drain Symbol: Gate Gate Source Source Spenningen på gate bestemmer om transistoren leder strøm mellom drain og source terminalene 5
PMOS transistoren PMOS (Positive doped Metal Oxide Silicon) En 3 (4) terminals-komponent Source Source Symbol: Gate Gate Drain Drain Spenningen på gate bestemmer om transistoren leder strøm i mellom drain og source terminalene 6
CMOS kretser CMOS (Complementary MOS) inverter 5V Gnd n+ n+ p- V n- p+ 5V Vdd p+ x x Metall Sett fra siden x Poly n- V p- x 7 Kontakt fra metall til n+ Sett ovenifra
CMOS NAND-krets A B Både A og B må være 5V for å koble utgangen ned til V A (AB) B 8
CMOS NOR-krets A Det holder at enten A eller B er 5V for å koble utgangen ned til V B (A+B) B A 9
Portforsinkelse Portforsinkelse (propagation delay) er et mål på hvor lang tid det tar før utgangen til en port reagerer på en logisk forandring på inngangen Portforsinkelse skyldes parasittiske kapasitanser i systemet Portforsinkelsen er gitt av driveregenskapene til porten samt hvor stor kapasitans det er på utgangen Kapasitansen på en utgang er vanligvis dominert av kapasistansene til inngangene utgangen er koblet til
Boolske funksjoner Tilordner en binær variabel en verdi bestemt av verdien på en eller flere andre binære variabler Eksempel: F = x + y z Direkte port-implementasjon: y y z
Sannhetstabell En boolsk funksjon kan visualiseres i en sannhetstabell Eksempel: F = x + y z En gitt funksjon har kun en sannhetstabell Men, en gitt sannhetstabell har uendelig mange funksjonsuttrykk Stikkord: forenkling av funksjonsuttrykk x y z F 2
Teorem/postulatliste x + = x x = x x + x = xx = x + y = y+x xy = yx x + (y+z) = (x+y) + z x (yz) = (xy)z x(y+z) = xy + xz x + (yz) = (x+y)(x+z) x + x = x x x = x x + = x = x + xy = x x(x+y) = x (x+y) = x y (xy) = x + y 3
Port-implementasjon av F 2 x y z x yz xy xy x z 4
Minterm I en funksjon kan en binær variabel x opptre som x eller x En funksjon kan være gitt på sum av produkt form Eksempel: F = xy + xy + x Hvert produktledd som inneholder alle variablene kalles en minterm For to variable fins det 4 forskjellige mintermer: xy + xy + x y + x y 5 For 3 variable fins det 2 3 forskjellige mintermer: xyz + xyz + xy z + xy z +x yz + x yz + x y z + x y z
Sannhetstabell / mintermer Hvis man genererer en funksjon ut i fra sannhetstabellen får man en sum av mintermer Eksempel: F = x y z F x y z + xy z + xyz En sannhetstabell kan sees på som en liste av mintermer 6
Maksterm En funksjon kan være gitt på produkt av sum form Eksempel: F = (x+y)(x+y )y Hvert summeledd som inneholder alle variablene kalles en maksterm For to variable fins det 4 forskjellige makstermer: (x+y)(x+y )(x +y)(x +y ) For n variable fins det 2 n forskjellige makstermer: 7
Generell design prosedyre. Bestem hvilke signal som er innganger og utganger 2. Sett opp sannhetstabell for alle inngangskombinasjoner 3. Generer funksjonsuttrykket som sum av mintermer 4. Tilpass /forenkle funksjonsuttrykket mot aktuelle porter 8
Forenkling på portnivå Det er ikke alltid at det enkleste funksjonsuttrykket resulterer i den enkleste port-implementasjonen Ved forenkling på portnivå må man vite hvilke porter man har til rådighet, og så justere funksjonsuttrykket mot dette. (håndverk, f.eks. Kun NAND porter) 9
Karnaugh - 4 variable Plassering av mintermer for 4-variable funksjoner Mintermene plasseres slik at kun variabel varierer i mellom hver vannrette/loddrette naborute 2
Grupperingsregler for diagram med 2-4 variable Grupperer naboruter som inneholder slik at vi får sammenhengende rektangler Ytterkantene av diagrammet kan også være naboruter Eksempel 2
Grupperingsregler for diagram med 2-4 variable Eksempel: 22
Utlesningsregler for diagram med 2-4 variable Representerer hver gruppe ved de variablene i gruppen som ikke varierer. Diagrammets funksjon blir summen av hvert gruppeledd: Eksempel F = AD + CD + B C + AB 23
Utlesning av ere Ved å lese ut de tomme rutene ( erne) fra diagrammet får man F Dette kan noen ganger gi en enklere funksjon, eksempel: F = yz + wx F = (yz + wx ) Hadde vi lest ut ere ville vi fått F = xy + w y + w z + xz 24
Don t care I noen tilfeller har man inngangskombinasjoner som aldri dukker opp I andre tilfeller bryr man seg ikke om utfallet for visse inngangskombinasjoner Slike kombinasjoner kalles don t care kombinasjoner og markers med X A B C Innganger A B C Digitalt system Utganger F X X F 25
Binær adder Halvadder (ikke mente inn) A B S C n+ C n C A n B n C Fulladder (evt. mente inn) S n A n A B + S = A B C n+ B n S n S C n 26
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 C 3 Full C 2 Full C Halv C = adder adder adder adder S 3 S 2 S S 27
Menteforplantning Portforsinkelse gir menteforplantning (rippeladder) Eksempel Adderer og Full Full Full Halv adder adder adder adder 28
Definisjoner Kombinatorisk logikk Utgangsverdiene er entydig gitt av nåværende kombinasjon av inngangsverdier Sekvensiell logikk Inneholder hukommelse (låsekretser) Utgangsverdiene er gitt av nåværende kombinasjon av inngangsverdier, samt sekvensen (tidligere inngangs-/utgangsverdier) 29
SR Latch - funksjonell beskrivelse ) Kretsen skal sette Q til hvis den får på inngang S. Når inngang S går tilbake til skal Q forbli på 2) Kretsen skal resette Q til når den får på inngang R. Når inngang R går tilbake til skal Q forbli på 3) Tilstanden på både S og R brukes normalt ikke S SR S R R Q Q låst 3
D Latch Dataflyten gjennom en D latch kontrolleres av et klokkesignal D latch: D Clk ) Slipper gjennom et digitalt signal så lenge klokkeinngangen er (transparent) 2) I det øyeblikk klokkeinngangen går fra til låser utgangen seg på sin nåværende verdi. Forandringer på inngangen vil ikke påvirke utgangsverdien så lenge klokkesignalet er Q 3
D Latch Clk = : kretsen slipper gjennom signalet Clk = : kretsen holder (låser) utgangssignalet D Q Clk D Clk Q Logisk verdi på D i det øyeblikk Clk går i fra til bestemmer verdien som holdes på Q 32
Flip-Flop er Flip-Flop er kommer i to varianter: Positiv flanketrigget Negativ flanketrigget På en positiv flanketrigget Flip-Flop kan utgangen kun skifte verdi i det øyeblikk klokkesignalet går fra til. Hakk, indikerer flanketrigget D Clk Q På en negativ flanketrigget Flip-Flop kan utgangen kun skifte verdi i det øyeblikk klokkesignalet går fra til. D Clk Q 33
D Flip-Flop En D latch er transparent for Clk= D Q Clk D Clk Q En positiv flanketrigget D flip-flop sampler verdien på D i det øyeblikk Clk går fra til (positiv flanke). Denne verdien holdes fast på utgangen helt til neste positive flanke 34 D Q Clk D Clk Q
JK Flip-Flop Kretsoppbygging Grafisk symbol Q Q 35
JK Flip-Flop En JK flip-flop har følgende egenskaper J=, K=: Utgang låst J=, K=: Resetter utgang til J=, K=: Setter utgang til J=, K=: Inverterer utgang Q Q Utgangen kan kun forandre verdi på stigende klokkeflanke En JK flip-flop er den mest generelle flip-floppen vi har J K Q Q Q låst Q 36
T Flip-Flop Kretsoppbygging Grafisk symbol Q Q Q Q 37
T Flip-Flop En T flip-flop har følgende egenskaper T=, Utgang låst T=, Inverterer utgang Q Q Utgangen kan kun forandre verdi på stigende klokkeflanke Det er lett å lage tellere av T flip-flop er T Q Q Q låst Q 38
Register N bits register - parallellkobling av N stk. D flip-flopper Data I -I 3 slippes gjennom til utgang A -A 3 på stigende klokkeflanke Anvendelse: Kontroll av dataflyt 39
Shift register Shiftregister Seriell inngangsdata klokkes gjennom registeret ett trinn per klokkeperiode For animasjoner se www.play-hookey.com 4
Rippeltellere Shift register T flip-flopper Utgang toggler på negativ flanke clk A 3 A 2 A A Count www.play-hookey.com Count enable 4
Rippeltellere Shift register D flip-flopper Fører invertert utgang tilbake på negativ klokke A 3 A 2 A A Count 42 www.play-hookey.com
Rippeltellere Signalet rippler/propagerer gjennom trinnene clk Problem: Portforsinkelse gir temporært gale utgangsverdier A 3 A 2 A A Count Count enable 43
Synkronteller Count enable Utganger skifter verdi samtidig / synkront J K Q uforandret Q A 3 A 2 A A Count 44 Count www.play-hookey.com
Komparator - eksempel 45
Dekoder Dekoder tar inn et binært ord, gir ut alle mintermer Eksempel: 3bit inn / 8bit ut 46
Dekoder - sannhetstabell Eksempel: 3bit inn Innganger Utganger x y z D D D 2 D 3 D 4 D 5 D 6 D 7 47
Enkoder Enkoder motsatt av dekoder Eksempel: 8x3 enkoder Innganger Utganger 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 48
Enkoder Eksempel D D 2 D 4 D 6 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 Y X D D 3 D 5 D 7 49
Multiplekser Multiplekser (MUX) velger hvilke innganger som slippes ut Hver inngang kan bestå av ett eller flere bit A B C UT N Select 5
MUX Eksempel: 4- MUX 5
Demultiplekser Demultiplekser motsatt av multiplekser INN A B C N Select 52
Minne - generelt Generelt minne Hvert bit lagres i egen minne-celle Data inn n-bit 53 NB: Adresse Minne kan også brukes for å generere Boolske funksjonsutrykk, se tidligere eksamensoppgaver m-bit 2 m x n-bit minne n-bit Data ut Read / Write Enable Data inn/data ut deler ofte samme buss i praksis
Minne teoretisk cellestruktur RAM celle laget av standardkomponenter Separat datainngang/datautgang 54
RAM teoretisk system Systemeksempel: 4x4bit RAM RAM-celle 4-inputs OR 55
Minne teknologier SRAM rask og dyrt, 4-6 transistorer DRAM Tregere men billigere, transistor ROM - Read only (ikke flyktig) EPROM slettbart med ultrafiolett lys EEPROM / Flash (Elektrical Erasable) 56
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 Tilstandsmaskins-konseptet gir en enkel og oversiktlig måte å designe avanserte system på 57
Tilstandsmaskin Generell tilstandsmaskin basert på D flip-flops N-stk flip-flops gir 2 N forskjellige tilstander Utgangssignalene er en funksjon av nåværende tilstand pluss evt. inngangsverdier 58
Eksempel nr. x D A Q A Q A Tilstandsmaskin der utgang y er en funksjon av tilstanden gitt av verdiene til Q A og Q B, samt inngangen x clk D B Q B Q B y 59
Tilstandstabell 6 Tilstandstabell = sannhetstabell for tilstandsmaskin Eksempel nr.: En inngang, en utgang og 2 stk. D flipflops Utgang for nåværende tilstand Nåværende tilstand Q A Q B Inngang x Neste tilstand Q A Q B y
Tilstandsdiagram Tilstandsdiagram = grafisk illustrasjon av egenskapene til en tilstandsmaskin Eksempel nr.: / / / Inngangsverdi x som medfører ny tilstand, samt utgangsverdi y for opprinnelig tilstand med inngangsverdi x x / y Tilstand Q A Q B / / / / / 6
Eksempel nr.3 design av sekvensdetektor Ønsker å lage en krets som finner ut om det har forekommet tre eller flere ere etter hverandre i en klokket bit-sekvens x Klokket bit-sekvens: Binært signal som kun kan skifte verdi synkront med et klokkesignal Klokkesignal x Utgang 62
Eksempel nr.3 design av sekvensdetektor Tilstandsdiagram Velger å ha 4 tilstander. Lar hver tilstand symbolisere antall ere som ligger etter hverandre i bit-sekvensen. / / / / Inngang: bit-sekvens x Utgang: gitt av tilstanden, for tilstand -2, for tilstand 3 / / / / 63
Eksempel nr.3 Bruker D flip-flops D A og D B settes til de verdiene man ønsker at Q A og Q B skal ha i neste tilstand D A = Q A Q B x + Q A Q B x + Q A Q B x D B = Q A Q B x + Q A Q B x + Q A Q B x Nåværende tilstand Q A Q B Inngang x Neste tilstand Q A Q B Utgang for nåværende tilstand y y = Q A Q B 64
Eksempel nr.3 Forenkler uttrykkene med Karnaugh-diagram D A = Q A x + Q B x x D A D B Q A Q B D B = Q A x + Q B x y = Q A Q B clk Q B y 65
Generell designprosedyre basert på D flip-flops ) Definer tilstandene, inngangene og utgangene 2) Velg tilstandskoder, og tegn tilstandsdiagram 3) Tegn tilstandstabell 4) Reduser antall tilstander hvis nødvendig 5) Bytt tilstandskoder hvis nødvendig for å forenkle 6) Finn de kombinatoriske funksjonene 7) Sjekk at ubrukte tilstander leder til ønskede tilstander 8) Tegn opp kretsen 66
Informasjon om eksamen Blanding av multiple-choice oppgaver oppgaver som skal føres rett inn i oppgavesettet Viktig å føre dette inn på en måte som gjør det lesbart Det er fullt lov å bruke blyant. Men det er viktig med en tydlig strek slik at det er mulig å lese. (Gjelder både blyant og penn). 67
68 Sniktitt på eksamen