Simulacija projekta korišćenjem softvera MS Project 2003">Simulacija projekta 
korišćenjem softvera MS Project 2003 - See more at: http://studenti.rs/?
s=simulacija+ra%C4%8Dunara&x=7&y=14#sthash.tz1Xmuhc.dpuf

Fakultet 

tehnickih nauka

Katedra

elektroniku

za

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

SKRIPTA ZA RACUNARSKE VEZBE IZ VHDL-a

Ivan Mezei i Rastislav Struharik

Novi Sad, oktobar 2006.

Racunarska elektronika - VHDL

2

Sadrzaj

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

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

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

Deklaracija entiteta.............................................................................................................................................................7
Definisanje arhitekture.......................................................................................................................................................9

Opis ponasanja.................................................................................................................. 9
Strukturalni opis..............................................................................................................11

Procesi..............................................................................................................................................................................12

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

IF NAREDBE...................................................................................................................................................................13

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

Case naredbe.....................................................................................................................................................................15

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

SIGNALI ILI PROMENLJIVE U PROCESIMA SINTEZE..........................................................................................20

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

LEKSICKI ELEMENTI....................................................................................................... 22

Komentari.........................................................................................................................................................................22
IDENTIFIKATORI..........................................................................................................................................................22
REZERVISANE RECI....................................................................................................................................................23
Specijalni simboli.............................................................................................................................................................23
Brojevi..............................................................................................................................................................................24
Karakteri...........................................................................................................................................................................25
Stringovi...........................................................................................................................................................................25
Bit stringovi......................................................................................................................................................................26

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

DEKLARACIJE KONSTANTI I PROMENLJIVIH......................................................................................................27

Dodela vrednosti promenljivoj

(variable assignment)........................................................................................28

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

Deklaracije tipova.............................................................................................................................................................29
Celobrojni TIPOVI...........................................................................................................................................................29
Floating_point TIPOVI (TIPOVI SA

pokretnim zarezom).........................................................................................31

FIZICKI TIPOVI..............................................................................................................................................................32

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

Nabrojivi (enumerisani) TIPOVI.....................................................................................................................................34
Karakteri...........................................................................................................................................................................35
Boolean.............................................................................................................................................................................35
Bit tip................................................................................................................................................................................36
Standard logic...................................................................................................................................................................36

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

background image

Racunarska elektronika - VHDL

4

Uvod

VHDL  

(Very High Speed Integrated Circuits Hardware Description Language)  

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 cemo 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 najvise koriste.

VHDL pocinje da se razvija krajem 70-ih i pocetkom 80-ih. Danas, VHDL predstavlja 

jezik pomocu kojeg se mogu opisati veoma slozeni procesi, hardverske arhitekture itd. pa 

kao takav predstavlja industrijski standard u ovoj oblasti. Razvoj VHDL-a kao standarda 

je poceo 1986. kada je predlozen 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 (krace 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 podseca na 

dobro poznate programske jezike (Pascal, C, C++ itd.), treba biti oprezan pri njegovom 

razumevanju jer se on sustinski razlikuje. Osnovna razlika je u tome sto je VHDL u 

sustini  

paralelan

  jezik,   a   ne   samo   strukturalan   kao   sto   je   recimo   Pascal   ili   objektno 

orijentisan kao sto je C++. Pod pojmom paralelan se podrazumeva da se elementi VHDL 

programa u sustini izvrsavaju paralelno (konkurentno, istovremeno) jer VHDL nastoji da 

opise   fizicki   sistem,   najcesce,   neki   digitalni   sistem.   U   strukturalnim   programskim 

jezicima program se izvrsava po principu “naredba po naredba” i na unapred predviden, 

sekvencijalan, nacin. Digitalni sistemi gde recimo imamo vise ulaza u zavisnosti od kojih 

se menja izlaz, nacin izvrsavanja VHDL programa koji opisuje takav sistem se znacajno 

razlikuje i ne postoji pravilo po kojem se svaki program izvrsava, vec nacin izvrsavanja 

zavisi   od   konkretnog   programa.   Kasniji   primeri   ce   blize   pojasniti   nacin   izvrsavanja 

VHDL programa.

U realnim sistemima imamo odgovarajuca kasnjenja logickih kola i drugih elemenata 

sistema, i njihovo modelovanje je omoguceno u VHDL-u. Dakle, pomocu VHDL-a je 

moguce modelovanje veoma slozenih sistema i nivo dubine opisa hardvera i abstrakcije 

zavisi iskljucivo od programera i njegove potrebe.

Racunarska elektronika - VHDL

5

Nivoi modelovanja i apstrakcije

Kao sto je u uvodu receno, VHDL predstavlja univerzalan jezik za razlicite primene u 

procesima opisa, modelovanja, simulacije i sinteze hardvera.

Nivoi modelovanja najcesce se dele u tri grupe:

1)

