數(shù)據(jù)采集器核心器件-FPGA(一)
發(fā)布人: 發(fā)布時(shí)間:2021-06-10

現(xiàn)場可編程門陣列(FPGAs)是可重構(gòu)的計(jì)算機(jī)芯片,可以通過編程實(shí)現(xiàn)任何數(shù)字硬件電路。如圖1所述,F(xiàn)PGAs由不同類型的可編程塊(邏輯、輸入輸出和其他)組成的陣列,這些可編程塊可以使用預(yù)制的布線通道與它們之間的可編程開關(guān)靈活地互連。所有FPGA塊的功能和布線開關(guān)的配置使用數(shù)百萬個(gè)靜態(tài)隨機(jī)存取存儲器(SRAM)單元來控制,這些SRAM在工作時(shí)被編程(即寫入)以實(shí)現(xiàn)特定功能。用戶用硬件描述語言(HDL)如Verilog或VHDL描述所需的功能,或者可能使用高級綜合將C或OpenCL翻譯成HDL。然后,使用復(fù)雜的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)流程將HDL設(shè)計(jì)編譯成比特流文件,用于對FPGA的所有配置SRAM單元進(jìn)行編程。
與構(gòu)建定制專用集成電路(ASIC)相比,F(xiàn)PGAs的非重復(fù)性工程成本低得多,上市時(shí)間也短得多。預(yù)制的現(xiàn)成的FPGA可以用來在幾周內(nèi)實(shí)現(xiàn)一個(gè)完整的系統(tǒng),跳過了定制ASIC通常要經(jīng)歷的物理設(shè)計(jì)、布局、制造和驗(yàn)證階段。它們還允許持續(xù)的硬件升級,以支持新功能或通過在現(xiàn)場部署后簡單地加載新比特流來修復(fù)錯(cuò)誤,因此稱為現(xiàn)場可編程。這使得FPGAs成為中小型設(shè)計(jì)的引人注目的解決方案,特別是在當(dāng)今市場產(chǎn)品周期快的情況下。FPGAs的比特級可重新配置性使得能夠?qū)崿F(xiàn)每個(gè)應(yīng)用所需的精確硬件(例如:數(shù)據(jù)路徑位寬、流水線級、并行計(jì)算單元的數(shù)量、存儲子系統(tǒng)等。)而不是通用處理器(CPUs)或圖形處理單元(GPUs)的固定的單一尺寸結(jié)構(gòu)。因此,通過實(shí)現(xiàn)無指令流硬件[1]或覆蓋有應(yīng)用定制流水線和指令集的處理器[2],它們可以實(shí)現(xiàn)比CPU或GPU更高的效率。
這些優(yōu)勢促使FPGAs在許多應(yīng)用領(lǐng)域采用,包括無線通信、嵌入式信號處理、網(wǎng)絡(luò)、ASIC原型、高頻交易等[3]?[7]。它們最近也被大規(guī)模部署在數(shù)據(jù)中心,以加速搜索引擎、數(shù)據(jù)包處理[9]和機(jī)器學(xué)習(xí)[10]等工作負(fù)載。然而,與ASIC相比,F(xiàn)PGA硬件的靈活性帶來了效率成本。庫恩和羅斯[11]表明,僅使用FPGA的電路比相應(yīng)的ASIC實(shí)現(xiàn)平均大35倍,慢4倍。最近的一項(xiàng)研究[12]表明,對于大量使用其他FPGA(如隨機(jī)存取存儲器和數(shù)字信號處理器)的全功能設(shè)計(jì),這一面積差距有所縮小,但仍為9倍。FPGA設(shè)計(jì)師試圖盡可能地縮小這種效率差距,同時(shí)保持可編程性,使FPGA在廣泛的應(yīng)用中非常有用。