片上网络NoC的重要性

NoC 可以定义为在单一芯片上实现的基于网络通讯的多处理器系统,是用来设计IP 内核和系统芯片之间的通信子系统的方法。在一个片上网络系统,如处理器核心、内存条和专门的IP 块等模块,交换数据使用的是网络作为公共交通的子系统来传递系统信息。一个片上网络是由交换机(或路由器)来连通多条点对点的数据链路交互构建而成,使得信息在交换机中可以从任何源模块通过不同的链路转发到任何目的模块。

“NoC的性能必须与SoC的计算部分相匹配,”Sondrel的弗莱彻说,“NoC的功能是足够快地提供输入数据,以保持芯片上的计算IP以最大容量运行,并存储输出数据,以便系统不会被阻塞。我们使用动态FlexNoC IP作为SoC的NoC通信骨干,因为它使我们能够在更短的时间内分解更复杂的芯片。”

弗莱彻认为,使用FlexNoC互连技术的一些具体好处首先是能够减少面积和电线数量。

这是通过利用传输层打包和序列化功能实现的,以便NoC架构师可以精确控制NoC的哪些部分可以从减少的电线和面积中受益,而不会影响性能要求。

其次,通过使用电源管理功能(例如配置时钟域交叉和时钟门控支持的选项)来降低功耗,以确保功耗完全在功率预算范围内。

第三,能够创建物理感知设计,因为设计团队能够将网表交给后端团队,保证满足时间要求,因为NoC设计方法从设计开始就考虑了SoC平面图和任何物理设计约束。

最后,FlexNoc具有出色UI的高级配置工具。为生成高性能、时序干净的互连而提供的工具套件非常直观,并且对于NoC架构师来说非常容易熟悉,从而提高了生产力。

NoC几乎互连了SoC的每个部分。它们与芯片的平面图、架构、功能要求、启动、安全性和许多其他方面有着内在的联系。

“这意味着平面图很有可能在整个项目生命周期内发生变化,这需要对NoC进行更改。这些变化会影响平面图,从而形成一个反馈循环,可能导致延迟和成本超支,”弗莱彻警告说。“多年来,在设计大型复杂SoC的过程中,我们开发了许多技术,使我们能够在流程的早期进行性能探索和验证。通过尽早确保需求并能够快速验证NoC是否符合这些要求,我们可以稳定平面图和NoC,以减少设计中不必要的客户流失,从而降低风险和不必要的成本。”

片上网络NoC的重要性

平面图左侧的NoC和右侧的蓝色示例最初插图右侧功能框图上的NoC看似简单 - 只是很多连接。然而,左侧的平面图显示,它占用了相当大的区域,布局复杂,以实现高时钟速度,在芯片上移动大量数据,同时连接到IP模块的分散物理位置,这使得时序难以关闭。平面图还是NoC优先?

通常,设计人员首先使用平面图或NoC开始芯片设计,从而产生前面描述的反馈环路。Sondrel的方法通过在非常早期的阶段进行性能探索来避免这种情况,以稳定性能要求,从而稳定和测试架构,以减少更改的可能性,从而稳定平面图和NoC。性能探索解决了 IP 块通常单独验证的问题。但是,这没有考虑它们与其他IP块的交互。芯片上的IP块越多,就越难理解它们之间的所有依赖关系,这些依赖关系会严重影响芯片可以实现的性能。例如,主/从接口可能不匹配、共享内存冲突、时钟差异等。

片上网络NoC的重要性

完成性能探索以获取性能要求后,现在有足够的信息来开始配置 NoC。我们需要的是一种测试根据这些要求生成的RTL的方法,以确定它满足这些要求的程度,然后快速迭代以达到所需的性能点。为此,Sondrel开发了一种专有的测试平台,称为性能验证环境。这使用可合成的RTL而不是它的近似模型,处理器和子系统被替换为Python代码中定义的事务处理器。这导致在Python中生成内存映射的总线流量,并通过NoC驱动,以快速查看设计中发生的情况以及更改如何改善数据流量。

片上网络NoC的重要性

这些快速迭代使NoC配置能够快速探索以找到合适的解决方案,然后与平面图一起尝试,以便同时优化两者。这样可以更快地实现稳定状态,从而降低项目风险。由于芯片的规格可能会因市场需求的变化而变化,因此整个建模过程很容易更新,而无需从头开始,通过基于证据的数据来了解修改后的芯片设计将如何满足新的要求。

*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章