NORGES TEKNISK- NATURVITENSKAPLIGE UNIVERSITET Institutt for elektronikk og telekommunikasjon Faglig kontakt under eksamen: Ragnar Hergum 73 59 20 23 / 920 87 172 Bjørn B. Larsen 73 59 44 93 / 902 08 317 Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK Mandag 19. mai 2008 Tid. Kl. 0900-1300 Tillatte hjelpemidler: D: Ingen trykte eller håndskrevne hjelpemidler er tillatt. Bestemt, enkel kalkulator tillatt. Sensuren faller 9. juni 2008 Korrigert skjema oppgave 4 b. 040808
19. mai 2008 Side 7 av 17 6. Hva er desimalverdien av 1110 0000 1101 (2)? Tallet er gitt på toerkomplement binær form. A. 3597 B. -499 C. -1549 7. Hvilket alternativ (A, B eller C) representerer hexadesimaltallet F16 (16) på oktal form? A. 1716 (8) B. 170106 (8) C. 7426 (8) 8. Hvilken av funksjonene A, B eller C representerer Karnaugh-diagrammet til høyre? A. Bruker alle cellene som ikke har 1 eller X og gir disse verdien 0. Kombinerer med X for å få så store ringer som mulig. Finner da F. Inverterer denne for å finne F. YZ WX 00 01 11 10 B. 00 X 0 1 1 01 X 1 1 0 11 X 1 0 0 10 X 0 0 1 C.
19. mai 2008 Side 8 av 17 9. En oddetallsindikator for BCD-kodete siffer gir ut en ener når sifferet er et oddetall. Hvilken av disse funksjonene utfører dette? (A er mest signifikant) A. A ( ) B. B ( ) C. ( ) F A, B, C, D = CD F A, B, C, D, = AD F A, B, C, D = D C Når et BCD-kodet siffer er et oddetall er det minst signifikante bitet lik 1. 1 = 0001 3 = 0011 5 = 0101
19. mai 2008 Side 9 av 17 10. Du skal tilpasse funksjonen under til en teknologi med 2-inngangs OG-porter og inverterere. Hva er riktig? A. B. C.
19. mai 2008 Side 10 av 17 Oppgave 4 (40 %) Du skal lage en 4-bits aritmetisk enhet (AE) med følgende funksjoner: Funksjon Valg Innganger Utgang A 00 A, B F = A B 01 A, B F = B Add 10 A, B F = A + B Sub 11 A, B F = A - B AE har inngangene A, B og Valg, samt utgangen F. Sammenhengen mellom A, B, Valg og F er gitt i tabellen over. Et symbol for denne funksjonen er gitt her: A 4 4 B Valg 2 AE 4 F
19. mai 2008 Side 11 av 17 a) (5 %) Lag et blokkskjema for AE. AE inneholder en adderer og en subtraherer samt en multiplekser for å velge hvilken funksjon som er koplet til utgangen. Inngangssignalene er Valg, som velger funksjon, og datainngangene A og B. Utsignalet fra AE er F. Blokkskjemaet må vise hvordan signalene er koplet til multiplekseren slik at riktig funksjon blir valgt i henhold til spesifikasjonen. A 4 4 B Adderer Subtraherer sum diff Valg 2 M0 M1 M2 M3 S Multiplekser AE 4 F Blokkskjema for AE.
19. mai 2008 Side 12 av 17 b) (5 %) Lag blokkskjema for en 4-bits adderer med ripple-carry og 4 fulladderere. Det er ikke angitt i oppgaven hva som skal gjøres med mente inn til og ut fra addereren. Ut ifra figuren og teksten i innledningen er det rimelig å anta at mente inn til den 4-bits addereren ikke er brukt. Det sammen gjelder mente ut. Siden vi skal bruke fulladderere i konstruksjonen må mente inn til den første koples til 0 og mente ut fra den siste er utilkoplet. Signalverdien 0 kan gies som en kopling til jord, som det er antydet i skjemaet. Løsning med mente_inn og mente_ut angitt som egne pinner vil også bli godkjent. A B 4 4 a(3) b(3) a(2) b(2) a(1) b(1) a(0) b(0) a b a b a b a b (åpen) co FA s ci co FA s ci co FA s ci co FA s ci 0 (mente_inn) s(3) s(2) s(1) s(0) 4 Sum Eksempel på blokkskjema for en 4-bits adderer med fulladderere. Hver av de 4 blokkene er en fulladderer som ser slik ut. (Dette er det ikke spurt om). NB! I det første løsningsforslaget er den siste porten som danner Carry_out en AND-port. Dette skal være en OR-port. (som her) Korrigert skjema. 040808 1-bits fulladderer.
19. mai 2008 Side 13 av 17 c) (5 %) Lag en 2 til 4-dekoder for valg av funksjon i AE. Bruk signalene Valg(1) og Valg(0) som innganger. Gi signalene ut fra funksjonen navnene Velg_A, Velg_B, Velg_add og Velg_sub Når funksjonen A er aktiv skal Velg_A være 1 og de andre skal være 0. Tilsvarend Velg_B for funksjonen B, Velg_add for funksjonen Add og Velg_sub for funksjonen Sub. Hele tiden skal bare en av utgangene av gangen være 1. Lag sannhetstabell og skriv funksjonen som sum av produkt. Sannhetstabell for en 2 til 4-dekoder. De 2 inngangene er Valg(1) og Valg(0). De 4 utgangene er Velg_A, Velg_B, Velg_add og Velg_sub. Når funksjonen add er valgt skal Velg_add være 1 og så videre. Har tatt med funksjonsnavnene for oversiktens skyld: Funksjon Innganger Utganger Valg Velg_A Velg_B Velg_add Velg_sub A 00 1 0 0 0 B 01 0 1 0 0 Add 10 0 0 1 0 Sub 11 0 0 0 1 Funksjonene blir da bare produkt. Velg_ A = Valg() 1 Valg( 0) Velg_B = Valg() 1 Valg( 0) Velg_ add = Valg() 1 Valg( 0) Velg_ sub = Valg( 1) Valg( 0) d) (5 %) Tegn portnivåskjema for funksjonen i c).
19. mai 2008 Side 14 av 17 e) (5 %) Utvid kretsen i d) til en en-bits multiplekser med inngangene m0 til m3 inn og utgangen F. Vis hvilke signal i AE som skal koples til m0, m1, m2 og m3. Utgangene fra dekoderkretsen brukes som valginnganger for å bestemme hvilket signal som skal gå gjennom multiplekseren. En av AND-gatene til høyre vil til enhver tid være åpen og signalene samles i OR-porten slik at F har riktig verdi ut.
19. mai 2008 Side 15 av 17 f) (5 %) Sett opp tilstandsdiagrammet for en tilstandsmaskin, med 4 tilstander, som kan styre AE. Gi tilstandene samme navn som funksjonene i AE. Se tabellen i oppgaven foran. I fra tilstand A skal den skifte ubetinget til Sub. I fra tilstand B skal den skifte ubetinget til A. I fra tilstand Sub skal den skifte til B dersom F er et oddetall og til Add ellers. I fra tilstand Add skal den gå til A dersom F > 7, ellers til B. Tilstandsmaskinen har inngangen F fra AE og utgangen er Valg og den er kodet i henhold til spesifikasjonen foran. Når det skal sjekkes om F er et oddetall er det tilstrekkelig å sjekke minst signifikante bit [F(0)]. Tilsvarende vil mest signifikante bit vise om F > 7. Benytter følgende notasjon: Utgangen er Valg. Tilstand Utganger A Valg = 00 F(3) = 1 (F > 7) F(0) = 1 (Oddetall) Sub Valg = 11 F(0) = 0 (Ikke oddetall) B Valg = 01 F(3) = 0 (F <= 7) Add Valg = 10 Tilstandsdiagram for oppgave 4f
Powered by TCPDF (www.tcpdf.org) 19. mai 2008 Side 16 av 17 g) (5 %) Sett opp en nestetilstands og utgangstabell for tilstandsmaskinen. Bruker Valg som tilstandskoding. Utgangen er koden for tilstanden som maskinen står i nå. Neste tilstand er tilstanden, og koden for tilstanden, som maskinen skal skifte til neste gang. Nåtilstand Inngang Neste tilstand Utgang Navn Koding F Navn Koding (Valg) A 00 X Sub 11 00 B 01 X A 00 01 Add 10 F > 7 A 00 10 F <= 7 B 01 10 Sub 11 F er oddetall B 01 11 F er partall Add 10 11 h) (5 %) Sjekk om det er overflødige tilstander. Bruk implikasjonstabell. Fordi tilstandstabellen er liten og oversiktlig kan man her se direkte at den ikke har overflødige tilstander. Dette kan sjekkes ved å sammenligne utganger og neste tilstand. Det er ingen kombinasjoner som gjentas. Oppgaven forutsetter at dette vises ved hjelp av en implikasjonstabell. Setter opp en implikasjonstabell for sensor: B Add Sub A B Add Ser at A ikke har ekvivalente utganger med B, Add eller Sub. Ser at B ikke her ekvivalente utganger med Add eller Sub. Ser at Add ikke har ekvivalente utganger med Sub. Det er ikke nødvendig å sjekke neste tilstand.