La tarjeta aceleradora de gráficos 3dfx Voodoo, que todavía es famosa en los círculos de hardware de PC y juegos retro, ahora "vuelve" al escenario en forma de una nueva implementación FPGA. Partiendo de la base de que múltiples simuladores de DOS y de PC habían podido reproducir bien el rendimiento de Voodoo, un desarrollador decidió reconstruir directamente este chip clásico del siglo pasado en hardware programable.

La marca 3dfx fue adquirida por Nvidia en 2000 y finalmente desapareció, pero sus tarjetas aceleradoras de la serie Voodoo siguen siendo las "tarjetas mágicas" en los corazones de muchos jugadores y entusiastas de los gráficos 3D, y también son componentes centrales en varios proyectos de modificación retro y soluciones de hardware de juegos antiguos. En la actualidad, los chips Voodoo se han simulado casi por completo en varios simuladores como DOSBox-X, PCem y 86Box, y los jugadores de hardware prueban constantemente proyectos de modificación basados ​​en chips originales o soluciones caseras.

Francisco Ayala Le Brun, director de tecnología de la empresa holandesa VideowindoW, optó por encontrar un nuevo camino de "reencarnación" para Voodoo a través de FPGA. Utilizó SpinalHDL, un lenguaje de descripción de hardware, para describir completamente la tarjeta gráfica Voodoo 1 y luego la convirtió en un modelo de circuito digital que podría ejecutarse en una moderna matriz de puertas programables en campo (FPGA).

Le Brun destacó en la descripción técnica que, aunque Voodoo 1 es muy antiguo, no se trata de un diseño de chip simple. A diferencia de las GPU modernas, no tiene hardware de transformación e iluminación ni funciones de sombreado programables. Todas las capacidades gráficas están "codificadas" en el chip de silicio en forma de funciones fijas, incluida una línea completa de cálculos de gradiente para sombreado Gouraud, muestreo de texturas, mapeo MIP, filtrado de texturas multinivel (bilineal y trilineal), recorte alfa, cálculos de recorte, etc.

En el proceso de renderizado de gráficos basado en 3dfx, la CPU es responsable de completar las complejas operaciones matemáticas necesarias para describir la escena 3D, mientras que el acelerador Voodoo dibuja triángulos texturizados en la pantalla lo más rápido posible. Le Brun señaló que esta división de responsabilidades "aparentemente simple" puede fácilmente llevar a la gente a pensar que la estructura del hardware también es muy simple. De hecho, incluso si solo se representa un triángulo, se deben completar dentro del chip una serie de operaciones como interpolación de color, muestreo de textura, selección de nivel de mip, filtrado, comparación de profundidad, recorte y efectos de niebla. Además, no se trata de procesos programables en el sentido moderno, sino que están solidificados en el chip en forma de circuitos fijos.

En el proceso de reconstrucción de Voodoo 1, Le Brun necesitaba desentrañar la complejidad oculta en su interior: reorganizar la ruta de control, registrar la semántica y un diseño de temporización de canalización extremadamente "profundo", de modo que este primer acelerador 3D también pueda dividir tareas de renderizado complejas por píxeles en FPGA como lo hacía en aquel entonces, y procesar el canal en múltiples etapas, logrando así capacidades de rendimiento de datos que superan con creces las del renderizado de software puro.

Con la ayuda de herramientas modernas como SpinalHDL y el diseño de nivel de transferencia de registros (RTL), Le Brun "codificó" los conceptos arquitectónicos de Voodoo en la implementación de FPGA sin perder detalles. Llamó a este proyecto "SpinalVoodoo" y lo hizo de código abierto en GitHub. Actualmente, sólo una pequeña parte de las funciones del chip Voodoo original no se han completado.

Aunque el proyecto ha generado revuelo entre la comunidad de entusiastas del hardware retro, Le Brun aún no ha mostrado interés en lanzar y vender hardware FPGA disponible en el mercado en torno a SpinalVoodoo. Para los fanáticos de 3dfx y los jugadores retro, esta implementación de código abierto aún proporciona un nuevo y atractivo camino para futuros proyectos de hardware, tarjetas de bricolaje o soluciones de modificación.

aprender más:

https://noquiche.fyi/voodoo