Agenda Funksjoner og prosedyrer. Funksjoner

Størrelse: px
Begynne med side:

Download "Agenda Funksjoner og prosedyrer. Funksjoner"

Transkript

1 Aga Funksjoner og prosedyrer Funksjoner Operatorer Standard funksjoner/operatorer Overloading Package og Package body Operator inferencing Prosedyrer Side 1

2 Funksjoner(1) Benyttes mye i modeller for simulering Høynivå beskrivr for beregninger type konvertering Funksjoner som har anvr for syntese inkluderer Type konvertering Bruk av funksjoner som alternativ til komponent instansiering Overload operatorer og funksjoner Mange nyttige funksjoner definert i standard pakker (packages) IEEE 1076 IEEE 1164 (std_logic_1164) Synopsys biblioteker (støttet av de fleste synteseverktøy, ikke Warp2) IEEE (Syntese standard) Side 2

3 Funksjoner(2) Funksjons beskriv Kan bare ha input signaler som parametre Returner kun èn verdi (dette kan være et signal eller en vector) Sekvensiell beskriv Kan ikke ha wait statement Kan ikke definere signaler internt Funksjons deklarasjon en funksjon deklareres i den deklarative regionen av en arkitektur eller den deklarative regionen av en process Architecture func of functest Architecture func of functest -- Deklarasjoner -- Deklarasjoner bl2bit(a: BOOLEAN) bit bl2bit(a: BOOLEAN) bit bl2bit; bl2bit; -- Start of architecture -- Start of architecture func; func; Side 3

4 Funksjoner(3) Funksjons deklarasjoner Kan også deklareres i et package/package body par. package package my_func my_func bl2bit(a:boolean) bl2bit(a:boolean) bit; bit;.... Flere Flere funksjoner funksjoner my_func; my_func; Package Package body body package package body body my_func my_func bl2bit(a:boolean) bl2bit(a:boolean) bit bit a a 1 ; 1 ; 0 ; 0 ; bl2bit; bl2bit; Flere Flere funksjoner funksjoner.. my_func; my_func; Side 4

5 Funksjoner(4) Problematke beskrivr Bruk av variabler er ikke veldefinert i syntese og anbefales derfor ikke. Ikke garantert at alle synteseverktøy klarer den type beskriv maj(vec:bit_vector) maj(vec:bit_vector) bit bit variable variable tmp; tmp; tmp:0; tmp:0; for for i i in in vec range vec range loop loop vec(i) vec(i) 1 1 tmp:tmp+1; tmp:tmp+1; loop; loop; tmp > (vec high)/2 tmp > (vec high)/2 ( 1 ) ( 1 ) ( 0 ); ( 0 ); maj; maj; Side 5

6 Operatorer Operatorer defineres på samme måte som funksjoner, men ved: <operatornavn> Operatorer benyttes forskjellig fra funksjoner: Function Function + + (a,b (a,b :std_logic_vector) :std_logic_vector) std_logic_vector; std_logic_vector;.... sum sum a a + + b; b; add add (a,b):std_logic_vector) (a,b):std_logic_vector) std_logic_vector; std_logic_vector;.... sum sum add(a,b); add(a,b); Side 6

7 Bruk av funksjonsbibliotek Et package/package body par kan være kompilert til work use work.my_func.all; use work.my_func.all; -- eller -- eller -- use.work.my_func.bl2bit; -- dersom bare bl2bit skal gjøres synlig -- use.work.my_func.bl2bit; -- dersom bare bl2bit skal gjøres synlig entity... entity... architecture... architecture... signal a: BOOLEAN; signal a: BOOLEAN; signal b: bit; signal b: bit; b bl2bit(a); b bl2bit(a); architecture..; architecture..; eller til et annet bibliotek. Dette må ha et logk navn. Vi antar my_lib. library mylib; library mylib; use my_lib.my_func.all; use my_lib.my_func.all; -- eller -- eller -- use.my_lib.my_func.bl2bit; -- dersom bare bl2bit skal gjøres synlig -- use.my_lib.my_func.bl2bit; -- dersom bare bl2bit skal gjøres synlig Det logke navnet g i det aktuelle verktøyet og gjenspeiles gjerne i lagerstrukturen til verktøyet Side 7

8 Overloading(1) Overloading betyr å definere samme operator, funksjon eller prosedyre for forskjellige datatyper eller blanding av datatyper. VHDL-analyse/syntese programmet skiller de forskjellige overload operatorene, funksjonene eller prosedyrene fra hverandre ved å se på datatypen til de aktuelle parametre og sammenligner dem med de formelle parametrene. Side 8

9 Overloading(2) De kan være forskjellig antall parametre i de forskjellige overload operatorene, funksjonene eller prosedyrene. Pakken std_arith i Cypress biblioteket inneholder for oss de viktigste overload operatorene mellom std_logic og integer. ( +, -, >, <, - operatorene) Side 9

