FPGA的基礎知識

FPGA是英文Field Programmable Gate Array(現場可編程門陣列)的縮寫,它是在PAL、GAL、PLD等可編程器件的基 礎上進一步發展的產物,是專用集成電路(ASIC)中集成度最高的一種。它起源於美國的Xillnx公司,該公司於1985年推出了世界上第一塊FPGA芯片。在這二十年的發展過程中,FPGA的硬件體系結構和軟件開發工具都在不斷的完善,日趨成熟。從最初的1200個可用門,90年代時幾十萬個可用門,發展到目前數百萬門至上千萬門的單片FPGA芯片,Xilinx、Altera等世界頂級廠商已經將FPGA器件的集成度提高到一個新的水平。FPGA結合了微電子技術、電路技術、EDA技術,使設計者可以集中精力進行所需邏輯功能的設計,縮短設計週期,提高設計質量。

FPGA基本結構
前生產FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等,生產的FPGA品種和型號繁多。儘管這些FPGA的具體結構和性能指標各有特色,但它們都通常包含三類基本資源:可編程邏輯功能塊、可編程輸入/輸出塊和可編程互連資源,基本結構如圖1所示。可編程邏輯功能塊是實現用戶功能的基本單元,多個邏輯功能塊通常規則地排成一個陣列結構,分佈於整個芯片;可編程輸入/輸出塊完成芯片內部邏輯與外部管腳之間的接口,圍繞在邏輯單元陣列四周;可編程內部互連資源包括各種長度的連線線段和一些可編程連接開關,它們將各個可編程邏輯塊或輸入/輸出塊連接起來,構成特定功能的電路。用戶可以通過編程決定每個單元的功能以及它們的互連關係,從而實現所需的邏輯功能。不同廠家或不同型號的FPGA,在可編程邏輯塊的內部結構、規模、內部互連的結構等方面經常存在較大的差異。
除了上述構成FPGA基本結構的三種資源以外,隨着工藝的進步和應用系統需求的發展,一般在FPGA中還可能包含以下可選資源:
存儲器資源(塊RAM、分佈式RAM);
數字時鐘管理單元(分頻/倍頻、數字延遲、時鐘鎖定);
算數運算單元(高速硬件乘法器、乘加器);
多電平標準兼容的I/O接口;
高速串行I/O接口;
特殊功能模塊(以太網MAC等硬IP核);
微處理器(PowerPC405等硬處理器IP核)。


查找表LUT
目前絕大部分FPGA都採用查找表(Look Up Table,LUT)技術,如Altera的ACEX、APEX、Cyclone、Stratix系列,Xilinx的Spartan、Virtex系列等。這些FPGA中的最基本邏輯單元都是由LUT和觸發器組成的。
查找表簡稱爲LUT,本質上就是一個RAM。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16x1的RAM。當用戶通過原理圖或HDL語言描述了一個邏輯電路以後,FPGA開發軟件會自動計算邏輯電路的所有可能的結果,並把結果事先寫入RAM。這樣,每輸入一個信號進行邏輯運算就等於輸入一個地址進行查表,找出該地址對應的內容,然後輸出即可。
由於LUT主要適合SRAM工藝生產,所以目前大部分FPGA都是基於SRAM工藝的。而SRAM工藝的芯片在掉電後信息就會丟失,因此需要外加一片專用的配置芯片。在上電的時候,由這個專用配置芯片把數據加載到FPGA中,FPGA就可以正常工作。少數FPGA產品採用反熔絲或Flash工藝,掉電後配置信息不會丟失,因此這種FPGA芯片不需要外加的專用配置芯片。

 

