剖析FPGA的優(yōu)勢(shì)以及產(chǎn)業(yè)化的痛點(diǎn)
可編程的“萬(wàn)能芯片” FPGA——現(xiàn)場(chǎng)可編程門(mén)陣列,是指一切通過(guò)軟件手段更改、配置器件內(nèi)部連接結(jié)構(gòu)和邏輯單元,完成既定設(shè)計(jì)功能的數(shù)字集成電路。
本文引用地址:http://cafeforensic.com/article/201807/383290.htm
FPGA簡(jiǎn)介
FPGA(Field Programmable Gate Array)于1985年由xilinx創(chuàng)始人之一Ross Freeman發(fā)明,雖然有其他公司宣稱(chēng)自己最先發(fā)明可編程邏輯器件PLD,但是真正意義上的第一顆FPGA芯片XC2064為xilinx所發(fā)明,這個(gè)時(shí)間差不多比摩爾老先生提出著名的摩爾定律晚20年左右,但是FPGA一經(jīng)發(fā)明,后續(xù)的發(fā)展速度之快,超出大多數(shù)人的想象,近些年的FPGA,始終引領(lǐng)先進(jìn)的工藝。
可編程的“萬(wàn)能芯片” FPGA——現(xiàn)場(chǎng)可編程門(mén)陣列,是指一切通過(guò)軟件手段更改、配置器件內(nèi)部連接結(jié)構(gòu)和邏輯單元,完成既定設(shè)計(jì)功能的數(shù)字集成電路。
FPGA可以實(shí)現(xiàn)怎樣的能力,主要取決于它所提供的門(mén)電路的規(guī)模。如果門(mén)電路的規(guī)模足夠大,F(xiàn)PGA通過(guò)編程可以實(shí)現(xiàn)任意芯片的邏輯功能,例如ASIC、DSP甚至PC處理器等。這就是FPGA為什么被稱(chēng)之為“萬(wàn)能芯片”的原因。
FPGA 內(nèi)部結(jié)構(gòu)
FPGA可隨意定制內(nèi)部邏輯的陣列,并且可以在用戶(hù)現(xiàn)場(chǎng)進(jìn)行即時(shí)編程,以修改內(nèi)部的硬件邏輯,從而實(shí)現(xiàn)任意邏輯功能。這一點(diǎn)是ASIC和和DSP都無(wú)法做到的。形象點(diǎn)來(lái)說(shuō),傳統(tǒng)的ASIC和DSP等于一張出廠(chǎng)時(shí)就寫(xiě)有數(shù)據(jù)且不可擦除的CD,用戶(hù)只需要放到CD播放器就可以看到起數(shù)據(jù)或聽(tīng)到音樂(lè);而FPGA是一張出廠(chǎng)時(shí)的空白的CD,需要用戶(hù)自己使用刻錄機(jī)燒寫(xiě)數(shù)據(jù)內(nèi)容到盤(pán)里,并且還可以擦除上面的數(shù)據(jù),反復(fù)刻錄。
可編程靈活性高、開(kāi)發(fā)周期短、并行計(jì)算效率高
FPGA的核心優(yōu)點(diǎn):可編程靈活性高、開(kāi)發(fā)周期短、并行計(jì)算可編程靈活性高。
與ASIC的全定制電路不同,F(xiàn)PGA屬于半定制電路。理論上,如果FPGA提供的門(mén)電路規(guī)模足夠大,通過(guò)編程可以實(shí)現(xiàn)任意ASIC和DSP的邏輯功能。另外,編程可以反復(fù),不像ASIC設(shè)計(jì)后固化不能修改。所以,F(xiàn)PGA的靈活性也較高。實(shí)際應(yīng)用中,F(xiàn)PGA的現(xiàn)場(chǎng)可重復(fù)編程性使開(kāi)發(fā)人員能夠用軟件升級(jí)包通過(guò)在片上運(yùn)行程序來(lái)修改芯片,而不是替換和設(shè)計(jì)芯片(設(shè)計(jì)和)時(shí)間成本巨大),甚至FPGA可通過(guò)因特網(wǎng)進(jìn)行遠(yuǎn)程升級(jí)。
開(kāi)發(fā)周期短。ASIC制造流程包括邏輯實(shí)現(xiàn)、布線(xiàn)處理和流片等多個(gè)步驟,而FPGA無(wú)需布線(xiàn)、掩模和定制流片等,芯片開(kāi)發(fā)流程簡(jiǎn)化。傳統(tǒng)的ASIC和SoC設(shè)計(jì)周期平均是14個(gè)月到24個(gè)月,用FPGA進(jìn)行開(kāi)發(fā)時(shí)間可以平均降低55%。全球FPGA第一大廠(chǎng)商Xilinx認(rèn)為,更快比更便宜重要,產(chǎn)品晚上市六個(gè)月5年內(nèi)將少33%的利潤(rùn),每晚四周等于損失14%的市場(chǎng)份額。
FPGA比ASIC的設(shè)計(jì)流程大幅減小
并行計(jì)算效率高。FPGA屬于并行計(jì)算,一次可執(zhí)行多個(gè)指令的算法,而傳統(tǒng)的ASIC、DSP甚至CPU都是串行計(jì)算,一次只能處理一個(gè)指令集,如果ASIC和CPU需要提速,更多的方法是增加頻率,所以ASIC、CPU的主頻一般較高。FPGA雖然普遍主頻較低,但對(duì)部分特殊的任務(wù),大量相對(duì)低速并行的單元比起少量高效單元而言效率更高。另外,從某種角度上說(shuō),F(xiàn)PGA內(nèi)部其實(shí)并沒(méi)有所謂的“計(jì)算”,最終結(jié)果幾乎是類(lèi)似于ASIC“電路直給”,因此執(zhí)行效率就大幅提高。
FPGA限制因素:成本、功耗和編程設(shè)計(jì)
未來(lái),如果FPGA價(jià)格到低一定程度,將替代大多數(shù)的ASIC芯片。但是,目前制約FPGA發(fā)展的三大因素主要有:成本、功耗和編程設(shè)計(jì)。
成本。如果ASIC流片量大,實(shí)現(xiàn)同樣邏輯的FPGA成本將是ASIC的10倍以上。按照上面的初步測(cè)算,以5萬(wàn)片流片為零界點(diǎn),低于5萬(wàn)片的小批量多批次的專(zhuān)用控制設(shè)別(如雷達(dá)、航天飛機(jī)、汽車(chē)電子、路由器,這些高價(jià)值、批量相對(duì)較小、多通道計(jì)算的專(zhuān)用設(shè)備)采用FPGA更加經(jīng)濟(jì)劃算。
功耗。FPGA中的芯片的面積比ASIC更大,這是因?yàn)镕PGA廠(chǎng)商并不知道下游的具體需求應(yīng)用,故在芯片中裝入規(guī)模巨大的門(mén)電路(其實(shí)很多沒(méi)有使用到),行業(yè)深度報(bào)告:FPGA—大數(shù)據(jù)和物聯(lián)網(wǎng)時(shí)代大有可為國(guó)防、汽車(chē)等,這些領(lǐng)域?qū)Φ凸囊蟛桓摺?/p>
編程設(shè)計(jì)。FPGA的發(fā)展中,軟件將占據(jù)60%的重要程度。例如Xilinx公司60%~70%的研發(fā)人員從事軟件工作。除了考慮芯片架構(gòu),編程設(shè)計(jì)時(shí)還要考慮應(yīng)用場(chǎng)景多樣性、復(fù)雜性和效率。FPGA編程需要采用的專(zhuān)用工具進(jìn)行HDL編譯,再燒錄至FPGA中,其技術(shù)門(mén)檻非常高。
評(píng)論