1.6 如何选择FPGA
由于FPGA具备设计灵活、可重复编程的优点,因此在电子产品设计领域得到了越来越广泛的应用。在工程项目或产品设计中,可以参考以下的策略和原则来选择FPGA。
(1)尽可能选择成熟的产品。FPGA的工艺一直走在芯片设计领域的前沿,产品更新换代的速度非常快。稳定性和可靠性是产品设计需要考虑的关键因素,最新推出的FPGA通常都没有经过大批量应用的验证,选择这样的FPGA会增加设计的风险。另外,最新推出的FPGA产量比较小,一般供货情况都不会很理想,价格也会偏高。如果成熟的FPGA能满足设计要求,那么最好选择成熟的FPGA。
(2)尽量选择兼容性好的封装。在工程项目或产品设计中,一般采用硬件描述语言(HDL)来设计FPGA。这与基于CPU的软件开发有很大不同。特别是在实现算法时,在设计之前,很难估计这个算法需要占多少FPGA的逻辑资源。作为代码设计者,希望算法实现之后再选择FPGA的型号。但是,现在的设计一般都采用软件和硬件协同的方式,也就是说,在设计HDL代码之前,就开始设计硬件板卡了。这就要求硬件板卡具备一定的兼容性,可以兼容不同规模的FPGA。幸运的是,FPGA厂家考虑到了这一点。目前,同系列的FPGA一般采用相同的物理封装,可兼容不同规模的FPGA。正是因为这一点,产品就具备非常好的扩展性,可以不断地增加新的功能或者提高性能,而不需要修改硬件板卡的设计。
(3)尽量选择同一个公司的产品。如果在电子系统中需要多个FPGA,那么尽量选择同一个公司的FPGA,这样不仅可以降低采购成本,而且可以降低开发难度。因为同一公司的FPGA,其开发工具是相同的,FPGA的接口电平和特性也一致,便于互连互通。
Xilinx公司和Altera公司的FPGA,哪个会更好一些呢?很多第一次接触FPGA的工程师在选择FPGA时都有这样的疑问。其实这两家公司的人员和技术交流都很频繁,产品各具一定的优势和特色,很难说谁好谁坏。在不同的地区,这两家公司的FPGA的市场表现有所差别。在我国,这两家公司的FPGA可以说平分秋色,在高校中Altera公司的用户会略多一些。针对特定的应用,在两家公司的FPGA产品目录中都可以找到适合的系列或型号。例如:针对低成本应用,Altera公司的Cyclone系列和Xilinx公司的Spartan系列是对应的;针对高性能应用,Altera公司的Stratix系列和Xilinx公司的Virtex系列是对应的。可以根据开发者的使用习惯来选择具体公司的FPGA。