引言:FPGA(Field Programmable Gate Array)作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。然而我们在进行产品开发时,需要考虑产品材料成本、开发难易程度、上市时间、功耗、可扩展性(或升级换代)等众多因素时,FPGA可能并非最优“六边形战士”。本文我们就FPGA的优势及潜在局限性进行介绍,以给于项目技术决策中参考。
01、FPGA技术优势
了解FPGA器件何时适合实现所需的系统功能是理解FPGA技术的关键要素。设计团队明白FPGA技术并不适用于每一个设计或应用程序。能够识别FPGA技术何时适合项目是一项关键的设计技能。如果产品在生命周期中可能发生重大功能变化,此时设计者将从FPGA技术中实现最大受益。在评估项目是否采用FPGA技术时,应考虑以下设计特征:
1)设计稳定性:设计在其使用寿命内是否可能经历需要设计更新?需求是否足够稳定,可以选择合适的FPGA家族和器件?
2)上市时间:是否有一个非常小的机会窗口盈利释放到市场?是否要求在尽可能短的时间内演示产品功能?替代实施方案的时间表如何?
3)性能:是否可以使用FPGA技术实现所需的功能性能?所需的功能能否在当前可用的FPGA器件中实现?
4)物理限制:设计是否需要尽可能低的功耗?设计是否需要占用尽可能小的PCB电路板面积?该项目是否存在生产限制?
5)成本:是否有专门的分立组件可以以较低的成本实现所需的功能?包括工具、培训和NRE在内的替代方案的成本是多少?通过开发可重复使用的设计元素,开发成本是否可以分散到几个项目中?是否可以利用预先实现的参考设计或IP设计?
6)可用性:具有所需性能/尺寸的组件能否及时用于批量生产?是否有实现所需功能的固定功能组件可用?在产品及其衍生品开发时,固定功能实现是否可重复使用?
对于需要快速推向市场的设计,可以从FPGA技术中受益。随着FPGA设计流程的加快,基于FPGA电路板可以与FPGA软件功功能同步进行,这有着显著的时间表优势。如果FPGA是可重新编程的,则设计可以在交付给客户后远程更新。
对于没有完全定义的需求或功能的设计页非常适合FPGA,因为它们几乎可以在设计生命周期的任何阶段适应功能变化。在交付给客户之前,基于FPGA的设计可能会经历重大的功能实现更改和更新。通过正确的设计实施,即使在产品交付给客户之后,也可以进行设计更改。如果预期当前或未来的设计实现具有增强或修改,则FPGA技术更加适合应用。以下快速摘要提供了FPGA潜在优势的列表。
表1:FPGA技术应用优势表
02、FPGA技术潜在的限制
如前所述,FPGA给设计带来的最大优势是灵活性,即在产品生命周期的任何阶段支持更改的能力。与能够利用FPGA灵活性的设计相比,具有明确定义、固定功能的设计将受益更少。如果在项目生命周期内进行设计更改的需求非常有限,那么FPGA很可能不是该应用程序的最佳选择。以下列表包含一些潜在的限制。
表2:FPGA技术应用潜在限制表
在某些特定应用中,FPGA技术可能不合适。具有坚实、完整需求和稳定、固定或成熟功能的项目不太可能非常适合FPGA技术,因为这些设计无法从FPGA技术固有的灵活性中获得太多好处。
FPGA可能不合适的另一个领域是具有“最佳”或“最低”要求的项目。具有“最低功率”、“最低分立固定功能组件价格”或“最高时钟速度”等要求的项目可能不是FPGA技术的理想应用。然而,一些具有极端要求的项目可能仍然能够在FPGA内实现,并创造性地应用FPGA的优势。
图3:分立器件实现5G收发链路功耗估计
一个示例设计就是一个具有高性能信号处理要求的项目。虽然FPGA组件可能不会在所有技术中表现出最快的时钟速率,但某些数据处理算法可以通过并行架构有效地实现。使用FPGA和适当的资源,可以在单个部件内以较低的成本实现所需的信号处理功能,具有优越的性能和较低的功耗。
03、结论
基于以上描述,一旦项目设计团队完成了权衡研究,并确定FPGA技术适合他们的设计,早期项目决策阶段就开始了。对于FPGA技术非常适合的项目,悬而未决的问题变成了如何最有效地实现设计。设计团队必须根据项目要求、以往经验和可用资源,选择最好的FPGA制造商、器件系列、封装和部件,后续文章我会详细介绍相关内容。