ise tutorial 2es.elfak.ni.ac.rs/pld/materijal/ise tutorial 2.pdf · 2013-12-06 · koraci o opis...

40
ISE Tutorijal II deo Xilinx ISE 9.1i.lnk

Upload: others

Post on 01-Mar-2020

6 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Š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

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

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

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

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

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

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

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

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

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

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

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

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˝