Funkcionalni ili nivo ponasanja (

behavior

)

2)

Strukturalni

3)

Fizicki ili geometrijski

Ova podela nije striktna i razlikuje se u literaturi, ali sustina je slicna kod svih podela. 

Nivoi modelovanja ujedno predstavljaju i nivoe abstrakcije. Pojam abstrakcije je poznat i 

u strukturalnim programskim jezicima. Recimo, ako zelimo da uradimo mnozenje dva 

broja   to   u   C-u   mozemo   uraditi   u   jednom   redu,   iako   se   na   konkretnom   hardveru   - 

mikroprocesoru ta operacija izvrsava u vise perioda takta. Na taj nacin programer ne mora 

detaljno da razmislja o konkretnom hardveru. Slicno, u VHDL-u sto je neki nivo po svom 

opisu udaljeniji od konkretne hardverske implementacije to je njegov nivo abstrakcije 

veci.

Prvi nivo opisuje ponasanje sistema i samim tim predstavlja najvisi nivo abstrakcije. 

Drugi nivo modeluje strukturu sistema u smislu povezivanja pojedinih celina. Najnizi 

nivo abstrakcije i najkonkretniji je fizicki nivo gde se programer moze spustiti do fizickog 

nivoa - tranzistora, otpornika itd.

U   okviru   ovog   kursa   ce   biti   razmatrana   samo   prva   dva   nivoa,   a   konkretan   nacin 

implementacije hardvera ce biti prepusten softverskim alatima koji ce se koristiti.

Sledeci primer opisuje razlicite nivoe modelovanja i abstrakcije. Pretpostavimo da treba 

da   realizujemo   mali   elektronski   digitalni   sklop   cija   je   funkcija   da   upozori   vozaca   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 naseg sklopa) se aktivira samo ako je motor startovan i pri tome 

vozac ili nije vezao pojas ili nije vrata nisu zatvorena (ovo je vec opis ponasanja, a koliko 

smo   daleko   od   konkretne   implementacije!).   Ovaj   tekstualni   zapis   se   moze   zapisati   i 

algoritamski

  (slika 1),  

Bulovom algebrom

  (slika 2), ili recimo  

tablicno

  (tabela 1), sto sve 

predstavljaju   podnivoe   prvog   nivoa   -   nivoa   ponasanja.   Ukoliko   sistem   prikazemo 

crtanjem konkretnih logickih blokova i njih povezemo u cilju dobijanja zeljene funkcije 

onda smo to uradili na strukturalnom nivou (slika 3).

background image

Racunarska elektronika - VHDL

7

Struktura VHDL programa

VHDL programi se sastoje iz tri dela:

1)

deo za ukljucivanje biblioteka i paketa

2)

deo koji opisuje entitet (

entity

) i

3)

arhitekturnog dela

Za sada cemo razmatrati samo drugi i treci deo.

Drugi deo programa opisuje interfejs modula koji VHDL program opisuje. Dakle 

interfejs prema spolja. Ako zamislimo da VHDL program opisuje ponasanje jedne 

crne kutije, onda deo koji opisuje entitet u stvari opisuje spoljasnje tacke  

(portove

preko kojih crna kutija komunicira sa spoljnim svetom. (slika 4)

Treci   deo   programa,   arhitekturni   deo,   opisuje   nacin   funkcionisanja   entiteta 

definisanog   u   prvom   delu.   Arhitekturnih   delova   moze   biti   vise.   Za   sada   cemo 

podrazumevati da je samo jedan arhitekturni deo.

Deklaracija entiteta

Kako bi izgledala deklaracija entiteta za nas primer?

Slika 4: 

Blok sema VHDL programa

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

Na ovom primeru se vide neke od osobina 

VHDL-a.

Ž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