HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Like dokumenter
HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Høgskolen i Sør-Trøndelag Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Høgskolen i Sør-Trøndelag Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Høgskolen i Sør-Trøndelag Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Synkron logikk. Sekvensiell logikk; to typer:

INF3430. VHDL byggeblokker og testbenker forts.

INF3430/4430. Kombinatoriske og sekvensielle byggeblokker implementert i VHDL :57

TELE2010A Digital Systemkonstruksjon

INF3430/4431. VHDL byggeblokker og testbenker forts.

Tilstandsmaskiner (FSM) Kapittel 5

Kombinatorisk og synkron logikk. Kapittel 4

Entities and architectures. Kapittel 3

INF3430/4431. VHDL byggeblokker og testbenker

INF3430. Fasit eksamen Høst Oppgave 1 6. Oppgave A B C D E 1 X X 2 X 3 X X 4 X X 5 X X 6 X

Store design. Kapittel 6

UNIVERSITETET I OSLO

INF3430/4431. VHDL byggeblokker og testbenker forts.

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

INF3430. VHDL byggeblokker og testbenker

VHDL En kjapp introduksjon VHDL. Oversikt. VHDL versus C(++)/Java

INF3430/4430. Grunnleggende VHDL. 11-Sep-06

INF3430/4430. Grunnleggende VHDL

Oppgave 1 En 4-input Xilinx LUT med innhold 9009 (hex) realiserer en: A xor-xor-or B xor-xor-nand C xor-xor-nor D xor-xor-and E xor-xor-xor

Gruppe(r): 2EY Eksamenstid, fra-til: Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne)

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

Agenda Funksjoner og prosedyrer. Funksjoner

INF3430/4431. Introduksjon til VHDL Spartan starterkit Spartan-3 FPGA

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

UNIVERSITETET I OSLO

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

MAX MIN RESET. 7 Data Inn Data Ut. Load

EKSAMEN Emnekode: ITD13012

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

NY EKSAMEN Emnekode: ITD13012

EKSAMEN (Del 1, høsten 2015)

Versjon2.0/ ChipScope PRO - En kort innføring

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

INF3430 Høsten ChipScope PRO - En kort innføring

INF 3430/4431. Simuleringsmetodikk

HØGSKOLEN I SØR-TRØNDELAG

INF 3430/4430. Simuleringsmetodikk

INF3430/4431 Høsten Laboppgave 2 VHDL-programmering Funksjoner og prosedyrer/bibliotek Styring av sjusegmenter

INF 3430/4430. Simuleringsmetodikk

Avdeling for ingeniørutdanning Institutt for teknologi

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

EKSAMEN (Del 1, høsten 2014)

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi LØSNINGSFORSLAG EDT208T-A. Programmerbare logiske styringer

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Dagens tema: Sjekking

Løsningsforslag INF1400 H04

UNIVERSITETET I OSLO

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

UNIVERSITETET I OSLO

LØSNINGSFORSLAG 2006

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

INF 3430/4430. Viktige momenter i syntese og for valg av teknologi

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg.

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Emne: Algoritmer og datastrukturer

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

INF3340/4340. Synkrone design Tilstandsmaskiner

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

UNIVERSITETET I OSLO

EKSAMEN Løsningsforslag. med forbehold om bugs :-)

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN. Oppgavesettet består av 8 sider inklusiv denne forsiden og vedlegg.

Eksamen INF2270 våren 2018

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Vi skal se på lambda-uttrykk. Følgende er definerte og vil bli brukt gjennom oppgaven

INF2270. Sekvensiell Logikk

INF3340. Tilstandsmaskiner

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Transkript:

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Bokmål Eksamensdato: 3. desember 204 Varighet/eksamenstid: Emnekode: Emnenavn: Klasse(r): 5 timer TELE200 3EE Studiepoeng: 0 Faglærer(e): (navn og telefonnr på eksamensdagen) Bjørn B. Larsen, 902 08 37 Kontaktperson(adm.) (fylles ut ved behov kun ved kursemner) Hjelpemidler: Oppgavesettet består av: (antall oppgaver og antall sider inkl. forside) Kalkulator type B 4 oppgaver på 3 sider Vedlegg består av: (antall sider) Merknad: Oppgaveteksten kan beholdes av studenter som sitter eksamenstiden ut. NB! Les gjennom hele oppgavesettet før du begynner arbeidet, og disponer tiden. Dersom noe virker uklart i oppgavesettet, skal du gjøre dine egne antagelser og forklare dette i besvarelsen. Lykke til!

