来源:内容来自「网络交换FPGA」,作者:西南交通大学研究生导师邸志雄博士。谢谢。
近日,有报道称谷歌将深度强化学习方法引入芯片设计中,6小时内完成芯片布局设计,而完成相同设计步骤,人类专家往往要花费数周时间。该报道一度引起人们对机器设计芯片的浓厚兴趣。那么芯片后端设计的过程中能否引入AI算法,用芯片设计芯片能否成为现实,本文引用最新的权威前沿研究成果为你揭开谜团。
EDA在芯片设计流程中的作用
文章开头提到的谷歌研究论文题目为《芯片布局与深度强化学习 (Chip Placement with Deep Reinforcement Learning)》。文中研究人员针对芯片设计流程中最复杂耗时的布局布线阶段提出了一种基于深度强化学习的芯片布局方法,目标是将宏(如SRAM)和标准单元(逻辑门,如NAND、NOR和XOR)的网表节点映射到一个芯片版图上,从而优化功率、性能和面积(PPA),同时遵守对布局密度和布线拥塞的约束。
我们翻译了文章的摘要如下:“在这项工作中,我们提出了一种基于学习的芯片放置方法,这是芯片设计过程中最复杂、最耗时的阶段之一。与之前的方法不同,我们的方法具有从过去的经验中学习并随着时间的推移而改进的能力。特别是,随着我们对更多的芯片块进行训练,我们的方法在快速生成以前未见过的芯片块的优化放置方面变得更好。
为了实现这些结果,我们将放置作为一个强化学习(RL)问题,并训练一个代理将芯片网表的节点放置到芯片版图上。为了使我们的RL策略能够泛化到未见过的芯片块,我们将表征学习置于预测放置质量的有监督任务中。通过设计一个能够准确预测各种网表及其放置质量的神经架构,我们能够生成丰富的输入网表的特征嵌入。然后,我们使用这个架构作为我们的策略和价值网络的编码器来实现转移学习。我们的目标是将PPA(功率、性能和面积)降到最低,我们表明,在6个小时内,我们的方法可以在现代加速器网表上生成超人类或可与之相媲美的放置,而现有的基线需要人类专家在循环中进行,并需要几周的时间。”
我们首先看一下为何AI算法可以用到芯片设计中。传统EDA工具要做的事就是尽可能高精度地在虚拟的软件世界中重新和拟合现实中的物理和工艺问题,以期望在芯片设计阶段将其纳入考虑范围之内,以系统性的方法和预测性的裕量来应对和纠正,最终保证芯片设计仿真结果同流片结果一致。EDA工具需要对数千种情境进行快速设计探索,以求得性能、功耗、面积、成本等芯片物理指标和经济指标的平衡。随着集成电路制造工艺进入7nm以下,数字芯片中标准单元数量已经达到亿数量级,EDA算法已经成为典型的数据密集型计算的典型代表。且现有布局布线方法大都采用组合优化算法,可接受的计算时间内,不一定能得到局部最优解,甚至有可能得到一个劣解,算法复杂度较高。以上两点导致EDA算法的计算时间非常冗长,以小时计。
以一个简单的布线算法示意图为例,以下动图为EDA工具在寻求源点和终点之间的金属走线方案。试想一下,芯片内部单元以亿级数量计,内部布线金属层多达数层,如何从一个点在只能走直线和90度拐弯的限定下,经过各种不可布线的障碍并不断做出前行的抉择,穿过层层金属,最终准备到达芯片中的另一个点,期间探索方案的计算空间需求巨大,且整体还要满足时序和总线长最小的目标,并必须考虑工艺偏差。
为了简要说明下芯片设计流程,方便理解EDA算法,下图采用了图示法进行介绍。该案例来源于Prof. Jens Vygen @University of Bonn的《Combinatorial Optimization and Applications in VLSI Design》课程。
正文来了:
2019年,关于AI,EDA工具商都在展示两个观点:(1)AI Outside:如何设计EDA工具助力AI芯片的高效设计;(2)AI Inside:如何在EDA工具中应用AI算法以赋能芯片设计。这是两个非常有趣的观点,无论如何,AI已经成为EDA工业界和学术界关注的焦点。本文对现有各种资料和报道做了一些汇总与整理。
AI Inside
EDA问题具有高维度、不连续性、非线性和高阶交互等特性,学术界和工业界普遍认为机器学习等算法能够提高 EDA 软件的自主程度,提高 IC 设计效率,缩短芯片研发周期。
在EDA领域的学术会议和期刊中,我们已经可以看到机器学习的应用实例包括:(1)建立更准确的参数模型,优化参数分析过程,提高DRC、绕线、拥塞等预测准确度;(2)探索物理设计空间,提升VLSI QoR(routability, timing, area, power)。
(1)EDA公司的成果:
Cadence的布局布线工具Innovus,里面已有内置的 AI 算法,以提升Floorplan的效率和质量。Project Virtus,通过机器学习解决 EM-IR 和 Timing 之间的相互影响;还有 Signoff Timing 和 SmartLEC等工具,都嵌入了人工智能算法。
Cadence公司:2020年3月18日,发布已经过数百次先进工艺节点成功流片验证的新版Cadence数字全流程,进一步优化功耗,性能和面积,广泛应用于汽车,移动,网络,高性能计算和人工智能(AI)等各个领域。流程采用了支持机器学习(ML)功能的统一布局布线和物理优化引擎等多项业界首创技术,吞吐量最高提升3倍,PPA最高提升20%,助力实现卓越设计。
Mentor:比如Machine Learning OPC可以将光学邻近效应修正(OPC)输出预测精度提升到纳米级,同时将执行时间缩短3倍。而在此之前,完成同样的工作量,需要4000个CPU 不间断地运行24小时;而在LFD中,通过机器学习既解决了海量未标记数据的提取,同时也通过训练好的数据使预测更加精准。结果显示,与基于全芯片模型的仿真相比,在保持最佳精度的同时还使性能提高了10-20倍。
Mentor:而在深度数据分析上,除了来自Solido的variation aware的设计外,采用RCD(root cause deconvolution)技术消除诊断结果噪声,减少根因分析时间,发现其它隐藏较深导致良率问题的根源,也是非常典型的AI在EDA工具中的应用。
Synopsys:2020年3月12日,Synopsys推出业界首个用于芯片设计的自主人工智能应用程序——DSO.aiTM(Design Space Optimization AI),这是电子设计技术上所取得的重大突破。DSO.aiTM解决方案的创新灵感来源于DeepMind的AlphaZero,使得AI在围棋、象棋领域远超人类。作为一款人工智能和推理引擎,DSO.ai能够在芯片设计的巨大求解空间里搜索优化目标。该解决方案大规模扩展了对芯片设计流程选项的探索,能够自主执行次要决策,帮助芯片设计团队以专家级水平进行操作,并大幅提高整体生产力,从而在芯片设计领域掀起新一轮革命。
谷歌Jeff Dean发表了论文《The Deep Learning Revolution and Its Implications for Computer Architecture and Chip Design》,也在ISSCC-2020做了报告,阐述了如何使用机器学习算法自动实现芯片布线、制造缺陷检测等各个阶段的高质量解决方案。但是,文中并没有与现有EDA工具和state of art做比较,因此还未看到相比现有EDA工具有何优势。
(2)学术界
从EDA领域的几大顶会(DAC、ICCAD、ASP-DAC)近几年论文收录情况,我们也可以看到学术界的探索。
DAC-2019的5篇最佳论文提名中3篇与AI相关:
LithoGAN: End-to-end Lithography Modeling with Generative Adversarial Networks
BRIC: Locality-based Encoding for Energy-Efficient Brain-Inspired Hyperdimensional Computing
A 1.17 TOPS-W, 150fps Accelerator for Multi-face Detection and Alignment
DREAMPlace: Deep Learning Toolkit-enabled GPU Acceleration for Modern VLSI Placement
Accuracy vs. Efficiency: Achieving Both through FPGA-Implementation Aware Neural Architecture Search
最终,最佳论文由“DREAMPlace: Deep Learning Toolkit-enabled GPU Acceleration for Modern VLSI Placement”获得。(论文开源网址:https://github.com/limbo018/DREAMPlace)
在DAC-2020的网站,可以看到57th DAC General Chair Zhuo Li的寄语:
随着该行业深入到2020年,很明显AI / ML架构和解决方案的研究和应用将继续加速。实际上,可以通过检查最近提交给2020 DAC的AI / ML架构和系统设计论文的数量来衡量印证。2018年,共提交了56篇AI / ML架构和系统论文供审查。该数字在2019年增加到92篇提交论文,到2020年惊人的194篇提交论文。换句话说,AL / MI架构和系统设计研究的复合年增长率为86%!考虑到麦肯锡公司(McKinsey&Company)最近报告说,与非AI半导体市场相比,AI半导体的总可用市场将以5倍的速度增长,这也许不足为奇。但是AL / ML研究不仅限于DAC提交的硬件体系结构。我们还看到了应用于传统EDA问题的AI / ML算法和方法的惊人增长,范围从光刻热点检测到物理设计和实现。
2019年,在IEEE Council on Electronic Design Automation (CEDA) 和ACM Special Interest Group on Design Automation (SIGDA)的支持下,在加拿大Banff举办了ACM/IEEE workshop on machine learning for CAD 2019(MLCAD 2019)。2020年会议主页网址链接为:
http://mlcad.itec.kit.edu/.
会议的投稿主题包括但不限于:
ML for system-level design
ML approaches to logic design
ML for physical design
ML for analog design
ML for power and thermal management
ML for Design Technology Co-Optimization (DTCO)
ML methods to predict aging and reliability
Labeled and unlabeled data in ML for CAD
ML techniques for resource management in many cores
ML for Verification and Validation
好书推荐:
2019年,Springer上架了《Machine Learning in VLSI Computer-Aided Design》,本书Editors: Elfadel, Ibrahim (Abe) M., Boning, Duane S., Li, Xin (Eds.) 。本书为读者提供了有关在超大规模集成电路(VLSI)的计算机辅助设计(CAD)使用机器学习框架,方法,算法和技术的最新信息。涵盖的范围包括光刻,物理设计,成品率预测,硅后性能分析,可靠性和故障分析,功率和热分析,模拟设计,逻辑综合,验证和神经形态设计中使用的各种机器学习方法。
说明:该书是第一本机器学习在EDA中应用的书籍,本书集结了David Z. Pan、曾璇等 EDA领域多位国际知名学者的研究成果。
AI Outside
Synopsys认为“现代SoC软硬件设计的复杂性日益增加,准备好硬件后再进行开发软件在业界已不再有效且缺乏竞争力。尤其是在AI和ML的快速发展的垂直市场中,迫切需要使用虚拟原型技术并行设计硬件和软件”。Synopsys推出了VDK开发套件,用于建立一个复杂SoC软硬件集成的调试流程,加速AI芯片的设计与开发。
复杂的AI芯片还在一定程度上推动了Emulator的销售,以往大公司才用的起Synopsys Zebu、Cadence帕拉丁系列、Mentor的Veloce系列,现在小公司也逐渐购入,以缩短芯片的验证周期。
注:文中AI技术特指Machine Learning/Deep Learning/Rreinforcement Learning等。
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.