最近搜索 清空历史记录

开源EDA未来发展趋向

        伴随着AI、5G通信、云计算等专用计算领域的发展,面向专用计算领域的计算机系统结构也进入了一个新的黄金时代。描述这个黄金时代的两个重要画笔是开源硬件(芯片)和敏捷开发:开源能够降低芯片设计的门槛,进而敏捷设计缩短开发周期。
        开源指令集RISC-V引发了开源硬件的热潮。但是,芯片的设计和生产过程比软件长,需要更多的工具和过程。EDA也开始转向依靠开源社区的模式来解决复杂的设计问题,降低开发成本。然而,国内EDA技术一直是一个弱点。当地EDA企业还没有发展壮大。如何应对开源EDA的新技术形式和生态模式?这些问题在中国计算机学会青年精英大会(YEF2021)技术论坛【芯片智能设计-敏捷设计与开源EDA之路】上进行了激烈的讨论。



        开源芯片成为新的发展趋向。
        说到开源芯片,RISC-V是开源的代表。去年,RISC-V国际基金会将总部搬到瑞士。目前,它有1000多名成员,约有200家企业。中国在其中发挥着重要作用,中国企业占20%以上,19名理事会成员中有9名来自中国。
        随着开放指令集RISC-V逐渐受到业界的追捧,开源芯片的概念逐渐进入人们的视野,受到全世界的关注和投资。早在2019年国际计算机系统结构旗舰会议ISCA的前景研讨会上,包括图灵奖得主DavidPatterson教授在内的许多美国工程院院士,以及MIT、UCBerkeley、UCSD、Stanford、Google、Nvidia、DARPA等顶尖大学、企业和政府机构的专家都聚焦于面向下一代计算的敏捷开放硬件的前沿热点,包括指令集、EDA工具链开源、设计流程、高层次综合、形式化验证。
        看国内,十四五规划也开始布局开源芯片。十四五规划第五章第十五章第一节提到,支持数字技术开源社区等创新联合体的发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务。
        开源芯片有哪些创新机会?中国科学院计算技术研究所副所长包在技术论坛上说:RISC-V是指令集开放,其实是指令集手册的开放。比如英特尔CPU的指令集手册有5000多页,ARMCPU的指令集手册有2000多页,而RISC-V的指令集手册只有200多页。如果把指令集变成真正的结构,这个时候会产生很多设计文档,那么文档可以公开;根据设计文档变成源代码,源代码也可以公开;EDA工具链可以把开源代码变成芯片地图,所以EDA设计工具也可以开源。
他总结说,开源芯片主要包括三个层次:(1)指令集(2)处理器微架构设计/实现(3)设计流程/工具。
        除了指令集,芯片设计指令集,芯片设计工具也很重要。EDA工具是开源芯片设计的基石。如今,各种开源EDA工具基本上涵盖了芯片设计中的模拟、逻辑综合、布局布线、物理实现和验证功能。
        全球EDA市场已被Cadence、Synopsys、Mentor(2021年1月更名为SiemensEDA,即西门子EDA)垄断。它们规模大,产品线完整,能提供全过程的完整解决方案。相反,国内EDA工具在中国的市场份额不到5%,全球市场份额仅为0.2%。而国内EDA公司规模小,产品单一,多为点工具,只能提供局部解决方案。单一的EDA工具很难满足设计师对IC设计的全过程需求,不同工具之间的切换为数据的完整性增加了风险。因此,市场对开源平台的呼声日益增加。
        开源EDA问题繁多。
        鹏城实验室和中国科学院计算所的解壁伟认为,开源EDA是支持开放芯片生态的重要保证。许多成功经验表明,开源开放是建设繁荣技术生态和工业生态的必要基础。例如Linux操作系统支持整个开源生态系统;再比如Android移动操作系统,虽然现在已经关闭,但是从开源开始,统一了除iOS之外的整个移动互联网生态;在人工智能领域,Caffe、TensorFlow、Pytorch、Paddle可以说是整个AI技术生态系统的基石。
        开源EDA工具可以降低芯片设计的门槛,如人力、IP、EDA等。也可以为EDA领域的基础科研和人才培养提供良好的思路,无论是企业、大学、学术研究机构、芯片还是EDA方向的个人爱好者。如果开源EDA能聚集各种力量,将有助于中国加快赶上国际先进水平。
