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