
在过去数年里,机器学习算法(Machine Learning)因其有潜力在短时间、无人化的情况下实现高设计质量被广泛用于芯片设计(Chip Design)。机器学习算法,特别是最近的深度学习(Deep Learning)算法和强化学习(Reinforcement Learning)算法,已被广泛探索以解决芯片设计中遇到的各种问题,如高层次综合(High-Level Synthesis)、布图规划(Floorplanning)、布局(Placement)、布线(Routing)。尽管这一领域已经有了大量的相关工作,机器学习算法与芯片设计中的目标问题(Target Problem)之间仍然缺乏明确的联系,导致对机器学习在未来芯片设计中的潜力和可能性的理解有待提高。
SCIENCE CHINA Information Sciences 特邀中科院计算所陈云霁教授撰写综述文章“Chip design with machine learning: a survey from algorithm perspective”。
本文从算法的角度全面地综述了现有的基于机器学习算法的芯片设计工作。为实现这一目标,我们对芯片设计中不同阶段的目标问题提出了一种新的、系统的分类法。该分类法旨在指导针对目标问题选择和设计机器学习算法,在考虑其现有挑战的前提下为研究人员全面总结基于机器学习算法的芯片设计。如图1所示,我们将芯片设计中的目标问题分为三类:设计结果评估(Design Result Estimation)、设计优化与纠正(Design Optimization and Correction)和设计构造(Design Construction)。这三类问题在逻辑设计(Logic Design)、电路设计(Circuit Design)、物理设计(Physical Design)这些芯片设计的不同阶段以及每个阶段的验证测试(Verification & Test)中都常见。- 设计结果评估指预测评估设计质量的一类问题,如逻辑设计阶段的性能评估(Performance Estimation)、物理设计阶段的电压降估计(IR Drop Estimation)、逻辑设计阶段和物理设计阶段的静态时序分析(Static Timing Analysis);- 设计优化与纠正分别指优化设计质量与纠正设计错误的问题,如逻辑设计阶段的高层次综合设计空间探索(Design Space Exploration)、电路设计阶段的逻辑优化(Logic Optimization)、物理设计阶段的详细布线(Detailed Routing);- 设计构造指生成新的设计表示形式或在已有的设计上添加设计对象的这类问题,如电路设计阶段的物理映射(Physical Mapping)、物理设计阶段的全局布局(Global Placement)。

为应用机器学习算法解决这些目标问题,我们将这三类目标问题形式化为机器学习中的三个相应问题:回归(Regression)、搜索(Search)、生成(Generation),如图1所示。这些机器学习问题中的每一个都可以通过各种机器学习算法来解决。具体而言,设计结果评估问题被形式化为回归问题,可以使用高斯过程(Gaussian Process)、多元自适应回归样条(Multivariate Adaptive Regression Splines)、决策树(Decision Tree)和随机森林(Random Forest)、神经网络(Neural Network)和集成学习(Ensemble Learning)等机器学习算法解决;设计优化与纠正问题被形式化为搜索问题,可以使用决策树和随机森林、神经网络、强化学习等机器学习算法解决;设计构造问题被形式化为生成问题,可以使用贝叶斯优化(Bayesian Optimization)、神经网络和强化学习等机器学习算法解决。
在分类法的基础上,我们通过以下步骤,就目标问题对现有相关工作进行了全面的调研。首先,我们给出了每个目标问题的定义,并分析了在解决这些目标问题时应用机器学习算法的内在原因。其次,我们根据机器学习算法对目标问题进行了全面的调研:我们为每个目标问题介绍了具体的基于机器学习的相关工作,并解释了它们如何改进基于传统算法的芯片设计工具。最后,我们介绍了现有工作中尚未解决的三个关键挑战,并为未来基于机器学习算法的芯片设计的研究提供了一些见解,包括端到端(End-to-end)生成、实用性改进等,希望通过机器学习来推动芯片设计的研究。通过在芯片设计问题和相应的机器学习解决方案之间建立明确的联系,我们的调研旨在照亮从芯片设计自动化到芯片设计智能化的道路。
据我们所知,本文是第一篇从算法角度全面调研基于机器学习的芯片设计的文章。我们将该调研的主要贡献总结如下:
(1)芯片设计的深度分析。我们剖析了常用的芯片设计流程,分析了不同设计阶段(即逻辑设计、电路设计和物理设计)以及每个阶段的验证测试中的关键步骤,分析了这些步骤的关键设计、优点和缺点。
(2)先进的分类法。我们将目标问题分为三类(即设计结果评估、设计优化和纠正以及设计构造),并将其进一步公式化为三个机器学习问题,分别为:回归、搜索和生成。
(3)全面的调研。基于分类法,我们给出了每个目标问题的定义,并分析了机器学习算法用于解决目标问题的内在原因。我们还基于不同的机器学习算法对目标问题进行了全面的调研。
(4)未来工作。最后,我们介绍了现有工作中尚未解决的三个关键挑战,并对机器学习算法在芯片设计领域的未来发展提供了见解,希望能推动基于机器学习的芯片设计的研究。
Wenkai HE, Xiaqing LI, Xinkai SONG, Yifan HAO, Rui ZHANG, Zidong DU & Yunji CHEN. Chip design with machine learning: a survey from algorithm perspective. Sci China Inf Sci, 2023, Vol.66, Iss. 11, 211101. doi: 10.1007/s11432-022-3772-8