机器之心编辑部
近年来,机器学习的快速发展使其在各行各业迎来了更加广泛和深入的运用,电子设计自动化领域也不例外。机器学习技能在该领域的运用已有二三十年的韶光,期间干系技能的进展为电子设计自动化任务供应了更好的办理方案。在本文中,清华大学汪玉团队联合港中文 Bei Yu 组对机器学习技能在电子设计自动化领域的运用进行了全面性回顾,为读者理解该领域供应了一份非常好的学习指南。
电子设计自动化(electronic design automation, EDA)是指利用打算机赞助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检讨等)等流程的设计办法。机器学习技能在 EDA 领域的运用可以追溯至上世纪 90 年代,而 ML 技能的近期打破性发展和 EDA 任务不断增加的繁芜度使得研究者对利用 ML 办理 EDA 任务产生了愈发浓厚的兴趣。
(图片来自网络侵删)最近,清华大学电子工程系教授汪玉团队联合喷鼻香港中文大学 Bei Yu 老师组同学就该主题撰写了一篇 44 页的综述文章。该论文被 ACM TODAES 期刊任命。
论文链接:http://nicsefc.ee.tsinghua.edu.cn/media/publications/2021/TODAES21_331.pdf
电子设计自动化 (EDA) 作为运用打算机 / 电子工程的一个主要领域,有着悠久的历史,并且仍在积极领悟前沿算法和技能。近年来,随着半导体技能的发展,集成电路 (IC) 的规模呈指数级增长,这对电路设计流程的可扩展性与可靠性提出了寻衅。因此,EDA 算法和软件在处理低延时超大搜索空间的情形下须要更有效、更高效。
当代芯片设计流程。
机器学习 (ML) 在我们的生活中扮演着重要角色,并广泛运用于各种场景。机器学习方法,包括传统算法和深度学习算法,在办理分类、检测和设计空间探索问题上取得了惊人的成绩。此外,机器学习方法显示出为许多 NP-complete (NPC) 问题天生高质量办理方案的巨大潜力,而这些问题在 EDA 领域普遍存在。传统方法每每须要从头开始办理每一个问题,无法累积知识,进而导致大量韶光和资源的摧残浪费蹂躏。而机器学习方法侧重于提取高等特色或模式,这些特色或模式可以在其他干系或类似的场景中重用,从而避免重复的繁芜剖析。因此,运用机器学习方法是加速办理 EDA 问题的一个很有前景的方向。
近年来,基于机器学习的 EDA 逐渐成为热门话题,研究职员提出了许多利用机器学习改进 EDA 方法的研究。这些研究险些涵盖了芯片设计流程的所有阶段,包括设计空间缩减与探索、逻辑综合、布局、布线、测试、验证、制造等。
在该综述论文中,作者将网络的研究分为四类:传统方法中的决策、性能预测、黑盒优化和自动化设计。
机器学习在 EDA 领域的运用开始于传统方法中的决策算法,即演习机器学习模型,使之在可用的工具链、算法或超参数中进行选择,以取代履历选择或暴力搜索。
机器学习还可以用于性能预测,即基于先前实现设计的数据库演习模型以预测新设计的质量,从而帮助工程师评估新设计,而无需耗时的综合过程。
它还可以更加自动化,EDA 工具利用黑盒优化的事情流程,即设计空间探索 (DSE) 的全体过程由预测性机器学习模型和机器学习理论支持的采样策略来辅导。
深度学习 (DL) 特殊是强化学习 (RL) 的最新进展引发了一些研究,这些研究将具备极大设计空间的繁芜设计任务完备自动化,即以在线形式学习、实行和调度预测模型和策略,显示了人工智能(AI)赞助自动化设计的美好前景。
该综述论文对利用机器学习办理 EDA 主要问题的近期研究进行了全面回顾,涉及的大多数研究为最近 5 年内的事情。论文主体部分的构造如下:
第二章:先容 EDA 和 ML 的背景知识;
第三到第五章:先容针对 EDA 流程不同阶段的研究,分别是高等综合、逻辑综合和物理设计(布局和布线)以及掩模综合(mask synthesis);
第六章:综述利用机器学习的仿照设计方法;
第七章:磋商机器学习支持的测试和验证方法;
第八章:其他高度干系的研究,包括用于 SAT 求解器的机器学习和利用深度学习引擎加速 EDA;
第九章:从机器学习的角度探索多种研究,也是对该论文紧张部分的补充;
第十章:总结了 EDA 的现有机器学习方法,并重点先容了该领域的未来趋势。
高等综合
高等综合(high-level synthesis, HLS)工具供应了从基于 C/C++/SystemC 的规范到 Verilog 或 VHDL 等硬件描述措辞的自动转换。业界和学界开拓的 HLS 工具极大地提升了自定义硬件设计的生产效率。高质量 HLS 设计须要在与并行性、调度和资源利用干系的高等源代码中有恰当的编译指示,并在后 - 寄存器传输级(register-transfer level, RTL)阶段精心选择综合配置。对这些编译指示和配置进行调度是一项主要的任务,并且每个设计的长综合时间(从源代码到末了位元流的韶光)使得无法进行详尽的 DSE。
机器学习技能的运用通过三个方面改进了 HLS 工具,分别是快速准确的结果估计、优化常规 DSE 算法和将 DSE 改造为主动学习问题。除了在单个问题上取得精良结果之外,之前的研究还提出了一些针对特色工程、ML 模型选择与自定义、设计空间采样和搜索策略等的新型泛化技能。
利用 ML 进行结果估计
首先是对时序、资源利用和操作延时的估计。下图 2 展示了时序与资源利用预测的整体事情流。Dai et al. [30] 提出的事情流可分为两个步骤:数据处理和演习估计模型。
跨平台性能预测的整体流程如下图 3 所示:
利用机器学习优化 DSE 算法
下图 4 展示了迭代优化 DSE 框架:
HLS 机器学习算法汇总
下表 2 汇总了比来研究中提出的 HLS 机器学习算法:
逻辑综合与物理设计
在逻辑综合与物理设计阶段,很多关键的子问题都可以从机器学习模型中获益,如光刻热点检测、路径分类、拥塞预测、布局辅导、快速时序剖析、逻辑综合调度等。下表 3 汇总了用于逻辑综合与物理设计的机器学习算法:
光刻与掩模剖析
光刻是半导系统编制造中的关键步骤,它将设计的电路及其布局转化为实物(real object)。光刻热点检测和掩模优化是两种盛行的研究方向。
光刻热点检测
许多研究利用机器学习进行光刻热点检测。最近,Chen et al. [22] 提出了一个用于大规模热点检测的端到端可演习目标检测模型。该框架以完全或大规模的布局设计作为输入,定位热点可能涌现的区域,拜会下图 6。
利用机器学习进行光学临近改动
对付光学临近改动(optical proximity correction, OPR)而言,逆向光刻技能(inverse lithography technique, ILT)和基于模型的 OPC 是两种代表性的掩模优化方法,并各具利害势。Yang et al. [163] 提出了一种有助于掩模布局优化的异构 OPC 框架,其构建的确定性机器学习模型可以为给定设计选择恰当的 OPC 办理方案,详细如下图 7 所示:
随着半导体技能的改进与集成电路(IC)规模的增长,传统 OPC 方法变得越来越繁芜和耗时。Yang et al. [159] 提出了一种基于天生对抗网络(GAN)的新 OPC 方法,GAN-OPC 的演习流程与 ILT-guided 预演习流程如下图 8 所示。实验结果表明,基于 GAN 的方法可以极大地加速基于 ILT 的 OPC 方法,并天生更加准确的掩模图案。
利用机器学习进行 SRAF 插值
一些研究磋商了机器学习赞助的(ML-aided)SRAF 插值技能。Xu et al. [158] 提出了一种基于机器学习技能的 SRAF 插值框架;Geng et al. [43] 提出了一种具备更好特色提取策略的框架。下图 9 为特色提取阶段示意图:
利用机器学习进行光刻仿照
此外还有一些研究致力于冗长光刻流程的快速仿照。传统光刻仿照包含多个步骤,如光学模型构建、抗蚀模型构建和抗蚀图案天生等。LithoGAN [165] 提出了一种利用 GAN 的端到端抗蚀建模方法,如下图 10 所示:
这一章综述了制造阶段设计中利用的机器学习技能,包括光刻热点检测、掩模优化和光刻建模。干系研究如下表 4 所示:
仿照设计
仿照电路的设计流程
Gielen 和 Rutenbar [45] 供应了大多数仿照设计师遵照的设计流程。如图 11 所示,该流程包括从系统级到设备级的自上而下设计步骤,以及自下而上的布局综合和验证。
用于设备尺寸自动化的机器学习
下表 5 列举了用于设备尺寸自动化的多种机器学习算法及其性能:
用于仿照布局的机器学习
仿照布局是一个难题,由于布局中的寄生元件会对电路性能产生重大影响,导致布局前和布局后仿照之间的性能差异。同时,布局与性能之间的关系很繁芜。传统上,电路设计职员会依据他们的履历来估计寄生效应,这会导致设计韶光过长和潜在的不准确性。因此,自动仿照布局已经引起研究职员的关注。比来机器学习算法的发展促进了该问题的研究,下表 6 是干系研究的总结。
验证和测试
加快验证和测试过程的办法紧张有两种:1)减少测试集冗余;2)降落测试、验证和诊断过程的繁芜性。为了减少测试集的冗余和优化测试实例的天生,针对覆盖范围的测试天生已经进行了很永劫光的研究,可以通过多种机器学习算法来赞助。近年来,减少仿照 / RF 设计的测试集冗余和半导体技能的测试已经引起了广泛关注,并且该领域也引入了更多机器学习方法来办理问题。为了降落验证和测试的繁芜性,有些研究采取的低本钱仿照 / RF 设计测试,而另一些研究则专注于快速的缺点分类和局部化。表 7 总结了与 ML 干系的验证和测试问题的干系研究。
从机器学习的角度进行磋商
本章从机器学习运用的角度综述了上述研究。个中章节 2.2 先容了 EDA 问题中利用的紧张机器学习模型与算法。基于 EDA 事情流中机器学习的功能性,研究者将大多数研究分为四类,分别是传统方法中的决策制订、性能预测、黑盒优化和自动化设计。
下表 8 从算法、输入与输出三个角度汇总了每类的代表性事情以及范例的模型设置:
数据准备
数据集的数量和质量对模型的性能至关主要。本文综述的险些所有研究都在评论辩论如何利用 EDA 领域的知识来设计一个大型、公正和干净的数据集。
未来事情
虽然该领域已经取得显著进步,但研究职员希望在以下几个方面对机器学习运用于 EDA 任务进行更多的研究:
更加成熟的 ML-powered EDA 工具;
新的机器学习技能的运用;
值得相信的机器学习。