借助SpinalHDL以及存放器传输级(RTL)设计等现代对象,Le Brun在不损掉细节的前提下,把Voodoo的架构理念“编码”进了FPGA实现中。他将这一项目定名为“SpinalVoodoo”,并已在GitHub上开源,今朝仅有原版Voodoo芯片的一小部分功能尚未补齐。

3dfx这一品牌在2000年被英伟达收购并最终消掉,但其Voodoo系列加快卡仍是浩瀚玩家和3D图形爱好者心中的“神卡”,同时也是各类复古改装项目和老游戏硬件筹划中的核心组件。今朝,Voodoo芯片已经在DOSBox-X、PCem、86Box等多种模仿器中获得近乎完全的模仿,而硬件玩家也在赓续测验测验基于原始芯片或克己筹划的改装项目。
来自荷兰公司VideowindoW的首席技巧官Francisco Ayala Le Brun,选择经由过程FPGA为Voodoo寻找一条全新“转生”路径。他应用SpinalHDL这种硬件描述说话,对Voodoo 1显卡进行了完全描述,再将其转换为可在现代现场可编程门阵列(FPGA)上运行的数字电路模型。
Le Brun在技巧解释中强调,Voodoo 1固然在年代上已十分长远,却毫不是一个设计简单的芯片。与现代GPU不合,它不具备变换与光照硬件或可编程着色器功能,所有图形才能都以固定功能情势“写逝世”在硅片里,包含用于Gouraud着色的渐变计算、纹理采样、mipmapping、多级纹理过滤(双线性和三线性)、alpha裁剪、裁剪计算等一整套流水线。
在基于3dfx的图形衬着流程中,CPU负责完成描述3D场景所需的复杂数学运算,而Voodoo加快器则将带纹理的三角形尽可能快速地绘制到屏幕上。Le Brun指出,这种“看上去很朴实”的职责划分,很轻易让人误认为硬件构造也很简单,实际上哪怕只衬着一个三角形,都要在芯片内部完成色彩插值、纹理采样、mip层级选择、滤波、深度比较、裁剪以及雾效等连续串操作,并且这些都不是现代意义上的可编程流程,而是以固定电路情势固化在芯片中。
在重构Voodoo 1的过程中,Le Brun须要解开其内部隐蔽的复杂性:从新梳理控制路径、存放器语义以及极为“深度”的流水线时序设计,使得这个早期3D加快器在FPGA上也能像昔时那样,把复杂衬着义务按像素切分,在多个阶段流水处理,从而实现远超纯软件衬着的数据吞吐才能。

尽管这一项目在复古硬件爱好者群体中激发存眷,Le Brun今朝并未表示出环绕SpinalVoodoo推出和发卖成品FPGA硬件的兴趣。对3dfx粉丝和复古玩家来说,这一开源实现仍为将来的硬件项目、DIY卡或改装筹划,供给了一条极具吸引力的新路径。
懂得更多:

https://noquiche.fyi/voodoo

发表评论 取消回复