F4 IN HDL. Yngve Hafting,

Størrelse: px
Begynne med side:

Download "F4 IN HDL. Yngve Hafting,"

Transkript

1 F4 IN HDL Yngve Hafting,

2 Formål Kort om emnet Emnet tar for seg prinsipper i digital design, som kombinatorisk og sekvensiell logikk, tilstandsmaskiner og digitale byggeblokker, og bygger på dette for å introdusere prosessorarkitekturer, pipelining, cache, og grensesnittet mellom maskinvare og programkode. Hva lærer du? Etter å ha tatt IN2060 har du: kunnskaper om hvordan en datamaskin er satt sammen og fungerer, fra logiske porter til prosessor kunnskaper om grensesnittet mellom maskinvare og programvare lært å kunne analysere og konstruere digitale kretser Delmål Kjenne til forskjeller mellom HDL og andre programmeringsspråk Kunne modifisere HDL-kode og forstå virkemåten til enkle digitale kretser bygget med HDL Tilstandsmaskiner Kunne utføre enkle simuleringer med simuleringsverktøy for HDL Kunne tolke noen vanlige skjematiske fremstillinger og diagrammer Få øvelse i å benytte verktøy for digital design Hvordan? Forelesning: Hva er HDL? Arbeidsflyt for digital systemkonstruksjon Grunnprinsipper VHDL Entitet arkitektur Struktur og RTL Grunnleggende syntaks VHDL Tilstandsmaskiner Testbenker Ukeoppgaver Øvelse i å tolke og skrive HDL Oblig Øvelse i å benytte verktøy Øvelse i å tolke og tegne diagrammer Øvelse i å skrive og forstå HDL Gruppetime(r) Demonstrasjon av verktøy HDL eksempler, digitale byggeblokker Gjennomgang av oppgaver 3

3 Kilde: Elkjop.no

4 HDL vs software process(reset, clk) begin if (reset = 1 ) then sum <= '0'; elsif rising_edge(clk) then sum <= a + b; end if; end process; a n + reset clk n+1 b D n RES CLK Q n+1 sum HDL «Hardware description language» Definerer logisk funksjon til en krets CAD (DAK) verktøy syntetiserer designet slik at det kan realiseres med fysiske porter. Implementeres i programmerbar logikk (PL) eller applikasjonsspesifikke kretser (ASIC) (PL = FPGA, CPLD, PLD, PAL, PLA, ) (ASIC = hva-som-helst-slags-chip: prosessorer, mikrokontrollere, osv.) Verilog (SystemVerilog) VHDL (VHDL 2008) (System C m. fl.) Software «Vanlig programvare» Definerer instruksjoner og deres rekkefølge for en prosessor En kompilator oversetter programmet til maskinkode som prosessoren kan kjøre sekvensielt fra minne. Lagres i minnet til en datamaskin C, C++, C#, Python, Java, assemblere (ARM, MIPS, x86, ) Fortran, LISP, Simula, Pascal, osv int sum(int a, int b){ return a + b ; } MOV R5, #0 ;set base adr LDR R7, [R5, #8] ;load reg R7 LDR R8, [R5, #12];load reg R8 ADD R0, R7, R8 ;R0=R7+R8 STR R0, [R5, #16];store R (binærkoden tilfeldig sammensatt for illustrasjonsformål) 5

5 HDL vs skjemategning: Enkelt å skalere opp design (Eks: N=8 bit teller) generic (N : positive := 8); --- count : out std_logic_vector (N-1 downto 0); --- COUNTER : process(reset, clk) begin if (reset = 1 ) then count <= (others => 0 ); elsif rising_edge(clk) then count <= std_logic_vector( unsigned(count) + 1 ); end if; end process COUNTER; INF3430/

6 HDL vs skjema 4 bit teller, N = 4: count : out STD_LOGIC_VECTOR (4-1 downto 0); INF3430/443 1

7 8 bit, count : out STD_LOGIC_VECTOR (7 downto 0); 8

8 32 bit... count : out STD_LOGIC_VECTOR (31 downto 0); 9

9 Technology dependant Technology independent Specification Technology independent libraries Design entry VHDL, Verilog Arbeidsflyt med HDL RTL simulation No Skrive HDL Simulere logisk funksjon «RTL» simulering Technology dependant libraries Constraints (Speed/area) OK? Yes Synthesis No Syntetisere Gate level simulation No Simulere med port-forsinkelser OK? Implementere (Place and Route) Simulere med data for alle de fysiske portene som blir benyttet Constraints (Speed/pin numbers) Yes Place & Route Timing simulation Static timing analyses Programmere kretsen OK? Yes Device programming 10

10 I dette kurset Lære enkel bruk av VHDL til simulering Koding Kombinatoriske kretser Sekvensiell logikk Tilstandsmaskiner Simulering med testbenk VHDL brukes til å forklare funksjon av datamaskinarkitektur (Vi bruker ikke systemverilog) Ikke fysiske kretser (programmerbar logikk) Kommer i senere kurs for de som følger I:RIS IN 3160, Digital systemkonstruksjon, kommer i 6. semester. 11

11 HVA GJØR (V)HDL? VHDL = VHSIC HDL: «Very High Speed Integrated Circuit Hardware Description Language» Alt: «Verification and Hardware Description Language» Syntetiserbar kode virker i parallell!. Syntetiserbar = kan lages i hardware Rekkefølgen vi skriver kan danne grunnlag for prioritet, men til syvende og sist så virker alt i parallell. Simuleringskode kan gjøre mye mer enn syntetiserbar kode I/O til fil og skjerm Feilrapportering Lage tidsbaserte hendelser VHDL Code for generating and parsing simulation data (Test benches) code for generating multiple instances or variants of entities Synthesizable code IN1 IN2 IN3 OUT Testbenker kan og vil benytte noen syntetiserbare enheter, men vil i større grad beskrive hendelser i rekkefølge og dermed ligne sekvensielle programspråk. Det kan være forvirrende til tider

