You are on page 1of 64

Xilinx ISE

mr Vladimir M. Ćirić
2

Xilinx ISE novembar, 2007


Sadržaj

Predgovor v

1 Tok projektovanja 1
1.1 Faze u projektovanja kola . . . . . . . . . . . . . . . . . . . . . . 1
1.2 HDL opis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Izvorni HDL fajlovi . . . . . . . . . . . . . . . . . . . . . 5
1.3 HDL simulacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 VHDL testbench . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.2 Test Bench WaveForm . . . . . . . . . . . . . . . . . . . . 11
1.4 Sinteza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Implementacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Vremenska simulacija . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7 Programiranje uredjaja . . . . . . . . . . . . . . . . . . . . . . . 18
1.8 Pomoćni alati za vizuelni opis aritekture kola . . . . . . . . . . . 19
1.8.1 Vizuelni opis strukture kola . . . . . . . . . . . . . . . . . 19
1.8.2 Dijagram stanja . . . . . . . . . . . . . . . . . . . . . . . 20

2 Primer: Kolo za sabiranje podataka smeštenih u memoriji 25


2.1 Opis domena problema . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Implementacija kola . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1 HDL opis komponenti . . . . . . . . . . . . . . . . . . . . 26
2.2.2 Simulacija . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.3 Sinteza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.4 Implementacija . . . . . . . . . . . . . . . . . . . . . . . . 33

i
ii SADRŽAJ

3 Laboratorijske vežbe 35
3.1 Bihevioralni opis u VHDL-u . . . . . . . . . . . . . . . . . . . . . 35
3.2 Strukturalni opis i generate petlje . . . . . . . . . . . . . . . . . . 43
3.3 Projektovanje sistema sa memorijom . . . . . . . . . . . . . . . . 50

Xilinx ISE novembar, 2007


Lista slika

1.1 Tok projektovanja . . . . . . . . . . . . . . . . . . . . . . . . . . 3


1.2 Kreiranje novog projekta: naziv projekta . . . . . . . . . . . . . 4
1.3 Čip na kome će biti izvršena implmentacija . . . . . . . . . . . . 5
1.4 Kreiranje izvornih fajlova . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Izbor tipa izvornog fajla . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Definisanje interfejsa komponente koja se kreira . . . . . . . . . . 7
1.7 Dodavanje postojećih izvornih fajlova . . . . . . . . . . . . . . . 7
1.8 Definisanje interfejsa komponente koja se kreira . . . . . . . . . . 8
1.9 Dodavanje Test Bench-a . . . . . . . . . . . . . . . . . . . . . . . 9
1.10 Interfejs prozora nakon dodavanja Test Bench-a . . . . . . . . . . 10
1.11 Izbor tipa simulacije . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.12 Talasni oblici signala . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.13 Dodavanje Test Bench WaveForm-a . . . . . . . . . . . . . . . . . 13
1.14 Wizard za inicijalizaciju tajminga . . . . . . . . . . . . . . . . . . 13
1.15 Prozor za unos oblika ulaznih signala . . . . . . . . . . . . . . . . 14
1.16 Zadavanje oblika izlaznih signala nakon simulacije . . . . . . . . 15
1.17 Izgled kola na RTL nivou dobijenog sintezom VHDL opisa . . . . 16
1.18 Korisnički interfejs PACE alata . . . . . . . . . . . . . . . . . . . 17
1.19 Talasni oblici signala sa realnim vremenskim kašnjenjem . . . . . 18
1.20 Podešavanje veze hosta i FPGA čipa preko interfejsa iMPACT
alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.21 Interfejsa iMPACT alata . . . . . . . . . . . . . . . . . . . . . . . 20
1.22 Izbor tipa izvornog fajla . . . . . . . . . . . . . . . . . . . . . . . 21
1.23 Ǐnterjfejs alata za vizuelni unos opisa strukture kola . . . . . . . 22
1.24 Šema jednobitnog potpunog sabirača . . . . . . . . . . . . . . . . 23
1.25 Ǐnterfejs alata za vizuelni opis kola korišćenjem dijagrama stanja 24

iii
iv LISTA SLIKA

2.1 Blok dijagram projektovanog kola . . . . . . . . . . . . . . . . . . 26


2.2 Struktura fajova . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Spoljni pinovi kola . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Izgled prozora nakon startovanja simulacije . . . . . . . . . . . . 31
2.5 Rezultati simulacije . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.6 Blok dijagram kola na RTL nivou dobijenog sintezom VHDL opisa 32

3.1 Ripple Carry sabirač za neoznačene brojeve . . . . . . . . . . . . 38


3.2 Ripple Carry sabirač za brojeve u jediničnom komplementu . . . 39
3.3 Ripple Carry sabirač za brojeve u komplementu dvojke . . . . . . 40
3.4 Kolo za negaciju brojeva predstavljenih u jediničnom komplementu 41
3.5 Multiplekser sa pridruženim D flip-flopovima . . . . . . . . . . . 43
3.6 RS flip-flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.7 Multiplekser sa pridruženim D flip-flopovima . . . . . . . . . . . 45
3.8 Multiplekser sa pridruženim D flip-flopovima . . . . . . . . . . . 45
3.9 Demultiplekser sa pridruženim D flip-flopovima . . . . . . . . . . 46
3.10 Memorija i upravljačka jedinica koja čita podatke iz memorije . . 50
3.11 Upravljačka jedinica koja čita podatke iz jedne memorije i upisuje
u drugu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.12 Upravljačka jedinica koja čita podatke iz dual-port memorije . . . 52

Xilinx ISE novembar, 2007


Predgovor

Grupu integrisanih kola specifične namene (ASIC - Application Specific Inte-


grated Circuits) čine programabilna logička kola. Za razliku od ostalih tipova
ASIC, PLD (Programmable Logis Devices) programira sam korisnik. U pro-
gramabilna logička kola spadaju: programabilne ROM (PROM), programabilne
logičke mreže (PLA), programabilna I kola (PAL), registarske PLD i program-
abilne gejtovske mreže (PGA). Prve tri grupe su kombinacione mreže, dok su
zadnje dve sekvencijalne. Programabilne gejtovske mreže imaju veze koje mogu
da se programiraju. Za ovu grupu se koristi oznaka FPGA (Field Programable
Gate Array).
FPGA su čipovi kod kojih je moguće programirati funkcije gradivnih eleme-
nata, kao i veze izmed̄u njih. Ove čipove karakteriše niska cena projektovanja i
znatno brže vreme potrebno za projektovanje. FPGA čipovi su veoma pogodni
za digitalnu obradu signala. Rade na većim brzinama od DSP čipova opšte
namene, i po kvalitetu odgovaraju DSP čipovima specijalne namene, a uz sve to
imaju i nižu cenu. Pored toga, FPGA omogućava da se projekat menja nakon
što je proizveden. FPGA je potrebno programirati kako bi se postigla željena
funkcionalnost.
Tehnologije koje omogućavaju programiranje FPGA čipova su: Antifuse
FPGA, Flash FPGA i SRAM FPGA. Kod Antifuze tehnologije, FPGA čip se
programira tako što se odred̄eni skup veza prekida propuštanjem struja koje su
veće od nominalne. Ovakav FPGA čip nije moguće reprogramirati. Flash FPGA
kola je moguće reprogramirati nekoliko hiljada puta. Informacije o vezama un-
utar kola se čuvaju u Flash RAM memoriji. Trenutno dominantna tehnologija
je SRAM FPGA. Ova tehnologija dozvoljava neograničen broj reprogramiranja.
Vreme potrebno za programiranje SRAM FPGA kola je kraće od vremena pro-
gramiranja kola koja su implementirana korišćenjem neke od prethodno nave-
denih tehnologija.

v
vi 0. PREDGOVOR

Dve vodeće svetske kompanije koje se bave razvojem i proizvodnjom FPGA


