Forum: FPGA, VHDL & Co. 640x480 VGA Monitor Bitmaske in SRAM


von Alosch (Gast)


Lesenswert?

Hallo
Im Rahmen eines Uni Projektes muss ich mit einem Spartan 3 FPGA eien 
Analoguhr auf einem VGA Bildschirm 640x480 anzeigen lassen .
Mein Problem ist , ich weiss nicht wie ich mein Speicherabbild 
konstuiere.
Ich hab ein SRAM 32 Bit Wortbreite und 18 Bit Adresse zu verfuegung .

Ich hatte die Idee dass ich 8 Pixel (3 Bit pro pixel) pro 32 Bit 
speichere . Damit bleiben 2 Bit in jedem Byte ungenutzt.was kein Problem 
ist da mein Speicher Gross genug ist .

das Problem ist bei der Berechung von den einzelnen Adressen fuer die 
einzelnen Pixel , ich bin auf diese Gleichung gekommen :

Adresse im Speicher = ((y-position)*80)+((x-pos)/8)

das Problem in dieser Gleichung ist dass sie eine Multiplikation und 
eine Division enthaelt und damit viel Rechenzeit braucht und das fuer 
jedes einzelne Pixel .

Ideen wie man das macht ?
vielen Dannk im vorraus

von Kest (Gast)


Lesenswert?

Multiplikation ist kein Problem (weil im Spartan 
Embededed-Multiplizierer sind). Und die Division durch 8 auch, da man 
diese durch Schuftoperation abbilden kann. Also kannst Du alles in einem 
Takt abarbeiten :-)

Grüße,
Kest

von Chris (Gast)


Lesenswert?

Unabhängig davon, daß im FPGA der Adressraum anderst aufgebaut werden 
kann,
Y*80 ist Y<<4+Y<<6 und X/8 => X>>3 .

von Stefan W. (wswbln)


Lesenswert?

Kest schrieb:
> Schuftoperation

...gefällt mir! ;-))

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.