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

Size: px
Start display at page:

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

Transcription

1 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

2 Uvod Verilog je u poecima svog nastanka, oko 1984.g., kao jezik za modeliranje, bio u vlasništvu Automated Integrated Design Systems, kasnije nazvanog Gateway Design Automation Inc. U to vrijeme kompanija je bila u privatnom vlasništvu Dr. Prabhu Goel, koji je otkrio PODEM testni algoritam. Verilog HDL je dizajnirao Phil Moorby, koji je kasnije postao i glavni dizajner Verilog-XL-a. Smatra se da je Verilog nastao na temeljima najpopularnijeg u to vrijeme HDL jezika zvanog HiLo kao i sada ve dobro poznatog programskog jezika C. S obzirom da Verilog još tada nije bio standardiziran sve revizije koje su nastale u periodu izmeu i godine unijele su neke promjene u strukturu Veriloga. Tako je npr. Verilog simulator kontinuirano korišten u periodu od godine do Prva znaajna oznaka Veriloga nastala tim raznim modifikacijama je Verilog XL, koja je predstavljala poboljšanje i uvela tzv. «XL algoritam», vrlo efikasan metod za gate- level simulacije. Uskoro, dizajneri su došli do zakljuka da bi trebalo izvršiti integraciju API-ja u jezik. Prema Yatin Trivedi, jednog od najzaslužnijih za oblikovanje Veriloga, potreba za uvoenjem API ja javila se sa pokušajima simulacije cijelog sistema što se sa dotadašnjim Verilogom nije moglo izvesti. Tako je roen PLI *. Kao što je ve reeno, Verilog u poetku nije bio standardizovan, pa je sa gotovo svakim izdanjem Gateway produkata, izašla i nova verzija Veriloga, nadopunjena ili izmjenjena. Ni pria oko PLI se ne razlikuje mnogo od ove. Tako su se npr. funkcije stalno mijenjale, i kao što je jedan od dizajnera Veriloga rekao, tu je bio potpuni haos godine Cadence Design System, iji je osnovni produkt u to vrijeme bio tzv. Thin film- procesni simulator, odluuje da kupi Gateway Automation System. Kao što je bio sluaj i sa ostalim gateway produktima, Cadence je postao vlasnikom Verilog jezika i PLI-a. Iste godine kada je kupio i Gateway, Cadenece je uinio jedan prilino neobian korak. Cadence je uvidio da ako Verilog ostane u formi «zatvorenog» jezika, tržište e se okrenuti VHDL-u. Zato, Cadence osniva Open Verilog International (OVI) i 1991.g. prilaže dokumentaciju za Verilog Hardware Description Language pod nazivom Language Reference Manual (LRM). Glavna zadaa dana OVI-ju bila je standardizacija Veriloga i PLI-a. Taj pothvat je izvršen u dva navrata i oba puta standardi su ustanovljeni prema pravilima i uputstvima Cadence-a. Ovo je bio dogaaj koji je «otvorio» jezik Veriloga. Dakle, oni su Verilog i PLI stavili na otvoreno tržište kao slobodni produkt što je praktino znailo da je sada svako mogao razviti Verilog simulator i postati potencijalni rival Cadence-u. * Verilog PLI ( Programming Language Interface ) je mehanizam za pozivanje C ili C++ funkcija iz Verilog koda. 2

3 Uskoro je postalo jasno, da e se pojaviti veliki broj kompanija na tržištu sa Verilogom i svaka od njih e pokušati ono što je i Gateway svojevremeno uinio, modifikovao Verilog za svoje potrebe. Kada je Cadence objavio LRM, nekoliko kompanija je poelo raditi na Verilog simulatorima, tako da je godine nekoliko njih ve bilo dostupno na tržištu. Najuspješniji od njih bio je VCS, Verilog Compiled Simulator, od kompanije Chronologic Simulation. On je predstavljao pravi kompajler, nasuprot Verilog- XL koji je bio interpreter. Kao rezultat toga vrijeme kompajliranja ostalo je isto, ali se izvršenje simulacije odvijalo mnogo brže. IEEE Std U meuvremenu, interesovanje za Verilog i PLI je ubzano raslo. Verilog je kao HDL pronašao više sljedbenika nego tada ve dobro formirani i korišteni VHDL. To je bio još jedan od pokazatelja za potrebom standardizacije Veriloga. Ubrzo je rukovodstvo OVI zatražilo od IEEE da oformi radni odbor koji bi uspostavio Verilog kao djelom IEEE standarda. Taj radni odbor 1364 oformljen je sredinom godine i 14. oktobra održano je prvo zasjedanje. Standard usvojen maja 1995.godine, predstavljao je kombinaciju Verilog sintaxe i PLI-a i otada poznat kao IEEE Std Nakon 4 godine IEEE standard nalazi se pod revizijom, ali nisu uinjene znaajnije promjene. Nakon niza godina, nove verzije i poboljšanja obilježili su razvoj Veriloga, i novija verzija nastala je Ova verzija ini se da je riješila mnoge nedostatke koje je sadržavao Verilog iz 1995.godine. Verzija je nazvana Sada je na dizajnerima alata je da je imlplemetiraju. Verilog je naješe korišteni HDL sa preko 50,000 aktivnih dizajnera. 3

