5. Vaja: prikaz grafike iz pomnilnika

Izdelali bomo sistem za prikaz slike iz notranjega pomnilnika BRAM. Sistem bo vseboval IP sinhronizacijsko komponento, komponento za branje pomnilnika, blokovni pomnilnik in komponento za nadzor pomnilnika preko vodila AXI. Izdelavo komponente VGAram v programu Vivado prikazuje video:

Pred izdelavo sistema naredi še enkrat simulacijo VGA sinhronizacijske komponente, kjer opazuj vrednosti koordinat xy, ko je izhodni signal en=1 (ura: 20 ns, čas simulacije: 1000 us). Če je komponenta pravilno narejena, mora biti zgornjih 9 bitov vektorja xy ob začetku impulza -256, ob koncu pa +255, kot prikazuje izsek. Če želimo opazovati vrednosti zgornjih 9 bitov vektorja xy, moramo vektor razširiti (s klikom na +), z levim gumbom miške in tipko Shift izberemo bite od 17 do 9 in naredimo novo vodilo (desni klik, New Virtual Bus), ki mu le še določimo ime in decimalni format prikaza:

Naloga

Aplikacija

Preizkusi delovanje sistema z aplikacijo, ki zapisuje vrednosti v naslovni prostor AXI BRAM krmilnika. Vrednosti lahko pišeš tako, da deklariraš kazalec, mu določiš naslov in vanj zapišeš vrednost.
Npr. prvo točko v prvi vrstici (x=0, y=0) nastaviš na belo barvo takole:

char *p;

p= (char *)XPAR_AXI_BRAM_CTRL_0_S_AXI_BASEADDR;
*p = 0x3f;

 Za nastavitev zadnje točke (x=511, y=0) bi moral popraviti naslov kazalca na vrednost: XPAR_AXI_BRAM_CTRL_0_S_AXI_BASEADDR + 511

Primer

pisanje in branje preko VGAram 3.0