kola su Xilinx i Altera. U ovom dokumentu prikazano je Xilinx-ovo razvojno
okruženje Xilinx ISE. Namena okruženja je podrška procesu projektovanja elek-
tronskih kola, kao i podrška prilikom simulacije i implementacije kola u FPGA
tehnologiji. Postoji nekoliko različitih distribusija okruženja. Za razliku od
pune, komercijalne ISE, verzije okruženja, besplatna WebPack verzija ima re-
dukovane biblioteke i nema podršku za rad sa nekim vrstama FPGA čipova. Xil-
inx ISE WebPack može se preuzeti sa Xilinx-ovog sajta http://www.xilinx.com.
Veličina instalacije za trenutno aktuelnu verziju 8.2i je 970MB.
Ovaj dokument je preliminarna, elektronska verzija praktikuma, i namen-
jen je studentima pete godine Elektronskog fakulteta u Nisu kao praktikum za
izradu laboratorijskih vežbi iz predmeta Algoritmi i arhitekture specijalizovanih
računarskih sistema, kao i studentima četvrte godine za izradu laboratorijskih
vežbi iz predmeta Projektovanje računarskog hardvera.
Uočene greške i komentare možete slati na email vciric@elfak.ni.ac.yu. Sve
primedbe i sugestije su dobrodošle.

Xilinx ISE novembar, 2007


1

Tok projektovanja

Okruženje Xilnx ISE sadrži alate za podršku svim fazama projektovanja FPGA
kola, kao i biblioteke potrebne za implementaciju HDL opisa na Xilinx FPGA
čipovima. U ovom poglavlju ilustrovane su osnovne faze u procesu projektovanja
i implementacije kola u FPGA tehnologiji.

1.1 Faze u projektovanja kola


Tok projektovanja digitalnih sistema zasnovanih na FPGA tehnologiji sastoji se
od sedam faza (slika 1.1). Faze projektovanja sistema su sledeće:

HDL opis (eng. design entry) Project Navigator Xilinx okruženja pred-
stavlja osnovni korisnički interfejs okruženja i omogućava upravljanje diza-
jnom FPGA čipa korišćenjem ISE projekta. Nakon kreiranja projekta,
projektu je neophodno dodati izvorne fajlove opisa kola u nekom od jezika
za opis hardvera (HDL - Hardware Description Language). Project Nav-
igator omogućava pokretanje neophodnih procesa nad svim izvornim fa-
jlovima dizajna.

HDL simulacija (eng. bihevioral Simulation) Simulacija ovog tipa koristi se


za verifikaciju Bihevioralnog opisa kola, odnosno potvrdu ďa je postignuta
zeljena funkcionalnost opisanog digitalnog sistema. Simulacija se može
pokrenuti nad sledećim tipovima izvornih fajova:

• HDL test bench

1
2 1. TOK PROJEKTOVANJA

• Test bench WaveForm


• HDL izvornim fajlovima.
Sinteza (eng. design synthesis) Proces sinteze, kome prethodi sintaksna anal-
iza HDL opisa, analizira HDL opis i na osnovu opisa gradi/sintetiše/kompajlira
mrežu veza osnovnih ćelija koje su na raspolaganju za izabrani tip FPGA
kola. Rezultujuća mreža, tj. netlista se čuva u .ngc fajlu i funkcionalno
mora odgovarati HDL opisu.
Funkcionalna simulacija (eng. Functional simulation) Simulacija ovog tipa,
umesto HDL opisa, za ulaz simulatora koristi netlistu dobijenu sintezom;
koristi se za proveru funkcionalne ispravnosti dizajna nakon procesa pre-
vodjenja. Simulacija se može izvršiti nad bilo kojim tipom izvornog fajla
koji u sebi može imati instancu kola predstavljenog netlistom:
• HDL test bench
• Test bench WaveForm
Implementacija (eng. design implementation) Implementacija predstavlja
proces kreiranja fajla koji sadrži mapu veza i pozicija podsistema za
konkretni tip FPGA ǩola. Rezultat implementacije je mreža koja, pored
veza osnovnih gradivnih elemenata sa FPGA kola, sadrži i informacije o
pozicijama tih elemenata na FPGA čipu, kao i kašnjenjima. Ova faza se
deli u tri podfaze:
• prevodjenje (eng. translate)
• mapiranje (eng. map)
• pozicioniranje segmenata i rutiranje veza (eng. place and route) .
Timing simulacija (eng. post-route simulacija) Simulacija ovog tipa za ulaz
simulatora koristi mrežu dobijenu implementacijom; koristi se za proveru
funkcionalne ispravnosti dizajna pre programiranja čipa. Može se izvršiti
nakon Place & Route procesa, a pored funkcionalne provere ispravnosti,
bitna karakteristika je da daje izveštaje o realnom kašnjenju signala kroz
kolo. Realna kašnjenja u sistemu moguće je meriti jedino ovim tipom
simulacije.
Programiranje uredjaja (eng. device programming) Generate Program-
ming File je proces podržan od strane BitGen alata u sastavu ISE okruženja.
Ovaj proces na osnovu mreže dobijene implementacijom generiše .bit fajl.
Bit fajl se koristi za konfiguraciju/programiranje čipa.

Xilinx ISE novembar, 2007


1.2. HDL OPIS 3

Slika 1.1: Tok projektovanja

U daljem tekstu ovog poglavlja prikazan je opis interfejsa Xilinx ISE okruženja.
Pozicije alata za podršku nabrojanim fazama projektovanja FPGA sistema u
Xilinx-ovom Project Navigatoru su takod̄e date.

1.2 HDL opis


Izvorni fajlovi u Xilinx okruženju grupisani su u projekte. Svaki Xilinx projekat
sadži parametre ciljnog FPGA sistema. Ovi parametri mogu se podesiti prilikom
kreiranja novog projekta, ili kasnije u toku bilo koje faze projektovanja. U
daljem tekstu prikazan je proces kreiranja novog projekta. Parametri proejkta
su takod̄e objašnjeni.

1. Selektovanjem File → New Project... iz menija Project Navigatora


otvoriće se New Project Wizard (slika 1.2);
2. U polje Project Name se unosi ime projekta;
3. U polje Project Location se unosi putanja direktorijuma na kojoj će pro-
jekat biti snimljen;
Napomena: starije verzije Xilinx okruženja ne snalaze se sa imenima
projekata i putanjama koje u sebi sadrže blanko znake.

Xilinx ISE novembar, 2007


4 1. TOK PROJEKTOVANJA

Slika 1.2: Kreiranje novog projekta: naziv projekta

4. Iz padajuće liste Top-Level Source Type mogu se selektovati:


HDL ako je na vrhu hijerarhije projekta VHDL ili Verilog fajl
Schematic ako je na vrhu hijerarhije šematski dijagram kola
EDIF ako je na vrhu hierarhije izvornih fajlova netlista u standardnom
formatu.

NGC/NGO ako je na vrhu hierarhije izvornih fajlova netlista u Xilinx-


ovom formatu.

Napomena: edif je standardizovani format za p̌amćenje netlisti, dok


je .ngc Xilinx-ov format. Ako se vrši konverzija projekta u ovaj
tip fajla, na primer, koristeći alat za sintezu (eng. sinthesis tool)
. Korišćenje ovog tipa omogućava zaobilaženje postupka sinteze i
direktni prelazak na proces implementacije.

U nastavku teksta biće opsiani parametri HDL tipa projekta. Šematski i


state dijagram opisi, kao pomoćni grafički alati biće razmotreni kasnije.
Na slici 1.5 prikazana je lista parametara projekta. Potrebno je odabrati
ciljnu familiju FPGA kola, oznaku konkretnog čipa iz familije kola, pakovanje,

Xilinx ISE novembar, 2007


1.2. HDL OPIS 5

Slika 1.3: Čip na kome će biti izvršena implmentacija

kao i propisanu brzinu rada kola. Za simulaciju može se iskoristiti ugrad̄eni ISE
Simulator ili neki od raspoloživih ekternih simulatora drugih proizvod̄ača, kao
što je npr ModelSim.

1.2.1 Izvorni HDL fajlovi


Nakon unosa svih potrebnih parametara potrebno je prelaći na naredni dijalog
(slika 1.4) u okviru koga je moguće izvršiti kreiranje novih izvornih fajlova.
Xilinx podržava tri jezika za opis hardvera:
• VHDL,
• Verilog,
• SystemC.
Izborom New Source otvara se prozor za definisanje vrste novog izvornog
koda (slika 1.4). Za tip izvornog fajla moguće je odabrati Schematic, State
Diagram (o kojima će biti reči nešto kasnije), VHDL Module, i sl.
Nakon izbora wizard će otvoriti dijalog sa slike 1.6, gde je moguće definisati
interfejs (portove) novokreiranog kola. Popunjavanje ove tabele nije neophodno
i služi samo kako bi skratio vreme kodiranja za opis entiteta. Drugim rečima
entity deo opisa će na osnovu ove tabele automatski biti generisan. U tabeli
se navode imena portova i tip. Portovi mogu biti ulazni (in), izlazni (out) ili