10 Overloading(3) Det finnes en rekke standard biblioteker med overload operatorer, funksjoner og prosedyrer i IEEE 1164 og IEEE 1164 Package std_logic_1164 Synopsys biblioteker (kompilert til IEEE) IEEE Package std_logic_unsigned Package std_logic_signed Package std_logic_arith Package numeric_std NB! Det er viktig å sjekke ut hva det aktuelle synteseverktøyet støtter. De forskjellige synteseverktøyene kan ha organert dse bibliotekene forskjellig. Det betyr at man må re library use clause i VHDL-filen som skal synteteres. Side 10

11 Operator inferencing(1) Istedenfor å generere likninger kan synteseverktøyet identere operatorer eller funksjoner og generere en optimalert og teknologi-spesikk modul Denne prosessen kalles operator inferencing eller module generation. Use Use Cypress.std_arith.all; Cypress.std_arith.all;.... If If ab ab ; ; x x + + y; y; x+y x+y ab Side 11

12 Operator inferencing(2) loadable: loadable: process process (clk,ld) (clk,ld) ring_edge(clk) ring_edge(clk) (ld (ld 1 ) 1 ) c c d; d; c c c c + + 1; 1; process; process; c+1 d counter regter c ld Side 12

13 Prosedyrer Kan ere flere enn èn verdi Retur skjer via prosedyreparametre Parametre som skal eres må være deklarert som mode out eller inout. Kun sekvensiel konstruksjon Kan ha wait statement Størrr på vektorer defineres av aktuelle parametre Deklareres på samme steder som funksjoner og operatorer procedure procedure dff dff ( ( signal signal d: d: std_logic_vector; std_logic_vector; signal clk, rst: std_logic; signal clk, rst: std_logic; signal signal : : out out std_logic_vector) std_logic_vector) rst rst '1' '1' (others (others > > 0 ) 0 ) ikke ikke lov lov ; ; for for i i in in d range d range loop loop (i) (i) '0'; '0'; loop; loop; els els clk'event clk'event and and clk clk '1' '1' d; d; procedure; procedure; Side 13

14 Nyttige prosedyrer i testbench er Pakkenen std_textio fra IEEE og std_logic_textio fra Synopsys inneholder en rekke nyttige prosedyrer for å lese fra fil og skrive til fil: Bits og vectorer (som enkeltbit) read write octalt format oread owrite hexadesimalt format hread hwrite Dse finnes i en rekke overloadede utgaver Side 14

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

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

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

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

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

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

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. 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/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/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

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

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

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

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

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

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

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 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

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/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. 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

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

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

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

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

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

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

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

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Eivind Gard Lund 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Informasjon Semantikksjekk Kodegenerering Oblig 2 tilgjengelig på kurssiden Bygger på deres oblig 1 kode. Det er lagt ut

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

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

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

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

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden

Detaljer

Hjemmeeksamen 2 i INF3110/4110

Hjemmeeksamen 2 i INF3110/4110 Hjemmeeksamen 2 i INF3110/4110 Innleveringsfrist: onsdag 19. november kl. 1400 Innlevering Besvarelsen av oppgave 2,3,4 og 5 skal leveres skriftlig på papir i IFI-ekspedisjonen. Merk denne med navn, kurskode,

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: Sjekking

Dagens tema: Sjekking Dagens tema Dagens tema: Sjekking Navnebinding (obligatorisk oppgave 3) Biblioteket Logging Riktig bruk av navn (frivillig) Typesjekking (frivillig) Hele prosjektet Strukturen til kompilatoren vår f.pas

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

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) Funksjonelle språk (Ghezzi&Jazayeri kap.7 frem til 7.4) Neste uke: ML Ark 1 av 16 Forelesning 16.10.2000 Parameteroverføring

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon INF2810: Funksjonell Programmering Dataabstraksjon og Trerekursjon Stephan Oepen & Erik Velldal Universitetet i Oslo 15. februar, 2013 Tema 2 Forrige uke Høyere-ordens prosedyrer: Prosedyrer som argumenter

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

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

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2015 TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst

Detaljer

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk IT1101 Informatikk basisfag I dag Programmeringsspråk Problemer med maskinspråk I dag: 5.1-5.3 Fra lavnivå til høynivå programmeringsspråk - utvikling Kompilator / tolker Programmeringsparadigmer Tradisjonelle

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens

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

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

Detaljer

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

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

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 5. juni 2007 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 6 sider (pluss vedlegg) Vedlegg

Detaljer

Semantisk Analyse del I

Semantisk Analyse del I Semantisk Analyse del I Attributtgrammatikker Kapittel 6.1-6.2 26.02.2013 1 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel 6.1-6.2)