12 VHDL Entitet og arkitektur Entiteten definerer input og output D CLK Q library IEEE use IEEE.STD_LOGIC.all entity D_FLIPFLOP is port( clk : in std_logic; D : in std_logic; Q : out std_logic ); end entity D_FLIPFLOP; Arkitekturen beskriver hva designet gjør. En entitet kan benytte forskjellige arkitekturer (ikke samtidig da) Arkitekturer kan defineres med forskjellige stiler (neste slide) RTL og Dataflow er bare navn. (mer om hvorfor på neste side) architecture RTL of D_FLIPFLOP is begin process (clk) begin if rising_edge(clk) then Q <= D; end if; end process; end architecture RTL; architecture data_flow of D_FLIPFLOP is signal e,f,g,h,i,j,k,l : std_logic; begin e <= NOT (D and clk); f <= NOT (e and clk); g <= NOT (e and h); h <= NOT (f and g); i <= NOT (g and not clk); j <= NOT (h and not clk); k <= NOT (l and i); l <= NOT (k and j); Q <= k; end architecture data_flow;

13 Tre hovedstiler for arkitekturer: library IEEE use IEEE.STD_LOGIC.all A B C D E F G H I entity D_FLIPFLOP is port( clk : in std_logic; D : in std_logic; Q : out std_logic ); end entity D_FLIPFLOP; architecture RTL of D_FLIPFLOP is begin process (clk) begin if rising_edge(clk) then Q <= D; end if; end process; end architecture RTL; RTL «Register Transfer Level» Lett-å-lese Bra for klokkede prosesser «default» Dataflyt Typsik brukt for små/enkle kombinatoriske funksjoner Blir fort vanskelig å lese. Strukturell Knytter sammen komponenter Brukes typisk i større design og som del av testbenker architecture data_flow of D_FLIPFLOP is signal e,f,g,h,i,j,k,l : std_logic; begin e <= NOT (D and clk); f <= NOT (e and clk); g <= NOT (e and h); h <= NOT (f and g); i <= NOT (g and not clk); j <= NOT (h and not clk); k <= NOT (l and i); l <= NOT (k and j); Q <= k; end architecture data_flow; Et design blir gjerne et kompromiss av alle tre Prøv å vær bevisst på hvordan du koder. For mye struktur eller dataflyt vil lett gå på bekostning av lesbarhet.

14 IN, OUT, INOUT, signaler ENB INOUT «signal» virker bare internt, innenfor en arkitektur Kan både leses og settes. Kan ha alle tenkelige typer IN My Entity OUT «IN»-signaler settes utenfra De kan ikke lese andre signaler eller bli satt/«assigned» «OUT»-signaler går ut av entiteten (FOM VHDL 2008 kan OUT leses som et signal internt i kretsen). «INOUT» er laget for fysiske pinner som kan ha både inn og ut-signaler. Brukes typisk når vi kobler til en bus som kan ha flere drivere. IKKE bruk INOUT fordi det er «praktisk»! Hvis du ikke vet om et signal skal brukes som inngang eller utgang, må du finne ut det først! Kompilatoren vil ikke gi advarsel om flere driver signalet. kan resultere i kortslutninger INOUT kan gi strukturer med større portforsinkelser. Det er bedre å bruke et signal ekstra, hvis man ikke trenger å ha koblet både input og output til samme pinne fysisk.

15 Signaler og «Vektorer» signal my_sig std_logic; D Q my_sig my_sig CLK signal my_vec std_logic_vector(3 downto 0); my_vec(3) my_vec(2) my_vec(1) my_vec(0) D Q D Q CLK D Q CLK D Q CLK CLK my_vec(3) my_vec(2) my_vec(1) my_vec(0) 16

16 Tilordning av signaler og variable (assignment) A <= B; -- A leser B, evt A settes til B, A er et signal C := B; -- C får verdien av B, C er en variabel -- variabler kan bare brukes internt i prosesser D(6 downto 0) <= E(3 downto 1) & (others => 0 ); -- D er en vektor med 7 input og -- D(6) <= E(3) -- D(5) <= E(2) -- D(4) <= E(1) -- D(3 downto 0) <= "0000" 17

17 Bit operatorer og reduksjonsoperator Operatorene and, or, not, xor, xnor virker på bitnivå når de står mellom to signaler eller vektorer y1 <= a and b; -- tilsvarer linjene under y1(3) <= a(3) and b(3); y1(2) <= a(2) and b(2); y1(1) <= a(1) and b(1); y1(0) <= a(0) and b(0); I VHDL2008 (ikke eldre) kan man bruke de samme operatorene som reduksjonsoperator y <= and a ; -- tilsvarer figur t.h. Bruker vi xor på den samme måten kan vi bruke det til å finne paritet til et signal (even) 18

18 Tri-state buffer Hardware kan bare se logisk 0 og 1, men kan settes i tristate (høy impedanse) for at andre skal drive bussen. ENB B A Simuleringsverktøy kan benytte og kontrollere alle de mulige verdiene i STD_LOGIC. 19

19 VCC std_logic -- verdier Value Name Usage U Uninitialized state Used as a default value 0/1 0/1/Z 0/1/Z 0/1/W EN EN 0/1 0/1/Z GND 'X' Forcing unknown Bus contentions, error conditions, etc. 0 Forcing zero Transistor driven to GND 1 Forcing one Transistor driven to VCC Z High impedance 3-state buffer outputs W Weak unknown Bus terminators L Weak zero Pull down resistors H Weak one Pull up resistors - Don t care Used for synthesis and advanced modeling 0/1 EN 0/1 EN 0/1/Z 0/1/Z 0/1/L GND VCC 0/1/H 20

20 0/1 0/1/Z A 0/1/Z - multiple drivere signal c : std_logic; EN 0/1 0/1/Z B 0/1/Z C EN Signal A/B 'U' 'X' '0' '1' 'Z' W' L' 'H' ' ' 'U' 'U' 'U' 'U' 'U' 'U' 'U' 'U' 'U' U' 'X' 'U' 'X' 'X' 'X' X' 'X' 'X' 'X' X' '0' 'U' 'X' 0' X' 0' 0' 0' '0' X' '1' 'U' 'X' X' '1' 1' 1' 1' '1' X' 'Z' 'U' 'X' 0' 1' Z' W' L' H' X' 'W' 'U' 'X' 0' 1' W' W' W' W' X' 'L' 'U' 'X' 0' 1' L' W' L' W' X' 'H' 'U' 'X' '0' '1' H' W' W' H' X' ' ' U' X' X' X' X' X' X' X' X' 21

21 22

22 VHDL bokstavstørrelse til forskjell fra SystemVerilog o.a... er ikke vhdl case sensitiv - å overdrive bruken AV denne FRihETeN er IKkE Å anbefale. Tips: ALL_CAPS BLIR SLITSOMT NÅR DET ER FOR MYE AV DET! Bruk heller snake_case til vanlig og ALL_CAPS for konstanter 23

