业界供应商和研究人员最近在将机器学习应用于棘手的芯片设计问题方面取得了重大的进展。从今年DesignCon大会上的一场专题讨论就可看出,在电子设计自动化(EDA)方面使用人工智能(AI)是目前十分热门的主题,不仅在本届大会上有多篇相关论文发表,专题讨论时也吸引众多与会者,现场座无虚席。
过去一年来,机器学习实现先进电子研究中心(CAEML)又增加了四家新的合作伙伴。这个由13家业界成员和3所大学共同组成的研究团队,目前正持续扩大其工作的广度和深度。
惠与科技(Hewlett-Packard Enterprise;HPE)杰出技术专家兼CAEML成员Christopher Cheng说:“去年,我们主要关注于信号完整性和电源完整性,而在今年,我们将产品组合划分为系统分析、芯片布局和可信任的平台设计,让研究的多样性取得了最大的进展。”
北卡罗来纳州立大学(NC State University)杰出教授Paul Franzon表示:“贝叶斯(Bayesian)优化和卷积神经网络(CNN)在可制造性设计(DFM)方面也显著提升了功能,我们开始考虑在设计过程中使用同步学习。”北卡罗来纳州立大学就是CAEML的三所合作院校之一。
另一所与CAMEL合作的学校——乔治亚理工学院(Georgia Institute of Technology)教授Madhavan Swaminathan说:“我们面临的挑战之一是取得公司的数据。因为他们的大部份数据都是专有的,因此我们经提出了几种处理机制。这些过程目前都运作得不错,但仍然比我们预期的更长得多。”
CAEML在成立之初就获得了亚德诺半导体(ADI)、楷登电子(Cadence)、思科(Cisco)、IBM、英伟达(Nvidia)、高通(Qualcomm)、三星(Samsung)和赛灵思(Xilinx)等九家厂商的支持,一开始感兴趣领域包括高速互连、电力传输、系统级静电放电、IP核心重用,以及设计规则检查。
CadenceAIroadmapx800从Cadence描绘的发展蓝图来看,EDA产业目前开始进入AI应用的第二阶段(来源:Cadence)
Cadence Design Systems等EDA供应商早在1990年代初就开始研究机器学习。Cadence研发部资深总监David White表示,这项技术于2013年首次导入于其产品中,采用Virtuoso的一个版本,并利用分析和数据探勘为寄生参数撷取创建机器学习模型。
截至目前为止,Cadence已经为其工具提供超过110万种机器学习模型了,用于加速长时间的计算。下一个阶段的产品开发就是布局与绕线工具,使其得以向人类设计师学习,并推荐可加速运转时间的优化方案。White解释,这些解决方案可能结合使用本地和基于云端的处理,以利用平行系统和大型数据集。
机器学习技术与应用最新进展
Synopsys研发总监Sashi Obilisetty表示,在先进工艺节点上,采用现有算法的全局绕线(global routing)工具已经达到极限了,因此他们开始降低芯片数据速率,以实现时序收敛。
她补充说,台积电(TSMC)去年使用机器学习预测全局绕线,使得速度提高了40MHz; Nvidia则用机器学习来提供芯片设计的全面覆盖,同时减少模拟。
参加这场专题讨论的专家们说,他们看到了业界存在着使用各种机器学习技术实现自动化特定决策和优化整体设计流程的许多机会。
具体而言,研究人员正探索以更快速度的AI模型取代当今仿真器的机会。乔治亚理工学院的Swaminathan说,相对较慢的仿真器可能导致计时错误、模拟电路失调,以及导致芯片重新流片(respin)的建模不足等问题。此外,机器学习可以取代IBIS在高速互连中进行行为建模。
除了由亚马逊(Amazon)、Google和Facebook图片搜索和语音识别服务推广的神经网络模型以外,芯片研究人员也使用了数据探勘、统计学习和其他工具。
北卡罗来纳州立大学的Franzon则报告使用代理模型,在4次迭代中实现最终实体设计优化,相形之下,工程师还必须进行到20次。类似的技术被用于校准模拟电路,并为多信道互连设置收发器。
FranzonIterationsx800研究人员展示代理模型在4次迭代中的表现,可望取代人类设计师(20次)(来源:NC State University)
AI可以在EDA工具(有时是指旋钮)中设置几十种选项,协助加速自动化过程。Franzon说:“这些工具设置了一些有时候定义不清的旋钮,经常与预期结果之间的关系模糊。”
HPE目前则结合使用神经网络和超平面分类器,依据固态硬盘(SSD)的电压、温度和电流等数据现场预测故障情形。
Cheng说:“训练所需的数据量庞大。到目前为止,分类器都是静态的,但是我们希望增加使用递归神经网络(RNN)的时间维度,以取代仅用好/坏标签,那么我们将会有故障时间(time-to-failure)的标签。未来,我们还希望将这项工作扩展到更多的参数以及一般的系统故障。”