Detaljer

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

Detaljer

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

Vi skal se på lambda-uttrykk. Følgende er definerte og vil bli brukt gjennom oppgaven SLI 230 - side 2 av 8 EKSAMENSOPPGAVE - SLI 230 - VÅR 2000 Nedenfor følger eksamensoppgaver i SLI 230. Først om oppgavene Bakerst følger to sider med hjelp slik det er avtalt - liste over primitiver fra

Detaljer

Semantisk Analyse del III

Semantisk Analyse del III Semantisk Analyse del III Typesjekking Kapittel 6.4 08.03.2013 1 Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk

Detaljer

Appendiks 7 Konstanter og variabler til kap. 6

Appendiks 7 Konstanter og variabler til kap. 6 APPENDIKS APPENDIKS 1 Appendiks 1.1 Appendiks 1.1.1 Appendiks 1.1.2 Appendiks 1.1.3 Appendiks 1.1.4 Appendiks 1.2 Appendiks 1.2.1 Appendiks 1.2.2 Appendiks 1.2.3 Appendiks 1.2.4 Appendiks 2 Appendiks 2.1

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

Obligatorisk Innlevering 2

Obligatorisk Innlevering 2 Obligatorisk Innlevering 2 INF5110 - Kompilatorteknikk Våren 2017 Frist 07.05.2017 23:59 Dette er den andre av to oppgaver våren 2017. Den bygger videre på det som er gjort i den første innleveringen.

Detaljer

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer

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

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 12. desember 2002 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

INF2810: Funksjonell Programmering. Lokale variabler. Og trær.

INF2810: Funksjonell Programmering. Lokale variabler. Og trær. INF2810: Funksjonell Programmering Lokale variabler. Og trær. Erik Velldal Universitetet i Oslo 11. september 2019 Tema forrige uke 2 Lister som datastruktur quote Rekursjon på lister Høyereordens prosedyrer

Detaljer

INF2810: Funksjonell Programmering. Lokale variabler. Og trær.

INF2810: Funksjonell Programmering. Lokale variabler. Og trær. INF2810: Funksjonell Programmering Lokale variabler. Og trær. Erik Velldal Universitetet i Oslo 11. september 2019 Tema forrige uke 2 Lister som datastruktur quote Rekursjon på lister Høyereordens prosedyrer

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler. - 3rd edition: Kapittel Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler. - 3rd edition: Kapittel Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler - 3rd edition: Kapittel 5.7-5.10 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Beherske returverdier og returverdifunksjoner

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

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive

Detaljer

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,

Detaljer

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:

Detaljer

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet

Detaljer

INF Oblig 2 semantikksjekk og kodegenerering

INF Oblig 2 semantikksjekk og kodegenerering INF5110 - Oblig 2 semantikksjekk og kodegenerering Magnus Haugom Christensen Instituttet for Informatikk Universitetet i Oslo 27. Mars - 2012 Oversikt Informasjon Oppgaven Semantikksjekk Kodegenerering

Detaljer

Løsningsforslag til eksamen i IN147(A)

Løsningsforslag til eksamen i IN147(A) Løsningsforslag til eksamen i IN147(A) Dag Langmyhr Øystein Gran Larsen 12 mai 1997 Oppgave 1: JK-flip-flop Boolsk ligning D-signalet bestemmer neste utgang, dvs Q(t + 1), og D-signalet tar derfor de samme

Detaljer

Statisk semantisk analyse - Kap. 6

Statisk semantisk analyse - Kap. 6 Statisk semantisk analyse - Kap. 6 Generelt om statisk semantisk analyse Attributt-grammatikker Symboltabell Datatyper og typesjekking 3/15/11 1 Generelt om semantisk analyse Oppgave: Sjekke alle krav

Detaljer

Viktig. Rettet i koden. Oppgaven. Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon. Fredrik Sørensen OMS-gruppen, IfI

Viktig. Rettet i koden. Oppgaven. Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon. Fredrik Sørensen OMS-gruppen, IfI Viktig Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon Fredrik Sørensen OMS-gruppen, IfI Ny patch (patch_oblig2.zip) legges ut på kurssiden i dag. Oblig 1 vil bli rettet denne uken Sjekk

Detaljer

Nytt prosjekt og programlogikk

Nytt prosjekt og programlogikk Hima myexample steg for steg 1 Generelt Denne steg for steg oppskriften for myexample prosjektet er et supplement til Create Projekt.pdf filen. I Create Project.pdf står det ytterligere informasjon av

Detaljer

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon Oversikt INF1000 Uke 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning Uttrykk

Detaljer

Statisk semantisk analyse - Kap. 6

