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