Xilinx ISE novembar, 2007


6 1. TOK PROJEKTOVANJA

Slika 1.4: Kreiranje izvornih fajlova

Slika 1.5: Izbor tipa izvornog fajla

ulazno-izlazni (inout). Ukoliko je neki signal višebitni, onda se u ovom prozoru


navode i njegove dimenzije.
U okviru sledećeg dijaloga, slika 1.7, moguće je projektu dodati postojeće
izvorne fajlove.
Informacije o novom projektu prikazane su na poslednjem dijalogu wizarda,
a izborom Finish završen je postupak kreiranja novog projekta.
U levom delu Project Navigatora nakon kreiranja novog projekta (slika 1.8)
nalaze se dva tab-a Sources i Processes . U Sources tab-u prikazani su

Xilinx ISE novembar, 2007


1.2. HDL OPIS 7

Slika 1.6: Definisanje interfejsa komponente koja se kreira

Slika 1.7: Dodavanje postojećih izvornih fajlova

izvorni fajlovi projekta. Izvorni fajlovi su prikazani hijerarhijski. Selektovanjem


odred̄enog izvornog fajla moguće je nad tim fajlom izvršiti bilo koji od procesa
iz Processes tab-a. Izabrani proces će uvek biti izvršen, kako za selektovanu
komponentu, tako i za sve komponente koje selektovana komponenta uključuje.

Xilinx ISE novembar, 2007


8 1. TOK PROJEKTOVANJA

Slika 1.8: Definisanje interfejsa komponente koja se kreira

1.3 HDL simulacija


Nakon kreiranja projekta i opisa komponenti sistema, potrebno je simulirati rad
komponenti, odnosno kola, u cilju dokazivanja funkcionalne ispravnosti HDL
opisa. Proces simulacije kola je u tekstu koji sledi ilustrovan na primeru pot-
punog sabirača (full adder). VHDL opis arhitekture potpunog sabirača je dat
u sledećem primeru:
1 architecture Behavioral of Sabirac i s begin
2 sum <= ((a xor b) xor cin ) ;
3 cout <= (a and b) or (a and cin ) or (b and cin ) ;
4 end Behavioral ;

Nakon unošenja opisa kola potrebno je proveriti sintaksnu ispravnost opisa.


Sintaksno, opis je moguće proveriti korišćenjem Check Syntax opcije koja
se nalazi u okviru Synthesize procesa u Processes tab-u. Nakon sintaksne

Xilinx ISE novembar, 2007


1.3. HDL SIMULACIJA 9

provere neophodno je izvršiti simulaciju. Simulaciju je moguće izvršiti na dva


načina: pomoću VHDL Test Bench -a ili Test Bench WaveForm -a.

1.3.1 VHDL testbench


VHDL testbench je VHDL opis koji služi za testiranje opisane komponente.
U delu za opis interfejsa testbench ne sadži portove. U opisu arhitekture kod
testbencha razlikuju se tri celine:

1. signali za uvod̄enje test-podataka u kolo,

2. instanca kola koje se testira,

3. kao i proces koji test podatke u kolo uvodi.

Kako se VHDL testbench-evi često koriste, Xilinx okruženje nudi automati-


zovani proces generisanja ovog tipa HDL opisa. Da bi se projektu dodao novi
testbench, potrebno je odabrati opciju New Source iz menija Project i un-
eti ime testbench-a. Za tip fajla potrebno je izabrati VHDL TestBench (Slika
1.10), a na sledećem dijalogu odabirati kolo koje će biti uključeno u simulaciji.
Nakon informacija o testbenchu koji će biti kreiran sledi automatsko kreiranje
i dodavanje u projekat (slika 1.10).

Slika 1.9: Dodavanje Test Bench-a

Xilinx ISE novembar, 2007


10 1. TOK PROJEKTOVANJA

Slika 1.10: Interfejs prozora nakon dodavanja Test Bench-a

U testbench-u potrebno je opisati talasne oblike signala koji će biti uvedeni
u kolo u postupku simulacije. Za potpuni sabirač iz primera kreirani su sledeći
test vektori:
1 tb : PROCESS
2 begin
3 a <= ’0 ’ , ’1 ’ after 200 ns , ’0 ’ after 400 ns , ’1 ’ after 600 ns , ’0 ’ after
800 ns , ’1 ’ after 1000 ns , ’0 ’ after 1200 ns ;
4
5 b <= ’0 ’ , ’1 ’ after 400 ns , ’0 ’ after 800 ns , ’1 ’ after 1200 ns ;
6 cin <= ’0 ’ , ’1 ’ after 800 ns ;
7 wait ; −− will wait forever
8 end process ;

Sada je moguće iz Sources tab-a se odabirati opciju Behavioral Simu-


lation (Slika 1.11).
Napomena: Testbechevi se nalaze u listi izvornih fajlova projekta jedino u

Xilinx ISE novembar, 2007


1.3. HDL SIMULACIJA 11

slučaju kada je bihevioral simulation ili post-route simulation opcija izabrana.

Slika 1.11: Izbor tipa simulacije

U cilju pokretanja samog procesa simulacije, iz Processes tab-a potrebno je


ekspandovati Xilinx ISE Simulator i izabrati opciju Simulate Behavioral
Model . Talasni oblici signala biće prikazani u prozoru Project Navigatora na
način predstavljen na slici 1.12.

1.3.2 Test Bench WaveForm

Simulaciju je, umesto kodiranjem talasnih oblika u HDL-u kako je prokazano u


prethodnom poglavlju, moguće izvršiti i vizualnim zadavanjem talasnih oblika
signala korišćenjem Test Bench WaveForm-a. Da bi se dodao Test Bench Wave-
Form, treba odabrati opciju New Source iz menija Project i uneti ime fajla.
Za tip fajla potrebno je izabrati TestBench WaveForm (Slika 1.13), nakon
čega se wizard prikazan na slici 1.14.
U zavisnosti od tipa takta koji se koristi potrebno je izabrati jednu od ponud-
jenih opcija u okviru polja Clock Information . Talsni oblici signalima zadaju
se u prozoru prikazanom na slici 1.15). Unošenje talasnih oblika signala vrši se
vizuelno, za razliku od prethodno opisane tehnike gde je bilo potrebno uneti
odgovarajuće test vektore.
Selektovanjem kreiranog TestBench WaveForm-a i pokretanjem procesa Gen-
erate Expected Simulation Results iz Processe tab-a dobija se odgo-
varajući oblik izlaznih signala (slici 1.16).

Xilinx ISE novembar, 2007


12 1. TOK PROJEKTOVANJA

Slika 1.12: Talasni oblici signala

1.4 Sinteza
Nakon uspešno obavljene HDL simulacije potrebno je izvršiti sintezu kola. U
Xilinx ISE okruženju sintezu je moguće izvršiti na sledeći način:

1. U Source tab-u iz padajućeg menija selektovati Synthesis/Implemen-


tation .

2. Selektovati top-level komponentu.

3. Pokrenuti proces sinteze iz Processes tab-a izborom opcije Synthezise-


XST .

XST kreira .ngc netlistu za zadatu familiju FPGA kola i smešta je u direk-
torijum projekta. Izgled kola dobijenog sintezom je moguće videti pokretanjem

Xilinx ISE novembar, 2007


1.4. SINTEZA 13

Slika 1.13: Dodavanje Test Bench WaveForm-a

Slika 1.14: Wizard za inicijalizaciju tajminga

procesa View RTL Schematic , nakon čega se dobija izgled opisanog kola na
RTL nivou u prozoru Project Navigatora (slika 1.17).
Ispravnost netliste dobijene sintezom potrebno je proveriti. Za proveru is-
pravnosti netliste potrebno je generisati model za simulaciju (opcija Generate

Xilinx ISE novembar, 2007


14 1. TOK PROJEKTOVANJA

Slika 1.15: Prozor za unos oblika ulaznih signala

Post-Synthesis Simulation Model ).


Simulacioni model koji generiše ovaj process može se iskoristiti kao ulazni
fajl za neke simulatore kao što su ModelSim XE, ModelSim SE, i sl.

