Fakultet 
tehničkih nauka 

 

 

 

 

+

_

 

Katedra 

za 

elektroniku 

 
 

Trg Dositeja Obradovića 6, 21000 Novi Sad, tel. 021/450-032, fax. 021/450-028

 

 
 
 

 

 
 
 
 
 
 
 
 
 
 

SKRIPTA ZA RAČUNARSKE VEŽBE IZ VHDL-a 

 

 
 
 

Ivan Mezei i Rastislav Struharik 

 
 
 
 
 
 
 
 
 
 
 

 

 

 

Novi Sad, oktobar 2006. 

 
 
 
 
 
 

Računarska elektronika – VHDL                                                                                              

 

 

Sadržaj 

 

UVOD ...............................................................................................................................4

 

NIVOI MODELOVANJA I APSTRAKCIJE.................................................................5

 

STRUKTURA VHDL PROGRAMA ..............................................................................7

 

D

EKLARACIJA ENTITETA

.................................................................................................7 

D

EFINISANJE ARHITEKTURE

.............................................................................................9 

Opis ponašanja ..........................................................................................................9

 

Strukturalni opis.......................................................................................................11

 

P

ROCESI

.......................................................................................................................12 

SEKVENCIJALNE NAREDBE....................................................................................13

 

I

F NAREDBE

..................................................................................................................13 

PRIMER 1................................................................................................................15

 

C

ASE NAREDBE

.............................................................................................................15 

PRIMER 2................................................................................................................19

 

S

IGNALI ILI PROMENLJIVE U PROCESIMA SINTEZE

...........................................................20 

PRIMER 3................................................................................................................20

 

LEKSIČKI ELEMENTI................................................................................................22

 

K

OMENTARI

..................................................................................................................22 

I

DENTIFIKATORI

............................................................................................................22 

R

EZERVISANE REČI

.......................................................................................................23 

S

PECIJALNI SIMBOLI

......................................................................................................23 

B

ROJEVI

.......................................................................................................................24 

K

ARAKTERI

..................................................................................................................25 

S

TRINGOVI

....................................................................................................................25 

B

IT STRINGOVI

..............................................................................................................26 

KONSTANTE I PROMENLJIVE ................................................................................27

 

D

EKLARACIJE KONSTANTI I PROMENLJIVIH

....................................................................27 

D

ODELA VREDNOSTI PROMENLJIVOJ 

(

VARIABLE ASSIGNMENT

) .......................................28 

SKALARNI TIPOVI .....................................................................................................29

 

D

EKLARACIJE TIPOVA

...................................................................................................29 

C

ELOBROJNI TIPOVI

.......................................................................................................29 

F

LOATING

_

POINT TIPOVI 

(

TIPOVI SA POKRETNIM ZAREZOM

) ...........................................31 

F

IZIČKI TIPOVI

..............................................................................................................32 

Time .........................................................................................................................34

 

N

ABROJIVI 

(

ENUMERISANI

)

 TIPOVI

.................................................................................34 

K

ARAKTERI

..................................................................................................................35 

B

OOLEAN

.....................................................................................................................35 

B

IT TIP

..........................................................................................................................36 

S

TANDARD LOGIC

.........................................................................................................36 

IZRAZI I OPERATORI ................................................................................................38

 

background image

Računarska elektronika – VHDL                                                                                              

 

 

 

