PROJEKTOVANJE LOGIČKIH SISTEMA

Size: px
Start display at page:

Download "PROJEKTOVANJE LOGIČKIH SISTEMA"

Transcription

1 PROJEKTOVANJE LOGIČKIH SISTEMA Uvod u Verilog HDL Vanr. prof. dr. Lejla Banjanović-Mehmedović

2 Sadržaj izlaganja Uvod u hardverske programske jezike (HDL) Uvod u Verilog Tipovi Verilog kodiranja Osnovni elementi Operatori Ključne riječi Moduli Kontinualna i procesna pridruživanja Vremenska kašnjenja Kontrolne konstrukcije Forme funkcije i taska

3 HDL Opis ponašanja i strukture sistema elektroničkih digitalnih kola - uz pomoć HDL opisnog jezika (Hardware Description Language) Virtualno svaki čip (FPGA, ASIC,...) je dizajniran korištenjem jednog od aktuelnih hardverskih jezika: VHDL Verilog SystemVerilog Razlikuju se od jezika za programiranje softwara, jer uključuju vrijeme propagacije i snagu signala.

4 VHDL VHSIC Hardware Description Language. VHSIC (Very High Speed Integrated Circuit) 1981 Razvijen u U.S. Department of Defense 1986 prava data IEEE 1987 Postao standard 1993 Revidiran standard kakvog poznajemo (VHDL ) IEEE VHDL poput ADA jezika, u konceptu i sintaksi, nije kao C, neophodno dodatno konvertovanje tipova podatka. Koristi top-down pristup za particioni dizajn u male blokove ( components )

5 Jednostavan VHDL kod reg1: process (rst, clk) begin if rst = '1' then q_reg <= (others => '0'); q_i <= (others => '0'); elsif rising_edge(clk) then if s_l = '1' then q_i(0) <= q_i(7); loop1: for i in 6 downto 0 loop q_i(i + 1) <= q_i(i); end loop loop1; q_reg <= y; else q_i <= q_reg; q_reg <= y; end if; end if; end process reg1;

6 Verilog Razvijen od strane Gateway Design Automation (1980) 1989, usvojen od strane Cadence Design, koji ga je učinio javnim 1990 Postao standard 1995 u okviru IEEE (Std 1364) IEEE

7 Verilog Verilog poput C programskog jezika. Verilog ima samo jedan gradivi blok Modul: moduli su povezani kroz portove slično kao kod VHDL Obično je samo jedan modul po fajlu. Moduli mogu biti specificirani strukturalno ili ponašajno: Strukturalna specifikacija definiše hijerarhijsku interkonekciju submodula Ponašajna specifikacija definiše ponašanje digitalnog sistema.

8 Jednostavan Verilog kod CLK or posedge RST) begin if (RST) begin q_reg = 0; Q = 0; end else if (S_L) begin Q[7:0] = {Q[6:0],Q[7]}; q_reg = Y; end else begin Q = q_reg; q_reg = Y; end end

9 SystemVerilog Hibridni jezik - kombinuje HDLs i Verilog i objektnoorjentisani programski pristup. SystemVerilog razvijen da obezbjedi evolucionu putanju od VHDL i Verilog da bi podržao složeno projektovanje vrlo kompleksnih sistema Standard: IEEE

10 Jednostavan SystemVerilog kod property (posedge clk) not (b_if.push && b_if.full &&!b_if.pop); endproperty : p_push_error ap_push_error_1 : assert property (p_push_error); property (posedge clk) not (b_if.pop && b_if.empty); endproperty : p_pop_error ap_pop_error_1 : assert property (p_pop_error); (posedge clk) begin b_if.error <= (b_if.pop && b_if.empty) (b_if.push && b_if.full &&!b_if.pop);

11 Sličnosti Ovi jezici usmjeravaju dizajnere od detalja na niskom nivou do mnogo viših nivoa abstrakcije. Simulacija i sinteza - glavni alati za operiranje VHDL i Verilog.

12 Razlike Nema mnogo razlika shodno mogućnostima svakog ponaosob. VDHL zbog strukture otkriva greške rano još u procesu dizajna; determinističan Verilog omogućava inžinjerima brzo pisanje modela. SystemVerilog pokušava ujediniti najbolje karakteristike oba, uključujući testove i verifikacijske tehnike. Izbor baziran na: personalnim preferencama, raspoloživosti alata i komercijalnim efektima.

13 Primjer usporedbe VHDL i Verilog

14 Primjer usporedbe VHDL i Verilog

15 Primjer usporedbe VHDL i Verilog

16 Primjer usporedbe VHDL i Verilog

17 Uvod u Verilog

18 Verilog Verilog - HDL- hardverski programski jezik za projektovanje digitalnih sistema na različitim nivoima apstrakcije: Behavioral Level Register-Transfer Level Gate Level

