FPGA SoC是一种混合器件,随着芯片制造商和系统公司每年要完成更多的设计工作,它正获得越来越多的关注,尤其是协议和算法仍在变化的市场中,比如汽车、医疗器械和安全性市场。使用标准的FPGA芯片可以提供必要的灵活性,但是只有ASIC才能满足更高的性能要求,无论是在新市场还是在现有的市场,如航空航天。FPGA SoC提供了一种折中解决方案,既提供了ASIC的一些性能和低功耗优势,也提供了灵活性,以避免提早过时。 但是这种复杂性也带来了SoC设计团队非常熟悉的问题。
Aldec公司硬件部总经理Zibi Zalewski表示:“FPGA的复杂性和功能日益增长,你可以在一颗FPGA中构建具有多种接口和协议的大型系统,而这种设计需要一种结构来集成不同的IP和硬件模块,使它们可以工作在各种时钟域和数据协议上。”
现代FPGA,尤其是那些具有硬核嵌入式处理器和控制器的FPGA,适用于传统逻辑FPGA和ASIC之间的某个地带,并向ASIC方向发展。Zalewski说:“我们肯定需要NoC,因为从验证的角度来看,NoC简化了接口。NoC设计允许工程团队管理顶层接口,它可以进一步用于为主机或转发器创建一个主原型通道,以进行仿真,而不是去管理多个接口,那样会增加验证过程的复杂性、时间和成本。”这对FPGA SoC工具有一些有趣的影响。FPGA供应商通常连同他们的硬件销售他们自己的工具,这使得EDA供应商很难在这个市场上产生重大影响。但是,随着这两个世界开始合并,问题就出现了,例如,FPGA SoC是否需要使finFET成为可能的复杂工具和IP,特别是在需要可追溯性的安全关键应用中。
Cadence公司的产品管理总监Juergen Jaeger说:“当使用大容量FPGA进行设计验证和原型设计时,关键的要求之一就是要具备适当的调试功能。但是,在今天的no-NoC FPGA的架构中,提供这样的调试功能是很困难的,主要是由于FPGA中连接资源有限,尤其是因为需要所有FPGA内部路由资源来实现设计本身,并且用足够的性能运行它。此外,调试还要求能够访问尽可能多的内部设计节点(理想情况是全部节点),并将这些测试点路由到外部。这几乎是不可能的,还会导致许多挑战和调试缺陷。此处便是FPGA内部NoC可以提供帮助的地方,因为它可以提供测试许多本地节点的能力,通过NoC将数据路由到聚合器,而不会浪费宝贵的FPGA路由资源,然后通过某些标准接口(如千兆以太网)输出调试数据。”
然而,并非所有的FPGA都需要NoC。Jaeger表示:“如果是数据路径密集的设计,需要传输大量的数据,那么NoC可能会有所帮助。但是,如果设计更加以控制为中心,并且要求性能尽可能强,那么NoC的固有延迟和非确定性性质可能会适得其反。它还需要新的FPGA设计工具,可以利用FPGA内部的NoC组件。”