1、FPGA——現(xiàn)場可編程門陣列
FPGA(Field Programmable Gate Array),即現(xiàn)場可編程門陣列,是一種硬件可重構(gòu)的體系結(jié)構(gòu)。它是在可編程陣列邏輯 PAL(Programmable Array Logic)、門陣列邏輯 GAL(Gate Array Logic)、可編程邏輯器件 PLD(Programmable Logic Device)等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了全定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
FPGA運用硬件描述語言(Verilog或VHDL)描述邏輯電路,可以利用邏輯綜合和布局、布線工具軟件,快速地燒錄至FPGA上進行測試。人們可以根據(jù)需要,通過可編輯的連接,把FPGA內(nèi)部的邏輯塊連接起來,通過配置它的可編程架構(gòu)來實現(xiàn)任意需要的數(shù)字功能組合。FPGA由Xilinx,Alter等器件廠家提供,設(shè)計人員只需要根據(jù)需求選擇相應(yīng)的器件,然后設(shè)計邏輯電路,并下載到FPGA器件中去,實現(xiàn)需求的電路功能,隨時可以修改電路功能。
它是當今數(shù)字系統(tǒng)設(shè)計的主要硬件平臺,其主要特點就是完全由用戶通過軟件進行配置和編程,從而完成某種特定的功能,且可以反復(fù)擦寫。在修改和升級時,不需額外地改變PCB 電路板,只是在計算機上修改和更新程序,使硬件設(shè)計工作成為軟件開發(fā)工作,縮短了系統(tǒng)設(shè)計的周期,提高了實現(xiàn)的靈活性并降低了成本。FPGA特別適合于樣品研制或小批量產(chǎn)品開發(fā),使產(chǎn)品能以最快的速度上市,而當市場擴大時,它可以很容易的由ASIC實現(xiàn),因此開發(fā)風險也大為降低。
FPGA的特點:
1.加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。理論上,F(xiàn)PGA允許無限次的編程。
2.FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。
3.FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。
4.快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。
5.用戶不需要介入芯片的布局布線和工藝問題,而且可以隨時改變其邏輯功能,使用靈活。
6.FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB、輸出輸入模塊IOB和內(nèi)部連線三個部分。現(xiàn)場可編程門陣列(FPGA)是可編程器件。FPGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了即可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能。
2、ASIC——專用集成電路
ASIC(Application Specific Integrated Circuits),即專用集成電路,是一種為專門目的而設(shè)計的集成電路。是指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計、制造的集成電路。ASIC的特點是面向特定用戶的需求,品種多、批量少,要求設(shè)計和生產(chǎn)周期短,它作為集成電路技術(shù)與特定用戶的整機或系統(tǒng)技術(shù)緊密結(jié)合的產(chǎn)物,與通用集成電路相比具有體積更小、重量更輕、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優(yōu)點。
ASIC是定制的,具體分為全定制和半定制。全定制設(shè)計可以實現(xiàn)最小面積,最佳布線布局、最優(yōu)功耗速度積,得到最好的電特性。特點:精工細作,設(shè)計要求高、周期長,設(shè)計成本昂貴。半定制設(shè)計方法又分成基于標準單元的設(shè)計方法CBIC和基于門陣列的設(shè)計方法。半定制主要適合于開發(fā)周期短,低開發(fā)成本、投資、風險小的小批量數(shù)字電路設(shè)計。
ASIC的特點:
面向特定用戶的需求,ASIC在批量生產(chǎn)時與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優(yōu)點。
ASIC需要較長的開發(fā)周期,風險較大,一旦有問題,成片全部作廢,所以小公司已經(jīng)玩不起了。
3、兩者的設(shè)計流程
完整的FPGA設(shè)計流程包括功能描述、電路設(shè)計與輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實現(xiàn)與布局布線、時序仿真、板級仿真與驗證、調(diào)試與加載配置。
ASIC的設(shè)計流程(數(shù)字芯片)包括:功能描述、模塊劃分、模塊編碼輸入、模塊級仿真驗證、系統(tǒng)集成和系統(tǒng)仿真驗證、綜合、STA(靜態(tài)時序分析)、形式驗證。
在ASIC設(shè)計過程中,往往要用到FPGA進行原型驗證。FPGA驗證是進行ASIC設(shè)計的重要環(huán)節(jié),其后,還需要引入ASIC版本源碼,插入IOPAD,DFT,功耗估計和進行其它后端流程。完成FPGA驗證可以說就完成了ASIC整套流程的50~80%。
4、ASIC和FPGA之間的比較
目前用CPLD(復(fù)雜可編程邏輯器件)和FPGA(現(xiàn)場可編程邏輯陣列)來進行ASIC設(shè)計是最為流行的方式之一,它們的共性是都具有用戶現(xiàn)場可編程特性,都支持邊界掃描技術(shù),但兩者在集成度、速度以及編程方式上具有各自的特點。
用途:
FPGA主要用于要求快速迭代或者小批量產(chǎn)品,或者作為ASIC的算法驗證加速。
ASIC用于設(shè)計規(guī)模大,復(fù)雜度比較高的芯片,或者是成熟度高,產(chǎn)量比較大的產(chǎn)品。
成本:
小批量需求時,單片F(xiàn)PGA成本低于ASIC,隨著產(chǎn)品量的增加,單片ASIC成本逐步降低。FPGA貴在單片,開發(fā)工具和風險基本不存在。對于ASIC貴在流片的費用和開發(fā)工具,NRE費用隨著工藝的提高變相當貴,除非你的芯片一次成功可以量產(chǎn),否則單片費用將其貴無比!
功耗:
在相同工藝條件下,F(xiàn)PGA要大于ASIC。FPGA,尤其是基于占用大量硅面積的、每個單元六個晶體管的靜態(tài)存儲器(SRAM)的查尋表(LUT)和配置元件技術(shù)的FPGA,其功耗要比對等的ASIC大得多。
速度:
FPGA內(nèi)部是基于通用的結(jié)構(gòu),根據(jù)RTL設(shè)計選擇內(nèi)部布局布線,F(xiàn)PGA結(jié)構(gòu)上的通用性必然導致冗余。
ASIC是根據(jù)設(shè)計需求,最優(yōu)化cell邏輯資源,沒有結(jié)構(gòu)上的限制,并且做到最優(yōu)布局走線,降低走線延遲和CELL延時。
相同的工藝和設(shè)計,在FPGA上的速度應(yīng)該比ASIC跑得慢。
面積:
定制化的電路設(shè)計和工藝使用ASIC面積小于FPGA。FPGA要規(guī)模大得多才能實現(xiàn)ASIC相同的功能,主頻還只有幾分之一。因此,F(xiàn)PGA相對于ASIC來說還是大很多的。
其他方面:
ASIC用于大型項目,而對于需要快速投放市場且支持遠程升級的小型項目,F(xiàn)PGA則更為適合。FPGA技術(shù)的主要優(yōu)勢仍是產(chǎn)品投放市場的時間較短。
在ASIC的優(yōu)勢方面,ASIC加電后可立即運行,就單位邏輯大小而言封裝選擇更多,還可包括某些模擬邏輯。與此相對比,F(xiàn)PGA加載配置進入存儲器需要時間,因此不能立即工作。此外,F(xiàn)PGA的封裝也較復(fù)雜。
除此之外,F(xiàn)PGA內(nèi)部還包括接口I/O,I/O分為普通I/O和高速I/O,高速I/O支持例如高速的SERDES,用于實現(xiàn)XAUI,PCIE等高速接口,這些接口動輒幾Gbps到10Gbps以上。此外種類多種多樣的硬核IP也是各FPGA廠商差異化競爭利器,例如POWERPC、ARM等硬核IP。從而構(gòu)成CPU+FPGA于一體的集可編程性和可重構(gòu)的處理平臺。因此,相對來所,F(xiàn)PGA雖然發(fā)展有二三十年的歷史,其基本架構(gòu)一直不變不大。
兩者的定位:
FPGA和ASIC產(chǎn)品的使用要根據(jù)產(chǎn)品的定位和設(shè)計需要來選用,ASIC產(chǎn)品適用于設(shè)計規(guī)模特別大,如CPU、DSP或多層交換芯片等,或者是應(yīng)用于技術(shù)非常成熟且利潤率非常低的產(chǎn)品,如家用電器和其它消費類電器,亦或是大量應(yīng)用的通用器件如RAM、PHY等。而FPGA產(chǎn)品適用于設(shè)計規(guī)模適中,產(chǎn)品要求快速占領(lǐng)市場,或產(chǎn)品需要靈活變動的特性設(shè)計等方面的產(chǎn)品,如PDH、2.5G以下SDH設(shè)備和大部分的接口轉(zhuǎn)換芯片等。當然具體使用那種產(chǎn)品來設(shè)計還要設(shè)計者充分考慮自己的產(chǎn)品定位來決定。
兩者互相融合:
最明顯的莫過于處理器中開始集成FPGA,而可編程的ASIC也開始興起。隨著SoC成為主流,兩者的邊界也就不辣么明顯了。
更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<
電子技術(shù)應(yīng)用專欄作家 FPGA之旅
原文鏈接:https://mp.weixin.qq.com/s/3gEHGMWqva-9BHT6zHej8w