【導讀】FPGA器件的選用同其它通用邏輯器件不同,除考慮器件本身的性能外,軟件下具也很重要。目前市場上已有的FPGA器件生產廠家有20多個,而設計軟件除生產廠家自行研制的軟件外還有50多種。FPGA器件的價格已經(jīng)不菲,更不用說設計軟件的價格,所以如何選用合適的FPGA器件,不只是一件一次性的工作,還涉及到設計軟件的選用以及今后進一步下作的開展。
首先,用戶應該根據(jù)自身的技術環(huán)境、技術條件、使用習慣等選擇一種合適的軟件工具,同時要兼顧EDA技術的發(fā)展。占據(jù)優(yōu)勢的軟件供應商同人多數(shù)芯片制造商建立了良好的合作伙伴關系,所以,擁有一種設計軟件,再進一步選擇不同的工具庫,或增加部分配置,即可對不同廠家的不同種類的FPGA產品進行設計。
其次,用戶可根據(jù)設計的需要確定選擇哪一類FPGA器件。如果用于航天、軍事領域,反熔絲技術的一次編程型FPGA是首選;如果要完成多種算術運算,或是要求在較高速度下,F(xiàn)PGA/CPLD是較好的選擇;而對于功能復雜的時序邏輯電路而言,標準門陣列單元型的FPGA具有集成度高、保持靈活和功耗低的優(yōu)點。當然,這只是通用準則,關鍵是所選擇的器件能滿足設計要求的所有功能,在此基礎上,再利用上述準則確定具體的一種器件。
第三,選定某一廠家的產品,生產同類器件的廠家很多,一般依據(jù)以下準則進行選擇。
(1) 選擇有設計軟件支持的廠家的芯片,這樣可減少資本投入,降低成本。
(2) 選擇產品設計性能改進有余量的。如果所選擇的芯片是某一廠家產品中容量:最大,或是速度最高的,那么,一但設計需要改進,則有可能在該廠家的芯片中再選不出合適的來了。
(3) 設計應用的延續(xù)性和可擴展性。如果所選廠家的產品具有很大的局限性,則有可能僅僅適用于很少一部分設計,從而造成設計軟件投入上的浪費。
(4) 選擇性能價格比最優(yōu)的。盡管象Xilinx 、Altera這樣的器件生產廠家都在通過降價來作市場宣傳,大多數(shù)FPGA芯片的價格還是比較高的,所有在滿足上述準則的情況下適當考慮價格也是有必要的。
FPGA器件的發(fā)展非???,上面的統(tǒng)計是從市場的角度出發(fā)對市場份額較大、行業(yè)內目前處于領先地位的部分廠家進行的,具有一定的代表性,但不是十分全面。只有不斷跟蹤這一領域的技術發(fā)展和市場動態(tài)才能對FPGA產品有更加全面、不斷更新的認識,在今后的設計中更好地利用FPGA,以提高產品的設計水平。
由于FPGA具備設計靈活、可以重復編程的優(yōu)點,因此在電子產品設計領域得到了越來越廣泛的應用。在工程項目或者產品設計中,選擇FPGA芯片可以參考以下的幾點策略和原則。
盡量選擇成熟的產品系列
FPGA芯片的工藝一直走在芯片設計領域的前列,產品更新?lián)Q代速度非???。穩(wěn)定性和可靠性是產品設計需要考慮的關鍵因素。廠家最新推出的FPGA系列產品一般都沒有經(jīng)過大批量應用的驗證。選擇這樣的芯片會增加設計的風險。而且,最新推出的FPGA芯片因為產量比較小,一般供貨情況都不會很理想,價格也會偏高一些。如果成熟的產品能滿足設計指標要求,那么最好選這樣的芯片來完成設計。例如,要用FPGA設計一塊數(shù)據(jù)采集卡。采用Altera公司的Cyclone、CyloneII和CycloneIII等3個系列的芯片都可以完成這個功能??紤]到Cyclone和CyloneII是成熟產品,同時CyloneII又是Cyclone的升級產品,因此選擇CyloneII是比較理想的方案。
盡量選擇兼容性好的封裝
FPGA系統(tǒng)設計一般采用硬件描述語言(HDL)來完成設計。這與基于CPU的軟件開發(fā)又有很大不同。特別是算法實現(xiàn)的時候,在設計之前,很難估算這個算法需要占多少FPGA的邏輯資源。作為代碼設計者,希望算法實現(xiàn)之后再選擇FPGA的型號。但是,現(xiàn)在的設計流程一般都是軟件和硬件并行開始設計。也就是說,在HDL代碼設計之前,就開始硬件板卡的設計。這就要求硬件板卡具備一定的兼容性,可以兼容不同規(guī)模的FPGA芯片。幸運的是,F(xiàn)PGA芯片廠家考慮到了這一點。目前,同系列的FPGA芯片一般可以做到相同物理封裝兼容不同規(guī)模的器件。例如,Xilinx的Spartan3系列FPGA,在BGA456封裝下,可以選擇3S200、2S400、3S1000、3S1500這4種型號的FPGA。正是因為這一點,將來的產品就具備非常好的擴展性,可以不斷地增加新的功能或者提高性能,而不需要修改電路板的設計文件。
盡量選擇一個公司的產品
如果在整個電子系統(tǒng)中需要多個FPGA器件,那么盡量選擇一個公司的產品。這樣的好處不僅可以降低成本,而且降低開發(fā)難度。因為開發(fā)環(huán)境和工具是一致的,芯片接口電平和特性也一致,便于互聯(lián)互通。
很多第一次接觸FPGA的設計師在芯片選型的時候都有過這個疑問。其實這兩個最大的FPGA廠家位于美國的同一座城市,人員和技術交流都很頻繁,因此產品各有的優(yōu)勢和特色,很難說清楚誰好誰壞。
在全球不同的地區(qū),這兩家公司的FPGA芯片產品的市場表現(xiàn)會有所差別。在中國市場,兩家公司可以說是平分秋色,在高校里面Altera的客戶會略多一些。針對特定的應用,兩個廠家的產品目錄里面都可以找到適合的系列或者型號。
比如,針對低成本應用,Altera公司的Cyclone系列和Xilinx公司的Spartan3系列是對應的。針對高性能應用,Altera公司的StraTIx系列和Xilinx公司的Virtex系列是對應的。所以,最終選擇那個公司的產品還是看開發(fā)者的使用習慣。
選擇芯片時千萬注意芯片實際的工作溫度
最近項目完成的儀器在測試時總是出現(xiàn)數(shù)據(jù)不準的情況,而在以前從沒有出現(xiàn)類似情況,而且在室內測試時所有指標均滿足要求,不過一到室外測試(儀器應用場合在室外開闊場地),測試數(shù)據(jù)就會不準,百思不得其解,最后我們判斷是實際環(huán)境的溫度超出了芯片的正常工作溫度范圍。在這個時候北京室外的溫度經(jīng)常低于0度,而我采用的FPGA芯片為商業(yè)級的,其工作溫度范圍在0°~70°,因此很有可能問題出在這里,對設備加上保暖措施后,測試效果有明顯改進。
順便說一下各種等級芯片的工作溫度范圍
商業(yè)級:0°~70°
工業(yè)級:-40°~85°
軍用級:-55°~125°
Altera的FPGA型號命名中也能看出其性質。比如我用的FPGA是EP2C8Q208C8
2C:代表是Cyclone II系列
8:邏輯單元的數(shù)量,8表示有8000個左右的邏輯單元
Q:表示封裝,Q代表QFP封裝
208:代表引腳數(shù),有208只引腳
C:代表是商業(yè)級,I代表工業(yè)級
8:表示芯片速度,一般有6,7,8三種,6最高,8最慢