随着人工智能进一步发展,半导体工程师们已经听到人工智能的脚步正向芯片设计行业走来。
芯片设计师在设计芯片时面临大量的设计数据和可变性,特别是在开发具有不同功耗、温度和性能规格的各种芯片之时。而复杂的芯片设计或许是运用机器学习的一个很好的领域。
至少有一家EDA软件公司正在向这个方向努力。该公司自主研发了一套机器学习算法,他们称之为“针对工程技术的机器学习”,并将它应用于具有变化意识的设计与表征软件中。
这家公司就是位于加拿大萨斯卡通市的Solido设计自动化公司,成立于2005年,是一家私营EDA软件供应商。
Solido通过建立机器学习(ML)实验室而刚刚成为向半导体用户销售其机器学习算法的首家供应商。Solido的计划是“与半导体公司一起合作开发基于机器学习的新型EDA产品。”据该公司透露。
Solido公司总裁兼首席执行官Amit Gupta告诉我们,“我们想编织一张更宽的网”,与更多的客户一起开发、选择和应用最佳的机器学习技术以解决特定的问题。
12年的机器学习史
在机器学习领域,Solido既不是新手,也不是模仿者。据Gupta介绍,他的公司在机器学习算法领域已经研究了12年,并已将这种技术应用于公司的旗舰产品。
Solido公司对其技术产品相当有信心。公司的机器学习技术已经在公司自己的商用化产品(2007年推出的“Variation Designer”)中得到测试和验证,并得到了全球许多用户的支持(1000位设计师和35家主要公司)。
Gupta表示,已有7家领先客户承诺在机器学习实验室工作,致力于将Solido的专业技术推广至其它EDA领域。
Gupta没有透露客户的名字,但暗示Solido的关键客户覆盖范围广泛,有代工厂、集成设备制造商(IDM),也有无工厂(Fabless)芯片公司。
图1:为什么要建机器学习实验室?(来源:Solido设计自动化公司)
机器学习进入芯片设计的想法应该不会令人惊讶,特别是在半导体行业。半导体生态系统中包括代工厂和EDA公司在内的许多大公司都在悄悄地研究如何将机器学习最好地运用到复杂芯片的设计、开发和测试中去,以便提高设计和生产的效率和精度。
Gary Smith EDA公司首席分析师Laurie Balch承认,“EDA工具公司正在尝试‘机器学习’”,但她补充道,“我不是说他们已经在整个EDA工具链中大面积推广了。至少现在还没有。”
部分原因是机器学习对EDA公司来说也有不小的问题,因为他们必须处理具有很大变化的复杂设计数据。“为了得出好的规则,产生可重复的结果就是一个棘手的问题。”Balch指出。
行业趋势
不管怎样,接受人工智能以改进设计的想法正在赢得不错的发展势头。
通过机器学习实现先进电子设备中心(CAEML)主任Elyse Rosenbaum在今年早些时候告诉EE Times,CAEML用于电子设计的人工智能项目已经获得了美国国家科学基金会和9家公司的大力支持,这9家公司包括ADI、Cadence、思科、惠普企业(HPE)、IBM、英伟达、高通、三星和赛灵思。
北卡罗来纳州立大学电气与计算机工程教授Paul Franzon在接受EE Times采访并被问及CAEML是否了解Solido时表示,“我们了解我们的成员公司在做的一些事情,但Solido不是我们的成员,因此我们目前对他们还不是很了解。”
然而在看过Solido公司的网站后,Franzon怀疑Solido公司做的应该是“统计性工作”。在他看来,“‘大数据的’统计分析是机器学习的一个分支,在EDA领域发展非常迅速,因此有许多机会。”
与之相反的是,CAEML的主要研究工作一直是“构建全球性模型,以适应由详细模型评估或详细结构测量产生的‘训练’数据。这些快速全球性模型随即可以用在设计中以更快地实现更好的设计。”
Solido公司的Gupta在被问到CAEML的努力时表示,“能够看到像CAEML这样的组织在EDA领域开展早期的机器学习研究感觉非常棒。”
但是他强调,机器学习技术已经开始突破EDA行业。“在Solido机器学习实验室,我们直接与领先客户一起合作,为EDA行业快速开发和生产机器学习产品。我们正在充分利用十几年来积累的专门技术和我们已经运用到我们产品中去的机器学习研发成果。”
也许与其它技术相比解释Solido机器学习研究工作的更好方式是,他们的软件(即Variation Designer)更接近于制造。正如Gary Smith EDA的Balch解释的那样,“Solido软件的重点在于设计的实现,或者说使他们的设计更适合生产,以便实现更高的精度和更高的良率。”
工作原理
据Gupta解释,Solido专有的机器学习算法的关键目标有三个。它们必须形成“不是估计的,而是生产精确的”产品,它们是“可验证的”,并且它们能提供“持续改进的自适应模型构建”。
显然它们也需要是可扩展的。“当每个晶体管都有8到10个工艺变量时,我们讨论的机器学习技术必须扩展到100K+的输入变量才能设计好具有10k晶体管的芯片。”他补充道。
但Solido的机器学习技术如何真正运用到EDA流程中呢?
首先,用户要为他们自己的芯片制定规范,他们的可变输入需要馈入Solido的机器学习算法。由机器学习算法驱动的SPICE仿真器会搭建好一个模型,然后由这个模型来预测结果。
整个过程不是在黑盒中完成的,Gupta强调。相反,软件会提供类似仪表板那样的用户界面,允许设计师实时查看和验证软件正在做的事情。
如果系统在搭建可信模型时找不到足够的数据,它就会要求设计师提供更多的数据。设计师也许会切换到另外的软件。但这里的想法是,所设计的系统将搭建一个自适应的模型,这种模型会自我验证并校正错误。
如果没有好的工具,许多芯片设计师都会“过度设计”或“欠设计”芯片,Gupta指出。或者他们会花很长的时间去“测量变化性并进行仿真”。为了加快这个过程,设计师现在可以求助于机器学习技术。据Solido公司介绍,设计师借助其Variation Designer工具可以将“High-Sigma Monte Caro的仿真次数从50亿次减少到3000次”。
速度不是唯一的目标。“半导体设计师正在作出非常昂贵的决策。出错的成本非常高。”Gupta表示。因此让具有机器学习功能的软件产生“生产精确的结果”绝对是关键,他补充道。
另外,Solido前不久还发布了机器学习表征套件。据该公司透露,这款新产品使用机器学习“显著减少了标准单元、存储器和I/O表征时间,可以帮助半导体设计师满足激进的生产计划要求。”
与Solido的表征套件一起提供的预测器可以以全新的视角产生生产精确的库模型,Solido公司表示。它“可以将库表征时间减少30%-70%,”因此可以极大地节省表征许可、仿真许可、CPU、磁盘和时间,Solido公司解释道。
更多工作要做
重要的是记住EDA行业中很多是利基企业,Gary Smith EDA公司的Balch提醒道,每个供应商都会用特殊的工具解决特殊的问题。
从某种角度讲,Solido也是工作在特殊领域的利基公司。但Balch表示,这并不妨碍Solido在自己的EDA领域扮演重要角色这样的事实。在她看来,将机器学习运用到EDA链中的芯片设计才刚刚开始。
当被问到如何在最难的领域(即芯片设计中)运用机器学习算法时,北卡罗来纳州立大学的Franzon教授解释,“并不是说某些问题不能采用这种(机器学习)方式解决,但根据它们的自然特性有些问题会比其它问题更难一些。”
他引用了一些例子。一个是“具有太多维度的问题”,他表示。“具有20个以上维度的问题很难‘安装’或‘训练’,因为你需要太多的数据。我们正在研究分而治之的技术来解决这些问题。”
另一个是“噪声数据”,Franzon指出,“一些详细的模型是‘有噪声的’,比如相同的评估会产生不同的结果。我们计划找出解决这个问题的方法来。”
Franzon还提到了“产生训练集的难度”。他解释道,“安装一个模型要求对详细模型进行数百次的评估。有时很难产生这样的训练数据集。”
与此同时,Solido公司的Gupta希望他团队的机器学习技术被认可为有用的工具,设计工程师可以用这些工具来完成他们高风险的芯片设计。
本文为《电子工程专辑》原创,版权所有,谢绝转载
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。