1.5 Implementacija
Nakon sinteze potrebno je izvršiti implementaciju koja obuhvata sledeće korake:

Translate - spaja netliste i kao rezultat spajanja se dobija Native Generic


Database ( .ngd ) fajl,

Map - mapira logiku definisanu NGD fajlom u FPGA elemente (kao izlaz se
dobija NCD fajl),

Xilinx ISE novembar, 2007


1.5. IMPLEMENTACIJA 15

Slika 1.16: Zadavanje oblika izlaznih signala nakon simulacije

Place & Route koji uzima mapirane NCD fajlove i pravi NCD fajl koji se
koristi kao ulaz za generisanje bitstream-a.

Translate, Map, Place & Route se izvršavaju izborom opcije Implement


Design u Processes tab-u, a mogu se i posebno izvršiti izborom svake stavke iz
procesa posebno (Translate, Map, Place & Route).
Pre pokretanja implementacije, neophodno je pinove top-level entiteta vezati
za tačno odredjene pinove na FPGA čipu, na način kako je to predvid̄eno
štampanom pločom na kojoj će FPGA kolo biti ugrad̄eno. Uz Xilinx ISE
okruženje dolazi i alat pod nazivom PACE, koji definše pomenutu vezu pinova.
Veza izmedju pinova entiteta i pinova na FPGA čipu opisana je u tekstualnom
fajlu sa ekstenzijom .ucf (User Constrained File), a alat PACE predstavlja ništa
drugo do grafički interfejs za kreiranje tekstualnog ucf fajla. Ukoliko ucf fajl za
entitet prilikom implementacije ne postoji, tada okruženje povezuje pinove en-

Xilinx ISE novembar, 2007


16 1. TOK PROJEKTOVANJA

Slika 1.17: Izgled kola na RTL nivou dobijenog sintezom VHDL opisa

titeta za pinove FPGA čipa po svom izboru. Izgled PACE alata je dat na slici
1.18.

Nakon izvršene implementacije dobija se izveštaj o zauzeću resursa na


čipu i izveštaj o kašnjenju signala, na osnovu koga je moguce odrediti
frekvencu rada kola.

Izveštaj o zauzeću se može videti nakon mapiranja u Map Report -u. Ovaj
izveštaj prikazuje broj zauzetih Slice-ova (Number of occupied Slices) FPGA
kola, kao i ukupan ekvivalentni broj gejt-ova dizajna ( Total equivalent gate
count for design ). Izvestaj o kašnjenju signala moguće je dobiti izborom
opcije Analyze Post-Place & Route Static Timing .

Xilinx ISE novembar, 2007


1.6. VREMENSKA SIMULACIJA 17

Slika 1.18: Korisnički interfejs PACE alata

1.6 Vremenska simulacija


Vremensku simulaciju moguće je izvršiti nakon mapiranja i nakon Place & Route
procesa, a obavlja se na sledeći način:
Izborom Generate Post-Map Static Timing , i zatim Properties
može se izvršiti odgovarajuća selekcija vezana za detalje o izveštaju, a zatim
aktiviranjem procesa Generate Post-Map Static Timing .
Analyze Post-Map Static Timing opcijom NCD fajl se otvara u poseb-
nom alatu, Timing Analyzer-u, gde se moguće analizirati kašnjenje svih signala.

Postupak timing simulacije je gotovo isti za sve tipove simulacija.


Realna vremenska kašnjenja mogu se jednostavno primetiti i na grafiku Post-
Route simulacije (slika 1.19). Simulacija se može pokrenuti na sledeći način: u

Xilinx ISE novembar, 2007


18 1. TOK PROJEKTOVANJA

Sources tab-u selektovati Post-Route Simulation i odgovarajući test bench


fajl, a zatim u Processes tab-u pokrenuti proces Simulate Post-Place &
Route Model . Na slici 1.19 mogu se videti vremenska kašnjenja signala.

Slika 1.19: Talasni oblici signala sa realnim vremenskim kašnjenjem

1.7 Programiranje uredjaja


Nakon uspešno izvršene simulacije i implementacije, poslednji korak u projek-
tovanju je programiranje veza FPGA kola.
Da bi se programirao FPGA čip, potrebno je aktivirati proces za kreiranje
bitsream-a. U prozoru procesa pokreće se proces Generate Programming
File , a potom Configure Device . Configure Device će aktivirati eksterni
Xilinx-ov alat, deo Xilinx ISE programskog paketa, koji je zadužen za programi-
ranje FPGA čipa.
U prozoru koji se otvori (slika 1.20) potrebno je odabrati tip veze (kabla)
izmed̄u PC-a i FPGA kola: Enter a Boundary-Scan chain manually .
U prozoru koji se nakon toga otvori desnim klikom se bira opcija Add
Xilinx Device , nakon čega se otvara fajl dijalog za zadavanje putanje do
bitstream fajla.
Učitavanjem fajla inicijalizuje se i Boundary-Scan Mod (slika 1.21). Izborom
simbola FPGA čipa, iz pop-up menija bira se opcija Program , nakon čega
počinje proces povezivanja hosta sa čipom, a potom i samo programiranje čipa.

Xilinx ISE novembar, 2007


1.8. POMOĆNI ALATI ZA VIZUELNI OPIS ARITEKTURE KOLA 19

Slika 1.20: Podešavanje veze hosta i FPGA čipa preko interfejsa iMPACT alata

Uspešan proces programiranja je označen porukom Programming Suc-


ceeded . U suprotnom pojavljuje se poruka Programming Failed i tada je
potrebno ponoviti postupak programiranja (greška se može javiti i ako PC nije
povezan sa programatorom).

1.8 Pomoćni alati za vizuelni opis aritekture kola


Schematic i State Diagram su pomoćni alati Xilnx ISE okruženja čija je namena
vizuelni opis kola.

1.8.1 Vizuelni opis strukture kola


U slučaju vizuelnog opisa strukture kola, Schematic-a, HDL opis se kreira na
osnovu šeme kola. Razlika u odnosu na prethodno opisani način kreiranja pro-
jekta je u tome što se u dijalogu za izbor izvornih fajlova (slika 1.22) za tip
izvornih fajlova bira Schematic .
Nakon kreiranja novog izvornog fajla izgled osnovnog prozora u kome se vrši

Xilinx ISE novembar, 2007


20 1. TOK PROJEKTOVANJA

Slika 1.21: Interfejsa iMPACT alata

unošenje šeme kola prikazano je na slici 1.23. U levom delu prozora nalazi se
Sources tab, a u njemu se nalazi Categories u kome se bira kategorija simbola,
kao i Symbols u kome se vrši izbor odgovarajuće vrste simbola. Dodavanjem
simbola i njihovim povezivanjem dobija se grafička reprezentacija HDL opisa
kola. Na slici 1.24 je prikazana šema jednobitnog potpunog sabirača opisanog u
prethodnom poglavlju.
Za kreirani Schematic fajl postupak toka simulacije, sinteza i implementacija
vrše se na način opisan u prethodnom poglavlju.

1.8.2 Dijagram stanja


Dijagram stanja (eng. state diagram) je šema kojom je moguće predstaviti
konačne automate. Kako se konačni automati često koriste za implementaciju
upravljačkih jedinica, Xilinx ISE okruženje poseduje alat za vizuelno unošenje
opisa konačnih automata. Od ovako zadatog vizuelnog opisa prevod̄enjem se

Xilinx ISE novembar, 2007


1.8. POMOĆNI ALATI ZA VIZUELNI OPIS ARITEKTURE KOLA 21

Slika 1.22: Izbor tipa izvornog fajla

dobije skup case struktura na HDL jeziku koji funkcionalno odgovara vizuelno
opisanom automatu.
Da bi se kreirao izvorni fajl dijagram stanja i fajl uključio u projekat, pri-
likom kreiranja novog projekta za tip izvornog fajla potrebno je odabrati State
diagram (slika 1.22). Izgled prozora u kome se vrši unos diagrama stanja
prikazan je na slici 1.25.
Na slici 1.25 prikazan je diagram sa dva stanja: STATE0 i STATE1, i tri
veze. Veze predstavljaju uslove prelaska iz jednog stanja u drugo a definišu se na
osnovu ulaznih signala (u ovom slučaju to su a i b). Stanja STATE0 i STATE1
su povezana sa vrednošću izlaznog signala (u ovom slučaju to je c).
Na osnovu ovako definisanog diagrama stanja generiše se HDL opis kola
izborom opcije Compile (Generate HDL) iz Options menija. Za kreirani vhd
fajl postupak simulacije, sinteze i implementacije isti je kao u prethodna dva

