Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.



Relevanta dokument
Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

Exempel på tentamensfrågor Digitalteknik

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Tentamen i IE1204/5 Digital Design onsdagen den 5/

DIGITALTEKNIK. Laboration D172

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

IE1204/IE1205 Digital Design

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

VHDL 1. Programmerbara kretsar

Konstruktionsmetodik för sekvenskretsar

Digital elektronik CL0090

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

Försättsblad till skriftlig tentamen vid Linköpings universitet

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

std_logic & std_logic_vector

Digital elektronik CL0090

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Simulering med ModelSim En kort introduktion

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

DESIGN AV SEKVENTIELL LOGIK

VHDL och laborationer i digitalteknik

F5 Introduktion till digitalteknik

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Konstruktion av digitala system - VHDL

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language

Laboration i digitalteknik Introduktion till digitalteknik

Omtentamen IE Digital Design Måndag 14/

Tentamen i Digitalteknik, EITF65

Sekvensnät. William Sandqvist

Digitalteknik TSIU05 Laborationer

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

IE1205 Digital Design: F9: Synkrona tillståndsautomater

F5 Introduktion till digitalteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Tentamen i IE1204/5 Digital Design måndagen den 15/

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Lösningsförslag till tentamen i Digitalteknik, TSEA22

LABORATIONSINSTRUKTION

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns )

Angående buffer. clk clear >=1 =9?

Tentamen IE1204 Digital Design Måndag 15/

VHDL2. Sekvensnätsexemplet

VHDL2. Sekvensnätsexemplet

D0013E Introduktion till Digitalteknik

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tenta i Digitalteknik

Tentamen i IE Digital Design Fredag 21/

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik

TSEA22 Digitalteknik 2019!

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

Omtentamen med lösningar IE Digital Design Måndag 14/

Tenta i Digitalteknik

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Tentamen i Digital Design

SEKVENSKRETSAR. Innehåll

Tentamen IE Digital Design Fredag 15/

T1-modulen Lektionerna Radioamatörkurs OH6AG OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

Digital- och datorteknik

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

Tentamen med lösningar i IE Digital Design Fredag 15/

Exempel på LAX-uppgifter

IE1204/5 Digital Design typtenta

IE1204 Digital Design

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Tenta i Digitalteknik

Digital Design IE1204

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Laborationshandledning för mätteknik

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik

Översikt, kursinnehåll

Programmerbar logik och VHDL. Föreläsning 4

Tentamen IE Digital Design Måndag 23/

Tenta i Digitalteknik

Simulering med ModelSim En kort introduktion

Digital elektronik CL0090

Sekvensnät Som Du kommer ihåg

KALKYLATOR LABORATION4. Laborationens syfte

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Digital Design IE1204

Tenta i Digitalteknik

Transkript:

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.. Uttryckt i decimal form: A=28+32+8 + 2 =70 B=59 C=7 A+B+C=246 2. Jag låter A' betyda "icke A" A'B'C'D'+ABC'D'+A'BCD'+AB'CD'=D'(A'(B'C'+BC)+A(BC'+B'C))= =D'(A'(B' C)+A(B C))=D'(A'(B C)'+A(B C))=D'(A' B C) Det finns även andra lösningar - exempelvis någon av följande: D'(A B' C) eller D'(A B C') eller D'(A' B' C') 3. Jag vill få räknaren att nollställa sig själv omedelbart när det kommet till värdet 5. 4 a) F = CD(A B) + CD(A B) + (B+C+D) b) A B C D F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

c) CD 00 0 0 00 0 0 AB 0 0 0 0 0 0 0 0 0 0 c) F = B D + C D d) B F C D 5 a) 00 0 0 0 0 0 0 Tillståndstabell för Nästa tillstånd q 2 + q + I 0 00 0 0 q 2 q 0 00 0 0 0 00 q 2+ q + q 2+ q + Minimering D 2 = q i + q i = q i I 0 00 0 q 2 q 0 0 0 0 0

Minimering D = q 2 i + q 2 i = q 2 i I 0 00 0 q 2 q 0 0 0 0 0 b) i _ i q _ q q 2 _ q 2 Q q 2 D C Q q D C Clk u2 u 6 a. Sekvensen 0,, 2,3, 4, 5, 6, 7, 8, 9, 0,, (binärt 0000 000 000 000 00, 0000, 000) innebär en 0-räknare. Kretsen är byggd för att kunna användas som en 0- räknare (en 2-räknare i serie med en 5-räknare blir en 2x5=0-räknare). Därför behöver inte RESET-ingången användas. Den kopplas till jord för att aldrig aktiveras. Seriekoppling av de två räknarna innebär att utgången från den ena klockar den andra. Kapseln innehåller två identiska räknar-uppsättningar. Jag väljer den "högra". (I princip kan man seriekoppla tvärtom, dvs ben 2 blir klockingång och 2-räknaren klockas med Q D. Q B blir då LSB (Ut 0) och Q A blir MSB (Ut 3 ).)