19 Ponašajna apstrakcija Kod sličan C programskom jeziku; svaki algoritam je sekvencijalan, tj. sastoji se od niza instrukcija koje se izvršavaju jedna za drugom. Verilog opisuje sistem konkurentnim algoritmima (Behavioral), primjer skevencijalnih kola - u registru se dešava tranzicija pri rastućoj ili opadajućoj oj vrijednosti klok signala. Osnovni elementi: Functions (funkcije) Tasks (zadaci) Always blokovi. Malo strukturnih detalja (izuzev interkonekcija modula)

20 Register-Transfer Level (RTL) Specificira karakteristike kola pomoću niza operacija i transfera podataka između registara. Koristi se tačno definisan sat (RTL projektovanje sadrži tačno definisano izvršavanje operacija u određenom trenutku).

21 Gate Level U sklopu logičkog dizajna, karakteristike sistema su opisane logičkim linkovima i vremenskim odredbama. Interkonekcija jednostavnih komponenti Potpuno struktuiran Svi signali su diskretni (uzimaju vrijednosti iz diskretnog skupa logičkih vrijednosti: '0': zero (logička nula) ili false (ground), '1': one (logička jedinica) ili true 'X': nepoznata logička vrijednost, 'Z' : vrijednost visoke impedance (unconnected, tri-state) Operacije koje se mogu koristiti su: AND, OR, NOT.

22 Leksička pravila Leksička pravila Verilog-a su slična pravilima C++ programskog jezika: Ključne riječi se pišu malim slovima. Verilog razlikuje mala i velika slova. Imena varijabli mogu sadržavati bilo koju sekvencu slova, cifara, znakove $ i _. Ista pravila vrijede i za identifikatore (imenuju objekte poput modula ili registara). Imena varijabli i identifikatori ne mogu početi sa $, ne mogu u sebi imati -, zagrade ili # ; mogu početi sa slovom ili _ ; maksimalna dužina 1024 karaktera.

23 Brojevi u Verilogu <veličina> <brojni sistem> <vrijednost> Broj bita Binary b ili B Octal o ili O Decimal d ili D Hexadecimal h ili H uzastopni chars 0-f, x, z 8 h ax = 1010xxxx 12 o 3zx7 = 011zzzxxx111

24 Elementi Veriloga tipovi podataka Dva osnovna tipa podataka: net (wire žice) i registri (reg). Nets Nets fizičke konekcije između uređaja, ne čuva nikakvu vrijednost Mnogi tipovi nets, fokus na wire. Deklaracija net wire [<range>] <net_name>; Opseg specificiran kao [MSb:LSb]. Default: širina 1 bit Registri Predstavlja varijablu, implicitno storiranje drže vrijednost dok se nova vrijednost ne pridruži. Tip registra je određen sa reg. Deklaracija register reg [<range>] <reg_name>; Reg i Wire mogu imati sljedeće vrijednosti: '0, '1, 'X' i 'Z Na početku simulacije reg varijabla je inicijalizirana na x, a varijabla wire na z.

25 Elementi Veriloga tipovi podataka Reg i wire varijable su po default-u skalarne (npr. jedan bit), ali ih možemo definisati i kao niz bita: Deklaracija 4 bit wire, indeks starta od 0: wire [3:0] w; Deklaracija 8 bit registra: reg [7:0] r; Deklaracija 32 elementa memorije 8 bita širine: reg [7:0] mem [0:31] Ekstrakcija određenih bita: r[5:2] logic se može koristiti umjesto reg ili wire Postoje i neke druge varijable: integer, real i time. Parameters nisu varijable, već su constante: parameter foo = 42

26 Operatori Aritmetički operatori: +, -, *, /, %(moduo) Relacioni operatori: ==,!=, <, <=, >, >= Ulančavanje { } zagrade se koriste za promjenu prioriteta.

27 Logički operatori && logički AND logički OR! logički NOT Operandi evaluirani na bit vrijednost: 0, 1 ili x Rezultat je bit vrijednost: 0, 1 ili x A = 1; A && B 1 && 0 0 B = 0; A!B C = x; C B x 0 x ali C&&B=0

28 Binarni operatori & ~ binarni AND binarni OR binarni NOT ^ binarni XOR ~& ~ ~^ ili ^~ binarni NAND binarni NOR binarni NOT XOR

29 Binarni operatori Unarni aritmetički operator; mjenja znak operanda c = ~a; c = a & b; a = 4 b1010; b = 4 b1100; c = a ^ b; a = 4 b1010; b = 2 b11;

30 Operatori pomjeranja i uslovni operator >> šift u desno (lijeve bite popunjava nulama) << šift u lijevo (desni biti se popunjavaju nulama) a = 4 b1010; d = a >> 2;// d = 0010,c = a << 1;// c = 0100 uslovni_izraz? tačno : pogrešno A B 1 0 Y Y = (sel)? A : B; sel

31 Ostali operatori === jednakost; binarno se porede vrijednosti x i z. Svi biti moraju biti isti da bi bila zadovoljena jednakost. Vraća TRUE ili FALSE.!== nejednakost vraća TRUE ili FALSE. {, } spajanje; spaja bite koji su navedeni između zareza. {A[0], B[1:7]} spaja nulti bit od A sa bitima od 1 do 7 od B.

32 Bazni logički gejtovi and or not buf xor nand nor xnor Primitive Veriloga

33 Verilog ključne riječi Sve su definisane malim slovima Primjeri: module, endmodule input, output, inout reg, integer, real, time not, and, nand, or, nor, xor parameter begin, end fork, join specify, endspecify

34 Moduli Logički krugovi su specificirani u formi modula, koji sadrži iskaze koji definišu krugove. Modul može imati inputs i outputs, koji se odnose na portove. Port uobičajeni termin koji se odnosi na ulazne i izlazne konekcije elektronskih krugova.

35 Moduli module fundamentalni blok za Verilog dizajn; slični procedurama ili funkcijama u drugim programskim jezicima. Ne može se pozvati, već se s njim pokreće izvršenje. Unutar jednog modula možemo postaviti druge module, ali ne i deklarisati druge module (ne vrijedi princip ugnježdenja) endmodule kraj modula Deklaracija modula module module_name (module_port, module_port, ); <deklaracije> <module items> endmodule Primjer: module full_adder (A, B, c_in, c_out, S);

36 Moduli <module_port> - lista portova koji omogućavaju vezu sa drugim modulima. Svaki port mora biti ekspicitno deklarisan kao input (tipa wire), output (tipa reg ili wire)ili inout (tipa wire). reg ne može biti input ili inout port, ne možemo povezati dva registra jer oni mogu sadržavati različite vrijednosti. Module items: mogu biti initial i always konstrukcije: initial određuje događaje koji se dese samo na početku (samo jednom); always aktivnosti se dešavaju sve dok je uslov, ako je zadan, ispunjen. initial begin end clk = 0; reset = 0; req_0 = 0; req_1 = 0; Svaki modul se mora završiti ključnom riječi endmodule

37 Moduli Ulazna deklaracija Skalar input lista ulaznih identifikatora; Primjer: input A, B, c_in; Vektor input[range] lista ulaznih identifikatora; Primjer: input[15:0] A, B, data; Izlazna deklaracija Skalar primjer : output c_out, OV, MINUS; Vektor primjer : output[7:0] ACC, REG_IN, data_out;

38 Moduli module my_module(out1,.., inn); in1 in2 my_module out1 out2 output out1,.., outm; input in1,.., inn; f.. // deklaracije inn outm.. // opis f (možda.. // sekvencijalan) endmodule Sve što je napisano u Verilogu mora biti unutar modula izuzev: kompajlerskih direktiva

39 Hijerarhijski dizajn Gornji modul Podmodul 1 Podmodul 2 Primjer Potpuni sabirač Polu-sabirač Polu-sabirač Bazni modul 1 Bazni modul 2 Bazni modul 3

40 Strukturna specifikacija logičkih Na nivou gejtova: krugova (Gate level) nand, nor,...

41 Strukturna specifikacija logičkih krugova (Gate level)

42 Strukturna specifikacija logičkih krugova (Gate level)

43 Strukturna specifikacija logičkih krugova (Gate level)

44 Pridruživanja Kontinualna pridruživanja pridružuju vrijednosti (vektor i scalar) kad god ulazni operator promijeni vrijednost (prati wire varijabe) Ključna riječ assign se koristi za razlikovanje proceduralnog od kontinualnog pridruživanja. Računanje se vrši samo kad se pozove iskaz pridruživanja. Primjer: assign out = in1 & in2; // izlaz mora biti tipa wire Proceduralno pridruživanje pobuđenih vrijednosti u registre (vektor i scalar) Dešava se unutar procedura kao always i initial Dešava se kada se trigerovanjem dosegne tok izvršenja (poput C programskog jezika) Blok i Ne-Blok pridruživanja unutar procedura

45 Kontinualno pridruživanje Primjer 1: Primjer 2:

46 Kontinualno pridruživanje Verilog programiranje svih gate-ova: module gates(a, b, y1, y2, y3, y4, y5, y6, y7); input [3:0] a, b; output [3:0] y1, y2, y3, y4, y5, y6, y7; /* Sedam različitih logičkih gejtova djelujući na 4-bitnim podacima */ assign y1= ~a; // NOT gate assign y2= a & b; // AND gate assign y3= a b; // OR gate assign y4= ~(a & b); // NAND gate assign y5= ~(a b); // NOR gate assign y6= a ^ b; // XOR gate assign y7= ~(a ^ b); // XNOR gate endmodule

47 Proceduralna pridruživanja Iskaz blok pridruživanja (= operator) djeluje kao u tradicionalnim programskim jezicima. Cjeli iskaz je urađen prije nego što kontrola pređe na sljedeći iskaz. Izvršava se u redoslijedu koji je specificiran u sekvencijalnom iskazu (između begin i end). Korištenje blocking pridruživanja u always blokovima koja su isključivo kombinaciona Iskaz ne-blok pridruživanja(<= operator) evaluira desnu stranu tekuće vremenske jedinice i pridružuje lijevoj strani na kraju vremenske jedinice. Dozvoljava izvršenje svakog iskaza bez obzira na rezultate iz predhodnih sekvencijlanih iskaza. Nonblocking pridruživanje u always blokovima za sintezu/simulaciju sekvencijalne logike ili miksa kombinacionih i sekvencijalnih kola.

48 Ponašajna specifikacija logičkih krugova Always aktivnosti - dešavaju se sve dok je uslov, ako je zadan, ispunjen. Ako uslov nije zadan, tada se always aktivnost dešava stalno, u petlji. Proceduralni iskazi u okviru always Ako je signalu pridružena vrijednost korištenjem proceduralnog iskaza, Verilog syntaksa zahtjeva deklaraciju kao variable, korištenjem ključne riječi reg

49 Ponašajna logika Opis sekvencijalnih kola koristi model ciklusa ( eng. behavioural model) jer model se ponaša na određeni način kada se desi događaj. Kod sekvencijalnih kola - u registru se dešava tranzicija pri rastućoj ili opadajućoj vrijednosti klok signala. ( posedge clk) // activates on the positive edge of clock begin.. end ( negedge clk) // activates on the negative edge of clock. begin.. end Projektovanje sistema na čipu 8

50 Iskaz blok pridruživanja Za kombinaciona kola: reg y, t1, t2; or b or c or d) begin end t1 = a & b; t2 = c & d; y = t1 t2;

