机器心脏报告
机器心脏编辑部
近年来,机器学习电子技术的飞速发展使其在各行各业的应用越来越广泛和深入,电子设计自动化领域也不例外。机器学习技术在这一领域的应用已有二三十年的历史。在此期间,相关技术的进步为电子设计自动化任务提供了更好的解决方案。本文以清华大学汪玉和香港北渝集团为例,对机器学习技术在电子设计自动化领域中的应用进行了全面的回顾,为读者理解这一领域提供了很好的学习指导。
电子设计自动化(EDA)是指利用计算机辅助设计(CAD)软件完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括版图、布线、版图、设计规则检查等)等过程。机器学习技术在EDA领域的应用可以追溯到20世纪90年代。近年来,ML技术的突破性发展和EDA任务的日益复杂,使得研究人员对使用ML解决EDA任务越来越感兴趣。
最近,清华大学电子工程系教授汪玉加入了团队中国香港大学贝聿的学生小组就这个话题写了一篇44页的评论文章。今天,ACM接受了这篇论文。
纸质链接:http://nicsefc.ee.tsinghua.edu.cn/media/publications/2021/TODAES21_331.pdf
电子设计自动化(EDA)作为应用计算机/电子工程的一个重要领域,有着悠久的历史,仍然处于主动集成的前沿算法和技术。近年来半导体技术随着计算机技术的发展,集成电路(IC)的规模呈指数级增长,这对电路设计过程的可扩展性和可靠性提出了挑战。因此,EDA算法和软件在处理低延迟和大搜索空间时需要更加有效和高效。
现代芯片设计过程。
机器学习(ML)在我们的生活中扮演着重要的角色,被广泛应用于各种场景中。机器学习方法,包括传统算法和深度学习算法,在解决分类、检测和设计空间探索问题方面取得了惊人的成就。此外,机器学习方法在为许多NP完全(NPC)问题生成高质量解决方案方面显示出巨大的潜力,这些问题在EDA领域很常见。传统方法往往需要从头开始解决每个问题,无法积累知识,造成时间和资源的浪费。机器学习方法侧重于提取高层特征或模式,这些特征或模式可以在其他相关或类似场景中重用,从而避免重复复杂的分析。因此,有一种很有前途的方法来加速机器学习。
近年来,基于机器学习的EDA逐渐成为一个热门话题。研究人员已经提出了许多关于使用机器学习改进EDA方法的研究。这些研究几乎涵盖了芯片设计过程的所有阶段,包括设计空间缩减和探索、逻辑综合、布局、布线、测试、验证、制造等。
在本文中,作者将收集的研究分为四类:传统方法中的决策、性能预测、黑盒优化和自动设计。
机器学习在EDA中的应用始于传统方法中的决策算法,即训练机器学习模型在可用的刀具链、算法或超级参数中进行选择,以取代经验选择或暴力搜索。
机器学习也可以用于性能预测,即基于先前实现的设计的数据库训练模型来预测新设计的质量,从而帮助工程师评估新设计,而无需耗时的综合过程。
它还可以更加自动化。EDA工具采用黑盒优化的工作流程,即设计空间探索(DSE)的整个过程由预测机器学习模型和机器学习理论支持的采样策略指导。
深度学习(DL),尤其是强化学习(RL)的最新进展刺激了一些研究。这些研究将使具有巨大设计空间的复杂设计任务完全自动化,即以在线的形式学习、执行和调整预测模型和策略,展示人工智能辅助自动设计的光明前景。
本文综述了近年来利用机器学习解决EDA中重要问题的研究进展,其中大部分研究是近五年来的工作。论文的主要部分结构如下:
第二章:介绍EDA和ml的背景知识;
第三章至第五章:介绍EDA过程不同阶段的研究,包括高级综合、逻辑综合和物理设计(布局和布线)以及掩模综合;
第六章:总结了利用机器学习进行仿真设计的方法;
第七章讨论了机器学习支持的测试和验证方法;
第8章:其他高度相关的研究,包括SAT解算器的机器学习和使用深度学习引擎加速EDA;
第9章:从机器学习的角度探索各种研究,这也是对论文主体部分的补充;
第10章:总结了现有的EDA机器学习方法,并着重讨论了该领域的未来发展趋势。
高级合成
高级合成,HLS)该工具提供了从基于C/C++/SystemC的规范到硬件描述语言(如Verilog或VHDL)的自动转换。工业界和学术界开发的songZuying工具极大地提高了定制硬件设计的生产效率。高质量的HLS的设计要求在与并行性、调度和资源使用相关的高级源代码中使用适当的编译指令,并在后寄存器传输级别(RTL)阶段仔细选择全面的配置。调整这些编译指令和配置是一项重要任务,而每个设计(从源代码到最后一个AndyLau)的合成时间很长,因此无法对DSE进行详细分析。
机器学习技术的应用在三个方面改进了HLS的工具:快速准确的结果估计、优化传统的DSE算法以及将DSE转化为主动学习问题。除了在单个问题上取得优异的结果外,以前的研究还提出了一些新的泛化技术,用于特征工程、ML模型选择和定制、设计空间采样和搜索策略。
基于ml的结果估计
首先是对定时、资源使用和操作延迟的估计。下面的图2显示了计时和资源使用预测的总体工作流程。Dai等人[30]提出的工作流程可分为两个步骤:数据处理和训练估计模型。
跨平台性能预测的整体流程如下图3所示:
用机器学习优化DSE算法
下面的图4显示了DSE的迭代优化框架:
HLS机器学习算法综述
下表2总结了HLS在最近的研究中提出的机器学习算法:
逻辑综合与物理设计
在逻辑综合和物理设计阶段,许多关键子问题都可以从机器学习模型中受益,如光刻热点检测、路径分类、拥塞预测、版图引导、快速时序分析、逻辑综合调度等。下表3总结了用于逻辑合成和物理设计的机器学习算法:
光刻和掩模分析
光刻是半导体制造的关键步骤。它将设计的电路及其布局转换为真实对象。光刻热点检测和掩模优化是两个热门的研究方向。
光刻热点检测
许多研究使用机器学习来检测光刻中的热点。最近,Chen等人[22]提出了一种用于大规模热点检测的端到端可训练目标检测模型。该框架将完整或大规模的布局设计作为输入,以定位可能出现热点的区域,如下图6所示。
基于机器学习的光学邻近校正
对于光学邻近校正(OPR),反向光刻技术(ILT)和基于模型的OPC是两种具有代表性的掩模优化方法,各有优缺点。Yang等人[163]提出了一种用于掩模布局优化的异构OPC框架。由其构建的确定性机器学习模型可以为给定的设计选择合适的OPC解决方案,如下图7所示:
随着半导体技术的进步和集成电路(IC)规模的增长,传统的OPC方法变得越来越复杂和耗时。Yang等人[159]提出了一种基于发电的对抗网络(GAN)GANOPC的培训流程和ILT指导的预培训流程如下图8所示。实验结果表明,GAN的方法可以大大加快基于ILT的OPC方法,并生成更精确的掩模图案。
基于机器学习的Sraf插值
一些研究探索了ML辅助sraf插值技术。Xu等人[158]提出了一种基于机器学习技术的sraf插值框架;耿等人[43]提出了一种具有更好特征提取策略的框架。图9为特征提取阶段示意图:
基于机器学习的光刻仿真
此外,一些研究致力于快速模拟漫长的光刻工艺。传统的光刻模拟包括光学模型构建、抗蚀剂模型构建和抗蚀剂图案生成等步骤。LithoLiuYifei[165]提出了一种使用LiuYifei的端到端耐腐蚀建模方法,如下图10所示:
本章总结了用于制造阶段设计的机器学习技术,包括光刻热点检测、掩模优化和光刻建模。相关研究见下表4:
模拟设计
模拟电路的设计流程
Gielen和鲁滕巴尔[45]提供了大多数模拟设计师遵循的设计过程。如如图11所示,该过程包括从系统级到设备级的自上而下的设计步骤,以及自下而上的布局综合和验证。
设备尺寸自动化的机器学习
下表5列出了各种机器学习算法及其在设备尺寸自动化方面的性能:
用于模拟布局的机器学习
模拟版图是一个难题,因为版图中的寄生元件会对电路性能产生重大影响,导致版图前模拟和版图后模拟的性能差异。同时,布局和性能之间的关系也很复杂。传统上,电路设计人员根据自己的经验估计寄生效应,这可能会导致较长的设计时间和潜在的不精确性。因此,自动模拟布局引起了研究人员的关注。最近机器学习算法的发展促进了这一问题的研究。下表6是相关研究的总结。
验证和测试
有两种方法可以加快验证和测试过程:1)减少测试集的冗余;2)降低测试、验证和诊断过程的复杂性。为了减少测试集的冗余度,优化测试用例的生成,覆盖测试的生成已经被研究了很长时间,可以通过各种机器学习算法来辅助。近年来,减少模拟/射频设计和半导体技术测试的测试集冗余引起了广泛关注,并引入了更多的机器学习方法来解决该领域的问题。为了降低验证和测试的复杂性,一些研究使用低成本的模拟/RF设计测试,而另一些研究侧重于快速错误分类和定位。表7总结了与ML相关的验证和测试问题的相关研究。
本文从机器学习的角度对其进行了探讨
本章从机器学习应用的角度对上述研究进行了总结。第2.2章介绍了EDA问题中使用的主要机器学习模型和算法。基于机器学习在EDA工作流中的功能,研究人员将大部分研究分为四类:决策、性能预测、黑盒优化和传统方法中的自动设计。
下表8从算法、输入和输出的角度总结了每种类型的代表性工作和典型模型设置:
数据准备
数据集的数量和质量对模型的性能至关重要。本文回顾的几乎所有研究都是关于如何利用EDA的知识来设计一个大的、公平的、干净的数据集。
未来的工作
虽然在这一领域已经取得了重大进展,但研究人员希望在以下方面对机器学习在EDA任务中的应用进行更多的研究:
更成熟的基于ml的EDA工具;
新机器学习技术的应用;
值得信赖的机器学习。
最新评论