74HC390 CK 5 /2 COUNTER 3 Qa = Ut0 2 /5 COUNTER 0 9 Qb = Ut Qc = Ut2 Qd = Ut3 4 6. Vcc 8. GND b. Här är räknesekvensen 0,, 2, 0,, 2, dvs en 3-räknare. Den ska alltså räkna binärt 00, 0, 0, nollställas på, för att börja om 00, 0... Signalbilden ska alltså generera ett RESET. I uppgiften specificerades det att klockpulsen skulle anslutas till ben 2. Det betyder att det blir den "vänstra" 5-räknaren som ska användas. Jag låter då Q B vara Ut 0 och Q C vara Ut, och triggar en RESET med logiskt Q B + Q C. Det vara bara NAND-grindar som fick användas. Jag använder 2, varav som inverterare. 74HC390 3 NC /2 COUNTER (alt. GND) Qa (NC) CK 4 /5 COUNTER 5 6 7 Qb = Ut0 Qc = Ut Qd (NC) 2 6. Vcc 8. GND (I denna uppgift var det specificerat att klockpulsen skulle anslutas till ben 2. Annars kunde man teoretiskt tänkas sig att få en 3-räknare genom att koppla ihop båda räknarna som i uppgift a., använda Q A som Ut 0 och Q B som Ut, och trigga en RESET med logiskt Q A + Q B.) 7. (I min text använder jag notationen att /X betecknar NOT X.) 6 st ingångar: Apparat/anordning levererar logisk :a när den slås på. (Tex V= betyder att V är påslagen, B3=0 betyder att B3 är avslagen.) 6 st ingångar ger 2 6 = 64 möjliga insignalskombinationer. utgång: Jag väljer att när L blir logiskt hög (L=) aktiveras larmet. Sanningstabell och/eller logiskt resonemang visar att 23 inkombinationer ger larm (23 st L) och 4 inkombinationer ger inte larm (4 st /L). För att inte måsta koda alla 64 kombinationer kan jag välja att inrikta mej på L eller /L. Inriktning på L. (Jag anger värden för V och B i ordningsföljden: V V2 B B2 B3 B4.) Studerar man de logiska villkoren för larm, kan man gruppera dem efter de fyra fallen som ges av V och V2. Man finner att för V=00 blir det aldrig larm; för V= ger alla kombinationer av B utom B=0000 larm (5 st); för V=0 ger 4 kombinationer av B larm (0, 0, 0, ); och för V=0 ger 4 kombinationer av B larm (0, 0, 0, ). Minimerar man (tex m.h.a. Karnaughdiagram) kombinationerna av B för de tre fallen av V som ger larm, får man tre grupper av logiska uttryck som ger larm: När båda V är påslagna och något B samtidigt är påslaget: V V2 (B+B2+B3+B4)

När V=0 och samtidigt något av 3 3B-kombinationer: /V V2 ((B2 B3 B4)+ (B B2 B4)+ (B B2 B3)) När V=0 och samtidigt något av 3 3B-kombinationer: V /V2 ((B2 B3 B4)+ (B B3 B4)+ (B B2 B4)) De två senare kan arbetas ihop om man vill: Två av 3B-kombinationerna är gemensamma för V och V2, dvs ger larm antingen om bara V är påslagen eller bara V2 är det. Övriga två är unika och måste kodas specifikt. Alternativ som jobbar med bitvärden och [totalt] logiskt uttryck. -- Lösningsförslag till uppgift 2 i tentamen i Digitalteknik I 00026 -- hj v.0 00025 -- Tänkt för att implementeras i tex en GAL22V0 pld-krets. -- Larmanordning åt Iris Grönkvist. -- 2 ingångsbitar från varsin värmeslinga V, V2). -- 4 ingångsbitar från varsin bevattningsslinga B-B4). -- utgångsbit (L). -- Lösning med booleska funktioner. ENTITY green_alarm IS PORT (V, V2, B, B2, B3, B4 :IN bit; L :OUT bit); END; ARCHITECTURE alarm OF green_alarm IS BEGIN L <= (V AND V2 AND (B OR B2 OR B3 OR B4)) OR (V AND NOT V2 XOR (NOT V AND V2) AND ((B2 AND B3 AND B4) OR (B AND B2 AND B4))) OR (NOT V AND V2 AND B AND B2 AND B3) OR (V AND NOT V2 AND B AND B3 AND B4); END; Alternativ med signaler som tilldelas bitvärden från Iris elektriska enheter. Kan ha samma ENTITY som ovan och sedan tex: ARCHITECTURE alarm OF green_alarm IS SIGNAL V : bit_vector ( downto 0); SIGNAL B : bit_vector (3 downto 0); BEGIN V() <= V; V(0) <= V2; B(3) <= B; B(2) <= B2; B() <= B3; B(0) <= B4; WITH V() SELECT L <= '' WHEN "00" AND (B = '000' OR B =... OR...); -- Ofullständig. Alla utom '000'. WHEN "0" AND (B = "0" OR B = "0" OR B = "0" OR B = ""); WHEN "0" AND (B = "0" OR B = "0" OR B = "0" OR B = ""); L <= '0' WHEN OTHERS; END ARCHITECTURE; Alternativ med bit-vektorer. (Möjlig om man tolkar att direktiven i uppgiften ["beteckningarna V,... B, ska ovillkorligt användas"] medger det.) I denna variant tar jag fasta på kombinationerna som inte ger larm, alltså Inriktning på /L. ENTITY green_alarm IS PORT( V :IN bit_vector( TO 2); B :IN bit_vector( TO 4); L :OUT bit ); END; ARCHITECTURE alarm OF green_alarm IS BEGIN

