J'ai une carte Altera DE2 et j'essaie de dessiner des sprites. J'ai du mal à implémenter un tampon d'écran.
J'ai une entité d'affichage qui à un taux de 25 MHz émet des pixels pour l'affichage VGA.
J'espérais implémenter un tampon dans SDRAM. L'idée originale était de charger les pixels du pixel suivant à un taux de 25 MHz à partir de la SDRAM. Cela fonctionne, mais je ne peux pas écrire de pixels dans la SDRAM à ce rythme, ni effacer l'écran assez rapidement pour chaque nouvelle image. Il me faut 2 horloges pour écrire des données et ma carte fonctionne à 50 MHz, j'ai donc juste assez de temps pour faire une lecture complète.
Je suppose que je fais quelque chose de terriblement, terriblement mal. Comment un tel canevas de dessin est-il normalement implémenté en VHDL?
La chose la plus proche que j'ai pu trouver est d'utiliser un jeu de couleurs 2-3-3 (RVB) pour récupérer chaque pixel et écrire sur le bélier de la toile pendant le temps VGA "porche" (suppression). Cela signifie que sur chacune des horloges de 25 MHz, je ne peux mettre à jour que 15% de l'écran et j'ai en quelque sorte besoin que mon circuit sache de quels 15% il met à jour?
Je ne peux pas comprendre comment utiliser la double mise en mémoire tampon car je ne peux pas comprendre comment écrire des données dans la mémoire pendant la lecture. Existe-t-il un moyen d'éviter de frapper le protocole en bits Comment fait ce gars?