然而,中国EDA软件的基础相对薄弱,在开源领域几乎空白。开源EDA仍面临许多挑战:用户少、贡献者少、框架结构不清晰;论坛还讨论了一些解决方案。
        具体如下:

            (1)用户少:开源EDA工具质量与商业工具相比差距较大,用户数量非常有限。解决方案是提高工具质量,强调生产环境下的项目检验,即开源EDA工具不仅要停留在学术论文和软件代码上,还要与其他工具汇聚成工具链,支持完整的芯片流片验证,产生有效的用户反馈。比如美国的Magic经过了几次流片验证,论文中有实际的芯片测试数据。
            (2)贡献者少:EDA领域相对较小,其开源社区更是人丁单薄,Yosys、abc、magic、OpenROAD等开源工具的贡献者多为10余人。由于EDA学科的特点,开源EDA贡献者需要同时具备CS、Math、EE、MicroE的知识,技术门槛高。每一个开源EDA工具的开发都是不开放的,基本上是一个学校,一个研究机构,一个公司的内部团队,外部参与者很少,也很难参与。解决办法是充分拆解、抽象、描述EDA技术问题,分类转化为数学、算法、高性能等专业领域可以理解的语言表达,动员多学科的社区力量。
            (3)框架结构不清晰:代码不统一、复用率低是开源软件的通病,但开源EDA工具与算法绑定较强,问题更加突出。设计新算法通常需要大量重写代码,失去了开源的意义。有两种解决方案。一是模块化设计,从基础框架设计出发,再深入算法层,抽象共享操作和数据格式,从代码中探索迭代重构规律,形成精简、高效、模块化的基础框架。该模块化设计还便于利用分布式并行计算结构加快EDA设计过程。二是规范抽象,利用MulTI-levelintermediateresentaTIon(MLIR)等优秀的编译设计理念,对整个设计过程(特别是前端设计)进行多层次的抽象划分,方便各领域专家专注于各自的抽象层次,同时通过多层次的编译打开EDA工具链,完成敏捷方便的全过程验证。这样,即使是一个点工具也可以通过标准的转换格式灵活地连接到开源EDA工具链中,完全验证其开发工具的性能和质量。目前,北美工业界和学术界正在形成这种趋势。
        对于开源EDA项目,无论从低工艺(110nm)到高工艺(55nm,40nm甚至28nm)。从高校教学级应用到企业产品级应用,从小型ASIC芯片到更大型SoC项目,都要坚持研究与应用相结合的策略,以实用为牵引,以研究与研究为导向。从工具链、点工具、基准测试集、示范应用、工业级开源工艺库五个方面逐一突破。
        行业研究进展
        值得注意的是,在ASPLOS2021大会上,刚刚从GoogleBrain跳槽到明星RISC-V公司SiFive的ChrisLattner博士(LLVM项目的主要发起人和作者之一,Clang编译器的作者)做了TheGoldenAgeofcompilerdesignininaneraofHW/SWCo-design的演讲,提出了基于MLIR编译技术打造的全新统一的EDA(ElectronictesignAutomation)框架,为EDA设计工具链提供了完整、灵活的基础设施。CIRCT项目与MLIR相同,在硬件设计和软件编译方面容易形成生态一致性。