Eksamen i emne TELE200 3. desember 204 Side 2 av 3 Oppgave (50 %) Dette er en flervalgsoppgave: For hvert spørsmål skal du krysse av for det alternativet som du mener er riktig. Dersom du velger å ikke svare krysser du av for "VET IKKE." Riktig svar gir 2 poeng, galt svar gir - poeng "VET IKKE" gir 0 poeng. Ubesvart spørsmål gir - poeng. Gardering er tillatt. Bruk tabellen på siste side. Riv den ut fra oppgavesettet og lever den som en del av besvarelsen din. NB! Der er to tabeller: En til faglærer og en til deg selv. Dersom det er avvik mellom innholdet i tabellene, er det faglærerkopien som anses som ønsket avgitt svar. Spørsmålene om VHDL-kode angår bare den koden som er vist. Det forutsettes at nødvendige typer og signal/variable er riktig definert.. Hvilken påstand er korrekt? A) En tracking AD-konverter trenger ikke et utgangsregister for å holde verdien mellom hver konvertering. B) En suksessiv approksimasjons AD-omformer leverer utgangssignalet i seriell form. C) En sub-ranging flash AD-omformer har halvparten så mange komparatorer som en ordinær flash AD-omformer D) Vet ikke 2. Hva er riktig for en variabel i VHDL? A) En variabel brukes for å sende en verdi fra en prosess til en annen prosess. B) En variabel får ny verdi umiddelbart. C) En variabel får ny verdi en delta etter siste endring i tidskøen. D) Vet ikke 3. Hva er riktig for simulering av en variabel i VHDL? A) En variabel beregnes hver gang de variablene det er avhengig av skifter verdi. B) Dersom en variabel får flere forskjellige verdier tilordnet på ett tidspunkt vil simulatoren velge den siste tilordningen som ny verdi. C) En variabel har ikke tidskø.

Eksamen i emne TELE200 3. desember 204 Side 3 av 3 4. Hva er riktig for syntese av en variabel i VHDL? A) Synteseverktøyet vil innføre en latch, dersom et signal brukes før variablene det er avhengig av er tilordnet verdi. B) Synteseverktøyet vil bytte om definisjonsrekkefølgen, slik at signalverdien blir riktig, dersom et signal brukes før variablene det er avhengig av er tilordnet verdi. C) Dersom en variabel får flere forskjellige verdier tilordnet på ett tidspunkt vil synteseverktøyet sørge for at den første tilordningen kommer gjennom. 5. Hva er riktig for syntese av et signal i VHDL? A) Dersom et signal ikke er komplett definert på alle tilstandene vil synteseverktøyet fjerne signalet. B) Dersom et signal ikke er komplett definert på alle tilstandene vil synteseverktøyet fjerne porten som skulle drevet signalet. C) Dersom et signal ikke er komplett definert på alle tilstandene vil synteseverktøyet sette inn en latch som husker signalverdien. 6. Hva modellerer denne VHDL-koden? A) En tobits teller. B) En OG-funksjon. C) En todeler. oppg 6: process (q_i) is case (q_in) is when "00" => O <= '0'; when "0" => O <= '0' when "0" => O <= '0' when "" => O <= '' when others => O <= '0' end case; end process; 7. Hva modellerer denne VHDL-koden? A) Et sirkulært skiftregister med bytting av signalrekkefølge. B) Dette virker ikke. C) Et parallellregister med bytting av signalrekkefølge. oppg 7: process (clk) is if rising_edge(clk) then q(msb downto 0) <= q(0 to msb); end process; 8. Hva er riktig for simulering av en variable i VHDL? A) En variable benyttes for mellomregninger. B) En global variable brukes for å gjøre interne verdier i en funksjon eller en prosess tilgjengelig for andre prosesser når den har samme navn i begge prosessene. C) En variable kan tilordnes en tidskø og oppføre seg som et signal ved behov.

