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