Xilinx ISE novembar, 2007


22 1. TOK PROJEKTOVANJA

Slika 1.23: Ǐnterjfejs alata za vizuelni unos opisa strukture kola

slučaja.
U narednom poglavlju dat je primer projektovanja hardverskog sitema sa
memorijom i upravljačkom jedinicom.

Xilinx ISE novembar, 2007


1.8. POMOĆNI ALATI ZA VIZUELNI OPIS ARITEKTURE KOLA 23

Slika 1.24: Šema jednobitnog potpunog sabirača

Xilinx ISE novembar, 2007


24 1. TOK PROJEKTOVANJA

Slika 1.25: Ǐnterfejs alata za vizuelni opis kola korišćenjem dijagrama stanja

Xilinx ISE novembar, 2007


2

Primer: Kolo za sabiranje


podataka smeštenih u
memoriji

2.1 Opis domena problema


U ovom poglavlju prikazan je tok projektovanja na primeru kola za sabiranje
podataka smeštenih u memoriji u Xilinx ISE okruženju. Kola se sastoji od
sledećih komponenti: upravljačka logika, memorija, demultiplekser, registri i
sabirač.
Detaljan izlgled kola je dat na slici 2.1.
Upravljačka logika je zadužena za sinhronizaciju rada ostalih komponenata
kola. Na svaku uzlaznu ivicu takta šalje novu memorijsku adresu sa koje
je potrebno pročitati podatak.
Memorija na osnovu adrese na adresnoj magistrali uzima podatak sa odgo-
varajuće lokacije i prosledjeje na izlaz.
DMux je kolo koje podatak dobijen iz memorije prosled̄uje na jedan od dva
izlaza na osnovu taktnog signala.
Registri na osnovu taktnog signala naizmenično uzimaju po jedan podatak iz
DMux-a i šalju ga na izlaz koji je povezan sa sabiračem. Nakon obavljenog
sabiranja podaci se šalju na izlaz kola.

25
2. PRIMER: KOLO ZA SABIRANJE PODATAKA SMEŠTENIH U
26 MEMORIJI

Slika 2.1: Blok dijagram projektovanog kola

2.2 Implementacija kola


U ovom poglavlju dat je VHDL opis svih komponenti kola.

2.2.1 HDL opis komponenti


Za svaku komponentu je uradjen HDL opis, na osnovu čega je kreiran Schematic
simbol. Hijerarhijaska struktura fajlova je prikazana na slici 2.2.
Sabirač
1 library IEEE;
2 use IEEE.STD LOGIC 1164.ALL;
3 use IEEE.STD LOGIC ARITH.ALL;
4 use IEEE.STD LOGIC UNSIGNED.ALL;
5
6 entity Sabirac i s
7 Port ( ulaz1 : in STDLOGICVECTOR (7 downto 0) ;
8 ulaz2 : in STDLOGICVECTOR (7 downto 0) ;
9 izlaz : out STDLOGICVECTOR (7 downto 0)) ;

Xilinx ISE novembar, 2007


2.2. IMPLEMENTACIJA KOLA 27

Slika 2.2: Struktura fajova

10 end Sabirac ;
11
12 architecture Behavioral of Sabirac i s
13 begin
14 process (ulaz1 , ulaz2)
15 begin
16 izlaz <= unsigned(ulaz1) + unsigned(ulaz2) ;
17 end process ;
18 end Behavioral ;

Dmux
1 library IEEE;
2 use IEEE.STD LOGIC 1164.ALL;
3 use IEEE.STD LOGIC ARITH.ALL;
4 use IEEE.STD LOGIC UNSIGNED.ALL;
5
6 entity DMux i s
7 Port ( clk : in STD LOGIC;
8 ulaz : in STDLOGICVECTOR (7 downto 0) ;
9 izlaz1 : out STDLOGICVECTOR (7 downto 0) ;
10 izlaz2 : out STDLOGICVECTOR (7 downto 0)) ;
11 end DMux;
12
13 architecture Behavioral of DMux i s
14 begin
15 process ( clk )
16 begin

Xilinx ISE novembar, 2007


2. PRIMER: KOLO ZA SABIRANJE PODATAKA SMEŠTENIH U
28 MEMORIJI
17 i f clk = ’0 ’ then
18 izlaz1 <= ulaz ;
19 e l s i f clk = ’1 ’ then
20 izlaz2 <= ulaz ;
21 end i f ;
22 end process ;
23 end Behavioral ;

Registar
1 library IEEE;
2 use IEEE.STD LOGIC 1164.ALL;
3 use IEEE.STD LOGIC ARITH.ALL;
4 use IEEE.STD LOGIC UNSIGNED.ALL;
5
6 entity Registar i s
7 Port ( clk : in STD LOGIC;
8 ulaz : in STDLOGICVECTOR (7 downto 0) ;
9 izlaz : out STDLOGICVECTOR (7 downto 0)) ;
10 end Registar ;
11
12 architecture Behavioral of Registar i s
13
14 begin
15 process ( clk )
16 begin
17 i f ( clk = ’1 ’ and clk ’ event) then
18 izlaz <= ulaz ;
19 end i f ;
20 end process ;
21 end Behavioral ;

Memorija
1 library IEEE;
2 use IEEE.STD LOGIC 1164.ALL;
3 use IEEE.STD LOGIC ARITH.ALL;
4 use IEEE.STD LOGIC UNSIGNED.ALL;
5
6 entity Memorija i s
7 Port ( WE : in STD LOGIC;
8 clk : in STD LOGIC;
9 addr : in STDLOGICVECTOR (7 downto 0) ;
10 data : in STDLOGICVECTOR (7 downto 0) ;
11 Q : out STDLOGICVECTOR (7 downto 0)) ;
12 end Memorija;
13
14 architecture Behavioral of Memorija i s

Xilinx ISE novembar, 2007


2.2. IMPLEMENTACIJA KOLA 29

15 type ram mem type i s array (7 downto 0) of std logic vector (7 downto 0) ;
16 signal ram mem : ram mem type;
17 begin
18
19 process (CLK)
20
21 variable ADDRTEMP: integer range 31 downto 0;
22 begin
23 i f rising edge (CLK) then
24 i f (WE = ’1 ’) then
25 ADDRTEMP := CONVINTEGER(ADDR) ;
26 ram mem(ADDRTEMP) <= DATA;
27 end i f ;
28 Q<= ram mem(CONVINTEGER(ADDR) ) ;
29 end i f ;
30 end process ;
31 end architecture ;

Upravljačka logika
1 library IEEE;
2 use IEEE.STD LOGIC 1164.ALL;
3 use IEEE.STD LOGIC ARITH.ALL;
4 use IEEE.STD LOGIC UNSIGNED.ALL;
5
6 entity Kontrola i s
7 Port ( clk : in STD LOGIC;
8 WE : out STD LOGIC;
9 addr : out STDLOGICVECTOR (7 downto 0) ;
10 selDMux : out STD LOGIC;
11 upis1 : out STD LOGIC;
12 upis2 : out STD LOGIC) ;
13 end Kontrola ;
14
15 architecture Behavioral of Kontrola i s
16 begin
17 WE<= ’ 0 ’ ;
18 process ( clk )
19 variable a : integer := 0;
20 variable addr1 : unsigned(7 downto 0) := ”00000000” ;
21 begin
22 i f rising edge ( clk ) then
23 addr1 := addr1 + 1;
24 end i f ;
25
26 i f clk = ’0 ’ then
27 i f a = 0 then
28 selDMux <= ’ 1 ’ ;

Xilinx ISE novembar, 2007


2. PRIMER: KOLO ZA SABIRANJE PODATAKA SMEŠTENIH U
30 MEMORIJI
29 upis1 <= ’ 0 ’ ;
30 upis2 <= ’ 1 ’ ;
31 a := 1;
32 e l s i f a = 2 then
33 selDMux <= ’ 0 ’ ;
34 upis1 <= ’ 1 ’ ;
35 upis2 <= ’ 0 ’ ;
36 a := 3;
37 end i f ;
38 e l s i f clk = ’1 ’ then
39 i f a = 1 then
40 selDMux <= ’ 0 ’ ;
41 upis1 <= ’ 0 ’ ;
42 upis2 <= ’ 0 ’ ;
43 a := 2;
44 e l s i f a = 3 then
45 selDMux <= ’ 1 ’ ;
46 upis1 <= ’ 0 ’ ;
47 upis2 <= ’ 0 ’ ;
48 a := 0;
49 end i f ;
50 end i f ;
51 addr <= STDLOGICVECTOR(addr1) ;
52 end process ;
53 end Behavioral ;

