FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
55

5.13. Accesarea ROM pentru afișarea pe ecran


O strategie simplă pentru afișarea pe ecran este împărțirea ecranului în zone egale cu dimensiunea unui
caracter. Dacă se utilizează rezoluția 1024x768, iar caracterele sunt de dimensiune 16x16, atunci pe
orizontală se poate împărți ecranul în 64 de zone (1024 / 16), iar pe verticală în 48 de zone (768 / 16). După
această împărțire se poate vedea ecranul ca o nouă matrice, fiecare element al matricei având dimensiunea
de 16x16 pixeli. Practic, elementul de pe poziția (0,0) va fi zona cuprinsă între adresele HAddr = (0:15) și
VAddr = (0:15), elementul de pe poziția (0, 1) va avea adresele HAddr = (16:31) și VAddr = (0:15) și așa mai
departe. Acest lucru se poate vedea și în următoarea figură:


Fig. 62: Împărțirea ecranului pentru afișarea caracterelor utilizând ROM și adresele ultimilor pixeli
pentru aceste zone

Pentru a calcula adresele unei poziții aleatoare, se aplică înmulțirea cu 16 astfel: caracterul de pe poziția
(X, Y), unde X este mai mic decât 64, iar Y mai mic decât 48, se află în zona cuprinsă între adresele HAddr =
(X 16; X 16 + 15) și VAddr = (Y 16; Y 16 + 15).


Dacă se dorește utilizarea acestei abordări însă alte dimensiuni ale caracterelor, ar fi bine ca numărul de
zone în care se împarte ecranul să fie număr întreg, așa cum a ieșit în exemplul dat. Mai mult decât atât,
pentru a fi ușor de ales poziția caracterului ce se dorește afișat pe monitor, ar fi bine ca aceste dimensiuni să
fie un număr egal cu o putere a lui doi.

Free download pdf