4 Verilog Verilog predstavlja programski jezik za opis hardware-a (HARDWARE DESCRIPTION LANGUAGE (HDL) ) i tekstualni format za opisivanje digitalnih struktura. Jezik za opisivanje hardware-a je jezik korišten da se opiše digitalni sistem, npr. mikroprocesora, memorije ili flip-flopa. Ovo znai, da korištenjem HDL-a svaki dio hardware-a se može opisati na bilo kojem nivou apstrakcije. module d_ff ( d, clk, q, q_bar); input d,clk; ouput q, q_bar; (posedge clk) begin q <= d; q_bar <=!d; module Verilog može opisati kako jednostavni flip-flop, tako i složenu strukturu sa 1 milion gate-ova. Verilog predstavlja jedan od onih HDL jezika dostupnih u industriji za dizajniranje hardware-a. Verilog nam omoguava velik nivo apstrakcija, koji mogu biti korišteni za razliite namjene u razliitim fazama dizajna ( Behavior Level, Register Transfer Level (RTL), Gate Level i Switch Level ). On podržava modeliranje apstraktnog ponašanja, te tako omoguava dizajnerima hardware-a modeliranje funkcionalnog sistema na visokom nivou apstrakcije. Nivoi apstrakcije kod Veriloga Verilog podržava dizajn na razliitim nivoima apstrakcije. Najznaajniji meu njima su: Behavioral Level Register-Transfer Level Gate Level 4

5 Behavioral Level Ovaj nivo opisuje sistem prema konkurentnim algoritmima (Behavioral). Svaki algoritam je sekvencijalan, tj. sastoji se od niza instrukcija koje se izvršavaju jedna za drugom. Osnovni elementi su Functions (funkcije), Tasks ( taskovi, zadaci ) i Always blokovi. Nema pogleda na strukturnu realizaciju dizajna. Register-Transfer Level Register-Transfer Level specificira karakteristike kola pomou niza operacija i transfer podataka izmeu registara. Koristi se tano definiran sat ( RTL * dizajn sadrži tano definiran tajming, operacije se izvršavaju u tano odreenom trenutku). Gate Level U sklopu logikog dizajna, karakteristike sistema su opisane logikim linkovima i vremenskim mogunostima. Svi signali su diskretni tj. mogu uzeti vrijednosti iz diskretnog skupa logikih vrijednosti (`0', `1', `X', `Z`). Operacije koje se mogu koristiti su AND, OR, NOT. Korištenje Gate Level nivoa u modeliranju ponekad nije najbolji izbor na bilo kojem nivou logikog dizajna. * RTL ( Register Transfer Level ) je nivo apstrakcije koji specificira karakteristike kola na osnovu prenosa podataka izmeu registara. 5

6 LEKSIKA PRAVILA Leksika pravila Verilog-a su slina onima iz programskog jezika C++. Kljune rijei se pišu malim slovima. Ovaj jezik je case sensitive tj. razlikuju se mala i velika slova. Komentari Komentari u jednoj liniji koji se oznaavaju sa // Višelinijski komentari koji se navode izmeu /* i */ Identifikatori Identifikator, ukljuujui i imena varijabli, može sadržavati bilo koju sekvencu slova, cifara, znaka za dolar $, i donje crtice (_). Prvi karakter identifikatora mora biti slovo ili _. Identifikator ne može poeti sa $ i ne može u sebi imati -, zagrade ili #. Identifikatori su nizovi karaktera koji se koriste da se imenuju neki objekti, kao što su moduli ili registri. Identifikator mora poeti sa slovom ili sa _ i može imati maksimalno 1024 karaktera. Stringovi String je sekvenca karaktera koji se nalaze izmeu dvostrukih navodnika ( ). Da bismo deklarisali varijablu za uvanje stringa, trebamo deklarisati registar ija veliina odgovara broju karaktera varijable koja e se uvati u njemu. Stringovi mogu sadržavati i neke specijalne karaktere, kao npr: \n karakter za novu liniju \t karakter za tab \\ karakter za \ \ karakter za duple navodnike ( ) \ddd karakter koji ima 3 oktalne cifre (0<=d<=7) %% karakter za procenat % Brojevi Konstante se mogu navesti u decimalnom, heksadecimalnom, oktalnom ili binarnom formatu. Negativni brojevi se predstavljaju kao drugi komplement. Brojevi se navode u tradicionalnoj formi, kao nizovi cifara sa ili bez znaka (+,-) i to na slijedei nain: <veliina><format baze><broj> gdje je <veliina> broj decimalnih cifri koji oznaava veliinu konstante u bitima, ovo je opcionalno, <format baze> oznaava da li se radi o binarnom, decimalnom, oktalnom ili heksadecimalnom broju, <broj> predstavlja cifre koje su u skladu sa <format baze>. Integer ako je <veliina> manje od broja bita u <broj> onda se otkidaju najznaajniji biti(biti na lijevoj strani) koji su viška. Ako je <veliina> vea od broja bita u <broj> onda se najznaajniji biti popunjavaju sa najznaajnijim bitom iz <broj> 6

