Saya memiliki papan Altera DE2 dan mencoba menggambar sprite. Saya mengalami masalah dalam menerapkan buffer layar.
Saya memiliki entitas tampilan yang pada tingkat 25 MHZ menghasilkan piksel untuk tampilan vga.
Saya berharap untuk mengimplementasikan buffer di SDRAM. Ide aslinya adalah memuat piksel piksel berikutnya dengan kecepatan 25 MHZ dari SDRAM. Ini berfungsi, tapi saya tidak bisa menulis piksel ke SDRAM pada tingkat ini juga tidak bisa menghapus layar cukup cepat untuk setiap bingkai baru. Saya membutuhkan 2 jam untuk menulis data dan papan saya beroperasi pada 50 MHZ jadi saya punya cukup waktu untuk melakukan pembacaan lengkap.
Saya akan menganggap saya melakukan sesuatu yang sangat, sangat salah. Bagaimana kanvas gambar seperti itu biasanya diimplementasikan dalam VHDL?
Saya paling dekat saya bisa menemukan adalah menggunakan skema warna 2-3-3 (RGB) untuk mengambil setiap piksel dan menulis ke ram kanvas selama "serambi" (blanking) waktu VGA. Ini berarti bahwa pada masing-masing jam 25mhz saya hanya dapat memperbarui 15% dari layar dan entah bagaimana saya membutuhkan rangkaian saya yang mengetahui 15% itu sedang diperbarui?
Saya tidak tahu cara menggunakan buffering ganda karena saya tidak tahu cara menulis data ke memori saat membaca. Apakah ada cara untuk menghindari menggedor protokol? Bagaimana orang ini melakukannya?