Eksamen i emne TELE200 3. desember 204 Side 4 av 3 9. Hva gjør denne koden? A) Beregner s_4 = 2(s_42 + 5). B) Beregner s_4 = 2(forrige verdi av s_42 + 5). C) Ingen ting. oppg 9: process (s_42) is variable v_9: integer range 0 to 27; -- v_9 := s_42 + 5; -- s_4 <= v_9 * 2; -- end process; 0. Du skal lage et 4-bits register, som skal brukes for å lage tilfeldige testvektorer når kontrollsignalet test er ''. Registeret skifter ikke verdi når test er '0'. Registeret trigger på positiv klokkeflanke. Hvilken kode realiserer dette? A) Oppg 0_A: process (clk) if rising_edge(clk) then if test = '' then q <= q(0) & q(3 downto ); end process Oppg 0_A; B) Oppg 0_B: process (clk) if rising_edge(clk) then if test = '' then q <= q() xor q(0) & q(3 downto ); end process Oppg 0_B; C) Oppg 0_C: process (clk) if rising_edge(clk) then if test = '' then q <= q(0) & q(3 downto ); else q <= i; end process Oppg 0_C;

Eksamen i emne TELE200 3. desember 204 Side 5 av 3. Du skal lage en D-vippe med asynkron SET og RESET, som er aktiv høy (''). RESET har prioritet foran SET. Vippen trigger på negativ klokkeflanke. Hvilken kode realiserer dette? A) Oppg A: PROCESS (a, b, c) BEGIN IF a = '' THEN q <= ''; ELSIF b = '' THEN q <= '0'; ELSIF falling_edge(c) THEN q <= d; END IF; END PROCESS Oppg A; B) Oppg B: PROCESS (a, b, c) BEGIN IF a = '' THEN q <= '0'; ELSIF b = '' THEN q <= ''; ELSIF falling_edge(c) THEN q <= d; END IF; END PROCESS Oppg B; C) Oppg C: PROCESS (a, b, c) BEGIN IF falling_edge(c) THEN IF a = '' THEN q <= ''; ELSIF b = '' THEN q <= '0'; ELSE q <= d; END IF; END IF; END PROCESS Oppg C; 2. Hva sier D-algoritmen for testgenerering? A) D-veien gjennom en sekvensiell krets må gå gjennom et register. B) Feil på D-veien må forplantes til en utgang eller et register for å bli detektert. C) Feil på D-veien samles i et signaturregister og skiftes ut derfra. 3. Hva sier enkeltfeilhypotesen for testgenerering? A) Kretsen vi genererer en test for har en eller ingen feil. B) Testen vi genererer finner en feil om gangen. C) Vi kan finne alle feilene i kretsen dersom den ikke er for stor.

Eksamen i emne TELE200 3. desember 204 Side 6 av 3 4. Anta at en logisk port inneholder en transistorfeil som gjør at denne transistoren alltid er AV. Hva vet du om slike feil? A) Denne feilen er utestbar. B) Feilen kan detekteres ved å måle tomgangsstrømmen i kretsen for enkelte testvektorer. C) Denne feilen må avsløres med to testvektorer i en bestemt sekvens. 5. Hvilken påstand er riktig? A) En krets med redundans behøver ikke å bli testet fordi den alltid gir rett svar. B) En krets med redundans kan noen ganger unngå spiker på utgangen. C) En krets med redundans er mer effektiv enn en uten. 6. Hva er det minste antallet testvektorer som må til for å få en komplett test av en XORport? A) 2 B) 3 C) 4 7. Hva er maksimalt antall forskjellige testvektorer fra en N-bits LFSR (Pseudo random generator)? A) 2 N + B) 2 N C) 2 N 8. Hvilken påstand er feil? A) En signaturtest kan maskere multiple feil. B) En signaturtest kan vanligvis ikke finne mer enn 50 % av feilene i en krets. C) En signaturtest kan forbedres ved å skifte inn en ny startverdi underveis. D) Vet ikke 9. Hvilken påstand er feil for et filter som står i en signalvei og skal operere i sann tid? A) Et filter i en FPGA kan brukes for høyere samplingsfrekvenser enn et som er mulig i en Digital Signal-Prosessor (DSP). B) Et filter i en FPGA kan gjøres likt et filter som er implementert i en DSP. C) Et digitalt filter i en FPGA kan ha loddrette flanker (uendelig mange poler). D) Vet ikke