Uvod 

 
VHDL  (

V

ery  High  Speed  Integrated  Circuits 

H

ardware 

D

escription 

L

anguage

predstavlja programski jezik koji se koristi za opis hardvera. Koristi se za simulaciju i za 
sintezu hardvera i to su dve oblasti primene VHDL-a kojima ćemo se baviti u okviru ovog 
dela kursa. 
 
Osim  VHDL-a,  u  upotrebi  su  i  Verilog,  AHDL,  ABEL,  Cupl  i  drugi  programski  jezici  u 
ovoj oblasti, ali se VHDL i Verilog najviše koriste. 
 
VHDL  počinje  da  se  razvija  krajem  70-ih  i  početkom  80-ih.  Danas,  VHDL  predstavlja 
jezik pomoću kojeg se mogu opisati veoma složeni procesi, hardverske arhitekture itd. pa 
kao takav predstavlja industrijski standard u ovoj oblasti. Razvoj VHDL-a kao standarda je 
počeo  1986.  kada  je  predložen  prvi  IEEE  standard.  Posle  nekoliko  revizija,  u  decembru 
1987.  je  usvojen  IEEE  1076  standard.  Ovaj  standard  je  1993.  imao  reviziju,  tako  da  je 
danas uglavnom u upotrebi IEEE 1076-1993 standard (kraće VHDL93) iako je i posle toga 
nastavljan razvoj na ovom standardu (poslednja revizija je bila 2002). 
 
Iako  VHDL  predstavlja  programski  jezik  i  po  elementima  sintakse  veoma  podseća  na 
dobro  poznate  programske  jezike  (Pascal,  C,  C++  itd.),  treba  biti  oprezan  pri  njegovom 
razumevanju jer se on suštinski razlikuje. Osnovna razlika je u tome što je VHDL u suštini 

paralelan

 jezik, a ne samo strukturalan kao što je recimo Pascal ili objektno orijentisan kao 

što  je  C++.  Pod  pojmom  paralelan  se  podrazumeva  da  se  elementi  VHDL  programa  u 
suštini izvršavaju paralelno (konkurentno, istovremeno) jer VHDL nastoji da opiše fizički 
sistem, najčešće, neki digitalni sistem. U strukturalnim programskim jezicima program se 
izvršava  po  principu  “naredba  po  naredba”  i  na  unapred  predviđen,  sekvencijalan,  način. 
Digitalni sistemi gde recimo imamo više ulaza u zavisnosti od kojih se menja izlaz, način 
izvršavanja  VHDL  programa  koji  opisuje  takav  sistem  se  značajno  razlikuje  i  ne  postoji 
pravilo  po  kojem  se  svaki  program  izvršava,  već  način  izvršavanja  zavisi  od  konkretnog 
programa. Kasniji primeri će bliže pojasniti način izvršavanja VHDL programa. 
 
U  realnim  sistemima  imamo  odgovarajuća  kašnjenja  logičkih  kola  i  drugih  elemenata 
sistema,  i  njihovo  modelovanje  je  omogućeno  u  VHDL-u.  Dakle,  pomoću  VHDL-a  je 
moguće  modelovanje  veoma  složenih  sistema  i  nivo  dubine  opisa  hardvera  i  abstrakcije 
zavisi isključivo od programera i njegove potrebe. 
 

Računarska elektronika – VHDL                                                                                              

 5 

 

  

Nivoi modelovanja i apstrakcije 

 
Kao  što  je  u  uvodu  rečeno,  VHDL  predstavlja  univerzalan  jezik  za  različite  primene  u 
procesima opisa, modelovanja, simulacije i sinteze hardvera. 
 
Nivoi modelovanja najčešće se dele u tri grupe:  

1)

 

Funkcionalni ili nivo ponašanja (

behavior

)  

2)

 

Strukturalni  

3)

 

Fizički ili geometrijski 

 
Ova  podela  nije  striktna  i  razlikuje  se  u  literaturi,  ali  suština  je  slična  kod  svih  podela. 
Nivoi modelovanja ujedno predstavljaju i nivoe abstrakcije. Pojam abstrakcije je poznat i u 
strukturalnim programskim jezicima. Recimo, ako želimo da uradimo množenje dva broja 
to u C-u možemo uraditi u jednom redu, iako se na konkretnom hardveru – mikroprocesoru 
ta  operacija  izvršava  u  više  perioda  takta.  Na  taj  način  programer  ne  mora  detaljno  da 
razmišlja  o  konkretnom  hardveru.  Slično,  u  VHDL-u  što  je  neki  nivo  po  svom  opisu 
udaljeniji od konkretne hardverske implementacije to je njegov nivo abstrakcije veći.  
 