23 VHDL opreator prioritet Prioritet Operator klasse Operatorer 1 (Utføres først) miscellaneous **, abs, not 2 multiplying *, /, mod, rem 3 sign +, - Funksjonene på samme linje prioriteres slik vi leser; fra venstre mot høyre. Bruk paranteser for å gjøre det du mener tydelig! 4 adding +, -, & 5 Shift sll, srl, sla, sra, rol, ror 6 relational =, /=, <, <=, >, >=,?=,?/=,?<,?<=,?>,?>= 7 logical And, or, nand, nor, xor, xnor 8 (utføres sist) condition?? Eksempler: a <= a or b and c; == a <= (a or b) and c; z <= a and not b and c; == z <= a and (not b) and c; == z <= c and (a and (not b)); y <= a and not (b and c); -- z=1 kun for a=1, b=0, c=1. y=1 for a=1 og (b eller c)=0. 24

24 VHDL Number format Binary, Decimal, hexadecimal, Octal, Unsigned, Signed <ant bit><u/s><b/d/o/x><tall av type B/D/O/X > B"1111_1111_1111" -- Equivalent to the string literal " ". X"FFF" -- Equivalent to B"1111_1111_1111". O"777" -- Equivalent to B"111_111_111". X"777" -- Equivalent to B"0111_0111_0111". B"XXXX_01LH" -- Equivalent to the string literal "XXXX01LH" UO"27" -- Equivalent to B"010_111" UO"2C" -- Equivalent to B"011_CCC" SX"3W" -- Equivalent to B"0011_WWWW" D"35" -- Equivalent to B"100011" 12UB"X1" -- Equivalent to B"0000_0000_00X1" 12SB"X1" -- Equivalent to B"XXXX_XXXX_XXX1" 12UX"F-" -- Equivalent to B"0000_1111_----" 12SX"F-" -- Equivalent to B"1111_1111_----" 12D"13" -- Equivalent to B"0000_0000_1101" 12UX"000WWW" -- Equivalent to B"WWWW_WWWW_WWWW" 12SX"FFFC00" -- Equivalent to B"1100_0000_0000" 12SX"XXXX00" -- Equivalent to B"XXXX_0000_0000" 8D"511" -- Error 8UO"477" -- Error 8SX"0FF" -- Error 8SX"FXX" -- Error 25

25 26

26 Prosesser i VHDL (Processes) Prosesser har sensitivitets liste En prosess evalueres når et av signalene i sensitivitetslisten endres Simulering må ha sensitivitetsliste FOM. VHDL 2008 kan all brukes som sensitivitet Exercise: Assume b = 0, A changes from 0 -> 1. What happens with F and why? Prosesser har bare en driver per signal DVS: Tilordner vi driver til et signal to ganger innenfor en prosess, vil det medføre prioritering. Signaler oppdateres når prosessen avslutter Merk at HW «alltid er på»- men det genereres prioritet i henhold til dette! 27

27 Sensitivitetsliste 28

28 flip-flop vs latch..? rising_edge og falling_edge gir flankedeteksjon (0 1, 1 0) Bruk dette til å generere flipflop er Det fins andre metoder, slik som If clock event and clock = 1 then wait until clock = 1.. Fulgt av wait until clock = 0 Disse har svakheter i simulering ( U -> 1 ).. og det er lett å glemme deler av uttrykket og lage latcher. NB! Ufullstendige if-then-else setninger kan resultere i latcher! «ENABLE» kan like gjerne hete «clk» Ikke lag latcher hvis du ikke må! 29

29 Antall flippflopper Man kan generere flippflopper med dataflyt, men det skjer i praksis aldri. Du får typisk bare flippflopper når du assigner/tilordner på klokkeflanke. Antall flippflopper er antall signalbits du tilordner på klokkeflanke. Tips: gjør tilordning av flippflopper i en egen prosess. a : in std_logic; b : out std_logic_vector (1 downto 0); signal i : std_logic_vector(1 downto 0); process(all) begin if a = 0 then i <= "00"; elsif a = '1' then i <= "01"; else i <= "11"; end if; end process; process(clk) begin if rising_edge(clk) then b <= i; end if; end process; Denne koden vil lage 2 flipflops, én for b(0) og én for b(1). 30

30 31

31 Eks: Tilstandsmaskiner Vi ønsker å lage en brusautomat som selger brusbokser for 30kr Maskinen aksepterer 10kr- og 20kr mynter (andre mynter blir returnert mekanisk) Hvis maskinen får 30kr skal den gi ut en boks Hvis maskinen får mer enn 30 kr skal den returnere pengene Maskinen har to lysdioder En som viser at maskinen er klar «Ready» En som viser at man må putte på mer penger. «Coin» 1. Finn hvilke signaler tilstandsmaskinen må utveksle med omverdenen (entiteten) kr10 kr20 clk reset Ready Coin Dispense Return 2. Definer hvilke tilstander som er nødvendige 3. Lag vhdl kode som implementerer tilstandsmaskinen 32

32 Tilstandsmaskiner Eks: -- Spesifikasjon -- Vi ønsker å lage en brusautomat som selger brusbokser for 30kr Maskinen aksepterer 10kr- og 20kr mynter (andre mynter blir returnert mekanisk) kr10 kr20 clk reset Ready Coin Dispense Return Ready Hvis maskinen får 30kr skal den gi ut en boks 10 Hvis maskinen får mer enn 30 kr skal den returnere pengene 20 Maskinen har to lysdioder En som viser at maskinen er klar «Ready» En som viser at man må putte på mer penger. «Coin» Dispense Return coins 33

33 ASM diagram «Algorithmic State Machine» diagram S_RDY Ready = 1 F ASM diagram (kan) vise F S_10 T 10? F hvilke avgjørelser som tar oss fra en tilstand til den neste Hvilke output som er aktive i hver tilstand Coin = 1 20? T Ready F 10? T S_20 20? Coin = 1 F T 10 S_DISP T 10? F 20 Dispense = 1 S_RET T Return = 1 20? Dispense Return coins 34

