L Tutoriijal
ActiveH
HDL je integrrisano softve
ersko okrueenje za razvvoj VHDL projekata. Je zgro ActiveHDLa je
VHDLsim
mulator,kojizajednosapodrkomzzaunos kda,otkrivanje
egreakau kduiorgan
nizovanje
projekatta omoguaava kreiranje i verifikaaciju VHDL projekata razliitog nnivoa sloen
nosti, od
jednostaavnihdoveomasloenih.
Ovimtuttorijalomobuhvaenoje:
a,pisanjenovvihidodavanjepostojeihizvornihV
VHDLfajlova..
Kreiranjenovogprojekta
KompajliranjjeidebagiranjeVHDLproojekta.
Pisanjetestb
bena
SSimulacijaVHDLprojekta
a.
1.1 Pokretanje
e program
ma
SStartAllP
ProgramsA
AldecAc veHDLStud
dentEdition
Sl.1
Arhitektu
uredigitalnihssistema
1.2 K
Kreiranje n
novog pro
ojekta
U d
dijalogu Gettting Started
izab
brati opciju Create new
worrkspace, a zaatim klik na
duggmeOK
UdijaloguNew
wWorkspace
upissati ime novvog radnog
prostora, np
pr lab1 i
izab
brati direkto
orijum gde
e radni prrostor biti
me Browse),
smeeten (dugm
a zaatim klik na dugme OK
ActiveHD
DLtutorijal
P
Na stranici Property Page
brati
V
VHDL
kao
izab
pod
drazumevani jezik projjekta
(kao
o na slici). Podeavanjja u
delu
u Target Tecchnology osttaviti
bezizbora(NotDefined).Klikna
duggmeNext
Arhitektu
uredigitalnihssistema
Nasledeojstraanici,upisati
imee novog pro
ojekta, npr.
cou
unter, u poljje Type the
design namee. Ostaviti
pod
drazumevanu
u lokaciju
projjektnog direktorijuma
(poljeSelecttheelocationof
f
the design folder) i
pod
drazumevano
oimeradne
bibllioteke projjekta (polje
Thee name of the default
worrking librarry of the
desing), a ond
da klik na
duggmeNext
Osn
novni podacci o novom
projjektu prikazzani su na
posslednjoj stranici vizarda
New
wDesignWizzard
Upanelu
uDesignBro
owsersadasuprikazaninnoviradniprrostor,lab1,inoviprojekkat,counter,,uokviru
ovograd
dnogprostorra(Sl.2).Pro
ojekatjeceloovitopisnekkogdigitalnogsistema,koojisekaotakkavmoe
kompajliirati i simullirati. Radni prostor je okvir za je
edan ili vie
e projekata.. Na primerr, za sve
laborato
orijske vebee iz predmeta Arhitektuure digitalnih sistema dovoljan je jjedan radini prostor.
Svakoj laboratorijskkoj vebi odgovarao bi jedan proje
ekat. Meuttim, studenttska verzija softvera
4
ActiveHD
DLtutorijal
HDL ne dopu
uta kreiranja vie od jeednog projekkta u radnom prostoru. Zbog toga, prilikom
ActiveH
kreiranjaa svakog no
ovog projektta, biemo prinueni da
d kreiram poseban raddni prostor,, shodno
prethodnoopisanojproceduri.
Projekatt counter je za sada prazan, tj. ne ssadri ni jedan projektni fajl. Stavkee koje sada vidimo u
okviruprojektacoun
ntersupreiccezapozivannjevizardazadodavanje(kreiranje)nnovogfajla(AddNew
ove bibliotekke (Add New Library). Stavka counnter library je radna
File) i dodavanje (kkreiranje) no
bibliotekkaprojekta,u
ukojojebittismetenessvekompajliiraneprojekttnejedinice projektacou
unter.
Sl.2
1.3 D
Dodavanje
e VHDL izv
vornog fa
ajla
VHDLprojekatmoeedasadrijedanilivieIzzvornih(sourrce)fajlova,odnosnofajllovakojisadreVHDL
kd.VHD
DLfajlsemo
oedodatiuprojekatbil okaonovi(p
pieseizpoetka)ilikaoopostojei(preuzima
seiznekkogprethodn
nogprojekta).
1.3.1
D
Dodavanje postojeeg
g VHDL fajlla
SeleektovatistavvkuAddNew
w
File(jedanklik)
Klikkomnadesno
odugmemia,
prikkazujesepad
dajuimeni
BiraamostavkuA
AddFilesto
Dessign
Arhitektu
uredigitalnihssistema
Udijaloguzado
odavanjefajla
imaamomogunostdase
pozzicioniramon
na
odggovarajuidirektorijumi
izab
beremotraeenifajl
Nakkontosmopronalii
seleektovalitraeenifajl,klikom
nad
dugmeOpen
nzavravamo
o
procedurudodaavanja
posstojeegfajlaa.
UpaneluDesign
nBrowser,
dod
datifajlbieprikazankao
o
novvastavkauprojektu
cou
unter.
1.3.2
K
Kreiranje n
novog VHDL
L fajla
Sl.3
SeleektovatistavvkuAddNew
w
File(jedanklik)
Klikkomnadesno
odugme
mia,prikazujesepadajui
men
ni
BiraamostavkuN
New,aonda
VHD
DLSource
ActiveHD
DLtutorijal
PokkreesevizarrdNew
Sou
urceFileWiza
ard,kojinam
m
pom
maedakreirramonovi
izvo
ornifajl
Plaaviastipravvougaonik
predstavljakolo
okojeebiti
opissanoovimVHDLfajlom.
Zassada,interfejjsovogkola
jeprazan.Nasledeim
straanicamavizarda
imaaemopriliku
udazadamo
osnovnepodatkkeoovom
kolu
u,toeobu
uhvatitii
specifikacijuinterfejsa.
StavvkaAddthegenerated
filetothedesign
nostaje
tiklirana.
KlikknaNextzan
nastavak.
NasstraniciNam
me,upolje
Typ
pethenameo
ofthe
sourcefiletocreeate,
upissujemoimenovog
izvo
ornogfajla(ccount16)
Preostaladvateekstpolja
ostaavitinepopunjena.
KlikknaNextzan
nastavak.
Arhitektu
uredigitalnihssistema
NasstraniciPortss,
defiiniemoulazzneiizlazne
portovekola
Obrratimopanjudaje
plaaviastiblokkdobioime
(cou
unt16).
Zad
dodavanjepo
orta,klikna
duggmeNew
UpoljeNameupisujese
imeeporta.Prviportkoji
dod
dajemojepo
ortzatakt
(clkk)
UoblastiPortdirection
biraamosmerpo
orta.(Taktje
ulazzukolo,zato
ozaclk
biraamosmerin)).
Pretthodnuprocceduru
pon
novitizasvakkiport.
ActiveHD
DLtutorijal
Priliikomspecifikkacije
vieebitnogportaadodatnoje
e
potrebnoupoljimaArray
Indeexesdefinisaatiopseg
indeeksa
Vrednosti3i0zznaedaje
irin
naportaqeetiribitaida
sun
njegovipojed
dinani
bito
ovioznaeniindeksima
poevod3pan
naniedo0:
saq
q3,q2,q1,q0.
Uoimodajep
plaviasti
pravvougaonikdobio
prikkljuke:ulazn
niportovisu
posstavljeniduleve,a
izlazznidudesnestranice
pravvougaonika.
KlikknaFinishzakraj.
Sl.4
U ActiveeHDLu, u panelu
p
Desig
gn Browser sada vidimo
o novu stavvku, count166.vhd, koja odgovara
o
novokreiranomVHD
DLfajlu(Sl.5
5).Znakpitaanjaporedo
ovestavkezn
naidafajlccount16.vhd
d jouvek
nijekom
mpajliran.
U desno
om panelu prikazan
p
je sadraj
s
fajla count16.vhd
d (Sl. 5). Te
ekst koji viddimo generissan je od
strane vvizarda New
w Source Filee Wizard naa osnovu unetih podattaka. Linije koje poinju
u sa dve
uzastopn
necrtice,iprikazane
esuuzelenoojbolji,sukomentari.Ovajtekstne pripadaVHDLopisu,
nije obaavezan, preskae se priliikom kompaajliranja, mo
oe se pisati bilo gde u tekstu VHDL fajla, a
tipinossadrinekeo
opteinform
macijeokolu kojeseopissujeVHDLom
miliukazujeprojektantu
unaneke
bitne deetalje u vezii VHDL kda
a. Preostali deo teksta sadri VHDL kd. Kljune rei jeziika VHDL
napisaneesuplavombojom.
SvakiVH
HDLopisnekkogkolasadrritriceline::1)deklaraccijabiblioteka(tekstkoji vidimouovvojsekciji
postojaeusvakom VHDLfajlu kojiemonaapisatitokom
movogkursa),2)entiteet(sadrispe
ecifikaciju
9
Arhitektu
uredigitalnihssistema
Sl.5
ActiveHD
DLtutorijal
Sl.6
1.4 K
Kompajlira
anje VHDL fajla
HDL fajlu. Kompajler
Cilj kom
mpajliranja jee kreiranje simulacionog
s
g modela ko
ola koje je opisano
o
u VH
K
proveravva sintaksnu
u ispravnost opisa i prevvodi opis u binarni
b
fajl koji
k sadri svve informacije o kolu
neophod
dnezasimulaciju.
11
Arhitektu
uredigitalnihssistema
UpaneluDesign
nBrowser,se
elektovati
VHD
DLfajl(countt16.vhd).
Klikkomnadesno
odugmemia,prikazuje
sep
padajuimen
ni
BiraamostavkuC
Compile
Nakkonkompajliranja,VHDLfajl
cou
unt16.vhdjeo
oznaenzele
enimznakom
m
potvvrde,toukaazujedajekduspeno
kom
mpajliran
Ispo
odkompajliranogfajlavidimonovu
stavvku,count16
6(count16).K
Kompajlerjeeu
VHD
DLfajluuoio
oiizdvojioje
ednu
projjektnujediniicu.Imeentitetaove
jediinicejecount16.Imearh
hitektureje
nap
pisanouzagrradi.Kompajlerje,takoee,
smeestioovupro
ojektnujedin
nicuuradnu
biblliotekuprojeektacounterlibrary.
Kom
mpajler,tako
oe,registrujjegrekeu
kd
du,iukolikoggrekeposto
ojeprikazuje
odggovarajuaobavetenjan
nakonzoli(tj .
upaaneluzaporukenadnup
prozora
ActiiveHDLa).
1.5 Siimulacija
a
Ciljsimu
ulacijejeprovverafunkcio
onalneispravvnostiVHDLmodelaiuoavanjeiisppravljanjeeve
entualnih
greakauopisupreffizikerealiza
acijesistemaa.
1.5.1
T
Testben
SimulacijaVHDLmodelajeslinasprovoennjueksperim
mentanadre
ealnim,fizikkimkolom.U
Ujednom
m eksperimen
ntu, na ulazze fizikog kkola se delu
uje stimulanssima (pobuddinim signalima koje
realnom
azikola(nprr.ureajemkkaotoje
generieeureajpoputgeneratorrasignala)ippritomsenaadgledajuizla
12
ActiveHD
DLtutorijal
Sl.7
Procedurajesledeaa:
KreiratinoviVHDLfajl
13
Arhitektu
uredigitalnihssistema
Imeefajlajecoun
nt16_tb
Pop
pravilu(nijeobavezno,alijeustaljen a
praksa),imeVH
HDLfajlakojisadre
testtbenizvodiseizimenaV
VHDLmodulla
kojisetestirado
odavanjemssufiksa_tb.
duidatestbennemapo
ortove,na
Bud
stan
nicizadefinisanjeportovvakliknuti
Finiish.
Nap
pisatikdtesstbena(Sl.8).
14
ActiveHD
DLtutorijal
Sl.8
oviedetalja
asadrajfajlaacount16_tb
b.vhd.
Razmotrrimosaneto
Entitettestbenanesadrip
portove(sekkcija1)
Udeklarativnom
mdeluarhite
ekture(deo kdaizmeu
uzaglavljaarhitektureikkljunereibegin)se
piee:
o Deklaracijakomponentekojasettestira(sekcijja2).Deklara
acijajeslinaadeklaracijientiteta:
Entitet:
Kompo
onenta:
entity count16 is
i
port(
clk : in STD_L
LOGIC;
rst : in STD_L
LOGIC;
en : in STD_LO
OGIC;
cout : out STD
D_LOGIC;
COMPO
ONENT coun
nt16
PORT
T(
en : IN std
d_logic;
rst
t : IN st
td_logic;
clk
k : IN st
td_logic;
cou
ut : OUT std_logic
c;
q : o
out STD_LOG
GIC_VECTOR(
(3 downto 0
0)
);
end cou
unt16;
q : OUT
15
std_
_logic_vect
tor(3 downt
to 0)
);
END COMPONENT;
C
;
Arhitekturedigitalnihsistema
Signali za vezu sa ulaznim portovima kola su (po pravilu, mada nije neophodno)
inicijalizovanina0.Tojevrednostkojueovisignaliimatinapoetkusimulacije.Takoe,
signali za vezu sa portovima kola koje se testira imaju ista imena kao i odgovarajui
portovi(mada,nijeobavezno).
o
Definicijataktnogperioda(sekcija4):
constant clk_period : time := 10ns;
Teloarhitekture(izmeubeginiend)sadrisledeesekcijekda:
o Instanciranjekomponentekojasetestira(sekcija5):
uut: count16 PORT MAP (
en => en,
rst => rst,
clk => clk,
cout => cout,
q => q
);
Naredba za instanciranje pravi jedan primerak kola koje se testira (count16). Ime ove
konkretne instance je uut. Deo PORT MAP, povezuje unutranje signale testbena na
portovekomponente:Levojeimeporta,adesnoimesignala.
o
Proceszagenerisanjetaktnogsignala(sekcija6):
clk_process :process
begin
clk <= '0';
wait for clk_period/2;
clk <= '1';
wait for clk_period/2;
end process;
Procesjedeokdakojiseneprekidnoponavlja.Kaotovidimo,signalclkseprvopostavi
na0,zatimseekadaproeprvapolovinataktnogperioda,ondaseclkpostavina1ieka
daproedrugapolovinataktnogperioda.Zatimsesveponavljaizpoetka:
16
ActiveHD
DLtutorijal
Kdzaggenerisanjesstimulansa(ssekcija7):
rst
r
<= '0'
', '1' aft
ter 50ns,
e
en
Izgledtaalasnihoblikastimulansaazavisiodto
ogakakosmo
oosmislilitesst.
1.5.2
S
Simulacija testbena
Kom
mpajliratiVHDLfajlcoun
nt16_tb
17
Arhitektu
uredigitalnihssistema
_tb
Projjektnujediniicucount16_
oznaitikaovrni(TopLevel)
mod
dulprojekta
Iniccijalizovatisim
mulaciju
Kreiratipanelzaaprikazivanje
talaasnihoblikakklikomnaiko
onu
oznaenunaslicci
18
ActiveHD
DLtutorijal
Sl.9
Izab
bratisignaleza
praenjetokom
m
simulacije(tosu
usignali
ijietalasniob
blicibiti
prikkazani)
Ovo
ojenajjedno
ostavnije
uin
nititakotosseprvo
seleektujusvisiggnalikojisu
odiinteresaionda
prevvuku(drag&
&drop)u
pan
nelzaprikazivvanje
talaasnihoblika.
19
Arhitektu
uredigitalnihssistema
Red
dosledsignalaupanelu
zap
prikazivanjettalasnih
obliikasemoepromeniti
siggnalseselekktujei
prevvuenaeljeenu
pozziciju
Uob
biajenojedanavrhu
bud
duulazni,ap
pridnu
izlazznisignali.Siignaltakta
jeo
obinonasam
momvrhu,
asiggnalzaresettovanja
odm
mahispodtaktnog
sign
nala
Zau
upravljanje
simulacijom(staartovanje,
zaustavljanje,nastavak..)
koriistimokomandeiz
men
nijaSimulatiionili
preicekojesuuokvirene
nasslici
Komandezaupravljaanjesimulaciijom:
Run
RunUntiil
RunFor
do
d
Sttartovanjeilinastavaksim
mulacijeuzaadatomtrajanju.
20
traje
zadatogg
ActiveHD
DLtutorijal
RestartSSimulation
EndSimu
ulation
Vrraasimulacijunapoeta
ak(navremeet=0)
Zaaustavljanjesimulacije.D
Dabiseponoovopokrenula,simulacijaa
m oraiznovad
daseinicijalizzuje.
Uteekstpoljepo
oredikoneza
akomanduR
RunForupisati500ns(vvremesimulaacije).(Buduidajeu
testtbenuperio
odtaktaposttavljenna100ns,vremenuod500nsodgovara500taktnihciklusa.)
Starrtovatisimullacijuklikomnaikonuza komanduRu
unFor.
Rezultatsimulacijep
prikazanupa
aneluzatalassneoblike:
hoblikanalazisevremennskaosa,badarenaunanosekundam
ma:
Utraciizznadtalasnih
Vertikaln
nacrvenalin
nijapredstavvljakursor..Upravougaaonikunavrrhuovelinijeeupisanaje trenutna
pozicija kursoranavvremenskojo
osi.Vrednosttisignalautrenutkukoji jeoznaen kursoromisp
pisanesu
ukoloniValue.(1to
o0upoljuzzavrednost signalaclkzn
naidaseutrenutku5000nsdeavapromena
ovogsignalasa1na0.)Kursorse
emoepomeeratimiem,,ilipomoukkomandi:
Ove kom
mande slue za traenje promena siignala: Prvo se selektuje
e signal iju promenu trraimo, a
onda se klikne jednu
u od dve go
ornje ikone. Ikona usmerrena ulevo trai promennu levo od kursora, a
ikonausmerenaudeesnopromenudesnoodkkursora:
Biramossignalcout
i traenjje udesno
21
Arhitektu
uredigitalnihssistema
Nova
pozicija
kursora
Prikazom
msemoeup
pravljatiskup
pomkomanddizazumiran
nje:
Jednobittnisignal(sviosimq)jep
prikazanuviddisignalnelinijeijiniin
nivopredstavvlja0,avii1.
Viebitni signali (q) se prikazuju
u u vidu dvee ukrtene signalne linije
e. Linije se uukrtaju u trrenucima
b viebitn
nog signala. U romboidu
u koji se prravi ukrtanjjem linija up
pisana je
promenee bilo kog bita
vrednostt koju signall ima u ome
eenom inteervalu. Prazan romboid znai
z
da u njjemu nema dovoljno
prostoraa za ispisivanje vrednosti signala. V
Vrednosti siggnala e posstati vidljivee ako trenuttni prikaz
uveamo
o(komandom
mzazumiran
nje):
22
ActiveHD
DLtutorijal
Sadasu
vrednostti
ispisaneu
dekadno
om
formatu
na
Klikomn
oznaku++pored
imenasignalaq,
ovajsign
nalse
prikazujeeu
proirenom
oblikutalasni
dijagram
mza
svakibit
Razmotrrimosavied
detaljarezultatesimulaccijekolacoun
nt16:
Ulazznisignali(cllk,rstien)su
uprikazanioonakokakosudefinisaniutestbenu .
Priliikom simulaacije sekvencijalnih kolaa vai pretp
postavka da je poetnoo stanje memorijskih
elem
menata(nprr.flipflopovii)nepoznatoo.Zbogtoga vidimo?u
uvremenskoomdijagram
musignala
q. SSignal za ressetovanje up
pravo slui za postavljaanje sekvenccijalnog kolaa u poznato poetno
stan
nje, tj. u kon
nkretnom sluaju u stannje sve nule. Posle resetovanja, vvrednost sign
nala q se
men
njanasvaku
urastuuiviccutaktnogssignalaitou
uskladusao
oekivanomssekvencom promene
stan
njabinarnogbrojaa(0,1
1,2,,15,00,).
Brojanjejeomo
oguenoakovaien=1. Zavremedo
okvaien=0
0,brojanjejeepauzirano,tj.broja
nomstanju.
ostaajeuzateen
Sign
nalizlaznogp
prenosa,cou
ut,imavrednnost1samozavremedo
okjebrojauuzavrnomsstanju,tj.
stan
nju15.
Na kraju
u, treba nap
pomenuti da je ovde re o funkcion
nalnoj simulaciji, odnosnno simulaciji koja ne
uzima u obzir efektte konanogg vremena ppropagacije signala krozz pojedine ddelove kola. Kao to
na vremenskkim dijagram
mima, promeene izlaznih signala
s
su in
nicirane rastuuom ivicom
m taktnog
vidimo n
signalaideavajuseuistommomentukadi promenasiggnalclksa0na1.Urealnnimsistemim
matonije
sluaj, ve svaka pro
omena kasni za signalom
m (ili u opte
em sluaju, za dogaajeem) koji je in
nicirao tu
promenu
u. Simulacijja koja uzim
ma u obzirr efekte prropagacionog kanjenjaa signala se naziva
vremensskomsimulaccijom.Vremenskasimul acijasespro
ovoditeknakonsinteze VHDLopisa,,tj.onda
kadasupoznatidetaaljiunutranjjestrukturekkola.
23