FPGA LCD simulator?

A

aria62

Guest
dragi prijatelji
Ive 'napisan driver za grafičku LCD koristeći VHDL.is li simulator za testiranje ako kod radi ispravno na LCD? mislim simulacija okruženju sa LCD.
Ja sam već test kod u qu (at) rtus i nema pogreške.

pozdravi

 
Kako bi se simuliraju kôda za LCD morate napisati LCD bihevioralni model i onda ga testirati.

 
dragi prijatelji
I rekao sam pisao kod i simulirani ga pomoću qu (at) rtus simulator.but qu (at) rtus simulator samo je valnog područja.Trebam program koji workes poput Proteus koji ima grafičko okruženje koje možete izabrati LCD i stavite ga u krug i testirati na rad programa.

pozdravi

 
ako u imati multisim, onda možete uvoz jedan model u vhdl novokreiran komponenta umjesto pisanja netlist .... začin u tada mogu koristiti ovaj model baš kao i bilo koja druga komponenta multisim ..

 
napiši model za test LCD a zatim ga kao "vibhute_r_p", rekao je

 
Ako ste radili sa modelsim onda možete kreirati LCD model u tcl / TK
koji će vam dati LCD GUI.

 
Dragi nand_gates
Nikad
nisam uzimao tcl skriptiranje jezik before.i proučavao qu (at) rtus pomoć za tcl ali ne vidi ništa o LCD GUI.je modelsim tcl somthing drugačiji? molim Vas, dajte mi neke primjere ili nešto više objašnjenje?

pozdravi

 
ponovo, koristeći Modelsim možete napisati vaše ponašanje model LCD i simulaciju
tj. da vidi timing

 
Ovdje je primjer za sedam segmentu animacija u modelsim.
sevenseg.tcl
Code:

# Trag sedam segmentu vrijednost

kada (/ counter / cout postaviti ss) ([(exa-bin / counter / cout)])# Set ss "0000000"set flag_ss 0# Resize cijelom platnu po skali

proc rescale () (cvn faktor

globalnih razmjera# Rescale sve kutije

$ cvn ljestvici svih 0 0 $ $ factor faktor# Rescale teksta widths, previše

foreach ja [$ cvn naći sve] (

ako ([expr!
[usporediti string "text" [$ $ cvn tip i]]] ()

set T [cvn itemcget $ $ I-width]

set T [expr $ t $ faktor]

cvn itemconfigure $ $ I-width $ t

)

)# Resize na platnu i sama

set T [$ cvn cget širine]

$ cvn konfigurirati širine [expr $ t * $ faktor]

set T [$ cvn cget-visina]

$ cvn configure-visina [expr $ t * $ faktor]

)ulov (uništiti. sevenseg)

set ss_w [toplevel. sevenseg]set fr1 [frame $ ss_w.fr1]

set fr2 [frame $ ss_w.fr2]set ss_cv [platnu $ visina fr1.ss_cv-20-širina 10]$ ss_cv kreirati tekstualnu 1 1-sidro NW-popunite crno-text "SEDAM seg" širine 15set ss_a [$ ss_cv kreirati liniju 3 5 7 5 ubacivanje sivo-width 0]

set ss_b [$ ss_cv kreirati liniju 7 6 7 10 ubacivanje sivo-width 0]

set ss_c [$ ss_cv kreirati liniju 7 12 7 16-popunite sivo-width 0]

set ss_d [$ ss_cv kreirati liniju 7 17 3 17-popunite sivo-width 0]

set ss_e [$ ss_cv kreirati liniju 3 16 3 12-popunite sivo-width 0]

set ss_f [$ ss_cv kreirati liniju 3 10 3 6 ubacivanje sivo-width 0]

set ss_g [$ ss_cv kreirati liniju 4 11 6 11 ubacivanje sivo-width 0]

Gumbom $ fr2.close-text "Zatvori" komandne (uništiti. sevenseg; postavljena flag_ss 0)rescale $ ss_cv 8

# Ukazuju na postojanje sedam segmentu prozoru

set flag_ss 1# Nazovite ss_monitor formalni postupak s parametrima

# Ja pozivam ovu funkciju, ako korisnik bcos zaziva sedam segmentu nakon vrijednost je napisana

# Do njega, a zatim ss_monitor postupka nije pozvao i sedam segmentu LEDS ostane neaktivan

# Ss_monitor 1 2 3Kutiju $ ss_cv

Kutiju $ fr2.close

Kutiju $ fr1

Kutiju $ fr2trag ss varijablu w ss_monitorproc (ss_monitor ime arrayindex op) (

global flag_ss ss_a ss_b ss_c ss_d ss_e ss_f ss_g ss ss_cv

ako je ($ flag_ss == (1)

ako ([index string $ ss 0] == (1)

ss_cv itemconfigure $ $ ss_a ubacivanje plavo-width 3

) Else (

ss_cv itemconfigure $ $ ss_a ubacivanje sivo-width 0

)

ako ([index string $ ss 1] == (1)

ss_cv itemconfigure $ $ ss_b ubacivanje plavo-width 3

) Else (

ss_cv itemconfigure $ $ ss_b ubacivanje sivo-width 0

)

ako ([index string $ ss 2] == (1)

ss_cv itemconfigure $ $ ss_c ubacivanje plavo-width 3

) Else (

ss_cv itemconfigure $ $ ss_c ubacivanje sivo-width 0

)

ako ([index string $ ss 3] == (1)

ss_cv itemconfigure $ $ ss_d ubacivanje plavo-width 3

) Else (

ss_cv itemconfigure $ $ ss_d ubacivanje sivo-width 0

)

ako ([index string $ ss 4] == (1)

ss_cv itemconfigure $ $ ss_e ubacivanje plavo-width 3

) Else (

ss_cv itemconfigure $ $ ss_e ubacivanje sivo-width 0

)

ako ([index string $ ss 5] == (1)

ss_cv itemconfigure $ $ ss_f ubacivanje plavo-width 3

) Else (

ss_cv itemconfigure $ $ ss_f ubacivanje sivo-width 0

)

ako ([index string $ ss 6] == (1)

ss_cv itemconfigure $ $ ss_g ubacivanje plavo-width 3

) Else (

ss_cv itemconfigure $ $ ss_g ubacivanje sivo-width 0

)

)

)

 
hvala vam toliko
to je bio stvarno interesting.i vidjeh 7segment GUI, ali još uvijek postoje neke greške u ovom dijelu u zadnjih broj:

vlib rad
vcom counter.vhd
vsim counter

qu (at) rtus ne prepoznaje "vlib" i "vcom" i "vsim" kao i keyword.should zamjeniti te s somthing else? ne recogmize "kada" kao ključnu riječ u prvoj code as well.

 

Welcome to EDABoard.com

Sponsor

Back
Top