Modificación del controlador VGA para mi monitor

0

Vi esta demostración VGA para un monitor 640x480

enlace

y me gustaría ejecutarlo en mi monitor utilizando un FPGA Basys-3. El código de demostración GPIO para la placa Basys-3 funciona en mi monitor, así que sé que es posible mostrarlo con una resolución de 1280x1024, así que decidí modificar su código en consecuencia. El código completo se encuentra en un archivo zip que se puede descargar desde ese enlace (NERP_demo.zip).

Usé los valores que encontré en este enlace y así, la parte de su código que modifiqué desde el archivo vga640x480.v se ve así:

// video structure constants

parameter hpixels = 1280;// horizontal pixels per line

parameter vlines = 768; // vertical lines per frame

parameter hpulse = 128;     // hsync pulse length

parameter vpulse = 7;   // vsync pulse length

parameter hbp = 216;    // end of horizontal back porch

parameter hfp = 88;     // beginning of horizontal front porch

parameter vbp = 29;         // end of vertical back porch

parameter vfp = 3;  // beginning of vertical front porch

// active horizontal video is therefore: 784 - 144 = 640

// active vertical video is therefore: 511 - 31 = 480

Sin embargo, todavía no puedo hacer que su demo se ejecute en mi monitor. Antes de cambiar sus valores, cuando intenté ejecutar el código, mi monitor me decía que cambiara a 1440x900. Después de cambiar los valores, ya no recibo esa sugerencia, pero la pantalla sigue siendo negra. No sé qué hacer.

    
pregunta electricbluefire

1 respuesta

6

Le falta un detalle importante: ¡el reloj de píxeles para el nuevo modo de video es completamente diferente! Requiere un reloj de píxeles de 109 MHz, en comparación con el reloj de píxeles de 25 MHz utilizado para el modo 640x480 @ 60Hz.

Este reloj de 109 MHz no puede derivarse directamente del reloj de entrada de 100 MHz; necesitará generar el asistente de reloj para generar esta señal.

    
respondido por el duskwuff

Lea otras preguntas en las etiquetas