7 Integer Pohranjuje se kao Opis 6 hca Zaokruženo, nije ha Lijevo su dodane dvije 0 16 hbz ZZZZZZZZZZZZZZZZ Popunjeno sa 16 Z 8 bx xxxxxxxx Popunjeno sa 8 x Realni brojevi se mogu navesti na dva naina: <vrijednost>.<vrijednost> <matisa>e<exponent> Realni broj Decimalni zapis E6 3, TIPOVI PODATAKA FIZIKI TIPOVI PODATAKA Svrha Verilog-a kao HDL-a je modeliranje digitalnog hardware-a. Stoga nas ne udi ni injenica da su registri (reg) i žice (wire) dva osnovna tipa podataka. Wire predstavljaju fiziku vezu izmeu komponenti. Wire varijabla ne uva nikakvu vrijednost. Ovdje je bitno da je wire samo jedan od podtipova net tipa podataka u koji još spadaju: wired and (wand), wired or (wor) i tristate bus (tri). Svaki od net tipova ima odreenu funkcionalnost koja služi da se modeliraju razliiti tipovi hardware-a (kao što su PMOS, NMOS, CMOS, ) Postoji mogunost da se pri deklaraciji podataka koji su tipa wire definiše i njihova veliina. Registri ( reg ) predstavljaju varijable u kojima se uvaju podaci i komparabilni su sa varijablama u programskim jezicima. Deklaracija se vrši pomou kljune rijei reg. Registri uvaju zadnju vrijednost koja im je pridružena, sve dok im neki drugi izraz ne promijeni vrijednost. Postoji mogunost da se naprave nizovi registara koji se nazivaju memorija. 7

8 Reg i Wire mogu imati slijedee vrijednosti: 0 logika nula ili false 1 logika jedinica ili true x nepoznata logika vrijednost z vrijednost visoke impedanse U Verilog-u nije dozvoljena upotreba višedimenzionalnih nizova. Na poetku simulacije reg varijabla je inicijalizirana na x, dok je varijabla wire inicijalizirana na z. Reg i wire varijable su po default-u skalarne (npr. jedan bit), ali postoji mogunost da ih definišemo i kao niz bita. To se radi tako što u zagradama navedemo najznaajniji i najmanje znaajni bit. Primjer Ovdje je data 8-bitni registar kod kojeg je sedmi bit najviše znaajan, dok je status 15-bitni registar kod kojeg je nulti bit najviše znaajan. APSTRAKTNI TIPOVI PODATAKA Zbog potreba korisnika u Verilog-u postoje i neki dodatni tipovi podataka koji nemaju odgovarajuu realizaciju u hardware-u. Ovi tipovi ukljuuju integer, real i time. Integer i real imaju iste karakteristike kao i u drugim programskim jezicima (npr. C). Bitno je napomenuti da je reg varijabla neoznaena, dok je integer oznaeni 32-bitni cijeli broj. Varijabla time sadrži 64-bitnu vrijednost koja se koristi zajedno sa sistemskom funkcijom $time. OPERATORI U VERILOG-u Binarni aritmetiki operatori rade nad dva operanda. Ovdje se reg i net (wire) operandi tretiraju kao neoznaeni, dok real i integer mogu biti oznaeni. Ako je i jedan od operanada nepoznat (x), tada je i rezultat nepoznat. Operator Name Comments + sabiranje - oduzimanje * množenje / dijeljenje rezultat dijeljenja sa 0 je x (nepoznato), % Modul 8

9 Unarni aritmetiki operatori Operator Name Comments - Unarni Minus mjenja znak operanda Relacioni operatori uporeuju dva operanda i vraaju logiku vrijednost true (1) ili false (0). Ako je jedan bit nekog operanda nepoznat, tada je i razultat nepoznat. Operator Name Comments > vee od >= vee od ili jednako < manje od <= manje od ili jednako == logika jednakost!= logika nejednakost Logiki operatori rade nad logikim operandima i vraaju logiku vrijednost. Koriste se obino u if i while izrazima. Treba ih razlikovati od Boolovih operatora nad bitima. Operator Name Comments! logika negacija && logiko AND logiko OR Operatori nad bitima operator nad nepoznatom vrijednošu daje oekivani rezultat. Operator Name Comments ~ binarna negacija & binarni AND binarni OR ^ binarni XOR ~& binarni NAND ~ binarni NOR ~^ or ^~ ekvivalencija binarni NOT XOR Unarni redukcioni operatori se primjenjuju na sve bite operanda, a kao rezultat daju jedan bit. Operator Name Comments & AND reduction OR reduction ^ XOR reduction ~& NAND reduction ~ NOR reduction ~^ XNOR reduction Ostali operatori Operator Name Comments === jednakost binarno se porede vrijednosti x i z. svi biti moraju biti isti da bi bila zaovoljena jednakost. Vraa TRUE ili FALSE.!== nejednakost vraa TRUE ili FALSE. {, } spajanje spaja bite koji su navedeni izmeu zareza. Npr. {A[0], B[1:7]} spaja nulti bit od A sa bitima od 1 do 7 od B. 9