51 Iskaz ne-blok pridruživanja Registrima se pridružuje u okviru always_ff block a koji specificira odakle klok dolazi: clock) r<=r+1; Trigerovanje na svakoj pozitivnoj ivici kloka

52 Iskaz ne-blok pridruživanja Za sekvencijalna kola: module timetest (y1,y2,a,clk); output y1,y2; input a,clk; reg y1,y2; clk) begin y1 <= a; y2 <= y1; end endmodule Rezultat sinteze:

53 Vremenska kontrola bazirana na kašnjenju (Delay) Delay kontrola (#) Izraz specificira vremensko trajanje između incijalnih iskaza brojanja i kada se iskaz stvarno izvršava. Delay u proceduralnom pridruživanju Inter-Statement Delay Intra-Statement Delay Na primjer: Inter-Statement Delay #10 A = A + 1; Intra-Statement Delay A = #10 A + 1;

54 Kontrolne konstrukcije u Verilogu Prilagođene izvršavanju na hardveru: If-else iskaz se koristi kada se na osnovu kriterija vrši izbor dijela koda koji će se izvršavati. Case iskaz se koristi kada treba provjeriti vrijednost jedne varijable. For loop iskaz - izvršava dio koda tačno određen broj puta. While iskaz - izvršava određeni dio koda sve dok je zadani uslov tačan. Repeat iskaz ponavlja neke izraze određeni broj puta.

55 If-else iskaz if (expr1) true_stmt1; else if (expr2) true_stmt2;.. else def_stmt; Mora se koristiti reg deklaracija ako je signal pridružen iz always bloka. Proces trigerovan na bilo koju promjenu signala in ili sel Primjer: 4-to-1 mux: module mux4_1(out, in, sel); output out; input [3:0] in; input [1:0] sel; reg out; wire [3:0] in; wire [1:0] sel; or sel) if (sel == 0) out = in[0]; else if (sel == 1) out = in[1]; else if (sel == 2) out = in[2]; else out = in[3]; endmodule Blok pridruživanje.