34 Utgangstabell «output table» Kan erstatte ASM diagram. Ofte greit med begge I en utgangstabell skriver vi: hvilke tilstander vi går til avhengig av innganger utganger som er aktivert avhengig av tilstand Ready State 10kr 20kr Tilbakekobling? Ready Coin Dispense Return S_RDY S_10 S_20 Ja S_10 S_20 S_30 Ja S_20 S_DISP S_RET Ja S_DISP - - Nei Dispense S_RET - - Nei Return coins 35

35 Tilstandsmaskiner kr10 kr20 clk reset Ready Coin Dispense Return Type-deklarasjonene tilsvarer tilstandene i diagrammet. Vi bruker kun to signaler (av typen vi nettopp har definert): denne og neste tilstand Vi tilordner neste-tilstand på klokkeflanke 36

36 all S_RDY Ready = 1 F F S_10 T 10? F Ny tilordning overskriver default verdi! Coin = 1 20? F 20? T 10? T S_20 Coin = 1 F T S_DISP T 10? F Dispense = 1 T 20? S_RET Return = 1 37

37 Tilstandsmaskiner oppsummert: Tegn skjema og evt tabeller først! Lag dine egne tilstander som «enumerated type» Gode navn gir god lesbarhet To eller tre prosesser Én for å tilordne tilstand Basert på klokke og resetsignal Én for å bestemme neste tilstand (og sette output) Basert på gjeldende tilstand og input (Én for å sette output) Basert på tilstand (Moore) eller tilstand og input (Mealy) Kan være mer oversiktlig i komplekse design. 38

38 My errors will be found... In the design phase Testbenker Testbenker er HDL moduler som brukes til å gi generere testdata (testvektorer) og rapportere testresultater ved simulering. De syntetiseres ikke, selv om de kan brukes på moduler som er generert ved syntese. Kan bruke en eller flere moduler som komponenter. Ofte er det bare én av gangen vi navngir «DUT» eller «UUT» (Device / Unit under test). Testbenk-kode vil ligne mer på andre programspråk, fordi koden vil i større grad bestå av sekvensielle hendelser Vi kan gjøre I/O til skjerm og fil Virker uavhengig av simulering og synteseverktøy In the conceptual review While coding When compiling When simulating During testing By the customer 39

39 Tidsforsinkelser (i simulering/testbenker) I prosesser for simulering kan man bruke wait for: wait for 5 ns; type TIME is range implementation_defined units fs; -- femtosecond ps = 1000 fs; -- picosecond ns = 1000 ps; -- nanosecond us = 1000 ns; -- microsecond ms = 1000 us; -- millisecond sec = 1000 ms; -- second min = 60 sec; -- minute hr = 60 min; -- hour end units; 40

40 41

41 Oppsummeringsspørsmål: Hva er formålene med et hardwarespråk? 1. Definere hardware 2. Teste (simulere) hardwaredesign Hva er forskjellen på en entitet og en arkitektur? Entitet viser innganger og utganger på designet Arkitektur beskriver funksjonen til innmaten. Hva er strukturell koding sammenlignet med RTL-koding? Strukturell koding forteller hvordan vi kobler entiteter sammen Med RTL koding beskriver vi registre og virkemåte- ikke bare koblinger. Kan vi kode tilstandsmaskiner med hardwarespråk? Ja! Hvorfor trenger vi testbenker? Fordi alle gjør feil nesten hele tiden, og det gjelder å finne dem tidlig. 42

42 Oblig i digital design, MAC algoritme Del 1: Ferdig kildekode med småfeil, skjematisk fremstilling Skrive kode selv, rette feil. Simulere (tutorial) Del2: Skjema utvides (pipeline) modifisere kode ihht nytt skjema simulere på ny. Del 3: Utvidet funksjonalitet med skjema Utvide kode Simulere (tutorial) Del 4: Utvidet funksjonalitet beskrevet Utvide skjema Utvide kode Simulere Anbefaling (om mulig): Gjør del 1 først (gjerne i kveld) Uke 38: Gjør oppgaver i inntil 4t før gruppeøvelse, deretter Del 2 (før neste forelesning). Uke 39: Gjør så minimum 3 ukeoppgaver (f.eks 5.1, 5.3 og 5.22) fra neste uke før Del 3 og 4. 43

43 Ukeoppgaver Oppgaver 4.2, 4.5, 4.6, 4.7, 4.11, , 4.27, 4.34, 4.39, 4.52 Ekstra 4.1, 4.3, 4.4, 4.8, 4.13, 4.15, 4.16, 4.24, 4.35, 4.40, 4.41 For 4.6, se figur 2.47 og 2.48 s 79, 80. Der dere skal skrive HDL-kode, kan denne åpnes og simuleres med Questa. Del 1 Oblig 1 forteller hvordan. Understrekede oppgaver er vesentlige ifht. eksamen. DVS alle oppgavene gir trening, men disse gir et innblikk i spennet av oppgaver vi kan finne på å gi innenfor temaet. Det bør være lettere å gjøre Del 2 og videre i obligen etter man har gjort noen ukeoppgaver. 44

INF3430/4431. VHDL byggeblokker og testbenker

INF3430/4431. VHDL byggeblokker og testbenker INF3430/4431 VHDL byggeblokker og testbenker Entity/architecture Innhold Strukturelle design (nettliste) Generics Configurations Operatorer-Operator prioritet (precedence) Datatyper Bit / IEEE1164 std_ulogic

Detaljer

INF3430. VHDL byggeblokker og testbenker

INF3430. VHDL byggeblokker og testbenker INF3430 VHDL byggeblokker og Innhold Entity/architecture Strukturelle design (nettliste) Generics Configurations Operatorer-Operator prioritet (precedence) Datatyper Bit / IEEE1164 std_ulogic /std_logic

Detaljer

Synkron logikk. Sekvensiell logikk; to typer:

Synkron logikk. Sekvensiell logikk; to typer: Sekvensiell logikk De fleste digitale systemer har også minneelementer (f.eks flipflopper) i tillegg til kombinatorisk logikk, og kalles da sekvensiell logikk Output i en sekvensiell krets er avhengig

Detaljer

INF3430/4430. Grunnleggende VHDL

INF3430/4430. Grunnleggende VHDL INF3430/4430 Grunnleggende VHDL 26.09.2005 20.57 Agenda Entity/architecture Strukturelle design (netlist) Generics Configurations Operatorer-Operator presedence Datatyper Bit / IEEE1164 Std_ulogic /std_logic

Detaljer

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