10 << Shift lijevo desni biti se popunjavaju nulama. Npr. A = A << 2; šifta A dva bita lijevo, a desne bite popunjava nulama >> Shift desno lijeve bite popunjava nulama?: uslov u zavisnosti od uslova pridružuje jednu ili drugu vrijednost. Npr. A = C > D? B+3 : B-2; Ako je c>d onda je B+3, a u suprotnom je B-2. PRIORITET OPERATORA Kao i u standardnoj matematici, i ovdje zagrade mogu biti korištene za promjenu prioriteta. MODULI Moduli su osnovni gradivni elementi Verilog-a. Moduli su veoma slini procedurama ili funkcijama u programskim jezicima (za zadani ulaz oni proizvode neki izlaz). Modul se ne može pozvati, ve se on instancira na poetku izvršenja programa. Pokretanje instanci modula se vrši na slijedei nain: < ime modula > < lista parametara > < ime instance > ( < lista portova > ) Unutar jednog modula mi možemo instancirati druge module, ali ne postoji mogunost deklarisanja drugih modula unutar jednog modula. Moduli imaju slijedeu formu: module <ime modula> (<lista portova>); <deklaracije> <module items> module Ovdje <ime modula> može biti bilo koje ime koje e odreivati taj modul. <Lista portova> je lista portova koji omoguavaju vezu sa drugim modulima. Kljune rijei input, output i inout u deklaraciji se koriste da odrede smjer u kojem se podaci mogu kretati. Module items mogu biti initial i always konstrukcije. Svaki modul se mora završiti kljunom rijei module. 10

11 Moduli se povezuju pomou portova (ports). Svaki port mora biti ekspicitno deklarisan kao input, output ili inout. Tabela 11.3 predstavlja karakteristike pojedinih portova. Bitno je primjetiti da reg ne može biti input ili inout port. Ovo je zbog toga što ne možemo povezati dva registra jer oni mogu sadržavati razliite vrijednosti. Primjer INITIAL I ALWAYS KONSTRUKCIJE Initial i always izrazi su veoma slini. Glavna razlika je ta da initial odreuje dogaaje koji se dese samo na poetku (samo jednom i to u nultom vremenu), dok su always aktivnosti koje se dešavaju sve dok je uslov, ako je zadan, ispunjen. Ako uslov nije zadan, tada se always aktivnost dešava stalno, u petlji. KONTROLNE KONSTRUKCIJE Funkcionalnost Verilog kontrolnih konstrukcija je ista kao i u jeziku C. Ali, pošto je Verilog HDL (Hardware Description Language), kontrolne konstrukcije se trebaju prevesti na hardware. 11

12 If-else iskaz se koristi u sluajevima kada se na osnovu kriterija vrši izbor dijela koda koji e se izvršavati. if (A == 4) begin B = 2; else begin B = 4; End Case iskaz se koristi kada se treba provjeriti vrijednost jedne varijable. Kao primjer ovdje možemo navesti adresni dekoder, gdje su ulazi adrese. case(address) 0: $display( izlaz 1 ); 1: $display( izlaz 2 ); 2: $display( izlaz 3 ); default: $display ( izlaz 0 ); case While iskaz izvršava odreeni dio koda sve dok je zadani uslov taan. while (slobodno_vrijeme) begin $display( pravi web stranicu ); ; For loop iskaz izvršava dio koda tano odreen broj puta. Razlika u odnosu na C je ta što ovdje nije podržan operator ++ nego se mora pisati varijabla=varijabla+1. for(i = 0; i < 10; i = i + 1) begin $display("i= %0d", i); Repeat iskaz ponavlja neke izraze odreeni broj puta: repeat (5) begin $display("i= %0d", i); i = i + 1; PARAMETARSKI ISKAZI omoguavaju programeru da dodjeli naziv konstanti. Npr: parameter veliina = 8; reg [veliina - 1:0] A; // definiše se A kao 8-bitni registar KONTINUALNO PRIDRUŽIVANJE prati wire varijable i mjenja njihovu vrijednost kad god ulazni operator promijeni vrijednost. Nasuprot ovome, proceduralno pridruživanje ne vrši raunanje kad god se operand promjeni. Ovdje se raunanje vrši samo kad se pozove iskaz pridruživanja. Kljuna rije assign se koristi za razlikovanje proceduralnog od kontinualnog pridruživanja. Npr: assign izlaz = ~(in1 & in2); // izlaz mora biti tipa wire ZADACI I FUNKCIJE Zadaci su slini procedurama u drugim programskim jezicima kojima se može predati nijedan, jedan ili više parametara, ali ne vraaju vrijednost. Funkcije se ponašaju kao potprogrami, ali imaju i neke karakteristike. 12