Eksamen i emne TELE200 3. desember 204 Side 7 av 3 Oppgave 2 (20 %) Du skal lage en tilstandsmaskin (sekvenskrets) som kan brukes til å fjerne prell fra en bryter og gi ut et stabilt signal som er en klokkeperiode langt. Innsignalet må være aktivt i minst en klokkeperiode. Dersom pulsen som kommer inn fra bryteren er kortere enn en periode betraktes den som en transient og det skal da ikke komme noen puls ut fra pulsformeren. Figuren under viser to eksempler på innsignal fra en trykkbryter (s) og utsignalene (ut) som genereres, sett i forhold til klokken clk. s + ut Clk_2_Hz s 2 ut 2 PulsFormer s ut clk s er signalet fra en ideell, prellfri bryter, mens s 2 gir et eksempel på hvordan et virkelig signal kan være. ut og ut 2 er de tilhørende utsignalene fra tilstandsmaskinen. Vi ønsker en puls ut som er en klokkeperiode lang, hver gang bryteren aktiveres. Uansett hvor lenge den er aktivert. Tilstandsmaskinen i figuren løser denne oppgaven START TILSTAND ut s 0 0 0 VENT 0 GLITCH 0 0 0 PULS

Eksamen i emne TELE200 3. desember 204 Side 8 av 3 Entityen for kretsen er definert slik: library ieee; use ieee.std_logic_64.all; entity PulsFormer is -- Definerer pinnene inn til og ut fra kretsen: port( s, clk : in std_logic ; ut : out std_logic ); end PulsFormer ; A) Tegn blokkskjema for tilstandsmaskinen med de nødvendige funksjonene og interne signal. B) Gi VHDL-koden som definerer nødvendige typer og signal for tilstandmaskinen. C) Skriv VHDL-koden for arkitekturen til tilstandsmaskinen.

Eksamen i emne TELE200 3. desember 204 Side 9 av 3 Oppgave 3 (20 %) De angitte punktene i kretsen er feillokasjoner, eller plasser hvor vi modellerer feil. A B & F G H & Q B C B2 & G G2 I J E A) Bruk D-algoritmen for å lage en test for feilen F-Låst-til-0 (SA0). Det er tilstrekkelig å angi en testvektor. Kopier skjemaet til besvarelsen din og vis og forklar fremgangsmåten. Angi de feilene som ligger på D-veien og som blir detektert av testen. Angi de feilene som ikke ligger på D-veien, som også blir detektert av testen. B) Lag en test for en forsinkelsesfeil fra A til Q. Forklar hvordan den virker. C) Kretsen skal modifiseres for scan-test. Hva må du gjøre med kretsen? Angi en sekvens der du du bruker scan for å påtrykke en testvektor og lese av svaret etterpå. Oppgave 4 (0 %) A) Angi betegnelse for og definisjon av de forskjellige størrelser som brukes til å spesifisere nøyaktigheten (eller unøyaktigheten) til en analog/digital-omformer. B) Forklar kort hvordan en dobbeltrampe A/D-omformer fungerer. C) Hva menes med en glitch i forbindelse med D/A-omformere? Angi hvordan glitcher kan oppstå og hvordan de kan fjernes ("deglitcher").