PROCESS begin if (V = "00" OR B = "0000" -- Bara värme eller bara vatten. OR (V = "0" AND B = "000") -- 0 vattenkombinationer med ena värmen. OR (V = "0" AND B = "000") OR (V = "0" AND B = "000") OR (V = "0" AND B = "000") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "000") -- 0 vattenkombinationer med andra värmen. OR (V = "0" AND B = "000") OR (V = "0" AND B = "000") OR (V = "0" AND B = "000") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "00") OR (V = "0" AND B = "0") -- Sist 2 specialfall. OR (V = "0" AND B = "0")) then L <= '0'; -- Alla fall som inte ger larm. else L <= ''; -- Övriga kombinationer larmar. end if; END PROCESS; END ARCHITECTURE; 8. Entity tarning is port( clk: in bit; i: in bit_vector( downto 0); u: out bit_vector(3 downto 0)); end; Architecture dioder of tarning is signal ut: bit_vector(3 downto 0):="0000"; begin u<=ut; --uppdaterar utgangen process(clk) begin if clk'event and clk='' then --varje gang klockan gar fran lag-hog case i is when "0" => -raknemod case ut is when "000" => ut<="000"; when "000" => ut<="00"; when "00" => ut<="00"; when "00" => ut<="0"; when "0" => ut<="0"; when "0" => ut<="000"; when others => ut<="000"; end case; when "0" => ut<=""; -testmod when "" => ut<="0000"; -offmod when "00" => ut<=ut; -vilomod end case; end if; end process; end;

9. Ett klurproblem. Syntes. Generell angreppsmodell: identifiera insignaler och utsignaler. Utsignal ganska given: väckningslarm går igång - tydligen av brandlarmsmodell med sirener och klockor i hela huset så att alla vaknar på en gång. Utsignal ska aktiveras i ett antal olika fall. För varje fall finns det specifika villkor (insignalskombinationer). a) Insignaler i systemet hör ihop med händelser. Beteckn. Sanningshalt Logisk nivå Veckodagar Lö Det är inte lördag 0 Det är lördag Sö Det är inte söndag 0 Det är söndag Klockslag Kl_6 Det är inte klockan 6 0 Det är klockan 6 Kl_7 Det är inte klockan 7 0 Det är klockan 7 Kl_8 Det är inte klockan 8 0 Det är klockan 8 Kl_9 Det är inte klockan 9 0 Det är klockan 9 Väderlek Regn Smaskens väder 0 Regnväder Farmors födelsedag Farm Farmor fyller inte år 0 Farmor fyller år b) Med så många insignaler blir det tungt att ställa upp en sanningstabell. Dessutom är det svårt att minimera på sedvanligt sätt med så många insignaler. Jag väljer att söka samverkande villkor och gruppera i fall. Alltså: larmet aktiveras i ett antal olika fall. () Vardag + (2) Vanl lö + (3) Vanl sö + (4) Farmor föd.d Lö Sö Kl_6 Kl_7 Kl_8 Kl_9 Regn Farm () (2) (3) Larm (4) c) Larm = Lö Sö Kl_6 + Lö Kl_9 Farm + Sö Kl_7 Regn Farm + (Lö + Sö) Kl_8 Farm d) Sö Regn

0. Enskilda kapslar med grindar eller vippor är billigare än PLD-kapslar. För mycket enkla konstruktioner kan det därför vara värt att ta till diskreta komponenter. PLD är internt uppbyggda av AND- och OR-grindar plus vippor och logik för att kunna välja olika funktionalitet (i GAL22V0 s.k.olmc). I stort sett är därför konstruktioner med diskreta komponenter och programmerade PLD likvärdiga när det gäller hastighet och funktionssätt. Så fort det blir fråga om lite större konstruktioner finns det vinster med PLD vad gäller kostnad (komponenter + utvecklings- och konstruktionstid) och flexibilitet (PLD kan relativt enkelt programmeras om; diskreta komponenter måste kopplas om).. Jag lägger den önskade signalföljden på ingångarna till multiplexern och låter en räknare välja insignalerna i rätt följd.