数十年来,在摩尔定律的推动下,集成电路工艺取得了高速发展,单位面积上的晶体管数量不断增加。
SoC凭借集成度高、功耗低、成本低等优势,已成为大规模集成电路系统设计的主流方向,解决了通信、图像、计算、消费电子等领域的众多挑战性的难题。
随着应用需求越来越丰富,SoC需要集成越来越多的不同应用的IP,片上多核系统MPSoC也已经成为必然的发展趋势。
以数字电视的SoC芯片为例,包含了运行操作系统和应用程序的CPU,处理音频编解码的DSP,处理图形相关任务的GPU,处理AI图像算法的NNA,以及一些视频编解码、后处理等专用模块,以及视频信号的调制解调器等,一个复杂的SoC系统上有各种功能模块IP。
在复杂的异构计算生态系统中,采用多个不同IP的复杂组合对片上通信提出了更高的要求,同时片上服务质量、仲裁和数据流优化的复杂性越来越高,传统的片上互连方法已经无法适应时代的变化。
对此,片上网络互连技术(NoC)日益成为行业关注的焦点,旨在提供一种解决芯片内不同IP或者不同核心之间数据传输的片上通信方案,成为连接多个处理单元和外设的关键。
为什么说NoC是多核系统的最佳互联机制?
片上网络互连(Network-on-Chip,NoC)是集成电路上的一种基于网络的通信子系统,用于SoC中的模块之间,基于路由器的分组交换网络,连接SoC各模块。
NoC技术作为一种分布式、高度并行的通信架构,通过网络化的方式连接处理器核心、内存和各种外设,大幅提高了数据传输效率和通信带宽。其设计不仅需要考虑高带宽、低延迟,还需要兼顾功耗、面积和可靠性等多方面因素。
在介绍NoC之前,我们先来看一下片上互联技术近些年来的发展历程,主要可以分为三个阶段:
共享总线(Bus):传统的SoC片上通信结构一般采用共享总线的方式。在此结构中,所有处理器和IP模块共享一条或多条总线。当有多个处理器同时访问一条总线时候需要有仲裁机制来决定总线的所有权。
典型的AMBA总线系统
共享总线片上通信系统结构一般比较简单,硬件代价也小,但带宽有限,而且带宽也没法随着IP的增多而进行扩展。ARM公司在1996年提出的AMBA总线广泛应用于嵌入式微处理器的片上总线,现已成为事实上的工业标准。
可以认为,Bus是最简单的互联,一般适用于十个以下互联设备的小系统。
交叉开关矩阵(Crossbar):传统的共享总线面对多个处理器同时访问不同IP的情况时,因为需要仲裁机制去决定总线所有权,所以这种方式在此情况下就会造成一定瓶颈,导致访问的延时。对此,为了满足多处理同时访问的需求,并提高整个系统的带宽,一种新的解决方案Crossbar孕育而生。
典型的单向8x8 Crossbar
Crossbar保证了多路通信同时进行的实时性,只要不是访问同一个目标设备,就不需要用到仲裁,大大减少了因为仲裁带来的瓶颈问题。但是随着设备数的增加,Crossbar的规模会以几何级数增长。所以通常我们通过桥接设备去级联多个Crossbar来支持设备的扩展。但是桥接设备可能会成为系统的瓶颈,增加传输的延迟。
相较于Bus适合小系统,Crossbar适合不太大的系统,一般用于几个到十几个connected nodes的系统。
能看到,传统共享总线和Crossbar架构各有优势。在实际应用中,业界通常采用Crossbar和共享总线相结合的方式,用桥接器将Crossbar网络和共享总线网络连接起来,形成一个典型的混合型拓扑结构。
然而,尽管业界已经提出了很多改进的总线结构,但随着进入MPSoC时代,总线结构在通讯性能、功耗、全局时钟同步、信号完整性以及信号可靠性等方面面临着巨大的挑战,这些复杂的改进型总线结构仍无法解决片上多核间通信所面临的问题。
因此,MPSoC上多核间的通信问题已经成为制约系统性能提升的主要瓶颈。
为此,片上网络技术(NoC)应运而生,逐渐取代Bus和Crossbar,成为片上互连的行业标准。
典型的片上网络NoC结构
如图所示,NoC结构中的R表示Router,所有的Router可以是同步,但每个Router所连接的PE(Processing Element)与Router异步,自成一个时钟域。所以基于NoC的系统能更好地适应在复杂多核SoC设计中使用的全局异步局部同步时钟机制。
在NoC架构中,每一个模块都连接到片上路由器,模块传输的数据则是形成了一个个数据包,通过路由器去送达数据包的目标模块,多个通信流在这些链路上进行多路复用。
通常,NoC由多段布线和路由器组成,这些布线和路由器的布置旨在减少寄生效应,从而避免在整个SoC中更大的损失和延迟。这通常采用类似城市布局的网格结构的形式。
在NoC中,路由节点之间通过局部互连线相连接,每一个路由节点通过网络接口NI与一个本地IP核相连接,源路由节点和目的路由节点之间的数据通讯需要经过多个跳步来实现。因此,NoC技术的出现使得片上系统SoC的设计也将从以计算为中心逐渐过渡到以通信为中心。
NoC技术不仅提供了高带宽、低延迟、低功耗的通信,还为复杂的SoC系统提供了可扩展性和灵活性,以及信号完整性和信号延迟等方面的优势。
整体来看,NoC使得在芯片内部的异构计算单元之间能够高效地传输数据,同时最大限度地减少所需的资源,不仅可以帮助优化资源利用,还可以保持分布式计算单元之间的数据一致性,对于复杂的设计尤为重要。
NoC本质上就是提供一种解决芯片内不同IP或者不同核心之间数据传输的片上通信方案,可以克服基于传统总线网络和Crossbar的带宽瓶颈。通过采用高效的内部通信架构和灵活的互联方式,NoC可以凭借高性能、低功耗、可扩展性和可靠性等优势,为未来的人工智能、物联网、自动驾驶、数据中心等新兴领域的发展提供重要的支撑。
因此,NoC被视为当前多核系统的最佳互联机制。
国产厂商,挤进NoC赛道
大到巨头,小到初创企业,如今都开始把NoC作为关键技术推进,成为未来多核/众核处理器的核心之一。
随着2018年英特尔收购NoC IP供应商Netspeed;2019年Meta收购另一家NoC公司Sonics;2020年,Arteris作为大股东,在中国合资设立传智驿芯(Transchip),逐渐铺开中国业务。片上网络技术渐渐再次回归人们的视野。
至此,虽然市面还有SignatureIP、Truechip等玩家,但方案比较全的NoC IP公司基本只有Arteris一家了。不过,Cadence、开芯院、赛昉科技等企业近年来也在相继入局,取得了一定进展。
Arteris:NoC IP一家独大
Arteris是领先的系统IP提供商,其NoC互连IP和SoC集成自动化技术致力于加速当今SoC芯片的开发。
Arteris片上网络互联IP产品:
- FlexNoC Non-coherent NoC IP – 具有物理感知的片上网络IP
- Ncore Cache-coherent NoC IP – 通过提供安全支持解决多核设计挑战
- CodaCache Last-level Cache IP – 通过无差错的系统内存映射加快产品上市时间
去年,Arteris推出Arteris FlexNoC 5物理感知NoC互连IP,使SoC架构团队、逻辑设计人员和集成商能够整合跨功耗、性能和面积(PPA)的物理约束管理,以提供连接SoC的物理感知IP。
据介绍,对于汽车、通信、消费电子、企业计算和工业应用,该技术使布局团队的迭代次数更少,物理收敛速度比手工优化快5倍。
此外,FlexNoC 5扩展了对Arm AMBA 5协议和IEEE 1685 IP-XACT的支持,包括与Arteris Magillem的连接流程,用于与其他SoC IP 模块的NoC集成。FlexNoC 5还支持经过生产验证的用于汽车功能安全认证和数据中心可靠性的Arteris弹性选项,用于优化内存流量的高级内存选项,以及用于超大型设计的Arteris选项。
据2023年底信息披露,Arteris公司的互连IP和系统IP已被600多家SoC设计公司所选用,全球已有超过30亿颗利用其IP的SoC 应用在各种电子系统中。
随着其经过硅验证的IP的声誉不断扩大,Arteris在过去两年中获得了65+新客户,已经有不少AI芯片、服务器芯片、汽车芯片厂商都和Arteris达成了合作。仅在2023年,就有SiFive、Tenstorrent、Axelera AI和ASICLAND等公司与其达成了授权合作。海思、瑞芯微、全志等国内移动芯片厂商,包括博世、NXP、瑞萨、地平线和上面提到的Mobileye等汽车芯片厂商,也都曾在其SoC设计中应用了Arteris的FlexNoC IP,持续帮助客户提升性能、降低功耗和面积、提高设计复用效率、加快 SoC 开发速度,从而帮助降低芯片的开发生产成本。
现在其IP已经用于70%的汽车ADAS SoC中。然而,商用NoC不仅仅应用于汽车市场,包括通信、消费电子和工业在内的其他领域正在寻找经过硅验证的系统IP解决方案,以缩短上市时间、优化工程资源并提高SoC经济性。
随着第五代FlexNoC技术FlexNoC 5的推出,Arteris未来几年注定会在更多最先进SoC设计的开发中发挥重要作用。
同时,Arteris还有用于保证缓存一致性的Ncore、降低DRAM读写次数的CodaCache等一众SoC设计。Arteris的IP对处理器架构支持非常广泛,主流的ARM、RISC-V、ARC、MIPS等都已经达成支持。
传智驿芯:联手Arteris,以NoC技术驾驭复杂SoC设计
国内第三方NoC IP供应商比较少,传智驿芯恰好出现在行业最需要的时候。
传智驿芯成立于2020年,是Arteris在中国的合资公司,核心业务包括基于NoC技术开发设计的解决方案、子系统IP开发、芯片设计服务等。在子系统IP开放方面,传智驿芯,依托Arteris IP打造了TC x NoC、Safety lsland以及Die to Die三大产品矩阵,主要面向汽车芯片、GPU/AI芯片、RISC-V芯片以及FPGA芯片等芯片厂商。
未来,随着芯片内部晶体管数量会持续上升,片上系统SoC的性能需求越来越高,NoC将势必成为多核/众核处理器的关键技术。同时,国内市场对于NoC IP拥有有多样化需求,要求企业可以根据不同需求进行修改定制。传智驿芯科技将继续与Arteris强强联合,以NoC IP服务、子系统IP开发、芯片设计服务等业务扎根中国市场,从而加速国产SoC处理器芯片设计。
开芯院:发布全球首个开源NoC IP
2024 年 5 月 21 日,开芯院发布全球首个开源大规模片上互联网络(NoC)IP,代号“温榆河”,这一重大突破标志着开芯院在推动数据中心服务器芯片技术发展方面迈出了坚实的一步。
据介绍,开芯院自项目成立以来,经过18个月的紧张开发,成功完成了支持64核互联的NoC IP开发和验证。“温榆河”NoC IP的发布进一步推动了RISC-V生态的发展,并使得开芯院能够提供数据中心服务器CPU芯片的核心基础IP,包括“香山”高性能处理器核和“温榆河”大规模片上互联网络。这是全球首次基于开源项目完成数据中心服务器CPU芯片的构建,具有重要的产业价值。
这一突破创新,不仅为行业带来了更多选择和灵活性,还极大地增强了RISC-V产业生态的信心,是全球开源芯片生态的重要里程碑。此次发布会吸引了来自全国20余家RISC-V芯片企业约100位工程师参加,受到广泛关注。
此外,开芯院正在研发第二代NoC,并与“香山”核紧密适配优化,支持AI加速器的互联与扩展,期待更多企业支持和参与。
开芯院首席科学家包云岗对“温榆河”项目的相关背景也进行了补充介绍:
Cadence:新增NoC IP
近日,Cadence宣布扩充其系统IP产品组合,新增了Cadence Janus Network-on-Chip(NoC),以优化电子系统连接性。
据介绍,Cadence Janus NoC 能够以极低的延迟高效管理这些同步高速通信,帮助客户以更低的风险更快地实现其 PPA 目标,节约宝贵的工程资源,倾力打造SoC的差异化功能。
Cadence Janus NoC可有效应对与当今复杂的SoC互连相关的布线拥塞和时序问题,这些问题在物理实现之前往往并不明显。Cadence的第一代NoC不仅能满足当前最迫切的需求,还提供了一个有利于未来的创新平台,例如支持行业标准存储器和I/O一致性协议。目前该产品提供的功能和优势包括:
- 易于使用:Cadence拥有功能强大、设计先进的图形用户界面(GUI),可轻松支持从小型子系统到完整SoC和未来多芯片系统的NoC配置。
- 加快产品上市:RTL针对PPA经过优化,使SoC设计人员能够实现带宽和延迟目标。封包化信息可提高线路的利用率,减少线数量,降低时序收敛难度。
- 降低风险:NoC的内置功耗管理、时钟域交叉和宽度匹配功能有助于降低设计复杂性。
- 快速设计周转:Cadence广泛的软件仿真和硬件仿真能力可实现早期架构探索,以便于快速验证PPA结果,确保配置满足设计要求。
- 可扩展架构:客户可以设计一个子系统,并在NoC的完整SoC环境中重复使用,以便将来在多芯片系统中重复使用。
- 灵活:Cadence NoC兼容任何具有行业标准接口的IP,包括AXI4和AHB。
值得注意的是,Cadence Janus NoC依托Cadence值得信赖且久经考验的Tensilica RTL生成工具。客户可以使用Cadence广泛的软硬件产品组合对其 NoC 进行软件仿真和硬件仿真,并使用 Cadence的系统性能分析工具(SPA)深入了解 NoC 的性能。该流程支持架构探索,有助于实现可满足产品需求的最佳NoC设计。
NoC依托Cadence在IP和设计质量领域久负盛名的领导地位,由客户满意度遥遥领先的技术团队提供技术支持。
Arm
Arm一向拥护开放标准,因为这有助于庞大生态系统中的合作伙伴在使用Arm AE IP设计时能够蓬勃发展,同时还能提高可移植性和软件复用率。
一个典型的例子是在Arm与Arteris的合作,在这个合作中,Arteris通过使用Arm全新的CPU IP验证了他们的互连产品(NCore和FlexNoc)。双方针对AMBA5 CHI.E标准进行Arm CPU和Arteris Ncore的组合验证。这项验证为生态伙伴采用Arm IP组合来构建其特定专用的SoC解决方案增添信心。
除了第三方NoC IP之外,如果是Armv9架构的话,也有CoreLink NI-700这一NoC互联方案,可以与Arm CPU、GPU和NPU IP完美搭配,相比传统的Crossbar方案可将线束减少30%。不过在汽车SoC的IP集成上,Arm和Arteris也是合作关系。
Arm的CoreLink互连可生成面向Arm Cortex和Mail内核定制的针对缓存一致性CMP和移动SoC的总线和mesh网络。
赛昉科技
据了解,昉·星链-500是赛昉科技首款自研的支持缓存一致性的Interconnect Fabric IP,支撑构建多核CPU和SoC,提供缓存一致性NoC,通过连接多个CPU Cluster、IO设备和DDR,并在SoC范围内维护缓存的一致性。
赛昉科技作为全球领先的RISC-V计算平台提供商,不仅提供了高性能内核和高能效内核,还提供了高速的一致性NoC、RISC-VTrace/Debug调试接口、RISC-V中断控制器、功耗管理、安全管理、虚拟化、IO一致性和内存子系统等全面的解决方案。这些解决方案将帮助客户实现嵌入式、客户端、服务器和高性能计算等多个场景的芯片落地。
从行业现状来看,拥有NoC IP的玩家并不多,大多都是拥有处理器IP核的配合使用,比如Arm、Intel、Meta、高通、英伟达、Achronix等。
写在最后
未来,多核处理器的规模会更大,尤其是在摩尔定律放缓的基础上,提升算力很大程度上要靠在芯片内部堆积更多的核,这些核心可能使用不同的架构,这种异构多核的数量和复杂度都会增加。
随着芯片设计日趋复杂,NoC已成为实现异构计算组件之间高效数据通信的重要组成部分。在AI、边缘计算、汽车芯片、数据中心和云端等不同领域中,NoC技术正在起到关键作用。
然而,在当前火热的3D IC和小芯片(Chiplet)集成方面,NoC技术还需要不断演进以适应新的挑战和需求。
3D芯片设计是多个芯片垂直堆叠在一起的设计,为 NoC 架构带来了新的挑战和机遇。在3D设计中,芯片的垂直集成可显著缩短通信距离和延迟,但同时也需要重新考虑 NoC拓扑和协议,以充分利用三维结构的优势。
大型、复杂的多核Chiplet同样需要新概念来实现内核、内存和外设之间的高级通信。这样的通信结构必须是分层的,为芯片内和芯片间通信分别设计不同的NoC,这样可以更好地管理复杂性和安全性。
整体来看,无论是ChatGPT的爆红、汽车芯片的潜力,还是3D IC与小芯片的兴起,都在催生更高性能SoC芯片、更多核异构处理器的发展和演进,随着半导体工艺技术的进步和芯片集成度的提高,NoC的设计已成为现实,并展现出非常广阔的前景。
这个诞生于20多年前的技术,时至今日才逐渐爆发出生命力。
Achronix资深现场应用工程师黄仑:片上网络 (NoC) 技术的发展给高端FPGA带来的优势;
Cadence:Cadence扩充系统IP产品组合,推出NoC以优化电子系统连接性;
逍遥设计自动化:驾驭三维芯片设计中不断演变的片上网络(NoC)体系结构;
北京开源芯片研究院:开芯院发布全球首个开源大规模片上互联网络IP“温榆河”;
IP与SoC设计:片上网络入门;