Eksamen i emne TELE200 3. desember 204 Side 0 av 3 Vedlegg VHDL QUICK REFERENCE CARD Revision 2. () Grouping [ ] Optional {} Repeated Alternative bold As is CAPS User Identifier italic VHDL-993. LIBRARY UNITS [{use_clause}] entity ID is [generic ({ID : TYPEID [:= expr];});] [port ({ID : in out inout TYPEID [:= expr];});] [{declaration}] [ {parallel_statement}] end [entity] ENTITYID; [{use_clause}] architecture ID of ENTITYID is [{declaration}] [{parallel_statement}] end [architecture] ARCHID; [{use_clause}] package ID is [{declaration}] end [package] PACKID; [{use_clause}] package body ID is [{declaration}] end [package body] PACKID; [{use_clause}] configuration ID of ENTITYID is for ARCHID [{block_config comp_config}] end for; end [configuration] CONFID; use_clause::= library ID; [{use LIBID.PKGID[. all DECLID];}] block_config::= for LABELID [{block_config comp_config}] end for; comp_config::= for all LABELID : COMPID (use entity [LIBID.]ENTITYID [( ARCHID )] [[generic map ( {GENID => expr,} )] port map ({PORTID => SIGID expr,})]; [for ARCHID [{block_config comp_config}] end for;] end for;) (use config9uration [LIBID.]CONFID [[generic map ({GENID => expr,})] port map ({PORTID => SIGID expr,})];) end for; 2. DECLARATIONS 2.. TYPE DECLARATIONS type ID is ( {ID,} ); type ID is range number downto to number; type ID is array ( {range TYPEID,}) of TYPEID; type ID is record {ID : TYPEID;} end record; type ID is access TYPEID; type ID is file of TYPEID; subtype ID is SCALARTYPID range range; subtype ID is ARRAYTYPID( {range,}); subtype ID is RESOLVFCTID TYPEID; range ::= (integer ENUMID to downto integer ENUMID) (OBJID [reverse_]range) (TYPEID range <>) 2.2. OTHER DECLARATIONS constant ID : TYPEID := expr; [shared] variable ID : TYPEID [:= expr]; signal ID : TYPEID [:= expr]; file ID : TYPEID (is in out string;) (open read_mode write_mode append_mode is string;) alias ID : TYPEID is OBJID; attribute ID : TYPEID; attribute ATTRID of OBJID others all : class is expr; class ::= entity architecture configuration procedure function package type subtype constant signal variable component label component ID [is] [generic ( {ID : TYPEID [:= expr];} );] [port ({ID : in out inout TYPEID [:= expr];});] end component [COMPID]; [impure pure] function ID [( {[constant variable ignal file] ID : in out inout TYPEID [:= expr];})] return TYPEID [is {sequential_statement} end [function] ID]; procedure ID[({[constant variable signal] ID : in out inout TYPEID [:= expr];})] [is [{sequential_statement}] end [procedure] ID]; for LABELID others all : COMPID use (entity [LIBID.]ENTITYID [( ARCHID )]) (configuration [LIBID.]CONFID) [[gezneric map ( {GENID => expr,} )] port map ( {PORTID => SIGID expr,} )]; 3. EXPRESSIONS expression ::= (relation and relation) (relation nand relation) (relation or relation) (relation nor relation) (relation xor relation) (relation xnor relation) relation ::= shexpr [relop shexpr] shexpr ::= sexpr [shop sexpr] sexpr ::= [+ -] term {addop term} term ::= factor {mulop factor} factor ::= (prim [** prim]) (abs prim) (not prim) prim ::= literal OBJID OBJID ATTRID OBJID({expr,}) OBJID(range) ({[choice [{ choice}] =>] expr,}) FCTID({[PARID =>] expr,}) TYPEID (expr) TYPEID(expr) new TYPEID[ (expr)] ( expr ) choice ::= sexpr range RECFID others 3.. OPERATORS, INCREASING PRECEDENCE logop and or xor nand nor xnor relop = /= < <= > >= shop sll srl sla sra rol ror addop + - & mulop * / mod rem miscop ** abs not 995-998 Qualis Design Corporation. Permission to reproduce and distribute strictly verbatim copies of this document in whole is hereby granted. See reverse side for additional information.

