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系列是对应的。所以,最终选择那个公司的产品还是看开发者的使用习惯。
|