什么时候仅有NoC 还不够?
作者:Guillaume Boillet
Guillaume Boillet (纪尧姆·布瓦莱特)是 Arteris IP 的产品管理高级总监,负责推动互连 IP 和 SoC 集成自动化产品组合的产品生命周期。他在移动半导体和EDA行业拥有20多年的片上系统设计、实现和验证方面综合经验。他拥有巴黎中央理工学院和蒙特利尔理工学院的两个电子工程硕士学位,并在格勒诺布尔管理学院获得MBA学位。他是务实研究所(Pragmatic Institute)的认证产品经理。
在不远的过去,与今天的产品相比,片上系统(SoC)相对简单。早期的SoC通常由10到20个知识产权(IP)模块组成,每个IP模块一般包含大约1万到5万个逻辑门。这些 IP 中的大多数包括处理器和外围功能,都是从第三方供应商处获得许可的。开发人员通常只创建一两个包含“秘密武器”的IP,这些IP将其SoC与其他竞争产品区分开来。
过去因为仅需要有限数量的IP相互通信,互连相对简单,使用经典的总线架构方法即可。设计者负责很少数目的发起方 IP ,使用这种经典的总线架构方法,这些发起方 IP 将数据事务请求与响应这些请求的多个目标 IP 结合起来进行编排。
随着IP的数量和规模的增加,并且它们承担了发起方的角色,因此需要采用更复杂的交叉开关(crossbar switch)形式的互连架构。crossbar switch的优势在于它允许任何发起方 IP 与任何目标 IP 通信。然而,随着SoC的容量和复杂性不断增加,crossbar switch带来了布线拥塞、硅芯片面积过度使用和功耗等挑战。
了解 NoC
当今的 SoC 可以包含数百个 IP 模块,每个模块都有比前几代产品更多的逻辑门。通常,第三方供应商提供其中的大多数 IP。除了数据总线宽度、控制总线功能和工作频率的变化以外,每个 IP 还可以采用 SoC 设计人员定义和采用的众多接口协议(OCP、APB、AHB、AXI、STBus、DTL 等)之一。
应对当今 SoC 中 IP 数量不断增加的挑战的解决方案是采用 NoC。每个 IP 都配备了一个与 NoC 接口的套接字功能。在由发起方触发的写入访问的情况下,套接字对该 IP 生成的数据进行序列化和分组打包,并将其传输到其预期目标。反过来,与目标关联的套接字将从数据包中提取要写入的数据并将其转换为目标协议。同时可以有多个正在传输中的数据包。
这种 NoC 还是那种 NoC?
NoC 可以使用多种拓扑结构来实现,包括不规则树、规则环以及网状或环面架构。某些设计也可以采用高维架构,包括三维立方体以及四维和五维超立方体。
在大多数情况下,单个NoC是不够的,设计人员经常将其互连分解为数十个NoC的组合。虽然非缓存相干 NoC 可满足大多数外设的要求,但处理器和加速器等 IP 通常受益于高速缓存相干 NoC 的功能。此外,SoC 的某些部分,例如人工智能/机器学习(AI/ML)处理节点阵列,可能会受益于网状 NoC 架构。因此,SoC 可以轻松组合多种 NoC 拓扑,以实现最佳结果。
什么时候仅有 NoC 还不够?
除了用于将IP连接到NoC的套接字外,网络还将包括必要的交换机和缓冲区。此外,随着用于实现SoC的工艺节点不断缩小,走线的电阻增加,导致信号在通过器件时产生电阻-电容延迟。因此,信号不能再在单个时钟周期内遍历器件的全部或一部分。解决这个问题需要在信号路径中插入流水线寄存器(pipeline register)。然而,优化流水线寄存器的数量和位置是一项艰巨的任务。
图 1:典型的 NoC 配置和实现流程
由 Arteris IP 提供
SoC 的开发有两个方面——前端(上游)和后端(下游)设计(参见图 1)。前端设计侧重于逻辑和功能方面,例如使用哪些 IP、如何连接它们,以及如何构建网络以确保预期的吞吐量和延迟。另一方面,后端设计涉及芯片的物理方面,包括IP彼此间的相对位置放置,以及是否可以满足时序要求。只有在这个阶段,设计人员才会知道放置多少和在哪里放置流水线寄存器,然后回到前端设计中将这些流水线寄存器代入。
执行完整的物理布局是一个耗时的过程。后端无法解决的任何问题都必须在前端进行返工,这将重新启动耗时的物理布局过程(参见图 2)。能够在流程的早期主动插入流水线寄存器对于实现任务的收敛和缩短整个项目的周转时间非常有价值。这给前端设计团队带来了很大的压力,因为他们不一定拥有做出明智决策所需的所有信息。如果插入的流水线寄存器太少,会导致 SoC 无法满足物理布局中的时序要求。这导致了通过插入过多的流水线寄存器而使问题的设计过度的倾向。尽管这样可以满足时序要求,但流水线寄存器过多会增加延迟和功耗。
图 2:长时序路径可以跨越整个 SoC
由 Arteris IP 提供
所有这一切的结果是,仅仅以套接字、交换机、缓冲区和流水线寄存器的形式拥有原始 NoC 是不够的。为了验证性能并满足时序要求,NoC的实现工具必须了解它们将服务的环境。
通用型NoC
所有这些导致产生了当今的NoC技术,这些技术被归类为具有“物理感知”,比如Arteris IP 的FlexNoC 5 。借助最新版本的NoC IP,前端设计人员可以使用来自物理布局团队的早期IP放置信息来预测实现能力并解决任何潜在的时序问题。作为其中的一部分,NoC 工具可以自动定义 RTL 中流水线寄存器的理想数量和位置,并生成相关的实现约束。
当今最先进的 NoC 技术远远超出了许多设计人员的预期。例如,NoC 生成器能够利用特定工艺技术节点的几何和延迟信息。这些信息使我们能够进一步细化时序估计并确定流水线寄存器要求和位置。
通过以这种方式完善前端设计并向后端工具提供更详细的信息,可以显著改善整个设计流程,特别是第一次物理实现。这样可以显著减少后端到前端迭代的次数,从而降低风险、提高生产率、降低成本并加快上市和资金到位的时间。
作者: ArterisIP, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3893295.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论