2.2.2 Simulacija
Na slici 2.3 prikazan je interfejs (spoljni pinovi) kola.

Slika 2.3: Spoljni pinovi kola

Interfejs kola čine sledeći pinovi:


clk interni clock,

Xilinx ISE novembar, 2007


2.2. IMPLEMENTACIJA KOLA 31

suma vrednost zbira podataka iz memorije.

Da bi simulaciju bilo moguće izvršiti potrebno je u memoriju upisati inici-


jalne podatke. Ovo je moguće uradi na sledeći način: potrebno je pokrenuti
Simulate Bihevioral Model za testbench, a zatim iz Processes tab-a
potrebno je dodati signal ram mem nakon čega je potrebno restartovati sim-
ulaciju (slika 2.4).

Slika 2.4: Izgled prozora nakon startovanja simulacije

Naredbom put ime signala vrednost iz konzole moguće je izvršiti postavl-


janje podataka u memoriju, a naredbom show vrednost ime signala moguće
je prikazati sadržaj memorije. Nakon inicijalizacije memorije moguće je pokrenuti
simulaciju. Rezultati simulacije prikazani su na slici 2.5.

Xilinx ISE novembar, 2007


2. PRIMER: KOLO ZA SABIRANJE PODATAKA SMEŠTENIH U
32 MEMORIJI

Slika 2.5: Rezultati simulacije

2.2.3 Sinteza

Sintezom VHDL opisa iz ovog primera na način prikazan u prethodnom poglavlju


dobijeno je kolo prikazano na slici 2.6.

Slika 2.6: Blok dijagram kola na RTL nivou dobijenog sintezom VHDL opisa

Xilinx ISE novembar, 2007


2.2. IMPLEMENTACIJA KOLA 33

2.2.4 Implementacija
Rezultati implementacije opisa na Xilinx Spartan3 familiji FPGA kola, modelu
XC3S50 dobijeno je za

1. – broj zauzetih ćelija FPGA kola: 3 od 1920 (≈1%),

2. – ekvivalentni broj gejtova potrebnih za implementaciju dizajna u ASIC


tehnologiji: 59,
3. – minimalna perioda takta: 2.5ns (f = 400M Hz)

Naredno poglavlje sadrži zadatke za laboratorijske vežbe.

Xilinx ISE novembar, 2007


2. PRIMER: KOLO ZA SABIRANJE PODATAKA SMEŠTENIH U
34 MEMORIJI

Xilinx ISE novembar, 2007


3

Laboratorijske vežbe

3.1 Bihevioralni opis u VHDL-u

Zadatak 3.1.1

Na VHDL-u bihevioralno opisati D flip-flop sa asinhronim resetom. Prover-


iti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju
opisanog kola na Virtex4 FPGA čipu. Prikazati rezultate funkcionalne simu-
lacije i implementacije po pogledu zauzeća resursa na čipu i vremena propagacije
signala kroz kolo.

Zadatak 3.1.2

Na VHDL-u bihevioralno opisati JK flip-flop. Proveriti funkcionalnost VHDL


opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4
FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simu-
laciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa na
čipu i vremena propagacije signala kroz kolo.

35
36 3. LABORATORIJSKE VEŽBE

Zadatak 3.1.3

Na VHDL-u case strukturom bihevioralno opisati potpuni sabirač. Prover-


iti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju
opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model
i izvršiti timing simulaciju kola. Prikazati rezultate implementacije po pogledu
zauzeća resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.1.4

Na VHDL-u, koričenjem klauzula bezuslovne dodele vrednosti signalima, bi-


hevioralno opisati potpuni sabirač. Proveriti funkcionalnost VHDL opisa sim-
ulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena
propagacije signala kroz kolo.

Zadatak 3.1.5

Na VHDL-u, koričenjem klauzula selektivne dodele vrednosti signalima, bihe-


vioralno opisati potpuni sabirač. Proveriti funkcionalnost VHDL opisa sim-
ulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena
propagacije signala kroz kolo.

Zadatak 3.1.6

Xilinx ISE novembar, 2007


3.1. BIHEVIORALNI OPIS U VHDL-U 37

Na VHDL-u bihevioralno opisati registar. Širinu registra definisati generic


parametrom. Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu
i implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis
simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate imple-
mentacije po pogledu zauzeća resursa na čipu i vremena propagacije signala
kroz kolo.

Zadatak 3.1.7

Na VHDL-u bihevioralno opisati registar. Za opsi registra sa proizvoljnom širine


ulaznih portova koristiti unconstrained tehniku. Proveriti funkcionalnost VHDL
opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4
FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simu-
laciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa na
čipu i vremena propagacije signala kroz kolo.

Zadatak 3.1.8

Na VHDL-u bihevioralno opisati pomerački registar sa paralelnim upisom i


asinhronim resetom. Širinu registra definisati generic parametrom. Prover-
iti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju
opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model
i izvršiti timing simulaciju kola. Prikazati rezultate implementacije po pogledu
zauzeća resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.1.9

Xilinx ISE novembar, 2007


38 3. LABORATORIJSKE VEŽBE

Na VHDL-u bihevioralno opisati registar sa paralelnim upisom i asinhronim


resetom koji vrši operaciju rotacije sadržaja. Širinu registra definisati generic
parametrom. Proveriti funkcionalnost VHDL opisa simulacijom. Rotaciju opisati
operacijom konkatenacije strngova. Izvršiti sintezu i implementaciju opisanog
kola na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti
timing simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća
resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.1.10

Na VHDL-u bihevioralno opisati sabirač sa slike 3.1 (ripple carry za neoznačene


brojeve). Širinu registra definisati generic parametrom. Proveriti funkcionalnost
VHDL opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na
Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing
simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa
na čipu i vremena propagacije signala kroz kolo.

bn-1 an-1 c_in b2 a2 c_in b1 a1 c_in b0 a0 c_in c0

FA FA FA FA

c_out s n-1 c_out s2 c_out s1 c_out s0

Slika 3.1: Ripple Carry sabirač za neoznačene brojeve

Zadatak 3.1.11

Na VHDL-u bihevioralno opisati sabirač sa slike 3.2 (ripple carry za sabi-


ranje brojeva u jediničnom komplementu). Širinu registra definisati generic

Xilinx ISE novembar, 2007


3.1. BIHEVIORALNI OPIS U VHDL-U 39

parametrom. Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu


i implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis
simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate imple-
mentacije po pogledu zauzeća resursa na čipu i vremena propagacije signala
kroz kolo.

bn-1 an-1 c_in b2 a2 c_in b1 a1 c_in b0 a0


mod

c_in c0

FA FA FA FA

c_out c_out c_out c_out


s n-1 s2 s1 s0
prekoracenje
mod 0 - sabiranje
1 - oduzimanje

Slika 3.2: Ripple Carry sabirač za brojeve u jediničnom komplementu

Zadatak 3.1.12

Na VHDL-u bihevioralno opisati sabirač sa slike 3.3 (ripple carry za sabiranje


brojeva u komplementu dvojke). Širinu registra definisati generic parametrom.
Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i imple-
mentaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simula-
cioni model i izvršiti timing simulaciju kola. Prikazati rezultate implementacije
po pogledu zauzeća resursa na čipu i vremena propagacije signala kroz kolo.

Xilinx ISE novembar, 2007


40 3. LABORATORIJSKE VEŽBE

bn-1 an-1 c_in b2 a2 c_in b1 a1 c_in b0 a0


mod

c_in c0

FA FA FA FA

c_out c_out c_out c_out


s n-1 s2 s1 s0
prekoracenje
mod 0 - sabiranje
1 - oduzimanje

Slika 3.3: Ripple Carry sabirač za brojeve u komplementu dvojke

Zadatak 3.1.13

Na VHDL-u bihevioralno opisati komparator brojeva. Širinu ulaza komparatora