在开源EDA软件的道路上,国内EDA学术和行业都在努力寻找合适的位置为开源EDA做出贡献。
        在开源芯片领域,中国科学院计算所于2019年启动了RISC-V处理器芯片和RISC-V原生操作系统,并在国内28nm技术上构建了具有性价比优势的开源芯片技术体系。此外,他们还在探索开源EDA设计的开源芯片,基于现有的开源工具,构建了一套基于Python的RTL到GDSII的设计流程;去年8月,国立科技大学五名本科生用开源EDA工具设计了两年的果壳-1芯片,实现了流片。
        中国科学院还开发了芯片敏捷设计云平台AgileServe,该平台集成了各种开源元素,可以支持用户快速定制处理器芯片和软件开发,降低芯片设计门槛。对于学生来说,他们可以随时随地进行芯片设计;对于教师来说,他们可以在线指导学生。
        南京集成电路设计服务产业创新中心有限公司(以下简称EDA创新中心)执行副总经理陈刚介绍了国内EDA通用底座(openEDI)的开源方式。考虑到国内EDA点工具的独立性,建设国内生态的通用底座,有望将点工具连接起来。EDA通用底座的研发目标是支持所有国产EDA工具,聚合成套EDA工具链,成为国内生态的通用底座。下面是EDA通用底座架构。底部是数据层,承载着所有EDA在内存和磁盘上的数据库和数据模型,包括各种解析器模块、用户界面模块等。上层是通用算法层和计算框架。
        北京大学的林亦波在会上介绍了著名的深度学习辅助布局布局优化项目。他讲述了利用深度学习改进传统布局布局算法的故事。在这个过程中,必须使用开源布局工具,否则很难获得深度学习样本。未来,他们将继续改进算法,提高稳定性和泛化能力。有望发布像ImageNet这样开放的EDA数据集,以吸引学术界和产业界的共同竞争和发展。
        东南大学国家专用集成电路系统工程技术研究中心的严浩讲述了宽电压近阈值设计方法的研究和开源EDA的进展。他介绍说,EDA工具的技术挑战是不断演进的技术和蚀刻尺寸带来的偏差建模和优化算法的开发。他指出,在做研究的时候,最大的挑战是需要花费大量的精力来复制别人的代码,所以他们也与NiiCEDA等国内EDA企业合作,积极开发开源时序分析工具。
        宁波大学储著飞分享了多逻辑自动综合工具的研究进展。他说,逻辑综合是将所有设计数字电路的RTL级描述转化为指定工艺库中单元电路的连接。逻辑综合主要包括翻译、优化和工艺映射三个阶段。他指出,不同逻辑完整集开发的综合方法适用场景不同。现有的EDA工具都是基于传统的布尔逻辑开发的,新的计算符可以带来更多的机会,如Reed-Muller、TB和RM双逻辑等。在EDA开源方面,他指出了逻辑综合工具的发展趋向:一是AIforEDA以AI的方式推断了逻辑综合优化转换的顺序,让没有任何经验的工程师得到优化脚本;第二,EDAforAI以搜索表的形式推动逻辑操作,达到与神经网络训练权重相同的目的;第三,OpTImalSolution给定了一个数字电路。现有的方法高度依赖SAT解决方案,获得最小节点数、最小逻辑深度等最佳解决方案,但SAT解决方案本身就是一种启发算法,可以通过数字电路模拟帮助SAT进行更高效的搜索;第四,TechnologyEnabler,开发新的逻辑抽象方法,帮助一些二维材料等新技术的评估和发展。不管是训练集,搜索优化和新模型都会从开源生态中获益。
        EDA生态在技术标准、安全性和流片风险方面存在风险。IEEE标准运行规范成熟,相对安全。但是许多事实标准实际上是三大EDA公司的私有标准。即使开源社区有免费的私有标准,也有与标准相关的隐藏专利风险。需要制定国内标准,掌握关键技术,防范专利风险。
        开源EDA软件的可信度和安全性是一把双刃剑。一方面,开源EDA工具中可能会有恶意代码泄露用户核心设计数据,也可能会在设计中植入恶意硬件木马;另一方面,EDA工具代码是开源的,贡献者基本可以追溯到源头,相关责任也很容易追究,所有在阳光下的风险都是可控的。

上一篇: 影响汽车连接器端子使用寿命是什么?
下一篇: M12圆形连接器编码含义及应用解析