Dan Weinehall Håkan Joëlson 007-0-09 ELEA5 Tentamen i Digitalteknik 5p Datum: 007-0-09 Tid: 09:00-5:00 Sal: Hjälpmedel: VHDL-kompendierna: Grunderna i VHDL, Strukturell VHDL och testbädd Labinstruktioner med resultat och beräkningar Labrapporter Formelhäftet Diverse godbitar Definiera använda beteckningar, ange mätetalens enheter och motivera antaganden och approximationer. Lösningarna skall kunna följas i detalj. Redovisa tankegångar och beräkningar så att missförstånd inte uppstår. Svar utan lösning/motivering kan ge 0 poäng. Det gäller hela tiden att du med dina svar ska visa vilka kunskaper du har tillgodogjort dig. Uppgifter där VHDL-kod ska lämnas som lösning ska vara så enkel som möjligt. Ett kombinatoriskt nät ska åtföljas av: figur som visar in och utsignaler samt kort beskrivning av tankegången med den kod som skrivs. En sekvenskrets ska åtföljas av: ett så fullständigt tillståndsdiagram som möjligt, figur som visar in och utsignaler samt den kodning av signalerna som valts. Tips: Läs igenom hela tentan först. Börja med den uppgift du tcker verkar lättast. Läs frågorna noggrant för att identifiera vad som verkligen frågas efter. Avsluta med att kontrollera att du svarat på allt. Labredovisning: Bifoga laboration D59 när du lämnar in tentamen. Om inte laborationerna D60 och D6 är rättade och godkända så bifoga även dem med tentan. Lcka till! Glöm inte att senast 5/ besvara den webbaserade kursvärderingen! http://www-umea.slu.se/kursutvardering/svarainlogg.cfm. Logga in med kurskod ELEA5 och ange lösenordet.
. Boolesk algebra. (p) a) Förenkla följande Booleska uttrck så långt som möjligt A B + A + B + AB (B + C) + AB (+C) b) Realisera det förenklade uttrcket med ett grindnät. Till ditt förfogande har du NAND-grindar med ingångar.. Tidsdiagram. (p) Ett digitalt sstem har följande komponenter och sammankopplingar. W C R U6A 7HC08 6 7HC76 UA J PRE CLK K CLR 5 6 7HC76 UA J PRE CLK K CLR 5 0 6 5 5 0 A B U G C0 CY C C G C0 CY C C 7 9 U8A 7HC86 Y 7HC5 U6A = AND-grind U8A = XOR-grind a) Betrakta kopplingen av JK-vipporna. Ange namnet på den tp av sekvenskrets (räknare) som man får när JK-vipporna är kopplade enligt figuren ovan. (p) b) Signalen R läggs först till låg nivå. Sedan läggs den till konstant hög nivå. Därefter kopplas signalen C på. Den tas från en signalgenerator, som ger en smmetrisk frkantvåg med periodtiden 0 ms. Basera analsen på benens nummer, eftersom funktionsbeteckningarna i schemat ovan och i datablad till 7HC5 avviker från varandra. Rita ett tidsdiagram över signalerna C, W och Y. Tidsdiagrammet skall täcka tiden motsvarande 6 perioder av signalen C. (p)
. Sekvenskrets (8p) a. Skapa en digital elektronisk anordning som åstadkommer ett rinnande ljus. Utgången ska bestå av bitar. Dit ska man kunna koppla lsdioder (LED), som ska lsa en i taget. Valfria vippor får användas, men välj ovillkorligt ordningsföljden 00, 0,, 0, 00, 0,, på tillstånden. Detta kommer att ge enklare funktionsuttrck. Valfria grindar får användas. Rita smbolschema. (p) Tips:. Förknippa varje steg/lsmönster med ett tillstånd. (Tänk i ditt stilla sinne efter vilken modell av sekvensfunktion det då blir fråga om.) I varje steg är det alltså bara en LED som ska lsa.. Tänk efter: Finns ingångar? Vad är utgångar (från sstemet)? Vad presenterar tillstånden? b. Gör manicken i uppgift a. reversibel, dvs gör så att ljuset kan "rinna" åt båda hållen. Den ska vara strbar, så att man kan välja åt vilket håll det ska "rinna". (Titta igen på "Tips" ovan.) Redovisa med funktionsuttrck för de signifikanta signalerna. (p). Sekvenskrets VHDL (5p) En elektroniskt strd växellåda har dessa lägen: Friläge, Växel, Växel samt Växel. Växlingen strs av en signal, i, med bitars kod: i Händelse 00 Till friläge 0 Nedväxling steg 0 Uppväxling steg Ingen förändring Friläget skall nås direkt från godtckligt växelläge. Aktuellt växelläge skall visas på en panel med lampor. Strsignalen till lamporna betecknas ut ( bitars kod). Endast lampa åt gången kan vara tänd. Att från friläge försöka växla ner eller att från växelläge växla upp, skall ej leda till bte av tillstånd. Realisera växellådsstrningen som en tillståndsmaskin (FSM) med VHDL-kod. Förutom insignalen i så strs sekvenskretsen av klocksignalen, clk. a) Redovisa tillståndsdiagram med tillståndsbeteckningar och övergångsvillkor. (p) b) Redovisa VHDL-kod (p)
VHDL-uppgifter, -bit AU Kretsen i figur nedan är en aritmetisk enhet, -bit AU, som utför en -bit s addition eller subtraktion (x + eller x - ). TwoComp är en -bit s omvandlare till tvåkomplementrepresentation av vid subtraktion. Mux är en - mux för bitar. Add är en -bitar s snkron adderare. Reset-signalen är asnkron d.v.s. oberoende av clock. In- och utsignaler till AU:n : x,, sum : -bitars signaler, sub_add, c_ut : -bit signal 5. Kombinatorik VHDL (5p) Beskriv modulerna TwoComp och Mux i -bit AU med VHDL-kod. För aritmetiska operatorer används en package där dessa definieras t.ex. work.std_arith.all. a) TwoComp (p) b) Mux (p) 6. Strukturbeskrivning (5p) Förutsätt att all VHDL-kod för de ingående delarnas entiteter och architecturer enligt ovan finns tidigare i din fil. a) Deklarera ett package där TwoComp, Mux och Add ingår som Components. b) Skriv VHDL-koden för komponentinstansieringen av -bit AU enligt blockschemat i figur. 7. Testbänk (p) Skriv en testbänk för -bit AU. Förutsätt att all kod i strukturbeskrivningen enligt ovan finns tidigare i din fil. Fra värden på x och ska testas med avseende på både addition och subtraktion. -bit AU Add x x c_ut sum c_ut sum Mux sub_add TwoComp adr d_ d_ d_ut _ut Figur.