56 Case iskaz case (expr) item_1,.., item_n: stmt1; item_n+1,.., item_m: stmt2;.. default: def_stmt; endcase Primjer:4-to-1 mux: module mux4_1(out, in, sel); output out; input [3:0] in; input [1:0] sel; reg out; wire [3:0] in; wire [1:0] sel; or sel) case (sel) 0: out = in[0]; 1: out = in[1]; 2: out = in[2]; 3: out = in[3]; endcase endmodule

57 For iskaz Korištenje for iskaza:

58 While iskaz Primjer korištenja while iskaza za brojanje logičkih vrijednosti: begin :count1s reg [7:0] tempreg; count = 0; tempreg = rega; while(tempreg) end begin if (tempreg[0]) count = count + 1; tempreg = tempreg >> 1; end

59 Repeat iskaz Primjer korištenja repeat iskaza: repeat (16) begin $display ("Current value of i is %d", i); i = i + 1; end

60 Usporedba task i function formi Function i task- za postavljanje istih djelova koda, koji se ponavljaju. Funkcije i taskovi imaju istu semantiku; razlika je da taskovi imaju kašnjenja, dok funkcije nemaju bilo kakva kašnjenja. To znači da se funkcije koriste za modeliranje kombinacionih kola. Funkcije ne mogu omogućiti task, dok task može omogućiti druge taskove i funkcije. Funkcija mora imati najmanje jedan ulazni argument, task može imati nijedan ili više argumenata bilo kojeg tipa. Funkcije mogu vraćati vrijednost, dok taskovi ne mogu.

