ISE Tutorijal II deo
Programabilna digitalna kola Binarni brojač en - dozvola brojanja rst - sinhrono resetovanje q - izlazi brojača cout - izlazni prenos (1 za q = ˝1111˝) A source pane that shows the organization of the source files that make up your design. There are three tabs so you can view the functional modules or HDL libraries for your project or look at various snapshots of the project A process pane that lists the various operations you can perform on a given object in the source pane. 3. A log pane that displays the various messages from the currently running process. 4. An editor pane where you can enter HDL code. Schematics are entered in a separate window. Programabilna digitalna kola
Koraci Opis registarske komponente u VHDL-u Kreiranje testbenča Funkcionalna simulacija Sinteza i implementacija Vremenska simulacija Kreiranje test kola Sinteza i implementacija test kola Generisanje fajla za programiranje i programiranje FPGA komponente. Testiranje
Kreiranje novog projekta count16
Podešavanja
Novi projektni fajl count16
Interfejs
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.
Pisanje koda 1 2
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
Generisanje test benča count16_tb Desnim dugmetom misa preko imena VHDL modula, a onda ˝New Source˝
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
Rezime testbenča Informativni dijalog, poslednja mogućnost za povratak na prethodne korake (Back) Biramo Finish
Testbenč Automatski generisani kod Ne brisati ! Vreme za inicijalizaciju FPGA komponente nakon uključenja napajanja
Prelazak na funkcionalnu simulaciju 1 Testbenč 2
Kompletiranje testbenča Generisanje taktnog signala
Kompletiranje testbenč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)
Provera sintakse 1 2 Selektovati testbenč (dupli klik) Dupli klik na Check Syntax Ako je sintaksa testbenča ispravna, pojaviće se zeleni kružić 2
Pokretanje simulatora Dupli klik na ˝Simulate Behavioral Model˝
Rezultat simulacije Startovanje simulacije za zadato vreme simulacije Resetovanje simulacije Vreme Signali Talasni dijagrami
Pregled rezultata simulacije Izlazni prenos u završnom stanju Prva perioda brojanja
Pregled rezultata simulacije Reset
Zatvaranje simulatora 1 2
Implementacija 1 2 3
Generisanja modela za vremensku simulaciju Dupli klik na ˝Generate Post-Place & Rute Simulation Model˝
Prelazak na vremensku simulaciju 1 2
Provera sintakse i pokretanje simulacije 1 2 Dupli klik na ˝Check Simulation˝ Dupli klik na ˝Simulate Post-Place & Rute Model˝
Š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 Generisani 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. Kašnjenje Instanciranje i povezivanje zauzetih elemenata FPGA kola
Analiza rezultata vremenske simulacije Kašnjenje od trenutka rastuće ivice takta do promene stanja na izlazu brojača – 7 ns Markeri Gličevi
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.
Kreiranje kola za testiranje Kako testirati rad brojača na razvojnom sistemu?
VHDL za test kolo
VHDL za test kolo U arhitekturi test kola instanciraćemo komponentu count16
VHDL za test kolo Deklaracija komponente count16 Deklaracija internih signala test kola Instanciranje test kola Proces koji realizuje RS leč Povezivanje izlaza
Dupli klik na Edit Constraints Kreiranje UCF-a Mesto za pisanje ograničenja Dupli klik na Edit Constraints
Kreiranje UCF-a
Sinteza, implementacija, generisanje fajla za programiranje 1 2 3
Programiranje FPGA komponente Na poznati način
Testiranje
Zadatak 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˝