来源:内容由半导体行业观察转载自公号StarryHeavensAbove,作者:谢知遥,谢谢。
0. 前言
近年来,人工智能(AI)与机器学习 (ML) 已经在诸多应用领域取得了突破。而在传统的半导体领域,研究者们也探索了基于机器学习的芯片设计新方法。这些新算法通常会最先反映在芯片设计工具上,也就是我们常说的EDA工具。因此,这一研究方向通常可以被称为ML for hardware design,或者ML for EDA(严格来说前者的范围更大一些)。有时也称做智能化的EDA算法或者智能的IC设计方法。 本文将介绍ML for EDA这一EDA领域的热门研究方向。这一方向涉及到机器学习,数据结构与算法,电路设计与制造等基础知识,是典型的交叉研究方向。我们将从EDA的背景知识开始,介绍什么是ML for EDA, 为什么我们研究ML for EDA,该研究方向早期一些代表性的工作,当前商业化的进程,其他相关的研究方向,以及ML for EDA可能面临的挑战。
1. 什么是EDA? – EDA与芯片设计基础
芯片在我们的生活中无处不在。芯片的设计与实现涉及一个复杂的流程。以数字芯片为例,假设设计团队从已经完成的Verilog/VHDL代码出发,标准设计流程至少还要包括逻辑综合(logic synthesis),布局规划 (floorplan),时钟树综合(CTS),布局布线(placement & routing)等步骤。除此之外我们还需要进行大量的仿真和验证工作。在这个过程中,工程师需要权衡功耗,频率,面积等多个设计目标,同时还要确保制造出的芯片将正确运行各种功能。另外随着摩尔定律的进展,当下大规模的芯片已经可以包含超过 100 亿个晶体管。考虑到这种流程与设计的复杂性,几乎所有设计团队都需要商业EDA工具来辅助完成整个芯片设计。因此,如果我们把整个半导体产业比作一座金矿,EDA工具则也许可以被看做挖矿的铲子。在美国频繁限制半导体出口的当下,本身市值并不大的EDA产业越来越为人们所重视。 EDA的全称为Electronic Design Automation,即电子设计自动化。经过几十年的发展,EDA工具已经被用于芯片设计与制造流程的方方面面。EDA工具的质量将会影响最终芯片的质量(功耗,频率,面积)以及设计效率(产品上市时间)。因此,EDA算法研究者的目标通常至少包括两方面,一是芯片优化效果(功耗,频率,面积),二是EDA工具本身的效率(总耗时=工具单次运行时间* 使用该工具的次数)。 这里我们强调了EDA工具的使用次数,因为芯片设计不是一次完成的。通常工程师需要多次迭代各个设计步骤直至达成设计目标。每一次迭代,工程师可以修改工具参数或者芯片设计,并重新运行EDA工具,以期更好的芯片效果。对于大规模的芯片设计,仅执行部分设计流程每次即可花费数天至数周时间。因此,迭代次数越多,花费在EDA工具上的时间越多,最终流片以及产品上市日期就会越晚。后文将会介绍,很多ML for EDA工作的原理就是减少迭代次数,尽快让芯片质量收敛到设计目标。
2. 什么是ML for EDA?– 预测与优化
近年来,我们看到越来越多的ML for EDA方向的探索。如下图 [1] 所统计,发表在代表性EDA会议(DAC, ICCAD,ASP-DAC, ...)与期刊(TCAD)的相关工作数量逐年增加。
3. 为什么研究ML for EDA?
在深入介绍其他工作之前,一个需要回答的问题是,为什么我们要研究ML for EDA?换句话说,ML for EDA相比传统EDA算法有什么核心优势吗?这里尝试提供一种简单化的解释 [5]。 如背景中介绍,设计流程分为多个阶段。在大部分阶段,EDA工具很难直接去优化最终的设计目标,因为最终的设计目标只有在整个流程走完之后才会确定。于是EDA工具只能对最终的设计目标进行一个粗略估计。举例来说,布局(placement)算法可能会优化总线长(HPWL)与拥塞(congestion),但这个优化目标这并不总能反映最终的设计目标(最终芯片的功耗,频率,面积,DRC热点,等等)。 因此,除非每次都走完漫长的设计流程,不然前期的EDA工具并不能准确知道自己的解是否够好。为了保证设计收敛,一种策略是使用保守的早期估计,以给后期阶段留足余地(margin)。但这显然会牺牲芯片质量。另一种策略是不断调整参数进行反复多次迭代,以期获得更好的芯片质量。而这非常依赖专业设计师的经验,并且会花费大量设计时间。 ML for EDA算法的特点是它是由数据驱动的方法。通过学习已有的设计数据,早期使用ML预测可以获得更准确的最终优化目标,作为重要的早期反馈(early feedback)。于是预测类ML方法打通了不同设计阶段之前的障碍。而对于优化类ML方法,强化学习类型的方法通过探索巨大的设计空间,有可能获得比传统启发式算法更优的解。另外,一些ML方法可以学到工程师的优化经验,减少了对工程师经验的依赖。最后,ML方法在预测时通常非常快,所以如果不是规模太大,ML方法通常在运行速度上比传统方法会有数量级上的优势。
4. 代表性的ML for EDA研究工作
事实上ML for EDA的工作远远不止前文介绍的两个例子。而这些工作可以通过多种方法进行分类。 如果我们根据ML应用的阶段或步骤分类,ML已经被研究者尝试用于绝大部分设计阶段。根据相关文章的总结 [1],应用ML模型的阶段可以包括 1. 高阶综合(HLS)与设计空间搜索(DSE),2. 逻辑综合,3. 物理设计(从布局规划到布线),4. 光刻与制造,5. 验证与测试。除开数字电路之外,一些ML研究也对模拟电路的布局布线有一些尝试。
5. 代表性的ML for EDA商业探索
除了学术界的探索,在工业界,EDA公司和芯片设计公司也对ML for EDA的方向表现出了很大兴趣。两大EDA公司Cadence和Synopsys已经推出了融合了一些ML算法的商业产品。 例如Cadence公司的物理设计工具Innovus在新版本中已经里面集成了一些机器学习工具,比如说在布线(routing)前提供对(布线后)时序的更准确估计。这个ML功能似乎获得了一些不错的评价 [14]。另外之前有报道Cadence集成的sign-off工具Project Virtus(Voltus + Tempus)也使用了ML [15]。更有影响力的是Cadence的Cerebus工具,通过基于强化学习的ML模型来调整RTL-to-GDSII的设计流程,减少对人工设计师的依赖 [16]。不过作为相关从业人员,我们很难了解这个产品的技术细节,例如这里的强化学习算法是如何迁移到不同的芯片设计的。 类似的,Synopsys也在更早推出了DSO.ai工具,也是用强化学习的方法自动优化设计流程 [17]。Synopsys的PrimeTime ECO工具也使用了ML模型。另外曾经的Mentor Graphics(现Siemens)也推出过使用基于ML预测的光学邻近效应修正(OPC)工具。 除了EDA公司之外,谷歌和英伟达的研究团队也积极探索了ML for EDA方向。这些是更偏研究性的工作。具体可以参考谷歌Jeff Dean和英伟达Bill Dally的相关主题演讲。 而在国内,受美国半导体政策影响,近年来不少优秀的国产EDA初创公司涌现。一些公司也开始探索了ML在EDA领域的应用。例如某国内公司最近发布了基于机器学习技术与布局规划工具,应该是将类似前文提到的谷歌macro摆放算法[1]实现了产品落地。个人认为这是一个比较有挑战性的任务。
6. 其他与ML for EDA相关的研究
除去以上介绍到的工作,还有一些热点研究方向也经常被大家归类到ML for EDA的研究当中。但严格来说,个人认为这些方向也许不能完全属于狭义的ML for EDA的范畴。 使用GPU对EDA算法进行加速是近年来非常火热的研究方向。例如使用GPU加速布局过程 [18]。这些方法巧妙利用了EDA问题的优化过程与深度学习训练过程的相似性。于是它们可以利用已有的深度学习框架,例如PyTorch,来进行基于GPU的快速优化。但这类方法不会去应用具体的ML模型,也没有基于数据的训练过程。
图15 使用ML开发的高效片上功耗检测模型 [19]
7. ML for EDA面临的挑战
最后简单总结一下 ML for EDA可能会面临的一些挑战。而针对这些挑战,近年来大家也进行了一些尝试。 第一,训练所需的芯片设计数据非常难以获得。对于这个问题,一方面一些研究者开始提供公开的芯片设计数据集 [20]。另一方面,研究者探索了在保护数据隐私条件下的模型训练,例如基于联邦学习的方法 [21],或者对训练数据进行一些加密。 第二,开发和维护ML模型需要大量ML背景的工程师,而这对半导体公司来说并不容易。为了进一步提升自动化的程度,研究者探索了一些自动化的ML模型开发方法 [22]。这些工作一般基于深度学习领域已有的AutoML或者神经网络架构搜索(NAS)方法,然后对特定问题进行一些定制化设计。 第三,由于芯片设计与制程的差异,ML方法的准确性难以保证可迁移性。另外ML方法的安全可靠性也需要更多保证。已经有不少研究ML方法安全与可靠性的初步工作。论文 [23] 中提供了一些总结。 第四,从实际工程角度,ML方法如何更好地融入现有的EDA工具与芯片设计流程。这一点也许需要研究者与工业界共同进行探索。
8. 结语
本文大致介绍了ML for EDA这一热门研究方向。总体来说,ML方法在EDA领域提供的数据驱动的优势是极其独特的。考虑到这些特点,我个人确信更多的ML算法未来会融入芯片设计流程之中。但至于ML算法究竟会在未来的设计流程中占到多大比重,这当然取决于大家未来的探索与实践。非常期待基于ML的新方法能够推动EDA产业,特别是国产EDA产业的发展。
- 完 -
参考文献 [1] M. Rapp, et al. “MLCAD: A Survey of Research in Machine Learning for CAD”, TCAD, 2022. [2] Z. Xie et al., “RouteNet: Routability prediction for mixed-size designs using convolutional neural network”, ICCAD, 2018. [3] A. Mirhoseini, et al., “A graph placement methodology for fast chip design”, Nature, 2021. [4] M. Ren, “Machine Learning for EDA Optimization”, IEEE Seasonal School, [link] youtube.com/watch?v=n5visiN1ncI&t=222s, 2022 [5] Z. Xie, et al. “Intelligent Circuit Design and Implementation with Machine Learning”, PhD Dissertation, 2022. [6] S. Dai, et al., “Fast and accurate estimation of quality of results in high-level synthesis with machine learning,” FCCM, 2018. [7] H. Liu, et al., “On learning-based methods for design-space exploration with high-level synthesis”, DAC, 2013. [8] Y. Zhou, et al., “PRIMAL: Power inference using machine learning.” DAC, 2019. [9] C. Yu, et al., “Developing Synthesis Flows Without Human Knowledge.” DAC, 2018. [10] Z. Xie, et al., “PowerNet: Transferable dynamic IR drop estimation via maximum convolutional neural network”. ASP-DAC, 2020 [11] K. Zhu, et al., “GeniusRoute: A New Analog Routing Paradigm Using Generative Neural Network Guidance.” ICCAD, 2019 . [12] H. Yang, et al., “GAN-OPC: Mask Optimization with Lithography-guided Generative Adversarial Nets.” DAC, 2018. [13] H. Yang, et al., “Layout Hotspot Detection with Feature Tensor Generation and Deep Biased Learning.” DAC, 2017. [14] “New CDNS 19.1 flow.” DeepChip website, 2019. [link] www.deepchip.com/items/0587-05.html [15] “A True Signoff for 7nm and Beyond.” SemiWiki website, 2018. [link] semiwiki.com/eda/cadence/7655-a-true-signoff-for-7nm-and-beyond/ [16] “Cadence Cerebrus INTELLIGENT CHIP EXPLORER.” Cadence website, 2022. [link] www.cadence.com/en_US/home/tools/digital-design-and-signoff/soc-implementation-and-floorplanning/cerebrus-intelligent-chip-explorer.html [17] “DSO.ai Achieve PPA Targets Faster with the World’s First AI Application for Chip Design.” Synopsys website, 2022. [link] www.synopsys.com/implementation-and-signoff/ml-ai-design/dso-ai.html [18] Y. Lin, et al. “DREAMPlace: Deep Learning Toolkit-Enabled GPU Acceleration for Modern VLSI Placement”, DAC, 2021. [19] Z. Xie, et al., “APOLLO: An Automated Power Modeling Framework for Runtime Power Introspection in High-Volume Commercial Microprocessors,” MICRO, 2021. [20] Z. Chai, et al., “CircuitNet: An open-source dataset for machine learning applications in electronic design automation,” SCIS, 2022. [21] J. Pan, et al., “Towards Collaborative Intelligence: Routability Estimation based on Decentralized Private Data,” DAC, 2022. [22] C. Chang, et al., “Automatic Routability Predictor Development Using Neural Architecture Search,” ICCAD, 2021. [23] Z. Xie, et al., “The Dark Side: Security and Reliability Concerns in Machine Learning for EDA”. TCAD, 2022.
作者简介:谢知遥,香港科技大学电子与计算机工程系助理教授。他在2022年于杜克大学陈怡然与李海导师组获得博士学位。博士期间他作为研究实习生在多家半导体公司进行科研工作,包括Cadence, Synopsys, Nvidia, Arm等。他以第一作者获得了2021年计算机体系结构顶会MICRO最佳论文奖。
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
本文作者可以追加内容哦 !