“智能汽车生态群"加微信Time-machine-(备注公司+姓名)
Mobileye、地平线、芯擎、寒武纪、芯驰、黑芝麻、杰发、宸芯这些汽车SoC芯片厂家背后都有Arteris的IP,除此之外,博世、NXP、意法半导体、瑞萨、东芝、德州仪器、索喜也是Arteris的客户,宝马也刚刚成为Arteris的客户,宝马与德国 German Federal Ministry of Education and Research (BMBF) 联合进行名为ZUSE-KI的项目,也就是宝马也要开发自动驾驶用芯片。海思曾是Arteris的最大客户,2019为其贡献了1000万美元的收入,而无人机公司大疆则在2020年为其贡献740万美元的收入。
图片来源:互联网
Arteris在汽车和AI领域的客户见上图,AI领域的百度、寒武纪、壁仞、鲲云、眸芯、燧原也是Arteris的客户。Arteris成立于2003年,后来高通2013年收购了其部分股份,于2021年10月独立上市。Arteris 在2021年大约一半的收入来自中国,一半的客户瞄准汽车领域。2021年共获得192家客户,其中40家主要目标市场在汽车领域,42家在机器学习或人工智能领域,20家客户是5G领域,36家客户做基础服务,47家瞄准消费类电子领域。111家客户在亚太地区,50家客户位于北美。2021年收入3786万美元,研发成本高达3081万美元,净亏损2338万美元。
典型的汽车SoC内部框架图
图片来源:互联网
现在芯片行业就是外购IP搭积木的方式,Arteris的核心产品就是将CPU、GPU、AI、界面等这些IP串起来,也就是NoC(Network on Chip)片上网络。
NoC示意图
图片来源:互联网
NoC可以理解为一个运行在PE与PE,PE与存储和外围之间的通讯网络。NoC技术和网络通信中的OSI(Open System Interconnection)技术有很多相似之处,NoC技术的提出也是因为借鉴了并行计算机的互联网络和以太网络的分层思想,二者的相同点有:支持包交换、路由协议、任务调度、可扩展等。NoC更关注交换电路和缓存器的面积占用,在设计时主要考量的方面也是这些。NoC的基本组成为:IP核、路由器、网络适配器以及网络链路,其中IP核和路由器位于系统层,网络适配器位于网络适配层。针对NoC的这四个基本组成,也衍生出了许多的研究方向和优化途径。
图片来源:互联网
常见AI加速器的NoC如上表。需要指出高通和华为都用了Arteris,这家公司实际是高通的子公司,高通在2013年11月收购了这家仅有43人的法国小公司,今天中国几乎所有的大中型芯片公司都是其客户,包括黑芝麻、杰发科技、地平线、芯擎科技、瑞芯微、国民技术、华为、全志、炬力、展讯等,可以说都在给高通打工。英特尔在2019年收购了Netspeed,Facebook在2019年收购了Sonics,这两家的NoC使用面远不如高通的Arteris。
NoC好比SoC的中枢神经,它负责实现各子系统模块之间的高速互联与协同工作,是高级版的总线,没有带宽限制的总线系统。片上总线根据拓扑结构的不同,也分为星形(Star)连接、环形(Ring)连接和网格(Mesh)连接。具体采用哪种总线结构,需根据设计目标进行复杂的仿真分析。
NoC作为一种全新的设计方法学很好地解决了SoC的单一总线的通信瓶颈问题。从字面上看,NoC是SoC架构师在其框图和平面图中绘制的IP模块之间连接的逻辑和物理实例。如此众多的SoC设计团队从Arm、Synopsys和Cadence等公司获得IP模块的授权许可,SoC设计趋向于同质化。实现SoC差异化设计的关键在于架构师如何选择和连接这些IP模块以满足他们的系统级要求。
为什么要用NoC
SoC所包含的IP模块数量不断增加,同时片上服务质量(QoS)、仲裁和数据流优化的复杂性越来越高,NoC逐渐取代总线和交叉开关(crossbar),而成为片上互连的行业标准。总线是共享的通信资源,除了最简单的系统之外,总线无法提供系统所需的带宽。交叉开关虽然可以提供足够带宽,但是其大小随着所连接的IP模块数量成倍增长,并且大型的交叉开关根本无法构建。它们都不能很好地利用布线,而布线可是当今芯片技术中最为昂贵的东西。NoC可极大地减少裸片面积(尤其是更少的布线),功耗更低,而且可以对片上数据流和服务质量进行微调优化,甚至可以提供数据保护功能以提高整个系统的功能安全性。
总线是系统级芯片发展的早期阶段所采用的标准,那时连接的IP模块(CPU、存储器和外围控制器等)可能不超过20个。然而,随着更多IP模块连接到总线,它们开始争夺优先级和可用的带宽。总线需要集中的仲裁器和地址解码逻辑,而随着主机和从机数量的增加,大家竞争同一条总线资源,这反而成了SoC性能的瓶颈。
现在大多数高性能SoC设计均使用10nm以下的先进工艺节点,其中晶体管的尺寸可缩小到令人难以置信的地步。这样就可以将数十亿个晶体管集成到一颗裸片上,而几年前同样尺寸的裸片只能容纳几亿个晶体管。然而,金属线宽还没有缩小到晶体管那么小,当系统中添加更多IP模块时,连接它们所需的金属线数量却随之增加,并且数据在片上传输所需的距离也增加了。对于5年前的SoC设计而言,NoC可能占裸片面积的10%,但在当今的先进高性能SoC中,这一面积比却在增加。不过,我们也在不断改进NoC技术,使其能够在高性能应用的高时钟频率和高电压下运行。而当NoC不需要大带宽时,我们能够非常快速、透明地“使之节流”至节能模式。NoC技术提供了很多“杠杆”,SoC架构师可以使用它们针对特定的性能、功耗和面积要求进行优化。
ARM总线的发展历程验证了NoC的必要性,早期的ARM总线是NIC,没有固定拓扑结构,通过简单crossbar(交叉开关)互联 ,适用于简单场景。一类是CCI,固定拓扑,也是crossbar结构,支持一致性,适合少量处理器。再往下是CCN,环状结构,通过固定交叉点连成一个环,延迟大但频率高些,适合16个以上的处理器。再后来是CMN,网状结构,也是固定交叉点,形成NxN网络,支持更多的CPU互联。最后是NoC,节点是个小路由器,连线更少频率更高,没有固定拓扑结构,可以连接任意多的设备。NoC以路由和包转发为特点的网络,可以自由拓展。NIC更为简单,没有路由,只有简单交换,调度,交织能力很有限,用于简单SoC结构不错,复杂了还是得上NoC。
Arteris典型客户
图片来源:互联网
Arteris产品线
图片来源:互联网
Arteris产品线可分为Ncore和FlexNoC两大类,Ncore是缓存一致性互联IP,连接CPU簇、加速器和内存子系统,是于2016年推出的针对异构计算芯片的IP。FlexNoC则连接外围模块,第一代产品推出是在2003年,第二代产品是在2009年,2013年推出针对die-to-die 或chip-to-chip的并行界面,2014年为汽车功能安全推出Resilience Package恢复包。采用FlexNoC的厂家包括三星、Mobileye、英特尔和华为,使用FlexNoC的芯片出货量已超过15亿片。
FlexNoC提供的不仅是IP,还有辅助工具及各种库,Arteris声称可以缩短1-3个月的设计周期,节约5-15%的芯片面积,还拥有更高的带宽,尤其适合对AI加速器的应用。
FlexNoC的产品构成
图片来源:互联网
图片来源:互联网
ASIL-D级,ArterisResilience Package恢复包
图片来源:互联网
Resilience Package恢复包是Arteris的特色产品,是市面上第一个针对汽车功能安全的产品,已经被瑞萨和Altera的车规级SoC芯片所使用。ResiliencePackage恢复包针对Cortex-R5/R7和双核锁步设计的SoC,不仅提供CPU的保护,还提供端到端的包括传感器数据的保护。
MobileyeEyqQ5 内部框架图
图片来源:互联网
图片来源:互联网
Mobileye自创业之初就选定了要使用NoC,早在2010年,Mobileye就选定了Arteris的NoC IP,一直到现在,Mobileye的每一代产品都使用了Arteris的NoCIP,主要用来减少Die的面积,也就是降低成本,上图的interconnect部分就是Arteris的NoC IP,Mobileye不仅使用了Arteris的NoC IP还使用Netspeed的NoCIP,不过是通过MIPS使用的,EyeQ5使用了8核MIPS的I6500 CPU,8核的连接使用NetSpeed的GeminiIP。
本文作者周彦武!