INF3430/4430. Grunnleggende VHDL. 11-Sep-06 INF3430/4430 Grunnleggende VHDL 11-Sep-06 Agenda Entity/architecture Strukturelle design (netlist) Generics Configurations Operatorer-Operator presedence Datatyper Bit / IEEE1164 Std_ulogic /std_logic

Detaljer

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3430/4431. VHDL byggeblokker og testbenker forts. INF343/4431 VHDL byggeblokker og testbenker forts. Innhold IEEE 1164 std_logic Configurations Kombinatoriske kretser forts. Concurrent(dataflow) beskrivelser Beskrivelser ved bruk av process Testbenker

Detaljer

INF3430. VHDL byggeblokker og testbenker forts.

INF3430. VHDL byggeblokker og testbenker forts. INF343 VHDL byggeblokker og testbenker forts. Innhold Kombinatoriske kretser forts. Concurrent(dataflow) beskrivelser Beskrivelser ved bruk av process Testbenker for kombinatoriske kretser Stimuli Sammenligning

Detaljer

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

INF3430/4430. Kombinatoriske og sekvensielle byggeblokker implementert i VHDL :57 INF3430/4430 Kombinatoriske og sekvensielle byggeblokker implementert i VHDL 26.09.2005 20:57 Agenda Kombinatoriske kretser forts. Concurrent(dataflow) beskrivelser Beskrivelser ved bruk av process Testbenker

Detaljer

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3430/4431. VHDL byggeblokker og testbenker forts. INF3430/4431 VHDL byggeblokker og testbenker forts. Innhold Kombinatoriske kretser forts. Concurrent(dataflow) beskrivelser Beskrivelser ved bruk av process Testbenker for kombinatoriske kretser Stimuli

Detaljer

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

INF 3430/4430. Viktige momenter i syntese og for valg av teknologi INF 3430/4430 Viktige momenter i syntese og for valg av teknologi 17.10.2007 Agenda RTL syntese Constraints Pipelining Syntese for FPGA Behavorial syntese INF3430/4430 Side 2 RTL/ Behavorial syntese RTL

Detaljer

Kombinatorisk og synkron logikk. Kapittel 4

Kombinatorisk og synkron logikk. Kapittel 4 Kombinatorisk og synkron logikk Kapittel 4 Eksempel; FIFO First-In-First-Out Eksempelet i boka er en noe redusert fifo (mangler empty flag, full flag osv.), men har de viktigste elementene Denne FIFOen

Detaljer

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

VHDL En kjapp introduksjon VHDL. Oversikt. VHDL versus C(++)/Java Oversikt VHDL En kjapp introduksjon Definisjoner Designparadigmer Generell VHDL-struktur Dataflow -beskrivelse Structural -beskrivelse Behaviour -beskrivelse Objekter /datatyper Operatorer Tips for syntese

Detaljer

Tilstandsmaskiner (FSM) Kapittel 5

Tilstandsmaskiner (FSM) Kapittel 5 Tilstandsmaskiner (FSM) Kapittel 5 1) Sette opp tilstandsdiagram Tradisjonell konstruksjonsmetode 2) Sette opp tilstandstabell ut fra tilstandsdiagrammet Nåværende tilstand (PS) og input Neste tilstand

Detaljer

Entities and architectures. Kapittel 3

Entities and architectures. Kapittel 3 Entities and architectures Kapittel 3 VHDL program Én fil Entities and architectures Entity declaration og architecture body Analogi til en IC: Entiteten beskriver interfacet til omgivelsen (pakkens tilkoblingspinner)

Detaljer

INF3430. Fasit eksamen Høst 2009. 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

INF3430. Fasit eksamen Høst 2009. 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 INF3430. Fasit eksamen Høst 2009. 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 INF3430 Eksamen H09 VHDL besvarelse Oppgave 7: signal_values INF3430 - H09 1 INF3430 Eksamen H09 VHDL besvarelse

Detaljer

INF3340/4340. Synkrone design Tilstandsmaskiner

INF3340/4340. Synkrone design Tilstandsmaskiner INF3340/4340 Synkrone design Tilstandsmaskiner 18.09.2007 Agenda Tilstandsmaskiner Mealy og Moore maskiner ASM tilstandsdiagrammer Syntese av ASM diagrammer Tilstandskoding Implementasjon ved bruk av VHDL

Detaljer

INF3340. Tilstandsmaskiner

INF3340. Tilstandsmaskiner INF3340 Tilstandsmaskiner Innhold Tilstandsmaskiner Mealy og Moore maskiner ASM tilstandsdiagrammer Syntese av ASM diagrammer Tilstandskoding Implementasjon ved bruk av VHDL Eksempler INF3430-Tilstandsmaskiner

Detaljer

TELE2010A Digital Systemkonstruksjon

TELE2010A Digital Systemkonstruksjon TELE2010A Digital Systemkonstruksjon Øving 3/2015 Del 1, Teller: Husk å arbeide i det lokale arbeidsområdet på disken. Kopier filene til serveren når dere er ferdig for å kunne bruke dem neste gang. max_tall

Detaljer

Store design. Kapittel 6

Store design. Kapittel 6 Store design Kapittel 6 Hierarki hvorfor bruke det Dele opp designet i håndterbare designenheter. Fokusere på mindre, håndterbare enheter vil føre til færre feil og raskere debugging av feil. Verifisere

Detaljer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker

Detaljer

INF 3430/4431. Simuleringsmetodikk

INF 3430/4431. Simuleringsmetodikk INF 3430/4431 Simuleringsmetodikk Innhold Event driven simulation Simulering av VHDL-modeller Selvtestende testbenker Fil-operasjoner Eksempel på SRAM modell og simulering av lesing fra denne INF3430/4431

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 19.09.2006 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF1400 Digital teknologi Eksamensdag: 29. november 2011 Tid for eksamen: Vedlegg: Tillatte hjelpemidler: Oppgavesettet er på

Detaljer

INF 3430/4430. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk INF 3430/4430 Simuleringsmetodikk 02.11.2005 Agenda Event driven simulation Simulering av VHDL-modeller Selvtestende testbenker Verifikasjon av syntetisert/plassert design mot RTL-kode Fil-operasjoner

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

INF 3430/4430. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk INF 3430/4430 Simuleringsmetodikk Innhold Event driven simulation Simulering av VHDL-modeller Selvtestende testbenker Fil-operasjoner Eksempel på SRAM modell og simulering av lesing fra denne INF3430 Side