61 Forma function function parity; input [31:0] data; integer i; begin parity = 0; for (i= 0; i < 32; i = i + 1) begin parity = parity ^ data[i]; end end endfunction

62 Forma taska module this_task; task my_task; input a, b; inout c; output d, e; reg foo1, foo2, foo3; begin end endtask endmodule // the set of statements performs the work of the task c = foo1; // the assignments that initialize d = foo2; // the results variables e = foo3;

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

S E M I N A R S K I R A D Verilog sa primjerima

S E M I N A R S K I R A D Verilog sa primjerima Odsjek za raunarstvo i informatiku Digitalni raunari S E M I N A R S K I R A D Verilog sa primjerima Sarajevo, juni.2004.g. Maja Vasi Irena Serna Uvod Verilog je u poecima svog nastanka, oko 1984.g., kao

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

Sintaksa VHDL jezika - podsjetnik -

Sintaksa VHDL jezika - podsjetnik - Sintaksa VHDL jezika - podsjetnik - -- Učitavanje biblioteka library ; -- Import all the declarations in a package use ..all; -- Import a specific declaration

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

VHDL VS VERILOG.

VHDL VS VERILOG. 1 VHDL VS VERILOG http://www.cse.cuhk.edu.hk/~mcyang/teaching.html 2 VHDL & Verilog They are both hardware description languages for modeling hardware. They are each a notation to describe the behavioral

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C

More information

Programske paradigme Funkcionalna paradigma

Programske paradigme Funkcionalna paradigma Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju

More information

Naredbe za kontrolu toka

Naredbe za kontrolu toka Naredbe za kontrolu toka Naredbe za kontrolu toka Nakon odslušanog bit ćete u stanju: objasniti semantiku naredbi za kontrolu postupaka navesti sintaksu naredbi if, if-else i case u programskom jeziku

More information

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133 Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

More information

Uvod u relacione baze podataka

Uvod u relacione baze podataka Uvod u relacione baze podataka Ana Spasić 5. čas 1 Podupiti, operatori exists i in 1. Izdvojiti imena i prezimena studenata koji su položili predmet čiji je identifikator 2001. Rešenje korišćenjem spajanja

More information

Verilog. Like VHDL, Verilog HDL is like a programming language but:

Verilog. Like VHDL, Verilog HDL is like a programming language but: Verilog Verilog Like VHDL, Verilog HDL is like a programming language but: Statements can execute simultaneously unlike programming e.g. nand(y1,a1,b1); nand(y2,a2,b2); or (out,y1,y2); a1 b1 all statements

More information

Programiranje 1 Programski jezik C 2. čas. Mirko Spasić

Programiranje 1 Programski jezik C 2. čas. Mirko Spasić Programiranje 1 Programski jezik C 2. čas Mirko Spasić Operatori U C-u postoji veliki broj operatora. Mogu biti unarni (imaju jedan argument) i binarni (dva argumenta). Unarni operatori mogu biti prefiksni

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

2. Linijska algoritamska struktura

2. Linijska algoritamska struktura Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 2. Linijska algoritamska struktura Milica Ćirić Blokovi za prikaz algoritma Algoritam se vizuelno može prikazati pomoću blok dijagrama,

More information

Chapter 2 Using Hardware Description Language Verilog. Overview

Chapter 2 Using Hardware Description Language Verilog. Overview Chapter 2 Using Hardware Description Language Verilog CSE4210 Winter 2012 Mokhtar Aboelaze based on slides by Dr. Shoab A. Khan Overview Algorithm development isa usually done in MATLAB, C, or C++ Code

More information

Introduction to Verilog/System Verilog

Introduction to Verilog/System Verilog NTUEE DCLAB Feb. 27, 2018 Introduction to Verilog/System Verilog Presenter: Yao-Pin Wang 王耀斌 Advisor: Prof. Chia-Hsiang Yang 楊家驤 Dept. of Electrical Engineering, NTU National Taiwan University What is

