FPGA研發(fā)之道(1)FPGA是個(gè)什么玩意?
FPGA是個(gè)什么玩意?
本文引用地址:http://butianyuan.cn/article/263945.htm首先來(lái)說(shuō):
FPGA是一種器件。其英文名 feild programable gate arry 。很長(zhǎng),但不通俗。通俗來(lái)說(shuō),是一種功能強(qiáng)大似乎無(wú)所不能的器件。通常用于通信、網(wǎng)絡(luò)、圖像處理、工業(yè)控制等不同領(lǐng)域的器件。就像ARM、DSP等嵌入式器件一樣,成為無(wú)數(shù)碼農(nóng)碼工們情感傾瀉而出的代碼真正獲得生命的地方。只不過(guò),一樣的編程,卻是不一樣的思想。嵌入式軟件人員看到的是C。而FPGA工程師看到是硬件描述語(yǔ)言,verilog或VHDL。軟件看到是函數(shù)、對(duì)象、重構(gòu)。FPGA工程師則是模塊、流水、復(fù)用。從現(xiàn)象上看,都是代碼到下載程序再到硬件上運(yùn)行。不能只看現(xiàn)象而忽略本質(zhì)。FPGA 開發(fā)本質(zhì)上是設(shè)計(jì)一顆IC,“**的身子,丫鬟的命”不是所有verilog/VHDL代碼,都能獲得青睞去流片成為真正的芯片,而更多的則成為運(yùn)行在FPGA器件上,成為完成相同功能的替代品。其實(shí)現(xiàn)的功能卻一點(diǎn)也不遜色于百萬(wàn)身價(jià)流片的近親。從而成為獨(dú)樹一幟的行業(yè)。
FPGA開發(fā)的流程,是通過(guò)verilog/VHDL等硬件描述語(yǔ)言通過(guò)EDA工具編譯、綜合、布局布線成為下載文件,最終加載到FPGA器件中去,完成所實(shí)現(xiàn)的功能。那硬件描述語(yǔ)言描述的是什么?這里描述的就是組合邏輯電路和時(shí)序邏輯電路。組合邏輯電路就是大家所熟知的 與門、或門、非門。時(shí)序邏輯電路則是觸發(fā)器。數(shù)字芯片上絕大部分邏輯都是這兩種邏輯實(shí)現(xiàn)的。也就是基本上每個(gè)電子行業(yè)的人所學(xué)過(guò)的數(shù)字電路。順便說(shuō)一下,感謝香農(nóng)大師,在其碩士畢業(yè)論文<繼電器與開關(guān)電路的符號(hào)分析>就奠定了數(shù)字電路的的根基。只不過(guò)在FPGA中,與或非的操作變成了查找表的操作。于是所有的數(shù)字電路變成了查找表和寄存器,這就構(gòu)成了FPGA的基礎(chǔ)。查找表負(fù)責(zé)邏輯實(shí)現(xiàn),寄存器存儲(chǔ)電路狀態(tài)。二者配合,雙劍合璧,天衣無(wú)縫。這是最初的FPGA的雛形。 現(xiàn)代FPGA內(nèi)部出了查找表和寄存器之外,還有RAM塊,用于存儲(chǔ)大量的數(shù)據(jù)塊,這是因?yàn)镽AM塊較寄存器來(lái)存儲(chǔ)大量數(shù)據(jù)更能節(jié)省芯片實(shí)現(xiàn)的面積。FPGA內(nèi)部的時(shí)序電路則需要時(shí)鐘的輸入,通常FPGA內(nèi)部需要時(shí)鐘種類較多,因此需要在片內(nèi)產(chǎn)生所需的的相關(guān)的時(shí)鐘,如不同頻率,不同相位的時(shí)鐘,因此時(shí)鐘管理單元DCM/PLL也是必不可少的內(nèi)部部件。除此之外,F(xiàn)PGA內(nèi)部還包括接口I/O,I/O分為普通I/O和高速I/O,高速I/O支持例如高速的SERDES,用于實(shí)現(xiàn)XAUI,PCIE等高速接口,這些接口動(dòng)輒幾Gbps到10Gbps以上。此外種類多種多樣的硬核IP也是各FPGA廠商差異化競(jìng)爭(zhēng)利器,例如POWERPC、ARM等硬核IP。從而構(gòu)成CPU+FPGA于一體的集可編程性和可重構(gòu)的處理平臺(tái)。因此,相對(duì)來(lái)所,F(xiàn)PGA雖然發(fā)展有二三十年的歷史,其基本架構(gòu)一直不變不大。
回到問題開始的地方,F(xiàn)PGA的英文翻譯過(guò)來(lái)是現(xiàn)場(chǎng)可編程門陣列。這是相對(duì)ASIC來(lái)說(shuō)的,ASIC的硬件也可看做是門陣列,但是其是非可編程的器件。流片完成其功能就固化了,而FPGA的可編程性就在其能夠重新下載配置文件,來(lái)改變其內(nèi)在的功能,這就是其可編程性的由來(lái)。從前端開發(fā)流程來(lái)說(shuō),F(xiàn)PGA和ASIC開發(fā)并無(wú)二至。由于ASIC開發(fā)一次性投入成本較高,F(xiàn)PGA無(wú)疑是一種經(jīng)濟(jì)的替代方案,用于實(shí)現(xiàn)的高速的數(shù)據(jù)并行處理。如業(yè)務(wù)能夠支撐大規(guī)模應(yīng)用并且協(xié)議固化,則能夠分?jǐn)偝杀镜腁SIC實(shí)現(xiàn)就有成本的優(yōu)勢(shì)。
FPGA作為一種器件,技術(shù)上主要壟斷在少數(shù)大公司手中,那就是雙巨頭ALTERA和XILINX。除此之外還有一些份額相對(duì)較小的公司,例如ACTEL和LATTICE。不止是FPGA的硬件芯片,其配套的EDA工具技術(shù)壁壘更高。因此相對(duì)于CPU來(lái)說(shuō),F(xiàn)PGA的國(guó)產(chǎn)化更不樂觀,不過(guò)已經(jīng)有國(guó)內(nèi)的廠商來(lái)從事這一行業(yè),例如國(guó)微和京微雅格等,也在一些細(xì)分市場(chǎng)上推出自己的FPGA產(chǎn)品。
fpga相關(guān)文章:fpga是什么
評(píng)論