Detaljer

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

INF3430/4431 Høsten Laboppgave 2 VHDL-programmering Funksjoner og prosedyrer/bibliotek Styring av sjusegmenter INF343/443 Høsten 2 Laboppgave 2 VHDL-programmering Funksjoner og prosedyrer/bibliotek Styring av sjusegmenter Innledning. Målene med denne laboppgaven er å lære om subprogrammer og biblioteker i VHDL

Detaljer

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 Program for elektro- og datateknikk Kandidatnr: Eksamensdato: Lengd/eksamenstid: Emnekode: Emnenamn: Klasse: Studiepoeng: Faglerar: Forslag på svar for

Detaljer

INF3340/4431. Tilstandsmaskiner

INF3340/4431. Tilstandsmaskiner INF3340/4431 Tilstandsmaskiner Innhold Tilstandsmaskiner Mealy og Moore maskiner SM tilstandsdiagrammer Syntese av SM diagrammer Tilstandskoding Implementasjon ved bruk av VHDL Eksempler INF3430/4431 -

Detaljer

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

INF3430/4431. Introduksjon til VHDL Spartan starterkit Spartan-3 FPGA INF3430/4431 Introduksjon til VHDL Spartan starterkit Spartan-3 FPGA Agenda Hva skal vi gjøre i INF3430/4431? VDHL simulering/syntese Place & Route til FPGA Prøve ut design i ekte hardware Hvorfor VHDL

Detaljer

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

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter. Fys 3270/4270 høsten 2004 Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter. Innledning. Målet med denne laboppgaven er at dere skal lære å lage enkle hardware beskrivelser

Detaljer

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 Eksamensdato: 3. desember 2010 Program for elektro- og datateknikk Varighet: Emnekode: Emnenavn: 5 timer EDT304T Digital Systemkonstruksjon Studiepoeng:

Detaljer

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

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 Oppgave 1 En 4-input Xilinx LU med innhold 9009 (hex) realiserer en: Oppgave 2 PGA-teknologi A xor-xor-or B xor-xor-nand C xor-xor-nor D xor-xor-and E xor-xor-xor A orbindslinjer mellom LU er har vanligvis

Detaljer

INF3430/4431. Viktige momenter i syntese og for valg av teknologi Chipscope

INF3430/4431. Viktige momenter i syntese og for valg av teknologi Chipscope INF3430/4431 Viktige momenter i syntese og for valg av teknologi Chipscope Agenda RTL syntese Constraints Pipelining Syntese for FPGA Chipscope INF3430/4431 2 RTL/ Behavorial syntese RTL (Register Transfer

Detaljer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4431 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker

Detaljer

SIE 4005, 8/10 (3. Forelesn.)

SIE 4005, 8/10 (3. Forelesn.) SIE 4005, 8/10 (3. Forelesn.) Andre forelesning: litt repetisjon 7.7 Arithmetic / Logic unit 7.8 The Shifter 7.9 Datapath representation 7.10 The control word 7.11 Pipelined datapath Tredje forelesning:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1400 Digital teknologi Eksamensdag: 5. desember 2005 Tid for eksamen: 9-12 Vedlegg: Tillatte hjelpemidler: Oppgavesettet er

Detaljer

FYS 3270(4270) Data-assistert konstruksjon av kretselektronikk (tidligere Fys 329) Fys3270(4270)

FYS 3270(4270) Data-assistert konstruksjon av kretselektronikk (tidligere Fys 329) Fys3270(4270) FYS 3270(4270) Data-assistert konstruksjon av kretselektronikk (tidligere Fys 329) Forelesere Jørgen Norendal, Universitetslektor Fieldbus International AS Jan Kenneth Bekkeng, Stipendiat Kosmisk fysikk

Detaljer

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon Side 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF4431 Digital systemkonstruksjon Eksamensdag: 7. desember 2011 Tid for eksamen: 9-13 Oppgavesettet er på 11 sider Vedlegg:

Detaljer

Agenda Funksjoner og prosedyrer. Funksjoner

Agenda Funksjoner og prosedyrer. Funksjoner Aga Funksjoner og prosedyrer Funksjoner Operatorer Standard funksjoner/operatorer Overloading Package og Package body Operator inferencing Prosedyrer Side 1 Funksjoner(1) Benyttes mye i modeller for simulering

Detaljer

Repetisjon digital-teknikk. teknikk,, INF2270

Repetisjon digital-teknikk. teknikk,, INF2270 Repetisjon digital-teknikk teknikk,, INF227 Grovt sett kan digital-teknikk-delen fordeles i tre: Boolsk algebra og digitale kretser Arkitektur (Von Neuman, etc.) Ytelse (Pipelineling, cache, hukommelse,

Detaljer

Design med ASIC og FPGA (Max kap.7 og 18)

Design med ASIC og FPGA (Max kap.7 og 18) Design med ASIC og FPGA (Max kap.7 og 18) Innhold: Begrensninger/muligheter å ta hensyn til ved FPGA design som en normalt slipper å tenke på med ASIC design. Migrering mellom FPGA og ASIC INF3430 - H12

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre INF2270 1/19

Detaljer

SIE 4005, 9/10 (4. Forelesn.)

SIE 4005, 9/10 (4. Forelesn.) SIE 4005, 9/10 (4. Forelesn.) Tredje forelesning: 8.1 The control unit 8.2 Algorithmic state machines 8.3 Design example: Binary multiplier 8.4 Hardwired Control Fjerde forelesning: litt repetisjon 8.4

Detaljer

Løsningsforslag INF1400 H04

Løsningsforslag INF1400 H04 Løsningsforslag INF1400 H04 Oppgave 1 Sannhetstabell og forenkling av Boolske uttrykk (vekt 18%) I figuren til høyre er det vist en sannhetstabell med 4 variable A, B, C og D. Finn et forenklet Boolsk

Detaljer

Løsningsforslag til eksamen i INF2270

Løsningsforslag til eksamen i INF2270 Løsningsforslag til eksamen i INF227 Oppgave 9 Omid Mirmotahari Oppgave 6 Dag Langmyhr. juni 24 Eksamen INF227 Sensorveiledning Oppgave 2 Kretsforenkling Hva er funksjonsuttrykket for Output gitt av A

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Enkoder/demultiplekser (avslutte fra forrige gang)! Kort repetisjon 2-komplements form! Binær addisjon/subtraksjon!

Detaljer

Simulering, syntese og verifikasjon (Max kap. 19)

Simulering, syntese og verifikasjon (Max kap. 19) Simulering, syntese og verifikasjon (Max kap. 19) Innhold: Simuleringsmetoder Hendelsesbasert Cyclebasert Plassering av design i FPGA (syntese) Verifikasjon INF3430 - H11 1 Hendelsdrevet simulering 10ps

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

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

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler Dagens temaer Dagens temaer er hentet fra P&P kapittel 3 Motivet for å bruke binær representasjon Boolsk algebra: Definisjoner og regler Kombinatorisk logikk Eksempler på byggeblokker 05.09.2003 INF 103

Detaljer

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

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch Dagens temaer Sekvensiell logikk: Kretser med minne RS-latch: Enkleste minnekrets D-flipflop: Forbedring av RS-latch Presentasjon av obligatorisk oppgave (se også oppgaveteksten på hjemmesiden). 9.9.3

Detaljer

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram. Dagens temaer 1 Dagens Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre Sekvensiell

Detaljer

LØSNINGSFORSLAG 2006

LØSNINGSFORSLAG 2006 LØSNINGSFORSLAG 2006 Side 1 Oppgave 1), vekt 12.5% 1a) Bruk Karnaughdiagram for å forenkle følgende funksjon: Y = a b c d + a b c d + a b cd + a bc d + a bc d + ab c d + ab cd ab cd 00 01 11 10 00 1 1

