除了編譯時間外,吸引偏好上層編程語言的研究人員和應(yīng)用科學家來開發(fā)FPGA的問題尤為艱難。雖然能流利使用一種軟件語言常常意味著可以輕松地學習另一種軟件語言,但對于硬件語言翻譯技能來說卻非如此。針對FPGA最常用的語言是Verilog和VHDL,兩者均為硬件描述語言(HDL)。這些語言和傳統(tǒng)的軟件語言之間的主要區(qū)別是,HDL只是單純描述硬件,而例如C語言等軟件語言則描述順序指令,并無需了解硬件層面的執(zhí)行細節(jié)。有效地描述硬件需要對數(shù)字化設(shè)計和電路的專業(yè)知識,盡管一些下層的實現(xiàn)決定可以留給自動合成工具去實現(xiàn),但往往無法達到高效的設(shè)計。因此,研究人員和應(yīng)用科學家傾向于選擇軟件設(shè)計,因其已經(jīng)非常成熟,擁有大量抽象和便利的分類來提高程序員的效率。這些趨勢使得FPGA領(lǐng)域目前更加青睞高度抽象化的設(shè)計工具。
FPGA深度學習研究里程碑:
1987VHDL成為IEEE標準
1992GANGLION成為首個FPGA神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)項目(Cox et al.)
1994Synopsys推出第一代FPGA行為綜合方案
1996VIP成為首個FPGA的CNN實現(xiàn)方案(Cloutier et al.)
2005FPGA市場價值接近20億美元
2006首次利用BP算法在FPGA上實現(xiàn)5 GOPS的處理能力