FPGA的編程技術
目前,市場上有三種基本的FPGA編程技術:SRAM、反熔絲、Flash。其中,SRAM是迄今爲止應用範圍最廣的架構,主要因爲它速度快且具有可重編程能力,而反熔絲FPGA只具有一次可編程(One Time Programmable,OTP)能力。基於Flash的FPGA是FPGA領域比較新的技術,也能提供可重編程功能。基於SRAM的FPGA器件經常帶來一些其他的成本,包括:啓動PROMS支持安全和保密應用的備用電池等等。基於Flash和反熔絲的FPGA沒有這些隱含成本,因此可保證較低的總系統成本。
基於SRAM的FPGA器件
這類產品是基於SRAM結構的可再配置型器件,上電時要將配置數據讀入片內SRAM中,配置完成就可進入工作狀態。掉電後SRAM中的配置數據丟失,FPGA內部邏輯關係隨之消失。這種基於SRAM的FPGA可以反覆使用。
反熔絲FPGA
採用反熔絲編程技術的FPGA內部具有反熔絲陣列開關結構,其邏輯功能的定義由專用編程器根據設計實現所給出的數據文件,對其內部的反熔絲陣列進行燒錄,從而使器件實現相應的邏輯功能。這種器件的缺點是隻能一次性編程;優點是具有高抗干擾性和低功耗,適合於要求高可靠性、高保密性的定型產品。
基於Flash的FPGA
在這類FPGA器件中集成了SRAM和非易失性EEPROM兩類存儲結構。其中SRAM用於在器件正常工作時對系統進行控制,而EEPROM則用來裝載SRAM。由於這類FPGA將EEPROM集成在基於SRAM工藝的現場可編程器件中, 因而可以充分發揮EEPROM的非易失特性和SRAM的重配置性。掉電後,配置信息保存在片內的EEPROM中,因此不需要片外的配置芯片,有助於降低系統成本、提高設計的安全性。


FPGA器件選型原則
數字系統邏輯功能設計之前的一個重要問題就是FPGA器件的選型,包括廠商的選擇以及器件系列和型號的選擇。下面介紹FPGA選型的一些原則和建議。
FPGA廠商的選擇
每個FPGA廠商都有自己特有的核心技術和相應的產品。對於繼承性產品的開發,儘量使用熟悉並一直使用的FPGA廠商的產品;對於新產品的開發,則可以根據待設計系統的特點和要求,以及各種FPGA器件的特性來初步選擇FPGA廠商和產品系列。另外,還可以根據FPGA芯片成本來選擇FPGA器件廠商和產品系列。比如Xilinx的Virtex系列和Altera的Stratix系列FPGA屬於高性能產品;而Xilinx的Spartan系列和Altera的Cyclone則系列屬於低成本FPGA器件。
FPGA型號的選擇
選擇具體型號的FPGA時,需要考慮的因素較多,包括管腳數量、邏輯資源、片內存儲器、功耗、封裝形式等等。另外,爲了保證系統具有較好的可擴展性和可升級性,一般應留出一定的資源餘量。
FPGA外圍器件的選擇
FPGA選定之後,還有根據FPGA的特性,爲其選擇合適的電源芯片、片外存儲器芯片、配置信息存儲器等多種器件。在系統設計和開發階段,應該儘量選擇升級空間大、管腳兼容的器件。在產品開發後期再考慮將這些外圍器件替換爲其他的兼容器件以降低成本。

特定應用
單粒子事件(Single-event Upset,SEU)對設備可靠性的影響,已逐漸從太空延伸到醫療電子等高可靠性的應用。事實上,FPGA元件各邏輯間的連結技術,將影響元件對於SEU免疫的程度,分析目前閃存、反熔絲與SRAM的FPGA,基於前兩技術的FPGA可有效防範SEU問題,而SRAM FPGA則僅能抑制。
在芯片製造技術方面,有別於其它常見的SRAM FPGA芯片,Actel採用了獨門的Flash FPGA技術,從而使自己的產品具備非常鮮明的特點。儘管,目前業內80%的FPGA都基於SRAM架構,這一架構可以採用標準的SRAM工藝,可以集成更多的晶體管,實現更高的性能,並且發展到40nm工藝階段。但是採用130nm技術的Flash FPGA仍然在市場上獨樹一幟。採用Flash結構的FPGA,在低功耗、安全性、可靠性等方面具有更大優勢。正是由於其在安全可靠性方面的優勢,Actel牢牢佔據軍事、航空航天領域的頭把交椅。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章