Relacionado: ¿Dónde comenzar cuando se considera hacer una GPU?
Soy un programador bastante fuerte, pero soy muy nuevo en el diseño de hardware, así que pido disculpas si utilizo una terminología extraña.
Mi objetivo a largo plazo es escribir una GPU personalizada, pero estoy empezando con un framebuffer básico para sentirme cómodo con el diseño de hardware. Este es un resumen de lo que espero hacer con mi proyecto:
- Recibir un cuadro de datos de píxeles en un bus
- Almacenar marco en una pila en el hardware
- Marcos de salida a la frecuencia de actualización del monitor
Puedo descubrir el # 1 y el # 2, pero nunca he hecho algo como el # 3. Estoy pensando que la configuración de desarrollo óptima sería tener una pantalla virtual que se conecte a los pines de salida de mi diseño (VGA o DVI) y la muestre en una ventana de mi computadora. Probablemente podría hacer esto con un FPGA y una pequeña pantalla LCD, pero creo que será más fácil para el desarrollo (especialmente viajar) simularlo todo.
¿Ya existe una solución para esto? Si es así, ¿qué puedo buscar para obtener más información al respecto? Si no, ¿cuál es la configuración de desarrollo habitual para algo como esto?
Estoy desarrollando Linux utilizando Icarus Verilog, por lo que sería preferible una solución que funcione con eso.