从摩尔定律停滞,以及系统级企业开始尝试自己造芯,EDA和IP厂商大约就知道自己的春天来了——因为他们的客户群体发生了扩展。
不过对EDA/IP厂商而言,仍然存在横亘在他们面前的巨型阻碍,就是设计芯片的复杂度和门槛仍然很高:也不是随便哪个系统企业都能造得了芯的。
所以过去两年我们参加Synopsys开发者大会,他们都反复在提要降低芯片设计的门槛,让更多的人参与到芯片设计中来。这也是把蛋糕做大的必由之路,而且也的确为社会数字化转型提供了某种有益的思路。
在地缘政治和半导体行业走向区域化的时代背景下,有机会分食这块蛋糕的市场参与者是在增多的。只是“降低芯片设计门槛”这件事也并没有那么容易:不过我们在最近芯易荟FARMStudio发布会上,似乎看到了曙光和更多的市场机会。
自动生成DSA处理器
芯易荟的官方介绍中提到FARMStudio“是一款以C语言描述,基于RISC-V基础指令集的专用处理器生成工具”。而在我们看来,FARMStudio是个能够全自动交付DSA(Domain Specific Architecture)软核的EDA工具。这里的DSA处理器,至少涵盖了DSP、NPU、DPU,以及CV、音频、工业控制、通信等领域的专用处理器。
芯易荟联合创始人徐勇在发布会上说,FARMStudio是个“颠覆性的产品”。起码从描述来看,这种颠覆性的确贯穿了发布会产品介绍的全程。
简单来说,“FARM设计方法学”在最初分析应用层软件和算法之后,只需要将基础核、“超级指令”和芯易荟提供的预置模板这三项输入到FARMStudio软件,“点一个按钮”就能自动生成DSA硬件和软件。
这里的输入部分。基础核,是指RISC-V“加一些配置选项”,“里面最复杂的,比如微架构、流水线等,用户都不需要关心,用户只需要在软件里面点几个勾就行了”;超级指令,涵盖SIMD/VLIW支持,“加速一些特定的算法”;预置模板,则是FARMStudio内部的,包括DSP、NPU、CV等模板,徐勇说是作为DSA处理器去“加速一类算法”,而不是像ASIC那样“加速一个算法”——“客户可以选择用我们的设计模板,这里面浓缩了大量的技术”——这部分看起来更像是芯易荟提供的IP。
而FARMStuido自动生成的部分。硬件包括RTL,以及综合脚本、测试套件、FPGA开发环境,与验证环境。生成的软件就是工具链,包括编译器、指令集仿真器(ISS)、性能仿真器(Profiler)、OS、数学库、调试器、应用软件包等。“全都是自动产生的”。
而且整个生成过程是“分钟级”的,“小一点的一分钟以内;大一点的也不会超过两三分钟”。在我们看来,仅是这一部分的介绍,就的确相当具有颠覆性了。所以芯易荟称其为“全球首款领域专用处理器生成工具”。
为了表现其可用性,芯易荟软件副总裁张卫航做了现场演示,现场利用FARMStudio实机演示三个基于RISC-V的处理器核心生成过程,并演示了软件仿真和debug的使用过程;而且FARMStudio在企业版之外,还提供个人版使用,价格是令人咋舌的299元/年——仿佛就是要告诉所有人“来用用看”。“在发布FARMStudio之前,我们公司所有员工都会用这款工具。”徐勇说,“我说的所有人,包括我们的市场、行政。”这不就是“让更多的人参与到芯片设计中来”的实践吗?
芯易荟市场总监徐明在介绍用FARMStudio打造DSP处理器实例时说:“我们非常乐意提供培训,也就是怎么用FARMStudio打造自己的处理器。千万不要觉得打造一个DSP处理器是遥不可及的事。有了这个工具以后,效率会大幅提升。”
在市面上我们也见过类似的产品,如来自Cadence、Synopsys、Codasip的对应方案,但徐勇在会后采访中告诉我们:“可能市场上类似产品是有的,但和我们一样做法的没有。比如友商用的是自己的内核,不是RISC-V。RISC-V是自主可控的保障。”徐明则补充说FARMStudio软硬件设计统一用C语言,而竞品则相对“需要很高的学习成本”。基于RISC-V基础指令集,以及基于C语言,这两点其实也是FARMStudio的技术突破所在。
PPT上列举的FARMStudio突破性技术,在徐勇看来只是FARMStudio的一部分,“我只是随便列了8个,我们的创新远远不止这8项”。这话听起来像是凡尔赛,不过从FARMStudio的介绍来看,这个工具的确需要大量技术突破才可能做到,如果其可用性的确已经经过了验证的话。
徐勇“随便列”的8项突破性技术分别有(1)基于开源的RISC-V基础指令集,也就是DSA处理器用于控制部分的指令;(2)基于C语言,这一点也是发布会上反复提及的。这是FARM方法学达成软硬件协同设计优化的基础,被张卫航形容为“FARMStudio最最最重要的功能——用C语言作为设计输入”;而徐勇则说FARMStudio是全球第一款将软硬件设计语言统一的工具;
(3)自动生成DSA处理器和配套工具链,且是分钟级的,前文已经提到;(4)高性能编译器,支持自动VLIW,自动流水线排布;(5)多层次验证,“验证分很多层次”,其中“指令集层面,在x86平台就可以做”,“找台PC机就能验证”,徐勇说这项技术也是世界唯一的;
(6)周期精确仿真器,仿真速度达到MHz,目前是业界最快;(7)FPGA验证环节,提供云服务,“对于用户来说不需要调试板子、不需要任何接口,只要上云购买服务,即插即用、非常方便”;(8)嵌入式OS,“我们的OS都是自动产生、自动配置”。
我们认为,这其中的任何一点都有拿来深究的余地。且不说“自动生成”这几个字对芯易荟而言,就意味着海量工作——因为这个过程,实际上是将原本芯片设计企业的很多工作,转嫁给了上游;单是云上FPGA验证,工程问题应当就有一大堆;而基于C语言的软硬件设计语言统一,这都可以作为一个大型课题做探讨...
那么在这些技术达成之后,FARMStudio对芯片设计企业而言,基本就是一个数量级的成本投入缩减。徐勇举例说RTL,“如果大家自己做,根据项目规模大小,少的话几十个人,大的上百人。没有几个月,你根本看不到一点东西。”再比如软件部分的编译器,“没有十几个人的团队起码1年的努力,编译器也跑不起来。”FARMStudio自动生成的任何一个组成部分,按照常规操作,原本都要求设计企业做大量投入,以及具备深刻、长久的经验积累。
有关芯片设计的成本缩减
在FARMStudio发布的当下,芯易荟似乎就已经有了不少意向客户。徐勇说现有客户覆盖领域包括安防、汽车、通信、消费电子、工业控制等。徐明在主题演讲阶段举了用FARMStudio来做DSP和NPU的例子,据说这些素材就是源于实际的项目——下文也会稍作提及。
对于下游的芯片设计客户而言,最在意的就是EDA工具本身的易用性、可靠性、性能和效率。而对这些做量化,就表现为EDA工具能给自己带来多大的收益——或者说表现为节约多少成本,包括时间成本、人力物力成本、风险控制,及最终的投入产出比。
讨论FARMStudio的成本问题,最直观的应该是其价格——芯易荟似乎是目前国内唯一会在发布会上花时间去谈产品商业模式及价格的EDA企业,虽然这可能也和FARMStudio的产品占据特殊的生态位有关。
上面这张图已经给出了FARMStudio企业版的功能和价格。功能方面包括提供软件工具链、仿真器、SDK、RTL下载以及专家技术支持。而其销售模式,被定义为“1+1模式”。芯片量产前的授权费典型值100万/年,另外量产后收取版税(royalty)——为SoC芯片ASP的1%。不过前文提到使用这款工具的“输入”部分,其中客户若要选择芯易荟的预置模板,应该还需要支付相应的费用——这应该也是芯易荟的重要知识储备和企业价值体现。
似乎这种收费模式也一定程度反映了FARMStudio产品的特性:作为EDA工具,包含自动生成定制化IP(或者说基于芯易荟的IP,为客户产生定制化IP)的能力。徐勇特别谈到,对传统方案而言,走相同流程需要用到设计、验证、综合等工具,总的授权费用都是几百万人民币量级;而1%的版税也“低于业界IP公司的收费”。
比较值得一提的是,版税部分的“多项目可重复使用”——一般IP是按项目收费的,所以这部分自然体现了FARMStudio的性价比;另外“内核数量不限”,多核不增加费用,以及“多种内核不重复收取”,是指一颗SoC上采用不同类别的核,则相当于只收其中一种核的1% ASP的版税。
这样的收费模式,在徐勇看来也是极具颠覆性的,让更多的企业能够以更低的成本来做芯片。与此同时,除了企业版还有FARMStudio个人版,前文已经提到,在不用于商业用途的前提下收费299元/年。在功能上与企业版的差别还在于不支持RTL下载,以及没有专家技术支持。徐勇说个人版的推出是期望进一步降低EDA的使用门槛,提高活跃用户用量。
收费是最显性的成本体现。另一部分成本,还表现为客户使用这款产品时,对于时间成本、人力物力、风险的控制。若对FARM设计方法学有了对应的认识,则这些因素的控制就比较易于理解。
比如其中的决策风险控制,或者说让芯片设计项目决策有了快速试错的可能性。“如果用传统工具,决策流程首先当然是对应用层软件和算法的分析;也包括市场调研。”徐勇表示,“市场人员说这个项目很有前景,研发人员说没问题能做,那你就需要去做决策,到底做不做这款DSA处理器。这对决策人员来说,风险是很大的。”
因为项目一旦开展,后续工作就会很多,且存在大量未知性。架构设计、编码性能优化工作,“每次产品迭代,软件相对快一些,硬件任何一次迭代都得几个月;软硬件开发完之后,还要做应用层功能验证,又是几个月过去了。”而且实际上在这个周期内,市场本身也在发生变化,则当初的决策就面临了更大的风险。我们这两年也看到不少芯片设计项目失败或无法如期交付,这在当代似乎已经不鲜见了。
而FARM的流程,是“基于FARMStudio的设计并行化”。徐勇说:“东西做得差不多了,比如PPA各方面都做好了,决策者心里有了参考,再来决策到底要不要做这个项目。”徐明则打比方说,这就像我们买房子,究竟是在房子还没建起来时就付钱,还是全部造好了再决定要不要买。前一种的情况就有了烂尾的风险。FARMStudio就是在“知道了房子是什么样的情况下,再去决策要不要做这个项目”。
这种对于风险的控制或者说快速试错,也就是建立在FARMStudio工具的快速基础上——也就是说本文的第一部分,也就造成了第二部分的成本控制。“从我们的典型案例来看,我们得到的结论是,只需要雇相当于以前1/10的人——也就是一个数量级的优势,就可以做到和传统方式同样的性能、效果,速度还更快。”
“决策人拿到4项数据,功能、验证、性能、成本都没有问题,再决定要不要做这样一颗DSA芯片。”徐勇表示,“这是风险非常小的一种决策方式。”
时间成本与人力物力投入,具体到FARMStudio产品上,以FARMStudio工作流程来看,原本的芯片设计团队可以精简,包括“让软件工程师来做硬件”“架构师来做处理器”——则人力投入得到控制;FARMStudio工具自动生成过程,原本就是在追求时间成本的急剧控制;软硬件协同开发,则基于相同的开发环境,两者达成了高度并行,且“每一次迭代都是分钟级”,也是节约时间成本的体现。
全过程也就达成了芯易荟的理想设定。最终将FARMStudio的特性概括为第一快速,第二低成本,第三使用门槛低。
生成DSP和NPU的例子
其实整场发布会给我们留下最深刻印象的,是徐明列举的两个基于FARM方法学的应用,包括DSP和NPU。举个例子,比如DSP微架构层面,load/store单元数量问题。“如果有企业认为原有的DSP算力够了,但想增加一个load/store单元。如果是传统DSP IP公司,他会怎么回答?”徐明说,“大概率是‘我们没有这种规格,你可以考虑买个更powerful的IP,里面有两个load/store单元’。”
“但对于FARM来讲就不存在这样的问题,因为多加个load/store单元,其实只需要把对应的配置选项勾起来就可以了。”张卫航在具体演示FARMStudio的时候也提到了这一点。也就是输入部分,RISC-V加上配置项。它所体现的还是易用性,以及设计的弹性,或者说系统架构层面的需求精确匹配。
FARM这个词的F代表的就是Flexible;对于矢量处理器必备的模块,如load/store单元、memory存储资源、寄存器、VLIW支持、计算单元等,都可以相对简单地进行定义和实现。“比如memory需要TCM(Tightly Coupled Memory)还是cache,load/store单元是一个还是两个,工具上都有可选配置项;或者矢量寄存器位宽多少、entry多少,甚至MAC(乘积累加运算)是定点还是浮点,都可以通过C语言来描述。”基于此,也就实现了灵活且差异化的芯片设计选择。
这一点或许也从某种程度体现出了成本效益。徐明在接受采访时说,FARMStudio是从需求与规格定义时就做差异化,甚至是打破现在一代产品只用一种核心微架构——且这一种设计基于规模缩放覆盖所有应用场景的现状。
徐勇则说,“差异化是需要代价的”,传统情况是“买个IP,只定制一点点内容,价格可能就会有5-10倍增长。而且这些企业甚至都不愿意接这样的活儿”,“因为传统工具用Verilog来写,定制成本是极其巨大的”,而高度自动化的工具则本身就具备了定制IP的特性。
有关定制化DSP和NPU的具体例子,受限于篇幅,本文不做详述。不过有一些问题是特别值得一提的。这些例子应当都是体现了灵活性,对于性能、效率的价值的。
在定制DSP的例子里,徐明提到了FARM对于非标数据类型的支持:因为通常像诸如10bit、12bit这类的非标数据运算,常规方案可能会按照16bit规格操作;而定制DSP的好处就达成了原生的非标数据类型支持,在内存消耗和计算性能(在对应SIMD位宽下,批量达成更多数据的处理)方面都有巨大的价值。芯易荟给出的数据是,这方面达成1.6x-2.5x综合性能提升。
另外还有“个性化小数定标支持”:传统DSP不支持个性化小数定标,则只能通过移位指令或饱和指令去匹配所需的格式。而FARM就能比较容易地实现个性化小数定标。
DSP相关的还有个重头戏,即“定制指令优化”。似乎一般的DSP IP也普遍支持指令集扩展,但徐明告诉我们传统DSP IP的“扩展指令是新增资源”,“也就是说定制指令和预置指令的资源不能复用,需要额外付出相应的面积成本”。
虽然具体到RTL级,徐明没有解释FARM是如何达成资源复用的,但他举了个例子,即一般芯片设计客户要做FFT或矩阵乘,传统DSP IP是用乘法指令或MAC指令实现的。“但用我们的工具,一条指令就能做矩阵乘或者FFT的蝶形运算;甚至可以选择矩阵乘的矩阵规模,以便在性能和成本之间做平衡。”
上面这张图给出了与“业界某广泛使用的DSP IP”之间的FFT性能对比。“我们是基于蝶形运算、基2的”,竞品则“基于传统乘法/MAC指令,但是基于混合基”,“理论上混合基性能比基2更高,但需要付出代价,codesize更多;而我们做到了更少的cycle、codesize,而且性能还更好”。徐明说。
与此同时,定制指令也能提高资源利用率,即相较于传统的DSP标准指令,填充更多的时钟周期,而且是以更低的资源实现的。对于这一点“客户更新、优化指令过后,编译器也会进行更新,不需要去手动干预,编译器就会自动识别优化场景”。
而在定制化NPU的例子方面,上面这张图列出了FARM定制NPU与通用NPU IP之间的比较。究其根本,还是在于灵活性、差异化可达成更高的效率。和上述DSP的例子是相同的道理。
这部分徐明也举了两个例子,包括NPU+DSP的异构架构,两者通过shared buffer来交换数据,而不需要“通过外面的bus走一圈”;以及所谓的“local模式AI处理器架构范式”——主要是片内存储方案的定制,达成了不需要外部DDR的设计,从系统成本上做到了节省。这里不再细谈。
芯易荟联合创始人 徐勇
着力于产品本身
这场发布会我们留意到的一个细节,芯易荟全场基本都在谈FARMStudio产品本身,而几乎没有去谈芯易荟这家公司、人员构成,以及创始人的创业经历和“情怀”——这在国内芯片初创公司发布会上,还是比较少见的。
而且愿意面向媒体去分享技术的国产EDA/IP企业也很少见,虽然上面我们所看到的并不涉及FARMStudio本身的实现。此前我们在谈国内集成电路行业发展时就说,仅有在行业和市场逐渐走向成熟时,企业才会愿意在面向媒体时,将注意力都放在产品上,而不是讲故事或者谈情怀。这一点在芯易荟身上就有相当好的体现。
虽然我们不知道FARMStudio是否真的能成功,但这已经是个很好的开端和出色的开局了。我们采访徐勇时,特别问到EDA最终走向寡头化是市场的必然,芯易荟在这样的局面下是如何定位自己的。徐勇说:“我们不想去预设未来,做好当下才是我们最关心的。”