13 Funkcije se moraju izvršavati u jednoj jedinici vremena tj. ne mogu sadržavati vremenske kontrole (npr. delay control). Funkcije ne mogu pozivati zadatke jer oni mogu sadržavati vremenske kontrole. Za razliku od ovoga zadaci mogu pozivati druge zadatke i funkcije. Definicija zadatka je slijedea: Task <naziv taska>; <portovi argumenata> // nema liste parametara!!!! <deklaracije> <iskazi> task Pobuivanje zadatka: (<ime taska>) (<lista portova>); //Redoslijed u <lista portova> mora odgovarati <portovi argumenata> u definiciji Važno je naglasiti da se I/O parametri predaju po vrijednosti (poziv po referenci nije mogu). Varijable su statike i nisu smještene na stek. Za razliku od zadataka, funkcije vraaju neku vrijednost koja se dalje koristi u nekim izrazima. Funkcija mora imati najmanje jedan argument. Definicija funkcije je kako slijedi: function (rang ili tip) (naziv funkcije); (portovi argumenata) // nema parametara!!! (deklaracije) (iskazi) function gdje je <rang ili tip> tip rezultata koji vraa funkcija. Unutar funkcije se mora nazivu funkcije pridružiti vrijednost. VREMENSKE KONTROLE Kontrola kašnjenja ( delay control ) Programer odreuje vrijeme izmeu nailaska na neki iskaz i stvarnog izvršenja tog iskaza. Kontrola kašnjenja odreuje broj vremenskih jedinica koje trebaju proi da bi se izvršio neki izraz. Npr: #10 A=A+B; - oznaava da treba proi 10 vremenskih jedinica prije nego se izvrši ovo pridruživanje. Events Izvoenje proceduralnih koraka može biti izazvano promjenom vrijednosti wire ili registar varijabli. begin // kontrolirano promjenom vrijednosti u registru r A = B&C; clock2) A = B&C; // kontrolirano uzlaznom ivicom signala clock3) A = B&C; // kontrolirano silaznom ivicom signala sata Iza posedge (positive edge) i negedge (negative edge) mora stajati 1-bitni izraz, koji je obino clock. Negedge detektuje promjenu stanja sa 1 na 0 (ili nepoznato x), dok posedge detektuje promjenu sa 0 na 1 (ili nepoznato x). Verilog pruža mogunost imenovanja event-a. Prvo moramo deklarisati event: 13

14 event event6; event se poziva pomou simbola -> -> event6; da bismo kontrolisali blok koda begin <neki proceduralni kod> Wait izraz eka da se ispuni odreeni uslov nakon ega e se izvršiti odreeni dio koda. Npr. wait (A == 3) A = B & C; FORK I JOIN ISKAZI Pomou fork i join konstrukcija se može uspostaviti više tokova kontrole unutar always i initial konstrukcije. Grananje se vrši pomou naredbe fork, a spajanje pomou join. To se može vidjeti iz slijedeeg primjera: initial begin initial fork #1 clk = 0; #1 clk = 0; #5 reset = 0; #5 reset = 0; #5 enable = 0; #5 enable = 0; #2 data = 0; #2 data = 0; join SISTEMSKI ZADACI I FUNKCIJE Sistemski zadaci nisu dio Verilog jezika, ali se nalaze u njegovoj biblioteci ( library ). Ovdje emo objasniti samo par od njih. $display Prikazuje tekst na ekranu slino kao iskaz printf iz programskog jezika C. Opšta forma je: $display(<parametar>, <parametar>,... <parametar>); gdje <parametar> može biti string, izraz koji vraa vrijednost ili null parametar. Specijalni karakter % oznaava da slijedei karakter ima odreen format. Iza svakog % mora slijediti odgovarajui izraz. Slijedei primjer ispisuje vrijednost A binarno, oktalno, hexadecimalno i decimalno: $display("a=%b binarno %o octal %d decimal %h hex",a,a,a,a); Rezultat ovoga bi bio: A= binarno 017 octal 15 decimal 0f hex Formati koji se obino koriste su %b ispisuje binarni format 14

15 %c ispisuje ASCII format %d ispisuje decimalni format %h ispisuje hexadecimalni format %o ispisuje octalni format %s ispisuje string format Bitno je napomenuti da $display svaki put ispisuje u novi red. $finish Ovo je sistemski zadatak koji izlazi iz simulatora i vraa nas na host operativni sistem. $finish; $monitor Ovaj sistemski zadatak daje mogunost praenja i prikazivanja vrijednosti bilo koje varijable ili izraza koji su specificirani kao parametri u zadatku. Parametri se specificiraju na isti nain kao kod $display. $monitor ispisuje vrijednost varijabli kada se desi neka promjena nad njima i kada se doe do kraja. Ako više od jednog parametra promijene vrijednost u istom momentu, prikazuje se samo jedan od njih. Npr. slijedea naredba e ispisati liniju svaki put kada se promijene A, B ili C. $monitor(" %0d %b %b "%b, $time, A, B, C); samo jedan $monitor iskaz može biti aktivan u vremenu. Postoji mogunost da monitore iskljuujemo i ukljuujemo: $monitoroff; <neki kod> $monitoron; $scope Omoguava korisniku da odredi odreeni nivo u hijerarhiji kao interaktivno podruje za identifikovanje objekata. Ovo je korisno pri debug-iranju, jer korisnik može promijeniti podruje radi kontrole vrijednosti varijabli u razliitim modulima, zadacima i funkcijama. $scope(<ime>); <ime> mora biti kompletno hijerarhijsko ime modula, zadatka, funkcije ili imenovanog bloka. Poslije e biti malo više rijei o sistemskom zadatku $showscopes koji ispisuje ta imena. $settrace Omoguava praenje simulacije. Prate se razliite informacije kao što su vrijeme simulacije, broj linije, ime fajla, modula i neki rezultati izvršavanja izraza. $settrace; $showscopes Ispisuje kompletnu listu modula, zadataka, funkcija i imenovanih blokova koji su definisani na trenutnom nivou. $showscopes; 15