More information

Projektovanje digitalnih sistema. Operatori nastavak

Projektovanje digitalnih sistema. Operatori nastavak Projektovanje digitalnih sistema Operatori nastavak Verilog: operatori redukcije Operator Opis & AND ~& NAND OR ~ NOR ^ XOR ^~ ili ~^ XNOR Imaju samo jedan operand (vektor) Izvršavaju operaciju nad bitovima

More information

Uvod, varijable, naredbe, petlje

Uvod, varijable, naredbe, petlje 8. JavaScript Uvod, varijable, naredbe, petlje M. Zekić-Sušac 1 Što je JavaScript? JavaScript je najpopularniji skriptni jezik na Internetu kojeg podržavaju svi poznatiji preglednici (Internet Explorer,

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

Verilog Design Principles

Verilog Design Principles 16 h7fex // 16-bit value, low order 4 bits unknown 8 bxx001100 // 8-bit value, most significant 2 bits unknown. 8 hzz // 8-bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes

More information

ECEN 468 Advanced Logic Design

ECEN 468 Advanced Logic Design ECEN 468 Advanced Logic Design Lecture 28: Synthesis of Language Constructs Synthesis of Nets v An explicitly declared net may be eliminated in synthesis v Primary input and output (ports) are always retained

More information

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 99-1 Under-Graduate Project Verilog Simulation & Debugging Tools Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 ACCESS IC LAB Outline Basic Concept of Verilog HDL Gate Level Modeling

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages

14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages 14:332:231 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 2013 Lecture #22: Introduction to Verilog Hardware Description Languages Basic idea: Language constructs

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

14. Introducton to Verilog

14. Introducton to Verilog 14. Introducton to Verilog Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 23, 2017 ECE Department, University of Texas at

More information

VLSI Design 13. Introduction to Verilog

VLSI Design 13. Introduction to Verilog Last module: Sequential circuit design Design styles This module Synthesis Brief introduction to Verilog Synthesis in the Design Flow Designer Tasks Tools Architect Logic Designer Circuit Designer Define

More information

Online Verilog Resources

Online Verilog Resources EECS 427 Discussion 6: Verilog HDL Reading: Many references EECS 427 F08 Discussion 6 1 Online Verilog Resources ASICs the book, Ch. 11: http://www.ge.infn.it/~pratolo/verilog/verilogtutorial.pdf it/ pratolo/verilog/verilogtutorial

More information

Introduction to Verilog HDL. Verilog 1

Introduction to Verilog HDL. Verilog 1 Introduction to HDL Hardware Description Language (HDL) High-Level Programming Language Special constructs to model microelectronic circuits Describe the operation of a circuit at various levels of abstraction

More information

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

12. Uskladištene procedure (Stored Procedures)

12. Uskladištene procedure (Stored Procedures) 12. Uskladištene procedure (Stored Procedures) Uskladištena procedura je skup SQL iskaza koji su kompajlirani i sačuvani u trenutku njenog kreiranja. Veoma su moćne i preko njih mogu da se izvršavaju sve

More information

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu: Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 7-1 Oracle Equijoin and Cartesian Product Prethodna sekcija se bavila upitima preko više od jedne tabele

More information

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici 7-8 Definicija, inicijalizacija promenljivih 2/21 u C-u Program napisan u programskog

More information

Verilog Design Principles

Verilog Design Principles 16 h7fex // 16-bit value, low order 4 bits unknown 8 bxx001100 // 8-bit value, most significant 2 bits unknown. 8 hzz // 8-bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes

More information

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka

More information

EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references. EECS 427 W07 Lecture 14 1

EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references. EECS 427 W07 Lecture 14 1 EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references EECS 427 W07 Lecture 14 1 Online Verilog Resources ASICs the book, Ch. 11: http://www.ge.infn.it/~pratolo/verilog/verilogtutorial.pdf

More information

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation A Verilog Primer An Overview of Verilog for Digital Design and Simulation John Wright Vighnesh Iyer Department of Electrical Engineering and Computer Sciences College of Engineering, University of California,

More information

Advanced Digital Design Using FPGA. Dr. Shahrokh Abadi

Advanced Digital Design Using FPGA. Dr. Shahrokh Abadi Advanced Digital Design Using FPGA Dr. Shahrokh Abadi 1 Venue Computer Lab: Tuesdays 10 12 am (Fixed) Computer Lab: Wednesday 10-12 am (Every other odd weeks) Note: Due to some unpredicted problems with

More information

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements What is Verilog HDL? Lecture 1: Verilog HDL Introduction Verilog Hardware Description Language(HDL)? A high-level computer language can model, represent and simulate digital design Hardware concurrency

More information

Chap 6 Introduction to HDL (d)

Chap 6 Introduction to HDL (d) Design with Verilog Chap 6 Introduction to HDL (d) Credit to: MD Rizal Othman Faculty of Electrical & Electronics Engineering Universiti Malaysia Pahang Ext: 6036 VERILOG HDL Basic Unit A module Module

More information

Overview of Verilog Part 1

Overview of Verilog Part 1 University of Wisconsin - Madison ECE/Comp ci 352 Digital ystems Fundamentals Charles R. Kime ection 2 Fall 2001 Chapters 3 and 4 Verilog Part 1 Minor Updates on 11/9/01 are shown in red. Charles Kime

More information

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2 Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 Baze podataka 2 Web: http://www.fpmoz.ba/gkraljevic Pitanja, primjedbe,

More information

Introduction To Verilog Design. Chun-Hung Chou

Introduction To Verilog Design. Chun-Hung Chou Introduction To Verilog Design Chun-Hung Chou 1 Outline Typical Design Flow Design Method Lexical Convention Data Type Data Assignment Event Control Conditional Description Register Description Synthesizable

More information

Verilog Tutorial (Structure, Test)

Verilog Tutorial (Structure, Test) Digital Circuit Design and Language Verilog Tutorial (Structure, Test) Chang, Ik Joon Kyunghee University Hierarchical Design Top-down Design Methodology Bottom-up Design Methodology Module START Example)

