在PC硬件和復古游戲圈依然聲名顯赫的3dfx Voodoo圖形加速卡,如今以全新的FPGA實現形式“重返”舞臺。在多款DOS和PC模擬器已經能較好重現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上也能像當年那樣,把復雜渲染任務按像素切分,在多個階段流水處理,從而實現遠超純軟件渲染的數據吞吐能力。
借助SpinalHDL以及寄存器傳輸級(RTL)設計等現代工具,Le Brun在不丟失細節的前提下,把Voodoo的架構理念“編碼”進了FPGA實現中。他將這一項目命名為“SpinalVoodoo”,并已在GitHub上開源,目前僅有原版Voodoo芯片的一小部分功能尚未補齊。
![]()
盡管這一項目在復古硬件愛好者群體中引發關注,Le Brun目前并未表現出圍繞SpinalVoodoo推出和銷售成品FPGA硬件的興趣。對3dfx粉絲和復古玩家來說,這一開源實現仍為未來的硬件項目、DIY卡或改裝方案,提供了一條極具吸引力的新路徑。
https://noquiche.fyi/voodoo
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.