Tôi có một bảng Altera DE2 và cố gắng vẽ các họa tiết. Tôi gặp một số khó khăn khi thực hiện bộ đệm màn hình.
Tôi có một thực thể hiển thị rằng ở tốc độ 25 MHZ xuất ra pixel cho màn hình vga.
Tôi đã hy vọng thực hiện một bộ đệm trong SDRAM. Ý tưởng ban đầu là tải pixel pixel tiếp theo với tốc độ 25 MHZ từ SDRAM. Điều này hoạt động, nhưng tôi không thể ghi pixel vào SDRAM ở tốc độ này và cũng không thể xóa màn hình đủ nhanh cho mỗi khung hình mới. Tôi phải mất 2 đồng hồ để ghi dữ liệu và bảng của tôi hoạt động ở mức 50 MHZ vì vậy tôi có đủ thời gian để đọc xong.
Tôi sẽ cho rằng tôi đang làm một cái gì đó khủng khiếp, sai lầm khủng khiếp. Làm thế nào là một bản vẽ như vậy thường được thực hiện trong VHDL?
Điều gần nhất tôi có thể tìm thấy là sử dụng bảng màu 2-3-3 (RGB) để lấy từng pixel và ghi vào ram vải trong thời gian VGA "hiên" (xóa). Điều này có nghĩa là ở mỗi đồng hồ 25 MHz, tôi chỉ có thể cập nhật 15% màn hình và bằng cách nào đó tôi cần mạch của mình để biết được 15% đang cập nhật?
Tôi không thể tìm ra cách sử dụng bộ đệm đôi vì tôi không thể tìm ra cách ghi dữ liệu vào bộ nhớ trong khi đọc. Có cách nào để tránh bit-banging giao thức không? Làm thế nào mà anh chàng này làm điều đó?