Eksamen i emne TELE200 3. desember 204 Side av 3 4. SEQUENTIAL STATEMENTS wait [on {SIGID,}] [until expr] [for time]; assert expr [report string] [severity note warning error failure]; report string [severity note warning error failure]; SIGID <= [transport] [[reject TIME] inertial] {expr [after time],}; VARID := expr; PROCEDUREID[({[PARID =>] expr,})]; [LABEL:] if expr then {sequential_statement} [{elsif expr then {sequential_statement}}] [else {sequential_statement}] end if [LABEL]; [LABEL:] case expr is {when choice [{ choice}] => {sequential_statement}} end case [LABEL]; [LABEL:] [while expr] loop {sequential_statement} end loop [LABEL]; [LABEL:] for ID in range loop {sequential_statement} end loop [LABEL]; next [LOOPLBL] [when expr]; exit [LOOPLBL] [when expr]; return [expression]; null; 5. PARALLEL STATEMENTS LABEL: block [is] [generic ( {ID : TYPEID;} ); [generic map ( {[GENID =>] expr,} );]] [port ( {ID : in out inout TYPEID } ); [port map ( {[PORTID =>] SIGID expr,} )];] [{declaration}] [{parallel_statement}] end block [LABEL]; [LABEL:] [postponed] process [( {SIGID,} )] [{declaration}] [{sequential_statement}] end [postponed] process [LABEL]; [LBL:] [postponed] PROCID({[PARID =>] expr,}); [LABEL:] [postponed] assert expr [report string] [severity note warning error failure]; [LABEL:] [postponed] SIGID <= [transport] [[reject TIME] inertial] [{{expr [after TIME,]} unaffected when expr else}] {expr [after TIME,]} unaffected; [LABEL:] [postponed] with expr select SIGID <= [transport] [[reject TIME] inertial] {{expr [after TIME,]} unaffected when choice [{ choice}]}; LABEL: COMPID [[generic map ( {GENID => expr,} )] port map ( {[PORTID =>] SIGID expr,} )]; LABEL: entity [LIBID.]ENTITYID [(ARCHID)] [[generic map ( {GENID => expr,} )] port map ( {[PORTID =>] SIGID expr,} )]; LABEL: configuration [LIBID.]CONFID [[generic map ( {GENID => expr,} )] port map ( {[PORTID =>] SIGID expr,} )]; LABEL: if expr generate [{parallel_statement}] end generate [LABEL]; LABEL: for ID in range generate [{parallel_statement}] end generate [LABEL]; 6. PREDEFINED ATTRIBUTES TYPID base Base type TYPID left Left bound value TYPID right Right-bound value TYPID high Upper-bound value TYPID low Lower-bound value TYPID pos(expr) Position within type TYPID val(expr) Value at position TYPID succ(expr) Next value in order TYPID pred(expr) Previous value in order TYPID leftof(expr) Value to the left in order TYPID rightof(expr) Value to the right in order TYPID ascending Ascending type predicate TYPID image(expr) String image of value TYPID value(string) Value of string image ARYID left[(expr)] Left-bound of [nth] index ARYID right[(expr)] Right-bound of [nth] index ARYID high[(expr)] Upper-bound of [nth] index ARYID low[(expr)] Lower-bound of [nth] index ARYID range[(expr)] left down/to right ARYID reverse_range[(expr)] right down/to left ARYID length[(expr)] Length of [nth] dimension ARYID ascending[(expr)] right >= left? SIGID delayed[(time)] Delayed copy of signal SIGID stable[(time)] Signals event on signal SIGID quiet[(time)] Signals activity on signal SIGID transaction Toggles if signal active SIGID event Event on signal? SIGID active Activity on signal? SIGID last_event Time since last event SIGID last_active Time since last active SIGID last_value Value before last event SIGID driving Active driver predicate SIGID driving_value Value of driver OBJID simple_name Name of object OBJID instance_name Pathname of object OBJID path_name Pathname to object 7. PREDEFINED TYPES BOOLEAN True or false INTEGER 32 or 64 bits NATURAL Integers >= 0 POSITIVE Integers > 0 REAL Floating-point BIT 0, BIT_VECTOR(NATURAL) Array of bits CHARACTER 7-bit ASCII STRING(POSITIVE) Array of characters TIME hr, min, sec, ms, us, ns, ps, fs DELAY_LENGTH Time >= 0 8. PREDEFINED FUNCTIONS NOW Returns current simulation time DEALLOCATE(ACCESSTYPOBJ) Deallocate dynamic object FILE_OPEN([status], FILEID, string, mode) Open file FILE_CLOSE(FILEID) Close file 9. LEXICAL ELEMENTS Identifier ::= letter { [underline] alphanumeric } decimal literal ::= integer [. integer] [E[+ -] integer] based literal ::= integer # hexint [. hexint] # [E[+ -] integer] bit string literal ::= B O X hexint comment ::= -- comment text 995-998 Qualis Design Corporation. Permission to reproduce and distribute strictly verbatim copies of this document in whole is hereby granted. Qualis Design Corporation Elite Consulting and Training in High-Level Design Phone: +-503-670-7200 FAX: +-503-670-0809 E-mail: info@qualis.com com Web: http://www.qualis.com Also available: 64 Packages Quick Reference Card Verilog HDL Quick Reference Card

Kandidatnummer: Eksamen i emne TELE200 Side av 3. desember 204 Studentens kopi Svarark for Oppgave. Studentens kopi Dersom det er uoverensstemmelser mellom avkrysningene på tabellene så er det krysset på faglærerkopien som gjelder. Tabellen på denne siden kan du beholde selv. Før på sidenummer og kandidatnummer. Oppgave a b c d 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 Side 2 av 3

Kandidatnummer: Eksamen i emne TELE200 Side av 3. desember 204 Dette arket rives fra og leveres inn Svarark for Oppgave. Faglærerkopi Avkryssingene på dette arket regnes som ønsket avgitt svar. Dersom det er uoverensstemmelser mellom avkrysningene på tabellene så er det krysset på faglærerkopien som gjelder. Tabellen på denne siden leveres inn som en del av besvarelsen. Dette arket leveres sammen med originalarkene. Før på sidenummer og kandidatnummer. Oppgave a b c d 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 Side 3 av 3