FPGA現(xiàn)場可編程門陣列(Field-Programmable Gate Array),簡稱:FPGA芯片,F(xiàn)PGA芯片概念由美國Xilinx公司首創(chuàng)(FPGA芯片廠家),F(xiàn)PGA芯片是一種可以提高生產(chǎn)效率的編程器件,進行定義配置的專用集成電路(ASIC)。
什么是FPGA芯片
集成電路芯片包括數(shù)字芯片和模擬芯片兩大類,數(shù)字芯片可以分為存儲器芯片和邏輯芯片,我們熟知的邏輯芯片一般包括CPU、GPU、DSP等通用處理器芯片,以及專用集成電路芯片ASIC。FPGA(現(xiàn)場可編程門陣列,F(xiàn)ieldProgrammableGateArray)也是邏輯芯片的一種。
數(shù)字芯片的分類
FPGA是在PAL(可編程邏輯陣列)、GAL(通用陣列邏輯)、CPLD(復(fù)雜可編程邏輯器件)等傳統(tǒng)邏輯電路和門陣列的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它利用計算機輔助設(shè)計,繪制出實現(xiàn)用戶要求的原理圖、編輯布爾方程或用硬件描述語言等方式作為設(shè)計輸入;然后經(jīng)一系列轉(zhuǎn)換程序、自動布局布線、模擬仿真的過程;最后生成FPGA的數(shù)據(jù)文件,對FPGA器件初始化。這樣就實現(xiàn)了滿足用戶要求的專用集成電路,真正達到了用戶自行設(shè)計、自行研制和自行生產(chǎn)集成電路的目的。
FPGA與CPU、GPU、ASIC等芯片的核心區(qū)別是:其底層邏輯運算單元的連線和邏輯布局未固化。用戶可通過EDA軟件對邏輯單元和開關(guān)陣列編程,進行功能配置,從而去實現(xiàn)特定功能的集成電路芯片。而其他類別邏輯芯片,像ASIC、CPU和GPU等,物理底層邏輯單元的運算關(guān)系均已固定且不可變。簡單地說,如果CPU、GPU、ASIC等是像建好的樓房,樓房中房間、走廊及樓梯等格局是已經(jīng)固定了;而FPGA的內(nèi)部類似霍格沃茲中的魔法樓梯,可以隨時改變房間到房間的路線關(guān)系。
FPGA由可編程邏輯塊(CLB)、輸入/輸出模塊(IOB)、可編程互連資源(PIR)等三種可編程電路和用于存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。CLB是實現(xiàn)邏輯功能的基本單元,它們通常規(guī)則排列成一個陣列,散布于整個芯片中。IOB主要完成芯片上的邏輯與外部引腳的接口,通常排列在芯片的四周。PIR提供了豐富的連線資源,包括縱橫網(wǎng)狀連線、可編程開關(guān)矩陣和可編程連接點等,它們將各個CLB之間、CLB與IOB之間以及IOB之間連接起來,構(gòu)成特定功能的電路。靜態(tài)存儲器SRAM用于存放內(nèi)部IOB、CLB和PIR的編程數(shù)據(jù),并形成對IOB、CLB及PIR的控制,從而完成系統(tǒng)邏輯功能。
FPGA的基本結(jié)構(gòu)
由于FPGA需要被反復(fù)燒寫,它實現(xiàn)的組合邏輯基本結(jié)構(gòu)無法通過固定的與非門來完成,而只能采用一種易于反復(fù)配置的結(jié)構(gòu)。查找表(Look-Up-Table,簡稱為LUT)可以很好地滿足這一要求。
LUT實質(zhì)上是一個RAM,當用戶描述了一個邏輯電路后,軟件會計算所有可能的結(jié)果,并寫入RAM。每一個信號進行邏輯運算,就等于輸入一個地址進行查表,找出地址對應(yīng)的內(nèi)容,輸出結(jié)果。這樣也大大加快了FPGA的運算速度。目前主流FPGA都采用了基于SRAM工藝的查找表結(jié)構(gòu),也有一些FPGA采用Flash或反熔絲工藝的查找表結(jié)構(gòu)。
FPGA有三大特點,其中一個便是上面所講的可編程靈活性高,另外兩個特點是開發(fā)周期短和并行計算效率高。
(1)開發(fā)周期短
在邏輯芯片里面,如ASIC制造流程包括邏輯實現(xiàn)、布線處理和流片等多個步驟;而FPGA無需布線、掩膜和定制流片等,芯片開發(fā)大大簡化。一般邏輯芯片,如ASIC、DSP、SOC等,開發(fā)周期需要14-24個月,甚至更長,而FPGA則只需要6-12個月,比其他芯片開發(fā)周期減少55%的時間。
表:邏輯芯片開發(fā)周期
類型 |
FPGA |
ASIC |
DSP |
SOC |
名稱 |
現(xiàn)場可編程門陣列 |
專用集成電路 |
數(shù)字信號處理技術(shù) |
系統(tǒng)級芯片 |
開發(fā)周期 |
6-12個月 |
14-24個月 |
14-24個月 |
14-24個月或更長 |
正如全球FPGA第一大廠商Xilinx認為,更快比更便宜重要,產(chǎn)品晚上市6個月,5年內(nèi)將減少33%的利潤,每晚四周等于損失14%的市場份額。
(2)并行計算效率高
FPGA屬于并行計算,也即一次可執(zhí)行多個指令算法。而傳統(tǒng)的ASIC、DSP、CPU都是串行計算,一次只能處理一個指令集。因此在部分特殊任務(wù)中,F(xiàn)PGA的并行計算效率比串行計算效率更高。
FPGA芯片廠家設(shè)計不是簡單的芯片研究,F(xiàn)PGA芯片主要是利用FPGA芯片 的模式進行其他行業(yè)產(chǎn)品的設(shè)計。 FPGA芯片廠家是為(ASIC)領(lǐng)域?qū)S眉呻娐分械陌攵ㄖ齐娐范霈F(xiàn)的,既能解決定制電路的不足,也克服原有可編程器件門電路數(shù)有限的缺點。當時xilinx FPGA芯片廠家系列受到了很多工程師的喜愛,半導(dǎo)體器件CMOS LSI的主流,邏輯系統(tǒng)大規(guī)模的出現(xiàn)。大規(guī)模集成電路邏輯系統(tǒng)最簡單的方式是門陣列,F(xiàn)PGA芯片門陣列是指廠商半定制產(chǎn)品芯片準備的半導(dǎo)體,邏輯門是在硅片上形成稱的基本單元,在主板上形成電路根據(jù)用戶需要的電路通過布線。FPGA芯片由宏單元(Macrocell)組合而成的 EPLD 器件個數(shù)不同,宏單元作為一個整體,固定相對的部連線,F(xiàn)PGA芯片廠家編程靈活性及邏輯容量均受到限制。
FPGA 芯片型號為門級可編程,F(xiàn)PGA芯片廠家的編程靈活性與內(nèi)部邏輯容量遠大于 EPLD。FPGA 芯片型號器件集成度高,F(xiàn)PGA芯片功耗低陣列引腳數(shù)多。FPGA芯片廠家型號器件具有用戶現(xiàn)場可編程的優(yōu)越特性。由于FPGA芯片的現(xiàn)場可編程特性,xilinx的FPGA芯片廠家在線的電路調(diào)試與修改不須將FPGA芯片從電路板中取出,因此能以多種封裝形式(如 PQFP、TQFP、BGA 等)減小體積,增加引腳數(shù)量。而 EPLD 須用專門的編程器擦寫,因而通常為 PLCC 封裝,體積大,引腳相對較少。