16 $showvars Prikazuje statusne informacije o registrima i net varijablama, skalarne i vektorske. Kad se navede bez parametara ispisuje sve varijable u datoj oblasti, a kad se navedu parametri vraa informacije samo za navedene parametre. $showvars; $showvars(<list of variables>); $stop Zaustavlja simulator i vraa kontrolu korisniku. $stop; $time Kao rezultat vraa trenutno vrijeme simulacije kao 64-bitni integer. $time mora biti korišteno u nekom izrazu. 16

17 PRIMJERI PRIMJER 1: // Digitalni model semafora u saobraaju // By Dan Hyde August 10, 1995 module traffic; parameter on = 1, off = 0, red_tics = 35, amber_tics = 3, green_tics = 20; reg clock, red, amber, green; // simulacija se zaustavlja nakon 1000 vremenskih jedinica initial begin: stop_at #1000; $stop; // inicijalizacija svjetla i uspostavljanje kontrole nad //registrima initial begin: Init red = off; amber = off; green = off; $display(" Time green amber red"); $monitor("%3d %b %b %b", $time, green, amber, red); // zadatak koji eka na okidanje pozitivne ivice sata // prije iskljuivanja sata task light; output color; input [31:0] tics; begin repeat(tics) // wait to detect tics positive edges on clock); color = off; task // talasni oblik signala sata iji jedan period traje dvije //vremenske jedinice always begin: clock_wave #1 clock = 0; #1 clock = 1; always begin: main_process red = on; light(red, red_tics); // poziva zadatak koji eka green = on; light(green, green_tics); 17

18 amber = on; light(amber, amber_tics); module Izlaz iz simulatora: Time green amber red Simulacija se zaustavlja nakon 1000 vremenskih jedinica. 18

19 PRIMJER 2: 4-bitni broja sa reset i enable signalom module counter ( clock, // ulaz: sat reset, enable counter_out // 4-bitni izlazni vektor za broja ); // kraj liste portova // definisanje ulaznih portova input clock ; input reset ; input enable ; // definisanje izlaznih portova output [3:0] counter_out ; // definisanje tipova podataka ulaza // po pravilu svi ulazni portovi su tipa wire wire clock ; wire reset ; wire enable ; // definisanje tipova podataka izlaza // izlazni portovi mogu biti tipa reg ili wire reg [3:0] counter_out ; // poetak koda // broja se okida pozitivnom ivicom sata (posedge clock) begin : COUNTER // ime bloka // na svakoj uzlaznoj ivici signala sata provjeravamo da li je reset aktivan 19

20 // ako je aktivan broja se resetuje na 0000 if (reset == 1'b1) begin counter_out <= #1 4'b000; // ako je aktivan enable broja se poveava za 1 else if (enable == 1'b1) begin counter_out <= #1 counter_out + 1; // kraj bloka COUNTER module // kraj modula 20

21 LITERATURA 1. Osnove digitalnih raunara, Novica Nosovi, MAG Plus, Sarajevo, 2003.g

PROJEKTOVANJE LOGIČKIH SISTEMA

PROJEKTOVANJE LOGIČKIH SISTEMA PROJEKTOVANJE LOGIČKIH SISTEMA Uvod u Verilog HDL Vanr. prof. dr. Lejla Banjanović-Mehmedović Sadržaj izlaganja Uvod u hardverske programske jezike (HDL) Uvod u Verilog Tipovi Verilog kodiranja Osnovni

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

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

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

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

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

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

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

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

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

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

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

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

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije } 1. FUNKCIJE I STRUKTRUE PROGRAMA Složeni problemi lakše se rašavaju ako se podele na manje celine koje mogu nezavisno da se rešavaju. Rešenje celokupnog složenog problema dobija se kombinovanjem rešenja

More information

CSCI 320 Computer Architecture Handbook on Verilog HDL

CSCI 320 Computer Architecture Handbook on Verilog HDL PDF version of Handbook for printing. Table of Contents CSCI 320 Computer Architecture Handbook on Verilog HDL Dr. Daniel C. Hyde Computer Science Department Bucknell University Lewisburg, PA 17837 August

More information

CSCI 320 Computer Architecture Handbook on Verilog HDL

CSCI 320 Computer Architecture Handbook on Verilog HDL CSCI 320 Handbook on Verilog Page 1 CSCI 320 Computer Architecture Handbook on Verilog HDL By Dr. Daniel C. Hyde Computer Science Department Bucknell University Lewisburg, PA 17837 Copyright 1995 By Daniel

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

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

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

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

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

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

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

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

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

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

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

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

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

Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu

Primjer ispisuje rečenicu Dobro dosli na brzi tecaj C-a na ekranu Osnove programiranja p. 1/27 Brzi tečaj C-a Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu Programiranje se sastoji od nekoliko koraka - pisanje programa u tekstualnom editoru (joe,

More information

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int Sadržaj predavanja 02 Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka Realni tip podataka Aritmetički operatori Izrazi Operatori inkrement i dekrement Kontrola toka programa Naredba za jednostruki

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

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

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

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

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

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

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

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

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

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

NIZOVI.

NIZOVI. NIZOVI LINKOVI ZA KONZOLNI C# OSNOVNO http://www.mycity.rs/net/programiranje-u-c-za-osnovce-i-srednjoskolce.html http://milan.milanovic.org/skola/csharp-00.htm Niz deklarišemo navođenjem tipa elemenata

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

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

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2)

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2) 1/42 SQL DDL CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2) 2/42 SQL DDL: CREATE SCHEMA CREATE SCHEMA ime-sheme [ AUTHORIZATION ime-vlasnika-sheme] [ CREATE

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

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

PRIJEMNI ISPIT IZ INFORMATIKE

PRIJEMNI ISPIT IZ INFORMATIKE PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Petak,04.09.2015 PRIJEMNI ISPIT IZ INFORMATIKE PITANJA I ZADACI IZ INFORMATIKE 1. Kombinacija tastera Ctrl+C koristi se u Windows aplikacijama

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

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Packages Reference objekata Inheritance nasljeđivanje Exceptions Packages API Application Programmer Interface Sve klase ponuđene u sklopu Java jezika, uključujući i kompajler

More information

Jezik Baze Podataka SQL. Jennifer Widom

Jezik Baze Podataka SQL. Jennifer Widom Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case

More information

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi Ograničenja Ciljevi Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi Generisati i održavati ograničenja u bazi podataka Uvod

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

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi. 1 PANEL komponenta kontejnerska, slična GropBox. Roditeljska komponenta za komp. postavljene na nju. Zajedno se pomeraju. Caption svojstvo za naziv; Alighment pomera svojstvo Caption levo i desno; Align

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

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

Introduction. Why Use HDL? Simulation output. Explanation

Introduction. Why Use HDL? Simulation output. Explanation Introduction Verilog HDL is a Hardware Description Language (HDL) HDL is a language used to describe a digital system, for example, a computer or a component of a computer. Most popular HDLs are VHDL and

More information

VHDLPrimeri Poglavlje3.doc. end process seq; Slika 3.1: Anatomija osnovne definicije test bench-a

VHDLPrimeri Poglavlje3.doc. end process seq; Slika 3.1: Anatomija osnovne definicije test bench-a 3. Verifikacija projekta - Test bench entity TestBench is end entity TestBench; architecture TB_Arhitektura of TestBench is component UUT (Arhitektura_UUT) port( end component UUT; prazan entitet -- deklarisanje

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

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

Osnovne strukture podataka

Osnovne strukture podataka Osnovne strukture podataka Osnovni pojmovi Promenljive i konstante su osnovni oblici podataka sa kojima se operiše u programu Deklaracije listaju spisak promenljivih koje ce se koristiti, određuju kog

More information

Informacioni sistemi i baze podataka

Informacioni sistemi i baze podataka Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka Dr Slavica Kordić Milanka Bjelica Vojislav Đukić Rad u učionici (1/2) Baze podataka (db2015): Studentska korisnička šema

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

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n.

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n. Rekurzivne metode Rekurzivan metod je onaj metod koji u nekoj svojoj instrukciji sadrži poziv samog sebe. Svakako prilikom kreiranja rekurzivnog metoda moramo voditi računa da ne dodje do beskonačne rekurzije

More information

Uvod u programski jezik

Uvod u programski jezik 2016 Uvod u programski jezik EDIN PAŠIĆ BIHAĆ sejjidin Muhammedin ve âlih lihî ve sellem Sallallâhu 'alâ sejjidinâ Neka je salavat i selam na prvaka Muhammeda a.s. i na njegovu porodicu ii Predgovor Ovo

More information

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end. For 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} for i:=1 to 5do writeln(i); 2) program ispis; {ispisuje brojeve od 5 do 1 jedan ispod drugog} for i:=5 downto 1 do writeln(i); 3) program

More information

Visual Basic 6.0. Osnove VB. Uvod u računarstvo 1

Visual Basic 6.0. Osnove VB. Uvod u računarstvo 1 Visual Basic 6.0 Osnove VB Uvod u računarstvo 1 Uvod u računarstvo 2 Zadatak 3 Sastavite program za izračunavanje zbira dva broja koristeći ugrađene InputBox () i MsgBox () Visual Basic funkcije. Zadatak

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

More information

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena.

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena. Dežurni nastavnik: Elektrotehnički fakultet u Beogradu Katedra za računarsku tehniku i informatiku Predmet: Testiranje Softvera (SI3TS) Nastavnik: doc. dr Dragan Bojić Asistent: dipl. ing. Dražen Drašković

More information

[] znači opciono; znači ili. Strana 3 od 5

[] znači opciono; znači ili. Strana 3 od 5 Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 2-1 Columns Characters and Rows Concatenation (pridruživanje) stanje povezanosti kao kod lanca; unija

More information

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String

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

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama 8. NIZOVI Niz je indeksirani skup podataka - elemenata niza. Niz se deklarira imenom iza kojeg se u uglatim zagradama zapisuje broj elemenata niza, a ispred imena se zapisuje tip elemenata. // deklaracija

More information

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Obrada izuzetaka Šta je izuzetak? Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Prosleđuje izuzetak,

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