Prvi nivo opisuje ponašanje sistema i samim tim predstavlja najviši nivo abstrakcije. Drugi 
nivo  modeluje  strukturu  sistema  u  smislu  povezivanja  pojedinih  celina.  Najniži  nivo 
abstrakcije i najkonkretniji je fizički nivo gde se programer može spustiti do fizičkog nivoa 
– tranzistora, otpornika itd. 
 
U  okviru  ovog  kursa  će  biti  razmatrana  samo  prva  dva  nivoa,  a  konkretan  način 
implementacije hardvera će biti prepušten softverskim alatima koji će se koristiti. 
 
Sledeći primer opisuje različite nivoe modelovanja i abstrakcije. Pretpostavimo da treba da 
realizujemo  mali  elektronski  digitalni  sklop  čija  je  funkcija  da  upozori  vozača  u 
automobilu  da  nije  vezao  pojas  ili  da  su  vrata  otvorena.  Ulazi  u  ovaj  digitalni  sistem  su: 
stanje motora (startovan ili ne), stanje vrata (otvorena ili ne) i stanje pojasa (vezan ili ne).  
Dakle  upozorenje  (izlaz našeg  sklopa)  se  aktivira  samo  ako je motor  startovan  i pri  tome  
vozač ili nije vezao pojas ili nije vrata nisu zatvorena (ovo je već opis ponašanja, a koliko 
smo  daleko  od  konkretne  implementacije!).  Ovaj  tekstualni  zapis  se  može  zapisati  i 

algoritamski

  (slika  1), 

Bulovom  algebrom

  (slika 2),  ili  recimo 

tablično 

(tabela  1),  što  sve 

predstavljaju podnivoe prvog nivoa - nivoa ponašanja. Ukoliko sistem prikažemo crtanjem 
konkretnih logičkih blokova i njih povežemo u cilju dobijanja željene funkcije onda smo to 
uradili na strukturalnom nivou (slika 3). 
 
 
 
 
 
 
 
 
 

background image

Računarska elektronika – VHDL                                                                                              

 7 

 

Struktura VHDL programa 

 
VHDL programi se sastoje iz tri dela:  

1)

 

deo za uključivanje biblioteka i paketa 

2)

 

deo koji opisuje entitet (

entity

) i 

3)

 

arhitekturnog dela 

 
Za sada ćemo razmatrati samo drugi i treći deo. 
 
Drugi deo programa opisuje interfejs modula koji VHDL program opisuje. Dakle interfejs 
prema spolja. Ako zamislimo da VHDL program opisuje ponašanje jedne crne kutije, onda 
deo  koji  opisuje  entitet  u  stvari  opisuje  spoljašnje  tačke  (

portove

) preko  kojih crna  kutija 

komunicira sa spoljnim svetom. (slika 4) 
 
Treći  deo  programa,  arhitekturni  deo,  opisuje  način  funkcionisanja  entiteta  definisanog  u 
prvom delu. Arhitekturnih delova može biti više. Za sada ćemo podrazumevati da je samo 
jedan arhitekturni deo. 
 

 

 

Slika 4: 

Blok šema VHDL programa 

Deklaracija entiteta 

 
Kako bi izgledala deklaracija entiteta za naš primer? 

 

 

 
 
 
 
 

 
 
 

 
Na ovom primeru se vide neke od osobina VHDL-a.  

deklaracija 

entiteta 

(interfejs) 

 

 

telo 

(arhitektura) 

portovi 

-- 

primer deklaracije eniteta  

entity 

ALARM 

is 

port 

(VRATA  

in 

std_logic; 

 

POJAS  

in 

std_logic; 

 

MOTOR  

in 

std_logic; 

 

UPOZORENJE : 

out 

std_logic); 

end entity 

ALARM;

 

Želiš da pročitaš svih 51 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti