In context: 3dfx remains a legendary name among gamers and 3D graphics enthusiasts more than two decades after its demise (it was acquired and absorbed into Nvidia in 2000). Resourceful developers and modders continue to experiment with the old technology, either by using original chips or through complex reimplementation efforts.
3dfx Voodoo graphics accelerators are likely to remain a key part of retro modding projects and gaming ventures for years to come. The Voodoo chip is now almost perfectly emulated in several DOS-based emulators, such as DOSBox-X, and PC emulators like PCem and 86Box, while hardware modders continue developing their own custom implementations.
Francisco Ayala Le Brun decided to take a different approach, turning 3dfx Voodoo technology into a new FPGA-based reimplementation.
Le Brun, who serves as CTO at the Dutch company VideowindoW, recently detailed the significant effort required to describe the Voodoo chip in SpinalHDL. SpinalHDL is a hardware description language designed to convert projects into digital models, which can then be realized in "real" hardware by configuring the integrated circuits of a modern field-programmable gate array chip.
As Le Brun explained, the Voodoo 1 is an old card but not a simple chip design. It lacks modern GPU features such as transform-and-lighting hardware or programmable shaders. Its graphics capabilities are fixed in silicon, with circuits handling gradients for Gouraud shading, texture sampling, mipmapping, bilinear and trilinear filtering, alpha clipping, clipping, and much more.
In 3dfx-based graphics, the CPU handles the complex mathematical calculations required to describe a 3D scene, while the Voodoo accelerator's primary role is to render mapped triangles as quickly as possible.
The developer noted that this apparent barebone design "can make the hardware sound simpler than it really is. Even a single triangle may involve interpolated colors, texture sampling, mip level selection, bilinear or trilinear filtering, alpha clipping, depth comparison, clipping, and fog. None of these operations are programmable in the modern sense. They are all baked into the silicon."
3dfx Interactive: Gone But Not Forgotten
Le Brun detailed how he unraveled the complexity hidden within the Voodoo 1 design, recreating control paths, register semantics, and the chip's "deep" pipeline timings in his FPGA implementation. The original 3D accelerator could "slice" a complex rendering job for each pixel across different stages, achieving data throughput that software rendering alone could not match.
Thanks to modern tools such as SpinalHDL and register-transfer-level design techniques, Le Brun was able to encode the Voodoo's architectural principles without losing track of the intricate details. His SpinalVoodoo FPGA implementation is available on GitHub, with only a few features of the original Voodoo chip still missing.
Currently, he does not appear interested in selling FPGA hardware built around the SpinalVoodoo design.