definisati generic parametrom. Komparator na svom izlazu signalizira jednakost
brojeva. Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i
implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis
simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate imple-
mentacije po pogledu zauzeća resursa na čipu i vremena propagacije signala
kroz kolo.

Zadatak 3.1.14

Na VHDL-u bihevioralno opisati kolo za negaciju neoznačenih brojeva. Ulazne


portove kola definisati korišćenjem unconstranied tehnike. Proveriti funkcional-
nost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola
na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti

Xilinx ISE novembar, 2007


3.1. BIHEVIORALNI OPIS U VHDL-U 41

timing simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća


resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.1.15

Na VHDL-u bihevioralno opisati kolo za negaciju brojeva u jediničnom kom-


plementu (slika 3.4). Ulazne portove kola definisati korišćenjem generic kon-
stanti. Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i
implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis
simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate imple-
mentacije po pogledu zauzeća resursa na čipu i vremena propagacije signala
kroz kolo.

bn-1 b2 b1 b0
m

_ _ _ _
bn-1 b2 b1 b0

Slika 3.4: Kolo za negaciju brojeva predstavljenih u jediničnom komplementu

Zadatak 3.1.16

Na VHDL-u bihevioralno opisati multiplekser 4-u-1. Za opis, umesto senzitiv-


ity liste procesa koristiti wait klauzule. Proveriti funkcionalnost VHDL opisa
simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena
propagacije signala kroz kolo.

Xilinx ISE novembar, 2007


42 3. LABORATORIJSKE VEŽBE

Zadatak 3.1.17

Na VHDL-u bihevioralno opisati multiplekser 4-u-1. Za opis koristiti case struk-


turu. Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i imple-
mentaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simula-
cioni model i izvršiti timing simulaciju kola. Prikazati rezultate implementacije
po pogledu zauzeća resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.1.18

Na VHDL-u bihevioralno opisati multiplekser 4-u-1. Za opis koristiti klauzule


selektivne dodele vrednosti signlalima. Proveriti funkcionalnost VHDL opisa
simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena
propagacije signala kroz kolo.

Zadatak 3.1.19

Na VHDL-u bihevioralno opisati demultiplekser 1-u-4. Za opis koristiti case


strukturu. Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i
implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis
simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate imple-
mentacije po pogledu zauzeća resursa na čipu i vremena propagacije signala
kroz kolo.

Zadatak 3.1.20

Xilinx ISE novembar, 2007


3.2. STRUKTURALNI OPIS I GENERATE PETLJE 43

Na VHDL-u bihevioralno opisati multiplekser 4-u-1 sa pridruženim D flip-flopovima


na način opisan na slici 3.5. Proveriti funkcionalnost VHDL opisa simulacijom.
Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati
post-synthesis simulacioni model i izvršiti timing simulaciju kola. Prikazati
rezultate implementacije po pogledu zauzeća resursa na čipu i vremena propa-
gacije signala kroz kolo.

b0 D
b1 D mux z
b2 D 4u1
b3 D

s1 s0

Slika 3.5: Multiplekser sa pridruženim D flip-flopovima

3.2 Strukturalni opis i generate petlje

Zadatak 3.2.1

Na VHDL-u bihevioralno opisati xnor kolo. Korišćenjem opisanog kola struk-


turalno opisati RS flip-flop sa slike 3.6. Proveriti funkcionalnost VHDL opisa
simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena
propagacije signala kroz kolo.

Xilinx ISE novembar, 2007


44 3. LABORATORIJSKE VEŽBE

S
Q

_
Q
R

Slika 3.6: RS flip-flop

Zadatak 3.2.2

Na VHDL-u bihevioralno opisati D flip-flop i multiplekser 4-u-1. Korišćenjem


opisanih kola strukturalno opisati kolo sa slike 3.5. Proveriti funkcionalnost
VHDL opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na
Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing
simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa
na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.2.3

Na VHDL-u bihevioralno opisati D flip-flop i multiplekser 4-u-1. Korišćenjem


opisanih kola strukturalno opisati kolo sa slike 3.7. Proveriti funkcionalnost
VHDL opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na
Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing
simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa
na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.2.4

Na VHDL-u bihevioralno opisati D flip-flop i multiplekser 4-u-1. Korišćenjem

Xilinx ISE novembar, 2007


3.2. STRUKTURALNI OPIS I GENERATE PETLJE 45

b0 D
b1 D mux z
b2 4u1
b3

s1 s0

Slika 3.7: Multiplekser sa pridruženim D flip-flopovima

opisanih kola strukturalno opisati kolo sa slike 3.8. Proveriti funkcionalnost


VHDL opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na
Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing
simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa
na čipu i vremena propagacije signala kroz kolo.

b0
b z
1 mux D
b2 4u1
b3

s1 s0

Slika 3.8: Multiplekser sa pridruženim D flip-flopovima

Zadatak 3.2.5

Na VHDL-u bihevioralno opisati D flip-flop i demultiplekser 4-u-1. Korišćenjem


opisanih kola strukturalno opisati kolo sa slike 3.9. Proveriti funkcionalnost
VHDL opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na

Xilinx ISE novembar, 2007


46 3. LABORATORIJSKE VEŽBE

Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing


simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa
na čipu i vremena propagacije signala kroz kolo.

D b0
z d-mux D b1
4u1 D b2
D b3

s1 s0

Slika 3.9: Demultiplekser sa pridruženim D flip-flopovima

Zadatak 3.2.6

Na VHDL-u bihevioralno opisati D flip flop. Korišćenjem opisanog kola struk-


turalno opisati registar. Širinu registra definisati generic parametrom. Prover-
iti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju
opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model
i izvršiti timing simulaciju kola. Prikazati rezultate implementacije po pogledu
zauzeća resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.2.7

Na VHDL-u bihevioralno opisati D flip flop. Korišćenjem opisanog kola struk-


turalno opisati registar. Za opis registra sa proizvoljnom širine ulaznih por-
tova koristiti unconstrained tehniku. Proveriti funkcionalnost VHDL opisa sim-
ulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.

Xilinx ISE novembar, 2007


3.2. STRUKTURALNI OPIS I GENERATE PETLJE 47

Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena


propagacije signala kroz kolo.

Zadatak 3.2.8

Na VHDL-u bihevioralno opisati D flip flop. Korišćenjem opisanog kola struktu-


ralno opisati pomerački registar sa paralelnim upisom. Širinu registra definisati
generic parametrom. Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti
sintezu i implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-
synthesis simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate
implementacije po pogledu zauzeća resursa na čipu i vremena propagacije sig-
nala kroz kolo.

Zadatak 3.2.9

Na VHDL-u bihevioralno opisati D flip flop. Korišćenjem opisanog kola struktu-


ralno opisati registar sa paralelnim upisom koji vrši operaciju rotacije sadržaja.
Širinu registra definisati generic parametrom. Proveriti funkcionalnost VHDL
opisa simulacijom. Rotaciju opisati operacijom konkatenacije strngova. Izvršiti
sintezu i implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-
synthesis simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate
implementacije po pogledu zauzeća resursa na čipu i vremena propagacije sig-
nala kroz kolo.

Zadatak 3.2.10

Na VHDL-u bihevioralno opisati potpuni sabirač. Korišćenjem opisanog kola


strukturalno opisati sabirač sa slike 3.1 (ripple carry za neoznačene brojeve).

Xilinx ISE novembar, 2007


48 3. LABORATORIJSKE VEŽBE

Širinu registra definisati generic parametrom. Proveriti funkcionalnost VHDL


opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4
FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simu-
laciju kola. Prikazati rezultate implementacije po pogledu zauzeća resursa na
čipu i vremena propagacije signala kroz kolo.

Zadatak 3.2.11

Na VHDL-u bihevioralno opisati potpuni sabirač i xor kolo. Korišćenjem opisanih


kola strukturalno opisati sabirač sa slike 3.2 (ripple carry za sabiranje brojeva
u jediničnom komplementu). Širinu registra definisati generic parametrom.
Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i imple-
mentaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simula-
cioni model i izvršiti timing simulaciju kola. Prikazati rezultate implementacije
po pogledu zauzeća resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.2.12

Na VHDL-u bihevioralno opisati potpuni sabirač i xor kolo. Korišćenjem opisanih


