一般來說,在FPGA上使用的 Verilog 和 VHDL 語言都不太適合游戲開發或其他復雜的應用程序。因此,阿根廷的開發人員Victor Suarez Rovere和賓夕法尼亞州的系統工程師Julian Kemmerer就決定使用Julian 的“PipelineC”類 C 硬件描述語言(HDL)、Victor 的解析器,以及數學類型庫的CflexHDL工具來開發,先通過標準編譯在 PC 上運行相同的代碼,然后再通過自定義 C 到 VHDL 轉換器在 FPGA 上運行相同的代碼。
他們的白皮書中提供了有關游戲開發和測試結果的很多詳細信息。比如下文:
該游戲開發需要一些數學函數,包括:浮點加法、減法、乘法、除法、倒數、平方根、平方根倒數、向量點積、向量歸一化等。出于性能原因和設計情況,使用定點對應函數更容易適應目標 FPGA,也更利于與其他類型(整數和浮點數)進行相應轉換。
他們對游戲進行了兩次編譯,一次是在運行 Linux 的 7納米Ryzen 4900H 8 核/16 線程處理器 @ 高達 4.4GHz (45W TDP) 上;另一次則是在FPGA硬件上,也就是Digilent Arty A7- 100T板,帶有 101k LUT FPGA(Xilinx Artix-7 XC7A100TCSG324-1)。
對比來看,在兩個平臺上游戲都可以流暢運行,FPGA 解決方案也可以在 1920×1080 分辨率下以 60 fps 的速度渲染游戲。兩者之間主要的區別在于功耗,FPGA 板的功耗是660 mW,PC 的功耗是 35W。注意,據我了解,該游戲根本沒使用 Ryzen CPU 中的 GPU,而是使用 SIMD 指令來加速游戲。雖然,依靠 GPU 進行 3D 圖形加速的類似游戲消耗可能都挺少的,但仍然還是高于 FPGA 板的。另外,他們此次使用的 FPGA 是28納米制程的,也就是說在與Ryzen CPU 相同的 7納米制程工藝的 FPGA 上預期效率就會提高 6 倍。
大家也可以通過觀看視頻,了解在 CPU 和 Arty-7 FPGA 板上模擬《Sphery vs. Shape》3D 光線追蹤游戲的設計和演示情況。相關視頻鏈接,點擊此處可查看。
用戶也可以在PipelineC-Graphics的GitHub 存儲庫中找到更多詳細信息。圖形演示看起來還是挺酷的。他們的白皮書也解釋過:“PipelineC 還可用于具有硬實時和低功耗要求的其他項目或產品。其中甚至還包括功率和重量參數非常重要的航空航天應用、需要高可靠性和實時處理的工業控制系統、更輕的虛擬和增強現實耳機、網絡應用中的數據包過濾,以及安全和加密應用。
未來,上述應用程序的示例應該都會與 RISC-V CPU和模擬器一起實現。目前他們打算設計一個帶有開源硅知識產權和開源工具的 ASIC,并進行試生產。
原文鏈接:3D game running on FPGA shown to be 50x more efficient than on x86 hardware由Jean-Luc Aufranc撰寫。
文章來源:CNX Software中文站
審核編輯:湯梓紅
-
FPGA
+關注
關注
1629文章
21744瀏覽量
603608 -
轉換器
+關注
關注
27文章
8707瀏覽量
147236 -
Verilog
+關注
關注
28文章
1351瀏覽量
110122
發布評論請先 登錄
相關推薦
評論