FPGA是Field Programmable Gate Array的縮寫,即現場可編程門陣列。FPGA是20世紀80年代中期出現的一種新型的可編程邏輯器件,其結構不同于基于與或陣列的器件。其最大的特點是可實現現場編程。所謂現場編程是指對于已經焊接在PCB上或正在工作的芯片實現邏輯重構,當然也可在工作一段時間后修改邏輯。除FPGA外,基于GAL系列的ispLSI等在線可編程集成電路都也具有這種功能。
FPGA是Ross Freema于1985年發明的,當時第一個FPGA采用2μm工藝,包含64個邏輯模塊和85000個晶體管,門數量不超過1000個,當時他所創造的 FPGA被認為是一項不切實際的技術,他的同事Bill Carter曾說:“這種理念需要很多晶體管,但那時晶體管是非常珍貴的東西。”所以人們認為Ross的想法過于脫離現實。但是Ross預計:根據摩爾定律(每18個月晶體管密度翻一翻),晶體管肯定會越來越便宜,因此它必將成為未來不可或缺的技術。在短短的幾年時間內,正如Ross所預言的,出現了數十億美元的現場可編程門陣列(FPGA)市場。但可惜的是,他已經無法享受這一派欣欣向榮的景象,Ross Freeman在1989年已經與世長辭了,但是它的發明卻持續不斷地促進電子行業的進步與發展。
我們知道構成數字邏輯系統最基本的單元是與門、或門、非門等,而門電路是由用二極管、三極管和電阻等元件構成的,然后與門、或門、非門又構成了各種觸發器實現狀態記憶。FPGA同樣也屬于數字邏輯電路的一種,也是由最基本的元件構成的。一片FPGA可以在內部集成上億個門電路,打破了以往使用數量繁多分立器件實現電子裝置的歷史,不僅電路面積、成本大大減小,而且可靠性得到了大幅度的提升。
一般來說,FPGA內部是由最小的物理邏輯單位LE、布線網絡、輸入輸出模塊與片內外設組成的,而最小物理邏輯單元是指用戶無法修改的、固定的最小單元,設計者只能將這些單元通過互聯線將其連接起來,然后實現特定的功能。一個LE是由觸發器、LUT與控制邏輯組成的,從而同樣可以實現組合邏輯和時序邏輯。
隨著FPGA集成度的不斷增加,其內部的片內外設也越來越多,可集成SRAM、Flash、AD、RTC等外設,真正用單芯片方案完成系統設計,所以我們所理解的FPGA最底層是一些實實在在的門電路構成的,然后由門電路構成最小的物理邏輯單元,然后再通過布線層將這些最小物理邏輯單元連接成用戶需要的特定功能,我們所需要控制的僅僅是布線層之間的互連開關,這也是我們編程的對象,通過這些開關來改變功能。
FGPA按工藝分主要有SRAM工藝和Flash工藝(工藝是針對它們的編程開關來說的)兩類,基于SRAM工藝的FPGA最大的缺點是掉電數據會丟失無法保存,所以由FPGA構成的系統,外部還需要增加一個配置芯片用于保存編程數據,在系統每次上電時都需要從配置芯片中將配置數據流加載到FPGA中,然后才能正常地運行,其優點是靈活性很強。而基于Flash架構的FPGA在掉電后不會丟失數據,無需配置芯片,上電即可運行,其特點非常類似ASIC,但卻比ASIC更加靈活可以重復編程。由此可見如果用基于Flash架構的FPGA來取代ASIC的話,不僅風險大大降低,而且成本也會大幅度地下降。
FPGA結構
FPGA/CPLD的規模比較大,它可以替代幾十甚至幾千塊通用IC芯片。相當一個子系統部件 。
FPGA/CPLD結構由三大部分組成的。1.一個二維的邏輯塊陣列,構成了PLD器件的邏輯組成核心。2.輸入/輸出塊。3.連接邏輯塊的可編程內部連線資源。連線資源:由各種長度的連線線段組成,其中有一些可編程的連接開關,它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。
對用戶而言,CPLD與FPGA的內部結構稍有不同,但用法一樣,所以多數情況下,不加以區分。
用戶可以反復編程、擦除、使用或者在外圍電路不動的情況下用不同的開發軟件在FPGA上實現不同的邏輯功能。
FPGA/CPLD 的應用
隨著VlSI工藝的不斷提高,單一芯片內部可以容納上百萬個晶體管, FPGA/CPLD芯片的規模也越來越大,其單片邏輯門數已達到上百萬門,實現的功能也越來越強,同時也可以實現系統集成。FPGA/CPLD芯片在出廠之前都做過百分之百的測試,不需要設計人員承擔投片風險和費用,設計人員只需在自己的實驗室里就可以通過相關的軟硬件環境來完成芯片的最終功能定義。所以, FPGA/CPLD的資金投入小,節省了許多潛在的花費。用戶可以反復地編程、擦除、使用或者在外圍電路不動的情況下用不同軟件就可實現不同的功能。用FPGA/PLD 試制樣片,能以最快的速度占領市場。
?FPGA/CPLD軟件包中有各種輸入工具和仿真工具,及版圖設計工具和編程器等全線產品,電路設計人員在很短的時間內就可完成電路的輸入、編譯、優化、仿真,直至最后芯片的制作。 當電路有少量改動時,更能顯示出FPGA/CPLD的優勢。電路設計人員使用FPGA/CPLD進行電路設計時,不需要具備專門的IC(集成電路)深層次的知識, FPGA/CPLD軟件易學易用,可以使設計人員更能集中精力進行電路設計,快速將產品推向市場。
PLD及IC開發----EDA工具
EDA (Electronic Design Automation)即“電子設計自動化”,是指以計算機為工作平臺,以EDA軟件為開發環境,以硬件描述語言為設計語言,以可編程器件PLD為實驗載體(包括CPLD、FPGA、EPLD等),以集成電路芯片為目標器件的電子產品自動化設計過程。因此,EDA工具在電子系統設計中所占的份量越來越高。下面就介紹一些目前較為流行的EDA工具軟件。
1.由半導體公司提供,基本上可以完成從設計輸入(原理圖或HDL)→仿真→綜合→布線→下載到器件等囊括所有PLD開發流程的所有工作。如Altera公司的MaxplusⅡ、QuartusⅡ,Xilinx公司的ISE,Lattice公司的 ispDesignExpert等。其優勢是功能全集成化,可以加快動態調試,縮短開發周期;缺點是在綜合和仿真環節與專業的軟件相比,都不是非常優秀的。?
2.EDA軟件的功能是對設計輸入進行邏輯分析、綜合和優化,將硬件描述語句(通常是系統級的行為描述語句)翻譯成最基本的與或非門的連接關系(網表),導出給PLD/FPGA廠家的軟件進行布局和布線。為了優化結果,在進行較復雜的設計時,基本上都使用這些專業的邏輯綜合軟件,而不采用廠家提供的集成PLD/FPGA開發工具。如Synplicity公司的Synplify、Synopsys公司的FPGAexpress、FPGA Compiler Ⅱ等。?
3.這類軟件的功能是對設計進行模擬仿真,包括布局布線(P&R)前的“功能仿真”(也叫“前仿真”)和P&R后的包含了門延時、線延時等的“時序仿真”(也叫“后仿真”)。復雜一些的設計,一般需要使用這些專業的仿真軟件。因為同樣的設計輸入,專業軟件的仿真速度比集成環境的速度快得多。此類軟件最著名的要算Model Technology公司的Modelsim,Cadence公司的NC-Verilog/NC-VHDL/NC-SIM等。
常用的FPGA開發語言硬件描述語言
硬件描述語言HDL是一種用形式化方法描述數字電路和系統的語言。利用這種語言,數字電路系統的設計可以從上層到下層(從抽象到具體)逐層描述自己的設計思想,用一系列分層次的模塊來表示極其復雜的數字系統。然后,利用電子設計自動化(EDA)工具,逐層進行仿真驗證,再把其中需要變為實際電路的模塊組合,經過自動綜合工具轉換到門級電路網表。接下去,再用專用集成電路ASIC或現場可編程門陣列FPGA自動布局布線工具,把網表轉換為要實現的具體電路布線結構。
1、VHDL: 1995年以前唯一制訂為標準的硬件描述語言,不具有晶體管開關級的描述能力和模擬設計的描述能力。目前的看法是,對于特大型的系統級數字電路設計,VHDL是較為合適的。
2、Verilog HDL: 是在1983年,提出了用于快速門級仿真的XL算法。隨著Verilog-XL算法的成功,Verilog HDL語言得到迅速發展。基于Verilog HDL的優越性,Verilog有了模擬設計描述的能力。
3、Superlog一種新的系統級硬件描述語言,提供更多級別的硬件綜合抽象級,為各種系統級的EDA軟件工具所利用。 Superlog是一種具有良好前景的系統級硬件描述語言。
4、SystemC 系統級設計語言,能同時實現較高層次的軟件和硬件描述的系統級設計語言,滿足SoC的設計要求。
FPGA的發展前景
1、65nm工藝提升FPGA競爭力
65nm器件及提供高性能與低成本的多樣化應用平臺
FPGA產業的每次重大飛躍都離不開半導體生產工藝的更新,它是半導體業最前沿的生產工藝、更新速度最快。從130nm到90nm再到65nm。生產工藝的不斷升級帶給FPGA更高的密度、更快的速度、更低的成本。FPGA廠商亦競爭激烈,一方面幫助用戶提供更多設計方案,進一步縮小產品尺寸、降低成本與功耗,另一方面為提升FPGA競爭力,拓寬其市場增值空間。FPGA業界雙雄爭先恐后發布基于65nm的產品系列。Altera發布了Stratix III系列,Xilinx宣布推出第二個系列的VIRTEX-5 LXT。?? 之后,半導體制造工藝將采用32nm節點,芯片制造商可以制造包含數十億個晶體管的單芯片產品,采用這種工藝的FPGA會包含一億個可編程邏輯門,而且FPGA平臺會采用創新的封裝技術將存儲器、模擬混合信號電路、通用接口、傳感器、各種I/O集成到一起,這樣的FPGA會成為許多電子產品的核心。
2、FPGA向SoC和專用化發展,做為設計通用平臺
自1990年來,FPGA的成本降低了500倍、功耗降低了50倍、邏輯容量提高了200倍、速度快了40倍,到2010年,FPGA在價格上降低5倍,容量增大5倍,單位功耗會有多5倍的功能,另外速度還會提升5倍,除了可編程邏輯功能外,FPGA還集成了很多IP硬核,例如最新的PCIe&以太網模塊、高速串行收發器、DSP模塊以及嵌入式處理器等向SoC發展。這與傳統DSP和CPU等處理器的發展方向類似,它們也在片上集成了各種硬件加速器,為特定應用提供更高的性能。FPGA通過把更多硬核集成進去,能夠適合更多特定的市場,這是一個趨勢,不過和同類方案相比,FPGA是可編程的,繼承了很多可編程特性。
除了這種片上集成外,FPGA在未來有另一種革命性的趨勢,即利用系統級封裝技術(SiP)實現“虛擬SoC”。虛擬SoC可能會在同一個封裝中集成傳感器陣列、處理器、存儲器、通用接口、混合信號和高壓I/0等器件,以替代帶有固化IP的大芯片。由于是多個裸片,每種器件都可以使用最適合自己的工藝,在降低成本、功耗和體積的同時,保持了高性能。
3、基于FPGA的嵌入式系統EDA平臺
Xilinx推出業界應用最廣泛設計套件ISE?9.1i
Altera發布Quartus?II?,延續效能優勢:對于FPGA、CPLD以及結構化ASIC設計,Quartus?II是性能和效能首屈一指的設計軟件。與高端65nm競爭FPGA相比,Quartus?II?軟件和Stratix?III?FPGA現在具有兩個速率等級優勢,而且編譯時間快3倍。
Actel發布Libero?IDE?v8.1版本,助力便攜式設計
4、FPGA邁向設計通用平臺,滿足多樣化需求
FPGA主要向兩個方向發展以更好地滿足系統要求:高密度/高性能應用和中等密度/成本的敏感型應用。Altera表示,低成本和高性能這兩類產品在架構和成本結構上都有獨特的要求,低成本產品將挑戰目前許多中低密度ASIC應用,而高性能產品將被做得越來越大,超過200萬ASIC門,主頻速度高于300 MHz。它將挑戰高端ASIC和其他系統元器件市場,例如網絡處理器及高端DSP處理器。未來Altera將繼續開發兩種類型的產品,加快向應用市場滲透。 “隨著系統復雜度提升與上市時間加快,高性能FPGA的發展趨勢是將成為系統核心芯片,系統廠商對FPGA的要求也越來越嚴格,體現在功耗、性能、易用性和成本等四大方面。這樣的FPGA已經演變成一種可編程系統平臺。
5、DSP和嵌入式應用成熱點
由于在性能和靈活性方面的完美組合,FPGA在DSP領域的應用越來越普遍,諸如通信、多媒體和國防行業等高增長的市場都非常需要高性能的DSP技術。這些市場的特點在于始終處于連續的變化之中,不斷變化的標準、市場需求、客戶需求以及競爭態勢。要跟上市場變化,企業就需要一種強大且靈活的處理器——FPGA就是這種特別適合的技術。FPGA將繼續集成更多的DSP硬核,以應對3G、高清安防、高清視頻的需求。目前,在Xilinx Virtex5中已經集成了640個DSP slice硬核,可以在550MHz頻率下達到352GMAC的性能!未來,FPGA的DSP處理性能會更高!
6、FPGA帶來的另一個應用就是可重構系統
(Reconfigurable System),目前這項技術還主要應用在軍事和航天領域。目前所使用的嵌入式計算項目描述為“靜態”的,它依賴基于固定架構的、已將現有軟件性能發揮到極至的硬件驅動型“點方案("point solutions)”。 “靜態方式缺乏滿足動態任務要求的多樣性,其所導致的性能下降或差強人意的匹配處理性能結果將損害我們的戰斗力。” 可重構處理器或可重構計算架構是解決這個挑戰的關鍵。
7、FPGA生態系統成形
回顧歷史,半導體產業逐步走向細化,70年代的半導體公司包攬了設計的各個環節,到80年代,EDA軟件和FPGA興起,讓一部分工作外包,到90年代,再次讓芯片制造外包。“大容量大規模高度復雜FPGA的引進使這個產業再次分化,設計實現這個行業又分離出來了,設計實現公司真正要做的就是對設計的特性定義和對系統的定義。現在全球半導體設計公司廣泛采用的無生產線(Fabless)模式 , 除了代工廠之外,FPGA開發工具和測試廠商也紛紛推出了相應的產品,促進了FPGA生態系統的形成。
評論