Agenda Funksjoner og prosedyrer. Funksjoner
|
|
- Edmund Markussen
- 8 år siden
- Visninger:
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 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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,
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
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
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
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
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
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
Ø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
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
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
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
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
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å
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
Ø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
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
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
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:
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
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
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)
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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:
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
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,
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:
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
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
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
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
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
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
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
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
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 ----------------------------------------------------------------
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
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
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,
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
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
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
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.
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.
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
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
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
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
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
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
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:
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