Detaljer

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

INF3430 Høsten ChipScope PRO - En kort innføring INF3430 Høsten 2008 ChipScope PRO - En kort innføring Innhold Innledning... 3 Generering av Chipscope kjerner... 4 Generering av ICON (Integrated Controller) modul... 4 Generering av ILA (Integrated Logic

Detaljer

INF2270. Sekvensiell Logikk

INF2270. Sekvensiell Logikk INF227 Sekvensiell Logikk Hovedpunkter Definisjoner Portforsinkelse Shift register Praktiske Eksempler Latch SR D Flip-Flop D JK T Tilstandsmaskiner Tilstandsdiagrammer Reduksjon av tilstand Ubrukte tilstander

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

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

Gruppe(r): 2EY 30.05.02. Eksamenstid, fra-til: 09 00-14 00 Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne) HØGSKOLEN I OSLO Avdeling for ingeniørutdanning EKSAMENSOPPGAVE Fag: ELEKTRONIKK II Fagnr: SO313E Faglig veileder: K. H. Nygård, V. Tyssø Gruppe(r): 2EY Dato: 30.05.02 Eksamenstid, fra-til: 09 00-14 00

Detaljer

Forelesning 7. Tilstandsmaskin

Forelesning 7. Tilstandsmaskin Forelesning 7 Tilstandsmaskin Hovedpunkter Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D flip-flop basert tilstandsmaskin Reduksjon av antall tilstander Tilordning av tilstandskoder Designprosedyre

Detaljer

Oppsummering av digitalteknikkdelen

Oppsummering av digitalteknikkdelen Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk

Detaljer

INF1400 Kap4rest Kombinatorisk Logikk

INF1400 Kap4rest Kombinatorisk Logikk INF4 Kap4rest Kombinatorisk Logikk Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU FIFO Stack En minimal RISC - CPU Komparator Komparator sammenligner to tall A og B 3

Detaljer

MAX MIN RESET. 7 Data Inn Data Ut. Load

MAX MIN RESET. 7 Data Inn Data Ut. Load UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 240 çç Digital Systemkonstruksjon Eksamensdag: 6. desember 2000 Tid for eksamen: 9.00 ç 15.00 Oppgavesettet er p 5 sider. Vedlegg:

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

Avdeling for ingeniørutdanning Institutt for teknologi

Avdeling for ingeniørutdanning Institutt for teknologi Avdeling for ingeniørutdanning Institutt for teknologi Oppgavetittel: Obligatorisk prosjektoppgave 1 Fag(nr./navn): Maskinvareutvikling DMVA-2060 Gruppemedlemmer: T. Alexander Lystad Faglærer: Zoran Dokic

Detaljer

INF1400. Tilstandsmaskin

INF1400. Tilstandsmaskin INF4 Tilstandsmaskin Hovedpunkter Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D-flip-flop tilstandsmaskin Reduksjon av antall tilstander Tilordning av tilstandskoder Designprosedyre for

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Kort repetisjon fra forrige gang! Kombinatorisk logikk! Analyse av kretser! Eksempler på byggeblokker! Forenkling

Detaljer

INF1400. Karnaughdiagram

INF1400. Karnaughdiagram INF4 Karnaughdiagram Hvor er vi Vanskelighetsnivå Binær Porter Karnaugh Kretsdesign Latch og flipflopp Sekvensiell Tilstandsmaskiner Minne Eksamen Tid juleaften Omid Mirmotahari 2 Hva lærte vi forrige

Detaljer

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

