现在,数据中心和服务器这些大数据的互联网公司都在开发自己的芯片去优化网络。其原因是,根据调查,每有100ms延迟就会使营业收入减少1%。此外,我们也必须考虑符合汽车功能安全,以及网络安全,防止黑客攻击。
今天的SoC设计变得非常复杂,包含多种IP单元和处理器,以及软硬件的集成。因此,设计一款芯片以及把它推向市场所需的成本越来越高。产生这个现象的主要原因是设计方法还没改变,大家都还在用JTAG这种有30年历史的设计方法。
Synopsys公司的总裁兼CEO Aart de Geus曾反复谈到系统复杂性,因为今天的芯片里有太多的单元和软硬件的协同。
设计开发成本和上市成本越来越高的原因,是设计工具和设计方法都还是很传统,大家都是在单元级上做开发。现在每个单元内部都有非常好的成功的工具和方法,但都不是系统级的解决方案。
UltraSoC是一家总部位于英国剑桥的小公司,办公室离徐志摩当年战斗过的地方很近。他们的IP就是要帮助客户解决这些芯片设计所面临的最大问题。
UltraSoC公司首席执行官Rupert Baines日前在媒体沟通会上告诉记者,UltraSoC的商业模式和ARM一样,他们的IP应用到Intel、海思、Imagination和Microsemi这些公司的芯片中。
UltraSoC目前还是一家由VC提供资金的公司,共有25名雇员,所有的技术来源于大学。特别是投资阵容很强大,公司的董事长是加州伯克利大学分校的一位教授,同时也是Synopsys和Cadence的联合创始人。
UltraSoC帮助客户解决很多业务本质的问题,包括怎么让产品更快上市,怎么去优化软硬件的协同,怎么引入RISC-V等等。
那么,UltraSoC的技术为什么能解决这些问题?他们有一个库,这个库大概有30多个组件。系统设计师把这些组件用在SoC设计的各个部分,就能去解决这些问题。
“UltraSoC的组件能够智能地懂得SoC中的各个单元和软硬件,包括可以了解ARM、RISC-V和MIPS的软件,也可以了解硬件,这些组件被叫做互连内存控制器。总而言之,UltraSoC可以把SoC的各个部分放到一个系统中去,可以全局性地看到SoC设计中硬件和软件的整体状态。”Rupert Baines说。
下图是一个典型的客户设计。这个手机处理器中有ARM处理器,也有可以理解ARM软硬件的组件,同时也有CEVA的DSP。对于UltraSoC,他们的软件也能理解DSP的设计,同时也可以作为一个整体来进行了解。
UltraSoC也有专门针对硬件的组件,比如针对总线和芯片互连的组件。同时它们把所有这些软硬件分析功能放到一个整体的分析功能下。
他们的IP可以去解决很多问题,比如很常见的一个问题是,在做一个芯片设计的时候,这个CPU的确工作,但是速度没有其在做产品定义和规划的时候这么快。问题出在哪,怎么解决它?UltraSoC就是帮助解决这样的问题。
UltraSoC的系统还可以解决很多系统级的问题。比如系统被挂起或死锁,是电子系统中很常见的问题,每隔一段时间就会发生。“当年我在Picochip的时候(编者注:在加入UltraSoC之前,Baines是Picochip的市场营销副总裁。在Picochip被Mindspeed/现并入英特尔收购之后,他担任Mindspeed的市场营销策略副总裁。),那时正是TD-SCDMA大发展的时候,曾经当地一家合作伙伴面临的问题是,系统大约每8天就会死一次机,对于系统设计人员来说是件很头痛的事情。”Rupert Baines回顾到。
“系统被挂起或死锁是系统设计中一个非常严峻的挑战。你去做仿真,刚才说的大概每8天死一次机,仿真速度很慢。所以,要做一次仿真,一周接一周地去做,还不一定能找到问题,这是个很麻烦的挑战。而对于UltraSoC来说,去解决这样的问题非常方便、非常快,从而给设计人员带来很大的方便。”他补充说。
下图列的是UltraSoC片上分析IP的好处。由于其IP是一直处在芯片内部的,所以既可以用在实验室做产品研发的调试工作,也可以在产品应用现场,在不同的应用场景下去了解和优化芯片设计。
另外对于网络安全标准(防止黑客入侵)其汽车ISO26262标准,UltraSoC也都提供支持。他们的IP可以观察芯片是否正常工作。UltraSoC的IP面积很小,只需要不到1%的裸片面积,就可以大大提高性能,同时减少bug,还可以降低功耗。按照一项研究,它同时也可以加速产品上市,利润率可以达到2.3倍。
UltraSoC的IP包括3个层面上的解决方案。第一层是大约30种的分析模块,其功能是能够理解芯片SoC的不同部分,比如ARM、RISC-V和CEVA的软件,以及总线、系统互连的状态。它们的优点是本地化的智能。所有这些模块都是在本地化工作,就在相关单元的旁边以系统级的速度来工作,同时不是侵入性的,在系统内不可见,不会影响任何系统的性能。
第二层是互连,它的各个模块通过网络进行沟通,并可以被动态重新配置。用户可以设置if-then关系,进行交叉触发。因此,如果处理器有问题发生,就可以终止活动;如果总线上出现某个模式,用户就可以查看处理器当时的状态。如前所述,模块之间的相互依赖关系是芯片设计的一个问题。
最后一部分是他们的连接通信器。这些IP单元和外部世界需要连接到一起,这些通信器可以用芯片设计中非常标准的JTAG接口来做连接,也可以用常用的以太网、PCIe、USB接口把芯片内部的分析IP和外部环境连接到一起。
另外,UltraSoC还有片上工作的模式。比如一个芯片已经发货了,这些IP不再需要跟设计师做沟通,它们也可以帮助芯片去优化性能和功能。
UltraSoC提供所有软硬件的全面可视化操作系统,下图是UltraSoC的典型操作界面。中间是软件跟踪显示,绿色加亮部分是处理器代码的一个断点。右边显示的是硬件。当断点出现的时候,总线上当时正在做什么操作,有什么信息的沟通?相应的硬件行为也可以看到。右边是统计数字,包括内部架构上的延迟。
如果是软件开发工具,很多公司都有,而能够同时提供软硬件和相关统计数据的公司,目前只有UltraSoC。
最左边是模块的工作情况。中间是处理器的工作情况,可以支持UltraSoC的IP,目前来看可以支持客户开发最多的数量是256个核,另外还有客户正在开发最多4000个核的芯片。
在绝大多数SoC芯片或电子系统中,从右上角的统计数据来看,系统工作都是一开始性能慢慢提升,到了一个高点后,系统性能下降,有可能是你的内存出现泄漏,或者总线出现拥堵,或者其它的一些原因。UltraSoC就是帮助你分析和找出具体的是哪些原因。
现在我们看到的是更多的案例,有一个非常常见的问题,就是UltraSoC的缓存问题,这个时候大家的CPU设计并没有问题,这是一个软件的问题。你需要去找相关的软件问题,如果用它们的工具可以很方便的解决这一类的问题,缓存的优化可以使CPU的性能提升20%。
后面两种情况是存储器、控制器的问题。这是芯片中非常复杂的设计,需要很优化的设计。在高速存储数据中,存储器、控制器有可能成为数据存取的瓶颈。比如左边的存储器的情况,是系统的存储不平衡;右边是存储的流量峰值的波动和突发,用UltraSoC就可以很方便的帮助设计人员发现这些问题。左下角的案例,如果不用UltraSoC就基本不可能去发现这些问题,但是在系统实时工作的情况下,出现一个小小的问题让Modem崩溃了,用别的工具很难发现,而用UltraSoC就很容易找到这个原因。
UltraSoC也可以在实验室作为工程开发工具来使用,即在芯片流片后拿到样片,在商业发布之前可以在实验室作为工程开发工具来使用。同时UltraSoC在产品生命周期都能用,比如有一家很大的客户(high-profile, sexy and secret,大家自己去猜)用UltraSoC的片上分析 IP。这家客户的芯片,在汽车在驾驶的时候会不断监测芯片的状态,这是可以满足ISO26262标准的IP,这个标准在汽车领域是非常难通过的,也是非常重要。
另外一个跟安全性(safety)一样重要的是网络安全(cyber security)。UltraSoC的IP是从硬件层面对芯片状态进行实时监控,可以发现任何工作不正常的地方。“因此,我们可以发现DDoS攻击,即使CPU无法工作(忙),也能发出警报。”这是因为UltraSoC的IP是在硬件中,是操作系统所看不见的,所以攻击者不可能阻止或干扰这种监控。不像其它的软件层信息防范工具,黑客进攻是可以去停止或欺骗看得见的防范工具。
当笔者问到,UltraSoC IP在现场使用,如果CPU遭受DDoS攻击,它都已经无法响应了,又怎么去解决问题时,Baines解释到:“网络安全通常涉及到很多层,非常复杂。现在,我们的客户在使用我们的方案时是用的2个CPU:一个是系统CPU,它运行主程序,暴露在外部世界中;一个是监控CPU(supervisor),独立于前者,攻击者访问不到。若有攻击发生,监控CPU将对系统复位,并通过一个分离的链路发送警报。”
对于UltraSoC最大的市场是数据中心和服务器。其原因是,这些数据大的互联网公司都在开发自己的芯片去优化网络。比如美国的亚马逊、微软、Facebook,中国的百度、阿里巴巴、腾讯都在做自己的芯片。华为海思、高通这些公司也都在做服务器和数据中心用芯片。
为什么它们要自己开发芯片?因为像阿里巴巴这样庞大的营业收入,他们要确保自己的服务器工作很流畅。亚马逊有一个研究,100ms的延迟会使营业收入减少1%,对于亚马逊这么的收入来说,1%的收入会是很大的损失。所以这些互联网公司都在努力让系统工作得很流畅、很正常。(有兴趣者可以到UltraSoC的网站去看一下,有一篇白皮书很全面介绍了互联网和服务器IP之间的关系。这份谷歌和微软做的调查,很详细介绍了延迟带来的损失。)
总结来说,UltraSoC的IP在客户的SoC里不断地对芯片进行分析并收集相关数据。这些数据可以被设计人员用在不同的地方,比如在开发阶段缩短上市时间,可以去创建更好的产品。除了刚才说的开发阶段用的数据外,还有非常有价值的信息,可以用在更多的地方,让芯片可以工作得更好、更可靠,并有更少的问题。而且你也可以在产品的整个生命周期上去使用它们的IP,比如用于ISO26262功能安全以及网络安全方面,可以监控芯片,防止恶意攻击。
UltraSoC在RISC-V的整个生态里做出了很大贡献并且也很成功。RISC-V类似于Linux,是一个开源的CPU,当然包括商品化的CPU设计(类似红帽Linux)。所以在CPU设计领域,用户可以下载RISC-V的源程序自己做处理器设计,也可以买SiFive等公司的授权来做设计。
RISC-V对中国市场非常重要,许多中国公司都在关注和投入RISC-V的芯片,希望芯片设计能够有更多的本地化。除了很多大客户,中国还有很多半导体初创企业,比如很多一些中国的新创公司去开发很先进的应用。
UltraSoC是业内唯一一家为RISC-V提供商品化开发环境的公司,包括监测、追踪、调试CPU的运行,也可以用在完全开源的领域。他们也跟一些做RISC-V IP设计的公司有合作。因为他们的产品提供开发环境,有两个层面,如果你完全从开源的做起,他们支持运行控制,追踪和调试。也可以去,这里是全球最领先的几家做智能驾驶、做RISC-V内核开发的公司。
最后,Microsemi最近也购买了UltraSoC的通用分析与嵌入式智能平台授权,用于其基于RISC-V开源处理器架构的产品开发。