kola strukturalno opisati sabirač sa slike 3.3 (ripple carry za sabiranje brojeva
u komplementu dvojke). Širinu registra definisati generic parametrom. Prover-
iti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju
opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model
i izvršiti timing simulaciju kola. Prikazati rezultate implementacije po pogledu
zauzeća resursa na čipu i vremena propagacije signala kroz kolo.

Zadatak 3.2.13

Xilinx ISE novembar, 2007


3.2. STRUKTURALNI OPIS I GENERATE PETLJE 49

Na VHDL-u bihevioralno opisati xor kolo. Korišćenjem opisanog kola struktu-


ralno opisati komparator brojeva. Širinu ulaza komparatora definisati generic
parametrom. Komparator na svom izlazu signalizira jednakost odgovarajućih
bitskih pozicija dva ulazna broja. Proveriti funkcionalnost VHDL opisa sim-
ulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena
propagacije signala kroz kolo.

Zadatak 3.2.14

Na VHDL-u bihevioralno opisati invertor. Korišćenjem opisanog kola struktu-


ralno opisati kolo za negaciju neoznačenih brojeva. Ulazne portove kola defin-
isati korišćenjem unconstranied tehnike. Proveriti funkcionalnost VHDL opisa
simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu i vremena
propagacije signala kroz kolo.

Zadatak 3.2.15

Na VHDL-u bihevioralno opisati xor kolo. Korišćenjem opisanog kola struk-


turalno opisati kolo za negaciju brojeva u jediničnom komplementu (slika 3.4).
Ulazne portove kola definisati korišćenjem generic konstanti. Proveriti funkcional-
nost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju opisanog kola
na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model i izvršiti
timing simulaciju kola. Prikazati rezultate implementacije po pogledu zauzeća
resursa na čipu i vremena propagacije signala kroz kolo.

Xilinx ISE novembar, 2007


50 3. LABORATORIJSKE VEŽBE

3.3 Projektovanje sistema sa memorijom

Zadatak 3.3.1

Na VHDL-u bihevioralno opisati memoriju sa jednom adresnom i jednom magis-


tralom za podatke. Dimenzije memorije predstaviti generic parametrima en-
titeta. Korišćenjem opisane memorije realizovati sistem sa 1Kx16b memorijom
i upravljačkom jedinicom koja čita podatke iz memorije redom počev od adrese
0x000 (slika 3.10). Proveriti funkcionalnost VHDL opisa simulacijom. Izvršiti
sintezu i implementaciju opisanog kola na Virtex4 FPGA čipu. Kreirati post-
synthesis simulacioni model i izvršiti timing simulaciju kola. Prikazati rezultate
implementacije po pogledu zauzeća resursa na čipu za kolo u celosti i za svaku
komponentu pojedinačno, kao i vremena propagacije signala kroz kolo.

data
Upravljacka
MEM jedinica
addr
clk r/w clk

Slika 3.10: Memorija i upravljačka jedinica koja čita podatke iz memorije

Zadatak 3.3.2

Na VHDL-u bihevioralno opisati memoriju sa jednom adresnom i jednom magis-


tralom za podatke. Dimenzije memorije predstaviti generic parametrima en-
titeta. Korišćenjem opisane memorije realizovati sistem sa 1Kx8b memorijom
i upravljačkom jedinicom koja u memoriju upisuje brojeve 1,2,3, . . . , N, re-
dom počev od adrese 0x000 (slika 3.10). Proveriti funkcionalnost VHDL opisa
simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA

Xilinx ISE novembar, 2007


3.3. PROJEKTOVANJE SISTEMA SA MEMORIJOM 51

čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.


Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu za mem-
oriju i upravljačku jedinicu, kao i vremena propagacije signala kroz kolo.

Zadatak 3.3.3

Na VHDL-u bihevioralno opisati memoriju sa jednom adresnom i jednom magis-


tralom za podatke. Dimenzije memorije predstaviti generic parametrima en-
titeta. Korišćenjem opisane memorije realizovati sistem sa memorijom 1Kx8b i
upravljačkom jedinicom, takvom da u taktnom intervalu i podatak iz memorije
sa lokacije 2 · i upisuje na lokaciju 2 · i + 1 (i = 0, 1, 2, . . .), slika 3.10. Prover-
iti funkcionalnost VHDL opisa simulacijom. Izvršiti sintezu i implementaciju
opisanog kola na Virtex4 FPGA čipu. Kreirati post-synthesis simulacioni model
i izvršiti timing simulaciju kola. Prikazati rezultate implementacije po pogledu
zauzeća resursa na čipu za kolo u celosti i za svaku komponentu pojedinačno,
kao i vremena propagacije signala kroz kolo.

Zadatak 3.3.4

Na VHDL-u bihevioralno opisati memoriju sa jednom adresnom i jednom magis-


tralom za podatke. Dimenzije memorije predstaviti generic parametrima en-
titeta. Korišćenjem opisane memorije realizovati sistem sa upravljačkom je-
dinicom koja iz jedne memorije veličine 1Kx16b prepisuje sve podatke u drugu
memoriju iste veličine (slika 3.11). Proveriti funkcionalnost VHDL opisa sim-
ulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu za kolo
u celosti i za svaku komponentu pojedinačno, kao i vremena propagacije signala
kroz kolo.

Xilinx ISE novembar, 2007


52 3. LABORATORIJSKE VEŽBE

data data
Upravljacka
MEM jedinica MEM
addr addr
clk r/w clk r/w clk

Slika 3.11: Upravljačka jedinica koja čita podatke iz jedne memorije i upisuje u
drugu

Zadatak 3.3.5

Na VHDL-u bihevioralno opisati memoriju sa dve adresne i dve magistrale za po-


datke. Dimenzije memorije predstaviti generic parametrima entiteta. Korišćenjem
opisane memorije realizovati sistem sa memorijom 1Kx8b i upravljačkom jedini-
com, takvom da iz memorije u taktnom intervalu i istovremeno čita podatake
sa lokacije i i lokacije i + 1 (slika 3.12). Proveriti funkcionalnost VHDL opisa
simulacijom. Izvršiti sintezu i implementaciju opisanog kola na Virtex4 FPGA
čipu. Kreirati post-synthesis simulacioni model i izvršiti timing simulaciju kola.
Prikazati rezultate implementacije po pogledu zauzeća resursa na čipu za kolo
u celosti i za svaku komponentu pojedinačno, kao i vremena propagacije signala
kroz kolo.

data_1
data_1
data_2
Upravljacka
MEM jedinica data_2
addr_1
addr_2
clk r/w clk

Slika 3.12: Upravljačka jedinica koja čita podatke iz dual-port memorije

Xilinx ISE novembar, 2007


Literatura

[1] Volnei A. Pedroni, Circuit Design with VHDL, MIT Press, Cambridge,
Massachusetts, USA, 2004. (ISBN 0-262-16224-5)

53
54 LITERATURA

Xilinx ISE novembar, 2007


Index

.ngc, 2, 4, 12 New Source, 5, 9, 11


.ngd, 14
.ucf, 15 Options, 21

Add Xilinx Device, 18 Post-Route Simulation, 18


Analyze Post-Map Static Timing, 17 Processe, 11
Analyze Post-Place & Route Static Tim- Processes, 6, 8, 11, 12, 18, 31
ing, 16 Program, 18
Programming Succeeded, 19
Behavioral Simulation, 10
Project, 9, 11
Categories, 20 Project Navigator, 1
Check Syntax, 8 Properties, 17
Clock Information, 11 put ime signala vrednost, 31
Compile, 21
Configure Device, 18 Schematic, 19
show vrednost ime signala, 31
Enter a Boundary-Scan chain manu- Simulate Behavioral Model, 11
ally, 18 Simulate Bihevioral Model, 31
Simulate Post-Place & Route Model,
File → New Project..., 3 18
Source, 12
Generate Expected Simulation Results,
Sources, 6, 10, 18, 20
11
State diagram, 21
Generate Post-Map Static Timing, 17
Symbols, 20
Generate Post-Synthesis Simulation Model,
Synthesis/Implementation, 12
14
Synthesize, 8
Generate Programming File, 2, 18
Synthezise-XST, 12
Implement Design, 15
Test Bench WaveForm, 9
Map Report, 16 TestBench WaveForm, 11

55
56 INDEX

Total equivalent gate count for design,


16

VHDL Test Bench, 9


View RTL Schematic, 13

Xilinx ISE Simulator, 11

Xilinx ISE novembar, 2007

You might also like