More information

Introduction to Digital Design with Verilog HDL

Introduction to Digital Design with Verilog HDL Introduction to Digital Design with Verilog HDL Modeling Styles 1 Levels of Abstraction n Behavioral The highest level of abstraction provided by Verilog HDL. A module is implemented in terms of the desired

More information

OSNOVE PROGRAMIRANJA

OSNOVE PROGRAMIRANJA OSNOVE PROGRAMIRANJA Struktura aplikacije Visual Basica Za svaku formu u aplikaciji postoji pripadajuci modul forme (.frm) koji sadrži njen programski kod Modul forme sadži event procedure - dijelovi koda

More information

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 5-1 Conversion Functions U db formatiranje i promene izgleda se izvode pomoću funkcija konverzija Ove

More information

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

Verilog introduction. Embedded and Ambient Systems Lab

Verilog introduction. Embedded and Ambient Systems Lab Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)

More information

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML PHP, ASP.NET

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML PHP, ASP.NET PHP, ASP.NET Što ćete naučiti Internet općenito HTML CSS XML XHTML Javascript DOM DHTML AJAX jquery PHP ASP.NET Ruby On Rails MS Silverlight FLASH, SMIL, SVG... 2 1 PHP i ASP.NET Uvod u PHP i ASP.NET Samo

More information

Numeričke metode i praktikum

Numeričke metode i praktikum Numeričke metode i praktikum Aleksandar Maksimović IRB / 23/03/2006 / Str. 1 vektori Vektor u 3D prostoru. C: int v1[3]; v1[0]=a;v1[1]=b;v1[2]=c; Fortran: INTEGER V1(3) V1(1)=a V1(2)=b V1(3)=c Skalarni

More information

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE

More information

Under-Graduate Project Logic Design with Behavioral Models

Under-Graduate Project Logic Design with Behavioral Models 97-1 1 Under-Graduate Project Logic Design with Behavioral Models Speaker: 吳佳謙 Adviser: Prof. An-Yeu Wu Date: 2008/10/20 ACCESS IC LAB Operation Assignment Outline Blocking and non-blocking Appendix pp.

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

Verilog HDL Introduction

Verilog HDL Introduction EEE3050 Theory on Computer Architectures (Spring 2017) Prof. Jinkyu Jeong Verilog HDL Introduction 2017.05.14 TA 이규선 (GYUSUN LEE) / 안민우 (MINWOO AHN) Modules The Module Concept Basic design unit Modules

More information

Chapter 3 Part 2 Combinational Logic Design

Chapter 3 Part 2 Combinational Logic Design University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 3 Part 2 Combinational Logic Design Originals by: Charles R. Kime and Tom

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

Design Using Verilog

Design Using Verilog EGC220 Design Using Verilog Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Basic Verilog Lexical Convention Lexical convention are close to C++. Comment // to the of the line. /* to

More information

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam Last (family) name: First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Instructor: Kewal

More information

VERILOG. Deepjyoti Borah, Diwahar Jawahar

VERILOG. Deepjyoti Borah, Diwahar Jawahar VERILOG Deepjyoti Borah, Diwahar Jawahar Outline 1. Motivation 2. Basic Syntax 3. Sequential and Parallel Blocks 4. Conditions and Loops in Verilog 5. Procedural Assignment 6. Timing controls 7. Combinatorial

More information

RAČUNARSKI PRAKTIKUM II

