Actualización:
La VGA Simulador está en marcha y funcionando. Usted puede ir simular sus propios diseños o simplemente utilizar el archivo de ejemplo para ver cómo funciona. También escribí un post en el blog para ayudar a cualquier persona a empezar a usar para sus propios diseños VHDL.
Estoy haciendo una VGA o simulador virtual monitor porque Xilinx toma demasiado tiempo para sintetizar VHDL (en mi pc, y en general para los proyectos grandes). Con esta VGA simulador, solo puedo ejecutar mi testbench que los registros a un archivo mientras se ejecuta en el simulador como Isim y, a continuación, utilizar ese archivo de registro en mi VGA simulador para generar los marcos.
La VGA simulador decodifica hsync, vsync, y rgb (5 principales señales) para generar los marcos.
Es allí una manera de conseguir la resolución o la frecuencia de reloj de píxel a partir de los 5 principales señales? Ahora mismo sólo tengo algunos campos de texto que tienes que poner manualmente (ver formulario). Necesito la frecuencia de reloj de píxel en el fin de mantener un seguimiento de lo que de píxeles que el sistema está trabajando.
Estoy asumiendo que cada monitor utiliza 640 x 480 a 60 Hz como un valor predeterminado para la VGA, porque yo no tengo que jugar con cualquier cosa para conseguir que funcione. Entiendo que hay algunos EDID pines y algunos de los más nuevos de la interfaz de serie que son spec ed pero son realmente utilizó para determinar una resolución diferente o fps/Hz? En la Basys 2, que se acaba de puesta a tierra.
Mi simulador está funcionando muy bien ahora mismo, pero no tiene en cuenta el back porch
, así que tengo un espacio en blanco en la parte superior izquierda y algunos cortes en la parte inferior derecha. Esto es porque acabo de mirar por un flanco de subida en hsync y vsync y comenzar a capturar. Este no es un gran negocio y es fácil de solucionar, pero estoy seguro de cuál es el valor correcto para poner el back porch
con el fin de trabajar con una variedad de pueblos archivos de registro.
Mi diseño VHDL(basados en este diseño) ha back porch
de 48 ciclos de reloj y, por ejemplo, este documento dice que debe ser de 45, y este dice 48. ¿Cuál es la correcta tolerancia para la back porch
o la manera correcta para sincronizar para evitar estas discrepancias?
Por supuesto, un monitor está diseñado para tomar todo esto en cuenta, pero ¿cuáles son las formas adecuadas para lidiar con la tolerancia, no sólo en el reloj de píxel, pero ¿cuántos ciclos de cada proceso (porche delantero, porche trasero, resolución, fps)?
Un ejemplo de una discrepancia: Mi diseño se divide el 50 Mhz en la Basys 2 por dos para obtener un 25 Mhz de reloj de píxel para la unidad de la VGA cuando se spec ed en 25.175 hz en todas partes, pero, por supuesto, usted tiene que poner su reloj de píxel en el formulario, por lo que no es problema en el momento de mi diseño.
Aquí es sólo un bonito diagrama de temporización de hsync y vsync (sólo de referencia):