ise tutorial 2es.elfak.ni.ac.rs/pld/materijal/ise tutorial 2.pdf · 2013-12-06 · koraci o opis...
TRANSCRIPT
![Page 1: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/1.jpg)
ISE TutorijalII deo
Xilinx ISE 9.1i.lnk
![Page 2: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/2.jpg)
Programabilna digitalna kola
Binarni brojač
en - dozvola brojanja
rst - sinhrono resetovanje
q - izlazi brojača
cout - izlazni prenos (1 za q = ˝1111˝)
![Page 3: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/3.jpg)
Koracio Opis registarske komponente u VHDL-uo Kreiranje testbenčao Funkcionalna simulacijao Sinteza i implementacijao Vremenska simulacijao Kreiranje test kolao Sinteza i implementacija test kolao Generisanje fajla za programiranje i programiranje
FPGA komponente.o Testiranje
![Page 4: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/4.jpg)
Kreiranje novog projekta
count16
![Page 5: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/5.jpg)
Podešavanja
![Page 6: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/6.jpg)
Novi projektni fajl
count16
![Page 7: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/7.jpg)
Interfejs
![Page 8: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/8.jpg)
Numeric_std USE IEEE.NUMERIC_STD.ALL
umesto
Paket numeric_std je standardni IEEE paket za aritmetiku u VHDL-u.
Paketi std_logic_arith i std_logic_unsigned, kao i paket std_logic_signed imaju sličnu namenu, ali nisu IEEE standard.
Koju od dve mogućnosti koristiti, stvar je izbora projektanta.
Naš izbor je numeric_std.
![Page 9: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/9.jpg)
Pisanje koda
1
2
![Page 10: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/10.jpg)
TestbenčVHDL modul koji se piše radi simulacije koda koji razvijamo.
U testbenču sadrži kod koji razvijamo u vidu instancirane komponente, plus dodatni kod generiše pobudne signale.
Testbenč nema ulaze i izlaze
![Page 11: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/11.jpg)
Generisanje test benča
count16_tb
Desnim dugmetom misa preko imena VHDL
modula, a onda ˝New Source˝
![Page 12: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/12.jpg)
Generisanje test benča
Ovde se bira VHDL modul za koji se generiše testbenč
(u našem projektu, za sada, postoji samo jedan modul)
1
2
![Page 13: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/13.jpg)
Rezime testbenčaInformativni dijalog, poslednja mogućnost za povratak na
prethodne korake (Back)
Biramo Finish
![Page 14: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/14.jpg)
Testbenč
Prazan entitet –testbenc nema ulaze I izlaze
Deklaracija komponente koja se testira
Unutrasnji signali testbenca za spregu s portovima komponente koja se testira
Instanciranje komponente koja se testira
Proces za generisanje pobudnih signala(Ovde pisemo nas kod)
Automatski generisani kod
Ne brisati ! Vreme za inicijalizaciju FPGA komponente nakon
uključenja napajanja
![Page 15: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/15.jpg)
Prelazak na funkcionalnu simulaciju
12
Testbenč
![Page 16: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/16.jpg)
Kompletiranjetestbenča
Proces za generisanje taktnog signala
Taktni period
Generisanje taktnog signala
![Page 17: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/17.jpg)
Kompletiranjetestbenča
Kod za generisanje pobudnih signala
Sve promene ulaznih signala sinhronizovane su s opadajućom ivicom taktnog signala (zato što se taktovanje brojača vrši rastucom ivicom)
![Page 18: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/18.jpg)
Provera sintakse
1
2
1. Selektovati testbenč (dupli klik)
2. Dupli klik na Check Syntax
3. Ako je sintaksa testbenča ispravna, pojaviće se zeleni kružić
![Page 19: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/19.jpg)
Pokretanje simulatora
Dupli klik na ˝Simulate Behavioral
Model˝
![Page 20: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/20.jpg)
Rezultat simulacije
Signali Talasni dijagrami
VremeResetovanje simulacije
Startovanje simulacije za zadato vreme
simulacije
![Page 21: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/21.jpg)
Pregled rezultata simulacije
Prva perioda brojanja
Izlazni prenos u završnom stanju
![Page 22: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/22.jpg)
Pregled rezultata simulacije
Reset
![Page 23: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/23.jpg)
Zatvaranje simulatora
1
2
![Page 24: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/24.jpg)
Implementacija
12
3
![Page 25: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/25.jpg)
Generisanja modela za vremensku simulaciju
Dupli klik na ˝Generate Post-Place & Rute Simulation Model˝
![Page 26: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/26.jpg)
Prelazak na vremensku simulaciju
12
![Page 27: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/27.jpg)
Provera sintakse i pokretanje simulacije
12
1. Dupli klik na ˝Check Simulation˝
2. Dupli klik na ˝Simulate Post-Place & Rute Model˝
![Page 28: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/28.jpg)
Šta se zapravo desilo?Na osnovu obavljene implementacije, ˝Generate Post-Place & Rute Simulation Model˝ kreira detaljan strukturni VHDL model sa ubačenim kašnjenjima kroz zauzete elemente FPGA kola (veze, LUT, ...). Ime ovog fajla je count16_timesim.vhd i može se videti duplim klikom na:
Unutrašnji signali FPGA kola
Instanciranje i povezivanje zauzetih elemenata FPGA kola
KašnjenjeGenerisani VHDL model za vremensku simulaciju, count16_timesim.vhd ima identičan iterfejs (portove) kao count16.vhd i za njegovu simulaciju se koristi isti onaj testbenč koji je prethodno kreiran radi funkcionalne simulacije, count16_tb.vhd.
![Page 29: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/29.jpg)
Analiza rezultata vremenske simulacije
Kašnjenje od trenutka rastuće ivice takta do promene stanja na izlazu brojača – 7 ns
Markeri
Gličevi
![Page 30: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/30.jpg)
Analiza rezultata vremenske simulacije
Postavljanje izlaznog prenosa kasni 1.8 ns u odnosu na ulazak u završno stanje ˝1111˝
Deaktiviranje izlaznog prenosa kasni 1.7 ns u odnosu na izlazak iz završnog stanja.
![Page 31: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/31.jpg)
Kreiranje kola za testiranjeo Kako testirati rad brojača na razvojnom
sistemu?
![Page 32: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/32.jpg)
VHDL za test kolo
![Page 33: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/33.jpg)
VHDL za test kolo
U arhitekturi test kola instanciraćemo komponentu count16
![Page 34: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/34.jpg)
VHDL za test koloDeklaracija komponente
count16
Deklaracija internih signala test kola
Instanciranje test kola
Proces koji realizuje RS leč
Povezivanje izlaza
![Page 35: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/35.jpg)
Kreiranje UCF-a
Mesto za pisanje ograničenja
Dupli klik na Edit Constraints
![Page 36: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/36.jpg)
Kreiranje UCF-a
![Page 37: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/37.jpg)
Sinteza, implementacija, generisanje fajla za programiranje
1
2
3
![Page 38: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/38.jpg)
Programiranje FPGA komponenteo Na poznati način
![Page 39: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/39.jpg)
Testiranje
![Page 40: ISE Tutorial 2es.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 2.pdf · 2013-12-06 · Koraci o Opis registarske komponente u VHDL-u o Kreiranje testbenča o Funkcionalna simulacija o](https://reader033.vdocuments.pub/reader033/viewer/2022041900/5e5fba1926732209ce670ae7/html5/thumbnails/40.jpg)
Zadatako Na primeru 4-bitnog obostranog brojača, ponoviti
kompletan postupak projektovanja opisan u ovom tutorijalu.
en - dozvola brojanja
ud - izbor smera brojanja (1 - naviše, 0 - naniže)
rst - sinhrono resetovanje
cout - izlazni prenos (1 za ˝naviše˝ i q = ˝1111˝ ili ˝naniže˝ i q = ˝0000˝