原创 利用 NoC 加速衍生 SoC 设计

2023-11-7 12:25 475 2 2 分类: EDA/ IP/ 设计与制造

利用 NoC 加速衍生 SoC 设计

作者:Andy Nightingale, Arteris 产品管理和营销副总裁

 

Andy Nightingale Arteris 的产品管理和营销副总裁,负责监督 Magillem 片上系统部署工具以及 FlexNoC Ncore 片上网络产品。Andy 的背景包括在 Arm 工作 23 在工程和产品管理方面担任过各种职务。他是英国计算机学会和英国特许营销学会的特许会员。在担任现职之前,他曾在 Arm 领导一个产品营销团队,专注于系统 IP 产品,例如网络互连、内存和中断控制器以及系统 MMU

 

 

片上系统(SoC)器件是作为知识产权(IP)功能块的集合而创建的。这些IP块中的大多数是从可信的供应商处获得的现成的、经过验证的 IP。有一些IP是作为秘密武器在内部开发的,它们可以将该 SoC 与竞争对手区分开来。连接各种 IP 的常用方法是采用 SoC 行业定义和采用的多种接口协议之一,例如 OCP、APB、AHB、AXI、STBus 或 DTL。

 

在开发新的 SoC 时,设计重点通常放在工具、架构和流程上。相反,从现有的SoC 来创建衍生的设计时,也需要同等的关注,但通常却很少被人们考虑和讨论。

 

从非常高度抽象的层面上来看,SoC 设计过程可以被视为具有两个主要方面:前端逻辑设计和后端物理设计。物理设计部分是计算密集型的。从需要修改的物理设计到逻辑设计的任何迭代都是非常耗时的。此外,解决一个问题可能会引入其他问题,应该尽可能避免。

 

以一个现有 SoC 的设计为例,其中需要用新升级的 IP快速有效地替换部分原始功能,同时尽量减少对现有芯片的干扰。更具体地说,大多数 SoC 的物理设计必须保持不变。理想的情况是取出旧IP,放入新IP,只在新IP上实现物理设计过程。不幸的是,我们并不是生活在一个理想的世界里。

 

在实际应用中,SoC 可能包含数百个 IP。为了举例方便,让我们考虑一个仅包含三个 IP 的 SoC,如图 1a 所示。在此示例中,所有 IP 都配备了一个或两个 AXI 端口(尽管实际 IP 可能具有更多端口),并且 IP 之间的所有片上通信均使用 AXI 总线实现。

 

 

 

 

 

1. 创建衍生 SoC 并不像看起来那么容易。

(图片由Arteris提供)

 

现在,假设我们希望将具有两个 AXI 端口的原始版本 IP #3 替换为具有三个 AXI 端口的新版本,如图 1b 所示。请记住,我们希望尽可能减少对当前的物理设计造成干扰,包括与 AXI 总线本身的任何连接,该总线带宽达 1,024 位,并且有大量电线。那么,我们将如何把新 IP 连接到现有的 SoC 中呢?

 

一个真实的例子

 

一家名为Inuitive 的公司在现实世界中,在他们的集成了众多功能的单芯片视觉SoC中,遇到了完全相同的问题。这些极其复杂的视觉 SoC 结合了人工智能(AI)、深度学习、3D 成像和计算机视觉,所有这些都结合在一起,以使智能设备、产品和系统更快、更智能。

 

除了具有增强的高质量深度传感多核视觉处理以外,他们的单芯片视觉SoC还提供基于 AI 的目标检测和识别,以及在高性能硬件而非软件中实现的最先进的同步定位与建图(SLAM)。此外,他们的视觉SoC还可以实时同步来自多个传感器的输入并为其添加时间戳,充当智能传感器中枢。

 

NU4000 于 2022 年推出,是 Inuitive 单芯片视觉SoC家族的第一款成员,是 3D 成像和智能传感器中枢市场中最先进、最优化的单芯片视觉SoC。该SoC配备了三个强大的 CPU 内核,提供超过 13,000 个 CoreMark 和三个矢量内核,每秒提供 500 GB 的运算。此外,NU4000 拥有专用的卷积神经网络引擎,每秒提供 2+ tera 运算。还有一个SLAM引擎,可以同时从两个摄像头以每秒120帧的速度进行高精度的关键点提取,还有一个先进的时间扭曲引擎,可以将运动到光子的延迟降低到接近1毫秒,适用于极端虚拟现实和混合现实用例。

 

目前,在人工智能、增强现实和计算机视觉领域,一年相当于一生。为了满足尖端客户快速发展的需求,Inuitive 的团队决定创建一款名为 NU4100 的衍生单芯片视觉SoC。其中涉及到用高质量的双图像信号处理器取代 NU4000中的三个矢量内核之一。

 

由于 NU4000 和 NU4100 均采用相同的 12纳米台积电工艺技术实现,并且由于团队希望快速将 NU4100 推向市场,因此他们决定尽可能保持现有的物理布局。问题在于如何在不改变逻辑的物理设计的情况下,将具有更多 AXI 端口的新 IP 整合到具有较少的 AXI 端口的现有逻辑中。

 

为了应对这一挑战,他们选择采用片上网络(NoC)。在大多数情况下,NoC 跨越整个 SoC。然而,在本例中,该团队实施了一个小型的局部版本的NoC ,其唯一目的是将新 IP 连接到现有的 SoC 基础架构中,如图 2 所示。

 

 

 

 

 

2. 使用 NoC 创建衍生 SoC

(图片由Arteris提供)

 

所有端口都通过套接字与NoC通信。在典型的 NoC 实现中,这些套接字接受来自 IP 的并行数据,并将其协议转换为将在整个 NoC 中传输的通用数据包化和序列化形式。多个数据包可以同时处于传输状态。当数据包到达其目的地时,与目标相关联的套接字会将其转换回该 IP 支持的协议。

 

在本案例的情况下,该团队选择了 ArterisFlexNoC interconnect IP 作为他们的解决方案。NoC 仅用于在具有较多 AXI 端口的新 IP 和 AXI 总线之间传输数据,因为 AXI 总线最初为原始 IP 提供的 AXI 端口较少。

 

尽管使用 NoC 来实现看似简单的接口功能可能看起来有些过分,但俗话说的好 “只要目的正当可以不择手段”。正如 Inuitive 的创始人兼首席技术官 Dor Zepeniuk 所指出的那样:“使用 FlexNoC能够让我们比自己在内部创建解决方案提前几个月将 NU4100 推向市场。”这一决定的最后结果是令人信服的。要了解更多信息,请访问 Arteris 网站上的创新 NoC 实现显著加快衍生设计(Innovative NoC Implementation Dramatically Speeds Derivative Design)案例研究。

 

 

 

 

 

 

作者: ArterisIP, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3893295.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条