隨著半導體產(chǎn)業(yè)的發(fā)展以及新興產(chǎn)業(yè)的需要,FPGA的作用逐漸突顯。相比于CPU、GPU,F(xiàn)PGA并不為大眾所熟知。那什么是FPGA?它有什么特點?又是如何工作的?……,讀完這篇,你就知道了!
近日,有媒體報道稱,北京微電子技術研究所日前成功研制出國內首個自主可控的宇航用千萬門級高性能高可靠FPGA(現(xiàn)場可編程門陣列)芯片。
FPGA一直是國內的短板,市場基本被國外壟斷。據(jù)統(tǒng)計,2017年國內超過100億元的FPGA市場中,國產(chǎn)市占率僅為4%。目前,全球FPGA市場基本被四大巨頭壟斷:Xilinx(賽靈思)、Intel(英特爾,此前收購了Altera)、Lattice(萊迪思)、Microsemi(美高森美)。國內FPGA廠商有高云半導體、京微齊力、上海安路、紫光同創(chuàng)、AGM和上海復旦微等。
來源:紫光同創(chuàng)
隨著消費電子和通信等終端設備需求總量的增長,人工智能、大數(shù)據(jù)、云計算、智能汽車以及物聯(lián)網(wǎng)邊緣計算的發(fā)展,對FPGA的需求也將大增。相比于CPU、GPU,F(xiàn)PGA并不廣為大眾所熟知。接下來我們也為您簡單介紹下這一“萬能芯片”。
什么是FPGA?
FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
FPGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅動其他邏輯電路或驅動I/O,由此構成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。
FPGA的邏輯是通過向內部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。
FPGA的特點
1.采用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。2.FPGA可做其它全定制或半定制ASIC電路的中試樣片。3.FPGA內部有豐富的觸發(fā)器和I/O引腳。4.FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。5.FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。FPGA編程技術
目前,市場上有三種基本的FPGA編程技術:SRAM、反熔絲、Flash。其中,SRAM是迄今為止應用范圍最廣的架構,主要因為它速度快且具有可重編程能力,而反熔絲FPGA只具有一次可編程能力。基于Flash的FPGA是比較新的技術,也能提供可重編程功能。
基于SRAM的FPGA器件經(jīng)常帶來一些其他的成本,包括啟動PROMS支持安全和保密應用的備用電池等。基于Flash和反熔絲的FPGA沒有這些隱含成本,因此可保證較低的總系統(tǒng)成本。
1.基于SRAM的FPGA
這類產(chǎn)品是基于SRAM結構的可再配置型器件,通電時要將配置數(shù)據(jù)讀入片內SRAM中,配置完成就可進入工作狀態(tài)。斷電后SRAM中的配置數(shù)據(jù)丟失,F(xiàn)PGA內部邏輯關機也隨之消失,這種基于SRAM的FPGA可反復使用。
2.反熔絲FPGA
采用反熔絲編程技術的FPGA內部具有反熔絲陣列開關結構,其邏輯功能的定義由專用編程器根據(jù)設計實現(xiàn)所給出的數(shù)據(jù)文件,對其內部反熔絲真累進行燒錄,從而使器件實現(xiàn)相應的邏輯功能。
這種器件的缺點是只能一次性編程,有點是具有高抗干擾性和低功耗,適合于要求高可靠性、高保密性的定型產(chǎn)品。
3.基于Flash的FPGA
在這類FPGA器件中集成了SRAM和非易失性EEPROM兩類存儲結構。其中SRAM用于在器件正常工作時對系統(tǒng)進行控制,而EEPROM則用來裝載SRAM。由于這類FPGA將EEPROM集成在基于SRAM工藝的現(xiàn)場可編輯器件中,因而可以充分發(fā)揮EEPROM的非易失性和SRAM的重配置性。
斷電后,配置信息保存在片內的EEPROM重,因此不需要片外的配置芯片,有助于降低系統(tǒng)成本、提高設計的安全性。
FPGA芯片結構
FPGA芯片主要由三部分組成,分別是IOE(inputoutputelement,輸入輸出單元)、LAB(logicarrayblock,邏輯陣列塊,對于Xilinx稱之為可配置邏輯塊CLB)和Interconnect(內部連接線)。
1.IOE
IOE是芯片與外部電路的物理接口,主要完成不同電氣特性下輸入/輸出信號的驅動與匹配要求,比如從基本的LVTTL/LVCMOS接口到PCI/LVDS/RSDS甚至各種各樣的差分接口,從5V兼容到3.3V/2.5V/1.8V/1.5V的電平接口,下面是ALTERA公司的CycloneIVEP4CE115F29設備的IOE結構
EP4CE115F29設備的IOE結構圖
FPGA的IOE按組分類,每組都能夠獨立地支持不同的I/O標準,通過軟件的靈活配置,可匹配不同的電器標準與IO物理特性,而且可以調整驅動電流的大小,可以改變上/下拉電阻,CycloneIV設備有8個IOblank(組),見下圖:
CycloneIV設備的IO組
2.LAB
LAB是FPGA的基本邏輯單元,其實際的數(shù)量和特性依據(jù)所采用的器件的不同而不同,EP4CE115F29設備的每個LAB的布局包括16個LE、LAB控制信號、LEcarrychains、Registerchains和Localinterconnect,其LAB結構圖如下:
LAB結構圖
LE是CycloneIV設備最小的邏輯單元,每個LE主要有LUT和寄存器組成的。
LE的結構圖
查找表LUT(Look-Up-Table)其本質是一個靜態(tài)存儲器SRAM,目前FPGA多采用4輸入的LUT,每個LUT可以看作一個有4位地址線的16x1的RAM。當我們通過原理圖或HDL語言描述了一個邏輯電路后,F(xiàn)PGA開發(fā)軟件會自動計算邏輯電路的所有可能的結果,并把結果事先寫入RAM。
這樣,在FPGA工作時,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應的內容,然后輸出。
LUT的實現(xiàn)原理圖
3.Interconnect
FPGA內部連接線很豐富,根據(jù)數(shù)據(jù)手冊的描述,主要有Rowinterconnect、columninterconnect、Directlinkinterconnect、Localinterconnect和Registerchaininterconnect(寄存器之間連接的連接線)。
內部連接線聯(lián)通FPGA內部的所有單元,而連線的長度和工藝決定著信號再連接線上的驅動能力和傳輸速度。在實際開發(fā)中,設計者不需要直接選擇連接線,布局布線器可自動地根據(jù)輸入邏輯網(wǎng)表(這由綜合生成)的拓撲結構和約束條件選擇連接線來連通各個邏輯單元,所以,從本質上來說,布線資源的使用方法和設計的結果有密切和直接、直接的關系。
FPGA開發(fā)流程
原理圖和HDL(Hardware DescriptiIon Language,硬件描述語言)是兩種最常用的數(shù)字硬件電路描述方法,其中HDL設計法具有更好的可移植性、通用性和模塊劃分與重用性的特點,在目前的工程設計中被廣泛使用,下面對FPGA設計熟悉電路時的開發(fā)流程是基于HDL的。
1.系統(tǒng)功能設計
在系統(tǒng)設計之前,首先要進行的是方案論證、系統(tǒng)設計和FPGA芯片選擇等準備工作。系統(tǒng)工程師根據(jù)任務要求,如系統(tǒng)的指標和復雜度,對工作速度和芯片本身的各種資源、成本等方面進行權衡,選擇合理的設計方案和合適的器件類型。一般都采用自頂向下的設計方法,把系統(tǒng)分成若干個基本單元,然后再把每個基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。
2.RTL級HDL設計
RTL級(RegisterTransferLevel,寄存器傳輸級)指不關注寄存器和組合邏輯的細節(jié)(如使用了多少個邏輯門、邏輯門的連接拓撲結構等),通過描述數(shù)據(jù)在寄存器之間的流動和如何處理、控制這些數(shù)據(jù)流動的模型的HDL設計方法。RTL級比門級更抽象,同時也更簡單和高效。RTL級的最大特點是可以直接用綜合工具將其綜合成為門級網(wǎng)表,其中RTL級設計直接決定著系統(tǒng)的功能和效率。
3.RTL級仿真
也稱為功能(行為)仿真,或是綜合前仿真,是在編譯之前對用戶所設計的電路進行邏輯功能驗證,此時的仿真沒有延遲信息,僅對初步的功能進行檢測。仿真前,要先利用波形編輯器和HDL等建立波形文件和測試向量(即將所關心的輸入信號組合成序列),仿真結果將會生成報告文件和輸出信號波形,從中便可以觀察各個節(jié)點信號的變化。如果發(fā)現(xiàn)錯誤,則返回設計修改邏輯設計。
常用的工具有ModelTech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等軟件。雖然功能仿真不是FPGA開發(fā)過程中的必需步驟,但卻是系統(tǒng)設計中最關鍵的一步。
為了提高功能仿真的效率,需要建立測試平臺testbench,其測試激勵一般使用行為級HDL語言描述,其中RTL級模塊是可綜合的,它是行為級模塊的一個子集合。
4.綜合
所謂綜合就是將較高級抽象層次的描述轉化成較低層次的描述。綜合優(yōu)化根據(jù)目標與要求優(yōu)化所生成的邏輯連接,使層次設計 平面化,供FPGA布局布線軟件進行實現(xiàn)。就目前的層次來看,綜合優(yōu)化(Synthesis)是指將設計輸入編譯成由與門、或門、非門、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實的門級電路。
真實具體的門級電路需要利用FPGA制造商的布局布線功能,根據(jù)綜合后生成的標準門級結構網(wǎng)表來產(chǎn)生。為了能轉換成標準的門級結構網(wǎng)表,HDL程序的編寫必須符合特定綜合器所要求的風格。由于門級結構、RTL級的HDL程序的綜合是很成熟的技術,所有的綜合器都可以支持到這一級別的綜合。常用的綜合工具有Synplicity公司的Synplify/SynplifyPro軟件以及各個FPGA廠家自己推出的綜合開發(fā)工具。
5.門級仿真
也稱為綜合后仿真,綜合后仿真檢查綜合結果是否和原設計一致。在仿真時,把綜合生成的標準延時文件反標注到綜合仿真模型中去,可估計門延時帶來的影響。 但這一步驟不能估計線延時,因此和布線后的實際情況還有一定的差距,并不十分準確。
目前的綜合工具較為成熟,對于一般的設計可以省略這一步,但如果在布局布線后發(fā)現(xiàn)電路結構和設計意圖不符,則需要回溯到綜合后仿真來確認問題之所在。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。
6.布局布線
實現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的FPGA芯片上,將工程的邏輯和時序與器件的可用資源匹配。布局布線是其中最重要的過程,布局將邏輯網(wǎng)表中的硬件原語和底層單元合理地配置到芯片內部的固有硬件結構上,并且往往需要在速度最優(yōu)和面積最優(yōu)之間作出選擇。
布線根據(jù)布局的拓撲結構,利用芯片內部的各種連線資源,合理正確地連接各個元件。也可以簡單地將布局布線理解為對FPGA內部查找表和寄存器資源的合理配置,布局可以被理解挑選可實現(xiàn)設計網(wǎng)表的最優(yōu)的資源組合,而布線就是將這些查找表和寄存器資源以最優(yōu)方式連接起來。
目前,F(xiàn)PGA的結構非常復雜,特別是在有時序約束條件時,需要利用時序驅動的引擎進行布局布線。布線結束后,軟件工具會自動生成報告,提供有關設計中各部分資源的使用情況。由于只有FPGA芯片生產(chǎn)商對芯片結構最為了解,所以布局布線必須選擇芯片開發(fā)商提供的工具。
7.時序仿真
是指將布局布線的延時信息反標注到設計網(wǎng)表中來檢測有無時序違規(guī)(即不滿足時序約束條件或器件固有的時序規(guī)則,如建立時間、保持時間等)現(xiàn)象。時序仿真 包含的延遲信息最全,也最精確,能較好地反映芯片的實際工作情況。
由于不同芯片的內部延時不一樣,不同的布局布線方案也給延時帶來不同的影響。因此在布局布線后,通過對系統(tǒng)和各個模塊進行時序仿真,分析其時序關系,估計系統(tǒng)性能,以及檢查和消除競爭冒險是非常有必要的。
8.FPGA板級調試
通過編程器將布局布線后的配置文件下載至FPGA中,對其硬件進行編程。配置文件一般為.pof或.sof文件格式,下載的方式包括AS(主動)、PS(被動)、JTAG(邊界掃描)等方式。
邏輯分析儀(LogicAnalyzer,LA)是FPGA設計的主要調試工具,但需要引出大量的測試管腳,且LA價格昂貴。目前,主流的FPGA芯片生產(chǎn)商都提供了內嵌的在線邏輯分析儀(如XilinxISE中的ChipScope、AlteraQuartusII中的SignalTapII以及SignalProb)來解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實用價值。
FPGA為什么這么難?
雖然有“萬能芯片”的美譽,但是FPGA在全球范圍內市場規(guī)模還非常有限,遠不及CPU及GPU市場規(guī)模。造成這一種現(xiàn)象的原因,最主要是FPGA行業(yè)門檻非常高。
根據(jù)Gartner數(shù)據(jù)顯示,2015年至2020年全球FPGA市場的年復合增長率為9%,到2020年全球FPGA 市場規(guī)模將達84億美金。在這樣的市場環(huán)境下,企業(yè)想要生存下去困難程度可想而知,特別是起步較晚的國內企業(yè)。
如果回看其發(fā)展歷程,自1984年Xilinx創(chuàng)造出FPGA之后,先后有上百家行業(yè)巨頭都殺入這一領域,而最終的結果確實絕大部分企業(yè)都鎩羽而歸,例如Intel、Philips、Agere Systems、AMD以及摩托羅拉等國際知名的芯片設計廠商。能夠幸存下來的幾家企業(yè)就顯得彌足珍貴了。
而對于國內FPGA企業(yè)而言,在初期階段可能都或多或少借鑒了國外產(chǎn)品。但是想要將產(chǎn)品大規(guī)模推向市場,就必須面臨技術專利問題。實際上,國外企業(yè)已經(jīng)壟斷了絕大部分專利技術。國內廠商想要進入,首先就必須自己自主開發(fā)芯片結構,避免專利侵權,這對于國內企業(yè)而言無疑是一個巨大挑戰(zhàn)。
除了芯片架構之外,在FPGA開發(fā)過程中所涉及到的仿真工具之前一直依賴進口,這對于國內企業(yè)而言無疑又是另一項非常大的挑戰(zhàn),需要國內廠商在硬件及軟件兩方面持續(xù)不斷投入。目前,國內廠商在軟件方面,也在重點突破,并且已經(jīng)取得了一些成績。
另外,正如前文所言,F(xiàn)PGA是一個門檻非常高的行業(yè)。在市場推廣過程中,原廠需要對客戶進行專業(yè)指導,這無形中也增加了其他品牌產(chǎn)品替換的難度。由此也導致了,F(xiàn)PGA產(chǎn)品更新?lián)Q代頻率比較低,市場空間也難于像電腦、智能手機等出現(xiàn)大的飛躍。
國內廠商機會在哪?
2018年對于國內半導體產(chǎn)業(yè)而言非常重要,正因為中美貿(mào)易戰(zhàn)、中興事件、晉華事件、孟晚舟事件等,使我們充分認識到芯片自主可控的重要性。這無疑為國內FPGA廠商帶來了難得的市場機遇,大的通信廠商也開始關注國內FPGA產(chǎn)品。而在軍用領域,對于安全性要求更高,國產(chǎn)替代的需求更加迫切。
另一方面,經(jīng)過多年的發(fā)展,國內廠商已經(jīng)在FPGA芯片設計、仿真、流片及量產(chǎn)等方面積累了豐富的經(jīng)驗。盡管產(chǎn)品還主要集中在低密度產(chǎn)品,但是國內廠商的出貨量已經(jīng)非常可觀,并出現(xiàn)了替代國外同類型產(chǎn)品的趨勢。
此外,近幾年間,人工智能在全球特別是中國市場的大熱,無疑為國內FPGA廠商提供了新的賽道。對于人工智能而言,由于算法的飛速發(fā)展,芯片開發(fā)進度顯然無法滿足需求。同時人工智能芯片需求的高速并行計算對FPGA芯片的需求也在幾十億美元的數(shù)量級,而國內是人工智能高速芯片發(fā)展最快,需求最大的市場,這些都有利于國內FPGA產(chǎn)業(yè)的發(fā)展。
從產(chǎn)業(yè)進程來看,2018年國內FPGA產(chǎn)業(yè)重新煥發(fā)新機,正在“自下而上”逆襲!相信在“異步計算”的大趨勢下,國內FPGA廠商還是非常有機會的。
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603011 -
asic
+關注
關注
34文章
1199瀏覽量
120438 -
sram
+關注
關注
6文章
767瀏覽量
114675
原文標題:干貨 | FPGA芯片的介紹、編程技術、芯片結構,專業(yè)!
文章出處:【微信號:wc_ysj,微信公眾號:旺材芯片】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論