RAČUNARSKI PRAKTIKUM II Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM II Predavanje 07 - Uvod u PHP 4. svibnja 2015. Sastavio: Zvonimir Bujanović PHP PHP Interpretirani skriptni

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for

More information

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

/*#include <iostream> // Prvi zadatak sa integralnomg ispita /*#include // Prvi zadatak sa integralnomg ispita 27.01.2015 #include using std::setw; using std::cout; const int red(5), kolona(4); void unos(int[]); void ispis(int[][kolona]); float

More information

14. Introducton to Verilog

14. Introducton to Verilog 14. Introducton to Verilog 1 14. Introducton to Verilog Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 23, 2017 ECE Department,

More information

dr. sc.. Josip Musić Originalne slideove izradio:

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (450) Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2): Pregled.NET platforme dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo

More information

GUI - događaji (Events) i izuzeci. Bojan Tomić

GUI - događaji (Events) i izuzeci. Bojan Tomić GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša

More information

Numerical Computation

Numerical Computation GNU Octave Numerical Computation vrlo često u tehnici retko stvarni problemi imaju closed-form solution čak i kad imaju, pitanje upotrebljivosti mnogo detalja numerički pristup u početku tretirano kao

More information

HDLs and SystemVerilog. Digital Computer Design

HDLs and SystemVerilog. Digital Computer Design HDLs and SystemVerilog Digital Computer Design Logic Arrays Gates can be organized into regular arrays. If the connections are made programmable, these logic arrays can be configured to perform any function

More information

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language 1 / 15 2014/11/20 0 EDA (Electronic Design Assistance) 0 Computer based language 0 HDL (Hardware Description Language) 0 Verilog HDL 0 Created by Gateway Design Automation Corp. in 1983 First modern hardware

More information

Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1>

Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1> Chapter 4 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 4 Chapter 4 :: Topics Introduction Combinational Logic Structural Modeling Sequential

More information

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis September 26, 2002 John Wawrzynek Fall 2002 EECS150 Lec10-synthesis Page 1 Logic Synthesis Verilog and VHDL stated out as simulation languages, but quickly

More information

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification. 1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus

More information

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

More information

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

Lekcija 02 Uslovni iskazi i petlje, Funkcije. Miljan Milošević

Lekcija 02 Uslovni iskazi i petlje, Funkcije. Miljan Milošević Lekcija 02 Uslovni iskazi i petlje, Funkcije Miljan Milošević USLOVNI ISKAZI I PETLJE, FUNKCIJE 01 02 03 04 Uvod Uslovni iskazi i Ciklusi Operatori skoka Funkcije u C-u grananja Uslovni iskaz if Uslovni

More information

Prva recenica. Druga recenica.

Prva recenica. Druga recenica. Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta

More information

Chapter-5. EE 335 : Advanced Microprocessor. Logic Design with Behavioral Models of Combinational and Sequential Logic

Chapter-5. EE 335 : Advanced Microprocessor. Logic Design with Behavioral Models of Combinational and Sequential Logic EE 335 : Advanced Microprocessor Chapter-5 Logic Design with Behavioral Models of Combinational and Sequential Logic Ajay Kumar Yadav (Instructor) Electrical & Computer Engineering Temple University Data

More information

ECEN 449 Microprocessor System Design. Verilog. Texas A&M University

ECEN 449 Microprocessor System Design. Verilog. Texas A&M University ECEN 449 Microprocessor System Design Verilog 1 Objectives of this Lecture Unit Get a feel for the basics of Verilog The focus of this unit will be along two separate but equally relevant axes We will

More information

PROGRAMIRANJE. Objekt-orjentirano programiranje (OOP)

PROGRAMIRANJE. Objekt-orjentirano programiranje (OOP) PROGRAMIRANJE Amir Hajdar 2 Objekt-orjentirano programiranje (OOP) Objekt je kolekcija podataka i operacija koje se mogu vršiti nad istim Klasa je opis (specifikacija) objekta abstraktni pojam! Objekti

More information

Scheme je funkcionalni jezik moderna varijanta jezika LISP-a, s dodacima iz Algola (lokalni doseg identifikatora).

Scheme je funkcionalni jezik moderna varijanta jezika LISP-a, s dodacima iz Algola (lokalni doseg identifikatora). SCHEME Scheme je funkcionalni jezik moderna varijanta jezika LISP-a, s dodacima iz Algola (lokalni doseg identifikatora). Sheme se uglavnom koristi kao intepreter. Koristit ćemo Petit Chez Scheme. Petite

More information

JavaScript JS Cookies

JavaScript JS Cookies Predmet: Aplikativni softver Predavač: dr Violeta Tomašević, vanr.prof. JavaScript JS Cookies Literatura Boško Nikolić, Internet programiranje: HTML, CSS, JavaScript, Panevropski univerzitet Apeiron za

More information