Ejecutando una VM 486 en el Sipeed Tang: La hazaña de un aficionado

2025-09-13

El autor portó con éxito el núcleo ao486 PC de MiSTer al FPGA Sipeed Tang 138K, creando un proyecto llamado 486Tang. Esto marca la primera vez que ao486 se porta con éxito a un FPGA que no es de Altera. El puerto presentó numerosos desafíos, incluyendo la gestión de la memoria (utilizando SDRAM para la memoria principal, DDR3 para el búfer de fotogramas), el almacenamiento en disco (acceso directo a la tarjeta SD) y un complejo proceso de depuración. Para superar las dificultades de la depuración de hardware, el autor utilizó inteligentemente Verilator para la simulación de subsistemas y del sistema completo, utilizando mensajes de depuración del BIOS de Bochs y marcas de rastreo personalizadas para identificar problemas. Finalmente, a través de una serie de optimizaciones de rendimiento, como la reducción del árbol de reinicio y del abanico, la optimización de la búsqueda de instrucciones y la optimización de TLB, 486Tang logró aproximadamente los niveles de rendimiento de un 486SX-20. Este proyecto muestra las impresionantes habilidades de desarrollo de FPGA y la capacidad de resolución de problemas del autor.

Desarrollo