modifier returnvaluetype methodname(list of parameters) { // Method body; }

modifier returnvaluetype methodname(list of parameters) { // Method body; } Početna grupa, 28.11.2015. Metodi 1. Metodi opšti oblik metoda: modifier returnvaluetype methodname(list of parameters) // Method body; 2. Ime metoda: početno slovo je malo, a zatim slijede slova, cifre

More information

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne.

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne. 1. MATLAB UVOD Matlab predstavlja vrlo razvijen skup alata za računanje (matrice, kompleksni brojevi, simbolička matematika), vizualiziranje (2D i 3D), modeliranje, simulaciju i programiranje. Karakterizira

More information

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

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (550) Poglavlje 3 Strukture odluka i ponavljanja dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo Žuljević, dipl.. ing. teo.zuljevic@fesb.hr Pregled

More information

PHP? PHP (recursive acronym "PHP: Hypertext Preprocessor") Open Source general-purpose scripting language Web development

PHP? PHP (recursive acronym PHP: Hypertext Preprocessor) Open Source general-purpose scripting language Web development Intro to PHP PHP? PHP (recursive acronym "PHP: Hypertext Preprocessor") Open Source general-purpose scripting language Web development Ugrađen u HTML. HTML script sa kodom koji nešto radi Izvršavanje na

More information

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi 2 Uvod u Javu Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi 12 Java i objektno orijentirano programiranje Programski jezik Java Krajem

More information

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan

More information

BAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović

BAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović BAZE PODATAKA SQL Opis podataka Neđeljko Lekić Irena Orović www.etf.ac.me U OVOJ LEKCIJI SQL SQL jezik SQL, relacioni model i E/R diagram CREATE TABLE Kolone Primarni ključevi Spoljnji ključevi DROP TABLE

More information

JAVA PROGRAMIRANJE 1

JAVA PROGRAMIRANJE 1 JAVA PROGRAMIRANJE 1 1. Uvod 1. Uvod - kako početi programirati u JAVA jeziku Cilj ovog poglavlja je napisati i pokrenuti jednostavnije Java programe. SADRŽAJ 1. O predmetu. 2. Programi i programski jezici.

More information

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE)

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE) Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE) SISTEMI ZA PODRŠKU ODLUČIVANJU dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Fakultet za računarstvo i informatiku 2013/2014 Tema 8:

More information

x y = z Zadaci - procedure

x y = z Zadaci - procedure Zadaci - procedure Zad1. Data je kvadratna meta u koordinatnom sistemu sa koordinatama A(0,0), B(1,0), C(1,1), D(0,1). Sastaviti proceduru Gadjanje koja će odrediti broj poena na sledeći način: ako je

More information

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom.

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom. tog (tack) tog je posebna vrsta liste: od svih operacija dozvoljeno je ubacivanje, brisanje i gledanje sadržaja elementa samo na jednom kraju liste koji zovemo vrh stoga. tog zovemo i lifo last in first

More information

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end; {*Na Evroviziji je ucestvovalo n izvodjaca. Koji od njih je osvojio najvise glasova publike?*} program Evrovizija; glasovi:array[1..50] of integer; max,k:integer; writeln('unosi se broj izvodjaca:'); writeln('unose

More information

Objektno orijentirano programiranje. Auditorne vježbe

Objektno orijentirano programiranje. Auditorne vježbe Objektno orijentirano programiranje Auditorne vježbe Elektrotehnički fakultet Osijek Kneza Trpimira 2b 31000 Osijek www.etfos.hr 1. Uvod u C# C# (CSharp) je nastao u tvrtki Microsoft i razvijen je od strane

More information

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA SPECIFIKACIJA BAZE PODATAKA ZA PROJEKAT NAZIV_PROJEKTA Veb knjižara - Specifikacija baze podataka 1 10.04.2017. Verzija V 1.0 Datum: 20. mart 2017. Istorija

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

VLSI II E. Özgür ATES

VLSI II E. Özgür ATES VERILOG TUTORIAL VLSI II E. Özgür ATES Outline Introduction Language elements Gate-level modeling Data-flow modeling Behavioral modeling Modeling examples Simulation and test bench Hardware Description

More information

Blokovska struktura C++ programa ima četiri razine:

Blokovska struktura C++ programa ima četiri razine: Blokovska struktura C++ programa ima četiri razine: 1. razina datoteke (temeljna kompilacijska jedinica) 2. razina definicije (tijela) funkcije 3. razina bloka kontrolnih struktura (sekvenca, iteracija,

More information

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje. Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje Milica Ćirić Ciklična algoritamska struktura Ciklična struktura (petlja)

More information

Iskočni okviri (eng. popup boxes)

Iskočni okviri (eng. popup boxes) 9. JavaScript 2.dio Iskočni okviri, funkcije, petlje, događaji M. Zekić-Sušac 1 Iskočni okviri (eng. popup boxes) U JavaScriptu mogu se koristiti 3 vrste iskočnih okvira: Upozoravajući okviri (eng. alert

More information

Algoritmi i strukture podataka 2. Čas, Uvod u C++

Algoritmi i strukture podataka 2. Čas, Uvod u C++ Algoritmi i strukture podataka 2. Čas, Uvod u C++ Aleksandar Veljković 2017/2018 1 Uvod Jezik C++ je jezik koji pripada objektno orijentisanoj paradigmi, ipak, u okviru ovog kursa naglasak neće biti na

More information