FPGA芯片選擇策略和原則
由于FPGA具備設(shè)計靈活、可以重復(fù)編程的優(yōu)點,因此在電子產(chǎn)品設(shè)計領(lǐng)域得到了越來越廣泛的應(yīng)用。在工程項目或者產(chǎn)品設(shè)計中,選擇FPGA芯片可以參考以下的幾點策略和原則。
盡量選擇成熟的產(chǎn)品系列
FPGA芯片的工藝一直走在芯片設(shè)計領(lǐng)域的前列,產(chǎn)品更新?lián)Q代速度非?。穩(wěn)定性和可靠性是產(chǎn)品設(shè)計需要考慮的關(guān)鍵因素。廠家最新推出的FPGA系列產(chǎn)品一般都沒有經(jīng)過大批量應(yīng)用的驗證。選擇這樣的芯片會增加設(shè)計的風(fēng)險。
而且,最新推出的FPGA芯片因為產(chǎn)量比較小,一般供貨情況都不會很理想,價格也會偏高一些。如果成熟的產(chǎn)品能滿足設(shè)計指標(biāo)要求,那么最好選這樣的芯片來完成設(shè)計。
例如,要用FPGA設(shè)計一塊數(shù)據(jù)采集卡。采用Altera公司的Cyclone、CyloneII和CycloneIII等3個系列的芯片都可以完成這個功能?紤]到Cyclone和CyloneII是成熟產(chǎn)品,同時CyloneII又是Cyclone的升級產(chǎn)品,因此選擇CyloneII是比較理想的方案。
盡量選擇兼容性好的封裝
FPGA系統(tǒng)設(shè)計一般采用硬件描述語言(HDL)來完成設(shè)計。這與基于CPU的軟件開發(fā)又有很大不同。特別是算法實現(xiàn)的時候,在設(shè)計之前,很難估算這個算法需要占多少FPGA的邏輯資源。
作為代碼設(shè)計者,希望算法實現(xiàn)之后再選擇FPGA的型號。但是,現(xiàn)在的設(shè)計流程一般都是軟件和硬件并行開始設(shè)計。也就是說,在HDL代碼設(shè)計之前,就開始硬件板卡的設(shè)計。這就要求硬件板卡具備一定的兼容性,可以兼容不同規(guī)模的FPGA芯片。
幸運的是,F(xiàn)PGA芯片廠家考慮到了這一點。目前,同系列的FPGA芯片一般可以做到相同物理封裝兼容不同規(guī)模的器件。例如,Xilinx的Spartan3系列FPGA,在BGA456封裝下,可以選擇3S200、2S400、3S1000、3S1500這4種型號的FPGA。
正是因為這一點,將來的產(chǎn)品就具備非常好的擴展性,可以不斷地增加新的功能或者提高性能,而不需要修改電路板的設(shè)計文件。
盡量選擇一個公司的產(chǎn)品
如果在整個電子系統(tǒng)中需要多個FPGA器件,那么盡量選擇一個公司的產(chǎn)品。這樣的好處不僅可以降低成本,而且降低開發(fā)難度。因為開發(fā)環(huán)境和工具是一致的,芯片接口電平和特性也一致,便于互聯(lián)互通。
很多第一次接觸FPGA的設(shè)計師在芯片選型的時候都有過這個疑問。其實這兩個最大的FPGA廠家位于美國的同一座城市,人員和技術(shù)交流都很頻繁,因此產(chǎn)品各有的優(yōu)勢和特色,很難說清楚誰好誰壞。
在全球不同的地區(qū),這兩家公司的FPGA芯片產(chǎn)品的市場表現(xiàn)會有所差別。在中國市場,兩家公司可以說是平分秋色,在高校里面Altera的客戶會略多一些。針對特定的應(yīng)用,兩個廠家的產(chǎn)品目錄里面都可以找到適合的系列或者型號。
比如,針對低成本應(yīng)用,Altera公司的Cyclone系列和Xilinx公司的Spartan3系列是對應(yīng)的。針對高性能應(yīng)用,Altera公司的Stratix系列和Xilinx公司的Virtex系列是對應(yīng)的。所以,最終選擇那個公司的產(chǎn)品還是看開發(fā)者的使用習(xí)慣。