Versjon2.0/ ChipScope PRO - En kort innføring Versjon2.0/29.09.2013 ChipScope PRO - En kort innføring Innhold Innledning...3 Generering av Chipscope kjerner...4 Generering av ICON (Integrated Controller) modul...6 Generering av ILA (Integrated Logic

Detaljer

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til: 2 Dagens temaer Dagens 4 Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture Design Flip-flop er av sekvensielle kretser Tellere Tilstandsdiagram og registre Sekvensiell Hvis

Detaljer

INF3430/4431. Kretsteknologier Max. kap. 3

INF3430/4431. Kretsteknologier Max. kap. 3 INF3430/4431 Kretsteknologier Max. kap. 3 Kretsteknologier (Max. kap. 3) Programmerbar logikk kretser (PLD): Simple Programmable Logic Device (SPLD) Complex Programmable Logic Devices (CPLD) Field Programmable

Detaljer

Hvordan en prosessor arbeider, del 1

Hvordan en prosessor arbeider, del 1 Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program

Detaljer

DM6814/DM5814 User s Manual

DM6814/DM5814 User s Manual (Real Time Devices) Table 1-1 Factory Settings Switch/ Jumper Function Controlled Factory Settings (Jumpers Installed) P4 Connects a P14 jumper selectable interrupt source to an interrupt

Detaljer

Generell informasjon

Generell informasjon Introduksjon Oppgave Tittel Oppgavetype Generell informasjon Dokument 1.1 Kompendiet Langsvar Arkitektur Oppgave Tittel Oppgavetype 2.1 Pipeline Flervalg (flere svar) 2.2 Boolsk Algebra Flervalg (flere

Detaljer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: Gruppe(r): 2E Eksamensoppgaven består av: ELEKTRONIKK II Antall sider (inkl. forsiden): 4 Emnekode: SO 313E Dato: 5. juni 2003 Antall oppgaver: 8 Faglig

Detaljer

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre Dagens tema Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Tellere og registre Design av sekvensielle kretser (Tilstandsdiagram) 1/19 Sekvensiell

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 I dag Kva er inni 8051, P4 og UltraSparc Digital logic level (start kapitel 3) VIKTIG MELDING Alle som har brukt NTNU-passord for AoC pålogging må skifte

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form Dagens temaer Dagens temaer hentes fra kapittel 3 i læreboken Oppbygging av flip-flop er og latcher Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

Design med ASIC og FPGA (Max kap.7 og 18)

Design med ASIC og FPGA (Max kap.7 og 18) Design med ASIC og FPGA (Max kap.7 og 18) Innhold: Begrensninger/muligheter å ta hensyn til ved FPGA design som en normalt slipper å tenke på med ASIC design. Migrering mellom FPGA og ASIC INF3430 - H10

Detaljer

INF1400. Tilstandsmaskin

INF1400. Tilstandsmaskin INF4 Tilstandsmaskin Hovedpunkter Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D-flip-flop tilstandsmaskin Reduksjon av antall tilstander Tilordning av tilstandskoder Designprosedyre for

Detaljer

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om

Detaljer

Digitalstyring sammendrag

Digitalstyring sammendrag Digitalstyring sammendrag Boolsk algebra A + A = 1 AA = 0 A + A = A AA = A A + 0 = A A 1 = A A + 1 = 1 A 0 = 0 (A ) = A A + B = B + A AB = BA A + (B + C) = (A + B) + C A(BC) = (AB)C A(B + C) = AB + AC

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO et matematisk-naturvitenskapelige fakultet Eksamen i: INF1400 igital teknologi Eksamensdag: 3. desember 2008 Tid for eksamen: 14:30 17:30 Oppgavesettet er på 5 sider Vedlegg: 1 Tillatte

Detaljer

Forelesning 5. Diverse komponenter/større system

Forelesning 5. Diverse komponenter/større system Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall

Detaljer

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur Lærebok: Computer organization and architecture/w. Stallings. Avsatt ca 24 timers tid til forelesning. Lærestoffet bygger på begrepsapparat

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

Oppgave 1 JK-flip-flop (Total vekt 20%)

Oppgave 1 JK-flip-flop (Total vekt 20%) UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 12. mai 1997 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte

Detaljer

Kapittel 5 Tilstandsmaskin

Kapittel 5 Tilstandsmaskin Hovedpunkter Kapittel 5 Tilstandsmaskin Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D flip-flop basert smaskin Reduksjon av antall er Tilordning av skoder Designprosedyre for smaskin basert

Detaljer

ITPE2400/DATS2400: Datamaskinarkitektur

ITPE2400/DATS2400: Datamaskinarkitektur ITPE2400/DATS2400: Datamaskinarkitektur Forelesning 6: Mer om kombinatoriske kretser Aritmetikk Sekvensiell logikk Desta H. Hagos / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1400 Eksamensdag: Fredag 3. desember Tid for eksamen: kl. 14:30-18:30 (4 timer). Oppgavesettet er på side(r) 7 sider

Detaljer

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form Dagens tema Dagens temaer hentes fra kapittel 3 i læreboken Repetisjon, design av digitale kretser Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

INF3430/4431 Høsten Laboppgave 4 System on Chip (SoC) konstruksjon

INF3430/4431 Høsten Laboppgave 4 System on Chip (SoC) konstruksjon INF3430/4431 Høsten 2011 Laboppgave 4 System on Chip (SoC) konstruksjon 1 Innledning. Hovedmålet med denne laboppgaven er at dere skal lære å lage et såkalt System on Chip (SoC) hvor det skal legges inn

Detaljer

Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006)

Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006) Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006) Oppgave 1) Bør kunne løses rett fram, likevel: a) E = abcd + a'bc + acd + bcd: cd 00 01 11 10 ab 00 01 1 1 11 1 10 1 De variablene

Detaljer

INF1400. Sekvensiell logikk del 1

INF1400. Sekvensiell logikk del 1 INF1400 Sekvensiell logikk del 1 Hovedpunkter Låsekretser (latch er) SR latch med NOR-porter S R latch med NAND-porter D-latch Flip-flop Master-slave D-flip-flop JK flip-flop T-flip-flop Omid Mirmotahari

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Kort repetisjon fra forrige gang Kombinatorisk logikk Analyse av kretser Eksempler på byggeblokker Forenkling

Detaljer

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 13. juni 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 9 sider. Vedlegg: Tillatte hjelpemidler: INF2270 Datamaskinarkitektur

Detaljer

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

Programmerbar logikk. CPLD og FPGA. Fys3270(4270) Programmerbar logikk CPLD og FPGA Agenda CPLD (Complex PLD) Arkitektur CPLD familier Timingmodeller Programmering FPGA (Field Programable Gate Array) Arkitekturer Eksempel på FPGA teknologier Antifuse

Detaljer

Kapittel 4: Microarchitecture level

Kapittel 4: Microarchitecture level 1 Kapittel 4: Microarchitecture level 2 Kapittel 4: Microarchitecture level 3 Kva er og Kva gjer Realisera Instruction Level Architecture (ISA) 4 Nivå 2: Instruksjonssetarkitektur (ISA) Instruksjonssettark.

Detaljer

Forelesning 9. Registre, tellere og minne

Forelesning 9. Registre, tellere og minne Forelesning 9 Registre, tellere og minne Registre Tri-state output Shift registre Tellere Binær rippelteller Synkronteller Hovedpunkter registre og tellere 2 Register N bits register - parallellkobling

Detaljer

SIE 4005, 2/10 (2. Forelesn.)

SIE 4005, 2/10 (2. Forelesn.) SIE 4005, 2/10 (2. Forelesn.) Første forelesning: 7.1 Datapaths and operations 7.2 Register Transfer operations 7.3 Microoperations (atitm., logic, shift) 7.4 MUX-based transfer 7.5 Bus-based transfer

Detaljer