Ho una scheda Altera DE2 e sto provando a disegnare sprite. Sto riscontrando problemi nell'implementazione di un buffer dello schermo.
Ho un'entità di visualizzazione che a una velocità di 25 MHZ genera pixel per la visualizzazione VGA.
Speravo di implementare un buffer in SDRAM. L'idea originale era quella di caricare i pixel del pixel successivo a una velocità di 25 MHZ dalla SDRAM. Funziona, ma non posso scrivere pixel su SDRAM a questo ritmo, né posso cancellare lo schermo abbastanza velocemente per ogni nuovo fotogramma. Mi servono 2 orologi per scrivere i dati e la mia scheda funziona a 50 MHZ, quindi ho abbastanza tempo per fare una lettura completa.
Suppongo che sto facendo qualcosa di terribilmente, terribilmente sbagliato. Come viene normalmente implementata una tale tela da disegno in VHDL?
La cosa più vicina che potrei trovare è usare una combinazione di colori 2-3-3 (RGB) per recuperare ogni pixel e scrivere sul ram della tela durante il tempo VGA "portico" (oscuramento). Ciò significa che in ciascuno degli orologi da 25mhz posso solo aggiornare il 15% dello schermo e in qualche modo ho bisogno del mio circuito per sapere quale 15% sta aggiornando?
Non riesco a capire come usare il doppio buffering perché non riesco a capire come scrivere i dati in memoria durante la lettura. C'è un modo per evitare il bit-bang del protocollo? Come fa questo ragazzo?