Statisk semantisk analyse - Kap. 6 Statisk semantisk analyse - Kap. 6 Generelt om statisk semantisk analyse Attributt-grammatikker Symboltabell Datatyper og typesjekking 3110/4110-2004 5110-2009 3/3/2009 1 Generelt om semantisk analyse

Detaljer

File: C:\My Documents\fagprove\tp\klokke.txt , 08:42:20

File: C:\My Documents\fagprove\tp\klokke.txt , 08:42:20 1 {************************************************************** 2 3 F A G P R Ø V E 4 5 F O R 6 7 H A L V A R D S K U R V E 8 9 10 11 12 Versjon: Dato: Beskrivelse: 13 ----------------------------------------------------------------

Detaljer

Kap.4 Funksjoner. Tre viktig ting ifm. funksjoner: parameter (input) oppskrift (body) for å beregne resultat (output)

Kap.4 Funksjoner. Tre viktig ting ifm. funksjoner: parameter (input) oppskrift (body) for å beregne resultat (output) 1 Kap.4 Funksjoner Tre viktig ting ifm. funksjoner: navn parameter (input) oppskrift (body) for å beregne resultat (output) Syntaks: = Deklarerte funksjoner kan brukes i uttrykk

Detaljer

Dagens tema: Sjekking (obligatorisk oppgave 3)

Dagens tema: Sjekking (obligatorisk oppgave 3) Dagens tema Dagens tema: Sjekking (obligatorisk oppgave 3) Navnebinding Biblioteket Logging Riktig bruk av navn Typesjekking Utregning av konstanter Hele prosjektet Strukturen til kompilatoren vår f.pas

Detaljer

F4 IN HDL. Yngve Hafting,

F4 IN HDL. Yngve Hafting, F4 IN2060 2018 HDL Yngve Hafting, yngveha@ifi.uio.no Formål Kort om emnet Emnet tar for seg prinsipper i digital design, som kombinatorisk og sekvensiell logikk, tilstandsmaskiner og digitale byggeblokker,

Detaljer

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Av Jo Skjermo (basert på Alf Inge Wang sin versjon om JSP). 1. Utførelse av kode i kommando/kalkulatormodus Et dataprogram består oftest

Detaljer

INF5110. Oblig 2 presentasjon

INF5110. Oblig 2 presentasjon INF5110 Oblig 2 presentasjon Informasjon Oppgaven Semantikksjekk Kodegenerering Bytecode-biblioteket Ant-targets Oppsummering Oversikt Informasjon Oblig 2 tilgjengelig på kurssiden Patch med testfiler

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

TDT4110 IT Grunnkurs Høst 2012

TDT4110 IT Grunnkurs Høst 2012 TDT4110 IT Grunnkurs Høst 2012 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 2 Navn: Linje: Brukernavn: Oppgavesettet inneholder 5 oppgaver.

Detaljer

Læringsmål og pensum. Intro til returverdifunksjoner: Generering av tilfeldige tall 27/09/16

Læringsmål og pensum. Intro til returverdifunksjoner: Generering av tilfeldige tall 27/09/16 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler - 3rd edition: Kapittel 5.7-5.10 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Beherske returverdier og returverdifunksjoner

Detaljer

Del 3. Pekere RR 2016

Del 3. Pekere RR 2016 Del 3 Pekere 1 RR 2016 Peker/pointer En peker er en variabel som kan holde adressen (peke til) til en annen variabel. Pekere vil gi oss muligheten for å gå direkte til en adresse i minne, og lese/skrive

Detaljer

Velkommen til INF2100. Bakgrunnen for INF2100. Hva gjør en kompilator? Prosjektet. Jeg er Dag Langmyhr

Velkommen til INF2100. Bakgrunnen for INF2100. Hva gjør en kompilator? Prosjektet. Jeg er Dag Langmyhr Kursopplegg Velkommen til INF2100 en en for INF2100 Jeg er (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering

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

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene Dagens tema: INF 2100 8. september 2004 Mer om strukturen i treet og hvordan bygge det Testing av at navn er deklarert og brukt riktig Arbeid i gruppene neste uke: Oppgaver relevant for dette stadiet i

Detaljer

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060

Detaljer

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Et eksempel Programmeringsspråket C Del 2 Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no inf1060 1 inf1060 2 Forklaring:

Detaljer

INF3430/4430 Høsten Designflyt Utviklingsverktøyene Modelsim og Xilinx ISE

INF3430/4430 Høsten Designflyt Utviklingsverktøyene Modelsim og Xilinx ISE INF3430/4430 Høsten 2005 Designflyt Utviklingsverktøyene Modelsim og Xilinx ISE 1 Designflyt og verktøy...3 1.1 Designflyt for programmerbar logikk... 4 1.2 Verktøy benyttet i kurset... 6 2 Hvordan komme

Detaljer