Simulación Verilog VGA

Soy nuevo en el desarrollo de FPGA y en verilog, y actualmente estoy trabajando en un proyecto que implica enviar cosas a la pantalla a través del puerto VGA. Solo tengo acceso a la placa FPGA real cuando estoy en clase, pero también me gusta codificar cuando estoy en casa. Estaba buscando una manera fácil de probar la salida VGA pero no pude encontrar nada adecuado para verilog. ¿Podría alguien decirme cómo puedo probar mi salida VGA de mi programa verilog en simulación?

Gracias.

Respuestas (1)

No estoy seguro de ningún banco de pruebas disponible para lo que desea y, en general, si hubiera uno, sería una propiedad intelectual costosa: alguien, probablemente trabajando para una empresa, tendría que haberlo hecho.

En términos de lo que podría hacer, la mejor opción sería escribir su propio banco de pruebas para observar las señales de control y guardar la salida de datos RGB sin procesar para cada cuadro en un archivo. Puede escribir un banco de pruebas con relativa facilidad con un par de contadores sincronizados con las señales Vsync/Hsync que, para cada píxel válido, guardan los datos RGB en un formato sin procesar (vea cuál es una función de escritura de archivos de Verilog $fwrite).

Con los datos RGB guardados, puede verlos utilizando un software como MATLAB o visores en línea como este sitio web. Alternativamente, puede guardar los datos en ppmformato de imagen directamente desde el banco de pruebas como sugirió @alex.forencich en los comentarios, que es un formato de imagen simple y agradable.

Si bien no es ideal, esto debería proporcionar una forma rápida de verificar que los datos RGB que está generando tengan sentido. Supongo que lo que quiere probar es que si el código genera datos de píxeles y alimenta un núcleo VGA de alguna descripción está alimentando los datos correctos mientras no tiene hardware. Si también está trabajando en clase, supongo que ya ha podido verificar que la generación de señales (tiempos VSync/HSync, alineación de datos, etc.) está funcionando, por lo que puede usar eso para configurar y verificar un banco de pruebas.

En realidad, es posible que pueda volcar el formato ppm directamente con fwrite y luego simplemente abrirlo en un visor de imágenes.
@alex.forencich muy posiblemente, sí. No sabía sobre ppm, lo más simple que se me ocurrió fue bmp, pero tiene que generar recuentos de líneas y otros formatos, así que pensé que descargar los datos sin procesar era más simple, pero ppm parece un buen formato de imagen simple.