Towards Machine Learning for Placement and Routing in Chip Design: a Methodological Overview

Towards Machine Learning for Placement and Routing in Chip Design: a
Methodological Overview
arXiv:2202.13564v1 [cs.LG] 28 Feb 2022
原文链接https://arxiv.org/abs/2202.13564

Abstract

布局和布线是现代芯片设计流程中两个不可缺少且具有挑战性的任务(NP-hard)。 与使用启发式或专家精心设计的算法的传统求解器相比,机器学习以其数据驱动的特性显示出了很好的前景,它可以减少对知识和先验的依赖,并通过其先进的计算范式(例如带有GPU加速的深度网络)具有潜在的更大的可扩展性。 本调查首先介绍了布局和路由的基本知识,并简要描述了经典的免学习求解器。 然后,我们对机器学习在布局和布线方面的最新进展进行了详细的评述。 最后,我们讨论了未来研究的挑战和机遇。

一、Introduction

布局将各种逻辑组件如逻辑门和功能块分配到芯片物理布局中的离散位置,路由完成互连的物理布线。 布局和路由的目标是在布局密度和路由拥塞等约束条件下优化功率、性能和面积(PPA)指标。布局问题可以看作是具有几何约束的二维装箱问题的一个更为复杂的变体。 后者被称为Nphard[Hartmanis,1982]。 布局的目标与电路设计的逻辑互连和逻辑元件的几何位置有关。 由于布局方案的质量只有在布线后才能得到准确的评价,导致设计流程中的反馈回路很长,因此现代布局需要在早期减少布线拥塞,提高布线性。
布线与布局紧密相连,优秀的布线解决方案可提高芯片面积利用率、时序性能和布线性。 还有关于路由和位置的调查。 [Huang et al.,2021]对EDA领域已有的ML研究进行了全面的综述,这些研究主要分为四大类:传统方法中的决策、性能预测、黑箱优化和自动化设计,并按自动化程度的提高排序。 虽然它涵盖了EDA流程中的各个阶段,但与我们的相比,它提供了对特定任务、布局和路由的浅层分析。 [Hamolia and Melnyk,2021]介绍了ISPD2015数据集,用于比较经典方法和ML算法。 [Rapp et al.,2021]分类了ML如何被用于设计时/运行时优化和ICS的探索策略,以及EmployeDML算法的趋势。 [Markov et al.,2015]回顾了安置研究的历史和SOAT的进展。

二、Problem Background and Classic Solvers

在这里插入图片描述
一般来说,全局布局包括宏布局和标准单元格布局,如图1所示。 具体的布局包括合法化、无线化和可路由性细化。

2.1 Placement Problem

  • 全局安置,它是芯片设计过程中最关键也是最耗时的步骤之一,可以归结为一个约束优化问题。 它为包括宏和芯片布局中的标准单元在内的网表的各种组件分配准确的位置。 标准单元是基本逻辑单元,即逻辑门,而宏是预先设计的ip块,例如srams。 良好的布局可以提高芯片的面积利用率、时序性能和可布线性,而较差的布局分配会影响芯片的性能,甚至使其无法制造。 在形式上,全局布局的输入是一个可以用超图H=(V,E)表示的网表,其中V={ v 1 , v 2 , ⋅ ⋅ ⋅ , v n v_1,v_2,···,v_n v1,v2,⋅⋅⋅,vn}表示节点(单元)集,E={ e 1 , e 2 , ⋅ ⋅ ⋅ e m e_1,e_2,···e_m e1,e2,⋅⋅⋅em}表示超边(网)集。 超边Ei∈E是节点的子集。 我们寻求确定宏和标准单元( x i , y i x_i,y_i xiyi)的位置,它们进一步组合成两个向量x=( x 1 , . . . , x n x_1,...,x_n x1,...,xn)和y=( y 1 , . . . , y n y_1,...,y_n y1,...,yn)。 线形最小化是布局的主要目标之一。 H P W L N ( x ⃗ , y ⃗ ) \mathrm{HPWL}_N(\vec{x}, \vec{y}) HPWLN(x ,y )通常被用来近似放置时的wirelength为:
    H P W L = ∑ e i ∈ E ( max ⁡ v j ∈ e i x j − min ⁡ v j ∈ e i x j + max ⁡ v j ∈ e i y j − min ⁡ v j ∈ e i y j ) H P W L=\sum_{e_i \in E}\left(\max _{v_j \in e_i} x_j-\min _{v_j \in e_i} x_j+\max _{v_j \in e_i} y_j-\min _{v_j \in e_i} y_j\right) HPWL=eiE(maxvjeixjminvjeixj+maxvjeiyjminvjeiyj)
  • 详细放置, 全局布局的解决方案通常是非法的:单元格可能重叠或占用非法站点,例如在布局行之间。合法化消除了单元格之间的重叠,并将它们快照到对放置质量不利影响最小的行的位置。 然后,改进采取合法的位置,并通过局部移动单元进一步提高目标、无线性和可路由性。

2.2 Routing Problem

  • Global Routing:每个标准单元之间对应的引脚相互连接。
  • Detailed Routing:与全局布线相比,在细粒度三维网格图上工作,考虑复杂的设计规则。如:设计规则,最小的金属宽度和间距, 每个网格边缘提供单元路由资源,最小金属宽度和间距,详细的路由还需要考虑首选的路由方向,其中邻接的路由层首选垂直的路由方向。 典型的详细路由算法以全局路由段为指导。 每个全局路由段为网络拓扑结构提供了粗略的提示,详细的路由需要在细粒度网格图上确定实际的路由路径。

2.3 Classic Placement Solvers

2.4 Classic Routing Solvers

三、Machine Learning for Placement

3.1 Traditional Placers Enhancement

对于大规模优化问题,传统的Placer大多在CPU上进行大量的数值计算,缺乏对GPU机会的挖掘。 DreamPlace[Lin et al.,2020]的灵感来自这样一个想法,即分析布局问题类似于训练一个神经网络。 它们都涉及优化参数和最小化成本函数。 DreamPlace基于最先进的分析布局算法Replace,通过深度学习工具包PyTorch实现手工优化的关键操作符,与基于CPU的工具相比,实现了超过30×的加速。

  • PL-GNN[Lu et al.,2021]提出了一个基于图学习的框架,该框架通过基于设计实例的逻辑亲和信息和属性生成单元簇来为商业放置者提供放置指导。
  • Pade[Ward et al.,2012]通过自动数据路径提取和评估来改进数据路径逻辑,其中数据路径逻辑的放置与随机逻辑分开进行。
  • [Agnesina等人,2020]提出了一个深度强化学习(RL)框架来优化商用EDA工具的放置参数。 一个Agent学会自主调整参数,完全由RL从自我搜索中训练。 采用手工特征和无监督图神经网络生成的图嵌入,将其推广到未知的网表。

3.2 Placement Decision Making

提出了基于学习的布局决策方法,特别是RL方法,以获得泛化能力。 现有的RL应用程序已经证明了宏放置的有效性,其中要放置的宏通常少于1000个。

  • Google[Mirhoseini et al.,2021]提出了一种宏布局的端到端学习方法,该方法将芯片布局建模为一个顺序决策问题。 在每一个步骤中,RL代理放置一个宏,并使用目标度量作为奖励,直到最后一个操作。 值网络采用GNN对网表信息进行编码,策略网络中的反卷积层输出当前宏位置的掩码。
  • DeepPlace[Cheng and Yan,2021]首次提出了一种联合学习技术,通过将强化学习与基于梯度的经典单元格放置器相结合,用于宏和标准单元格的放置([Lin et al.,2020])。 为了进一步将布局与后续的路由任务联系起来,他们还通过RL开发了一种联合学习方法DeepPR来完成布局和路由任务。 表2在放置目标和学习协议方面比较了基于学习的放置方法。

3.3 Prediction Model Embedded in Placement

由于在布局过程中很难准确地预测路由拥塞,因此ML还通过嵌入预测模型来帮助布局者优化复杂的目标,如可路由性。

  • [Huang et al.,2019]提出了第一个具有深度学习的可路由性驱动的宏放置。 提出了一种基于CNN的可布线性预测模型,并将该模型嵌入到宏布线器中,通过SA优化过程可以得到具有最小化设计规则检查(DRC)违规的良好宏布线。
  • [Chan et al.,2017]提出了一种基于学习的算法来预测详细路由中的DRC违规,并自动改善这些设计的路由性。
  • [Liu et al.,2021b]预测拥塞热点,然后将该预测模型纳入布局引擎,展示了如何将基于ML的路由拥塞估计器嵌入全局布局阶段。

3.4 Challenges and Limitations for Placement

在这里插入图片描述
在这里插入图片描述

ML应用在布局方面的主要挑战在于两个方面:长的反馈循环和高的可扩展性要求。 在布线完成之前,不能评估布线目标,如可布线性; 因此,在优化循环中获得反馈可能需要几个小时,而进行数千次查询是负担不起的。 现代配置方案需要在几个小时内处理数万个宏和数百万个标准单元格。 这种对可伸缩性的要求仍然超出了现有ML方法的能力。

四、Machine Learning for Routing

4.1 Learning-aided Routability Prediction

在放置步骤中,必须考虑布线设计指南的基本要求。 然而,在布局步骤中精确快速地估计路由信息是困难的,研究人员最近使用机器学习来克服这一问题。 表1总结了最近在路由性预测方面所做的努力,在不同的设计阶段,路由性预测可以分为拥塞计数预测和拥塞位置预测。 拥塞计数表示与拥塞相关的指标,如总拥塞和违反设计规则的次数,而拥塞位置要求拥塞或违反设计规则的详细位置,通常用二维图表示。

  • Congestion count:
    如上所述,它表示路由拥塞的总体数量,有助于评估一个布局解决方案有多好。 有效的拥塞计数预测可以通过避免耗时的路由阶段来减少设计流程中的周转时间。
    • [Qi et al.,2014;Zhou et al.,2019]捕捉全局路由中的多个因素,并使用多元自适应回归样条(MARS)实现详细路由拥塞预测。
    • [Tabrizi等人,2018年;Maarouf等人,2018年]尝试利用线性回归(LR)、随机森林(RF)和MLP模型对ASIC和FPGA数据集进行布局阶段的全局路由拥塞预测。
    • 其他研究,如[Zhou et al.,2015;Chan et al.,2016]旨在预测给定小区布局的详细路由下的拥塞计数,[Cheng et al.,2018b]试图预测仅给定宏布局的全局路由下的拥塞计数。
  • Congestion location:
    它的准确预测对于有效地指导布局和路由优化是必要的,因为它可以为拥挤的区域预留足够的空间。
    • Routenet[Xie et al.,2018]是首次尝试利用CNN来预测给定小区布局和全局路由信息的设计规则检查(DRC)热点位置。 采用矩形均匀线密度(RUDY)作为路由前拥塞估计器和全局路由拥塞映射,构造了一个定制的全卷积网络(FCN)。 预测布线时的全局路由拥塞位置有助于指导早期的路由优化。
    • 因此,Pros[Chen et al.,2020]、[Pui et al.,2017]、[Yu and Zhang,2019]、[Alawieh et al.,2020]和Dlroute[Al-Hyari et al.,2021]试图了解全局路由中拥塞位置与小区放置之间的相关性。 由于特征和标签都可以表示为类图像张量,许多研究将该问题转化为图像生成任务,并利用FCN和条件GAN建立相关性。
    • [Liang et al.,2020]更进一步,从小区布局直接预测详细路由处的拥塞位置(即违反设计规则的位置)。 提出了一种定制的CNN体系结构J-NET(U-NET体系结构的扩展),与机器学习模块的插件使用相反。 该工作将布局结果中的引脚和宏的密度转换为图像,并使用像素级损失函数优化编码器-解码器模型。 网络输出热图,显示详细的路由拥塞可能发生的位置。

在学习辅助预测任务中,需要跳过的阶段越多(图1)、任务难度越大,因为我们需要建立与更多阶段相关的模型。 因此,精度要求因任务而异。 在局部布局甚至宏布局等早期阶段,在详细路由中预测拥塞位置可以加快设计速度。

4.2 Deep Neural Networks for Routing

与上述预测布局拥塞信息的方法不同,一些工作使用DNNs直接处理路由问题,而很少甚至不需要传统路由技术的帮助。

  • [Jain and Okabe,2017]提出了一种全卷积神经网络学习,通过适当选择金属轨道和导线类组合来路由电路布局。 包含要路由的管脚的空间位置的编码布局被馈送到网络中,在15个全卷积层之后,接着是比较器,产生8个布局层,然后对这些布局层进行解码以获得路由布局。 该工作将路由问题描述为一个基于每像素每层的二进制分割问题,其中网络被训练以正确地将每个布局层中的像素分类为开或关。
  • [He and Bao,2020]将电路路由问题建模为序贯决策问题,并采用蒙特卡罗树搜索(MCTS)进行求解。
  • 最近的一项研究[Utyamishev和Partin-Vaisband,2020]提出了一种全局路由器,它可以从路由电路中学习,并自主地路由看不到的布局。 与传统的路由流程不同,该方法将全局路由重新定义为经典的图像处理问题,并使用深度学习系统以统一的、单步非迭代的方式处理成像问题,该系统包括变分自动编码器和自定义丢失。

4.3 Reinforcement Learning for Routing

RL也是解决路由问题的一种有希望的方法,因为它可以被看作是一个包括决策阶段的过程。

  • DQN Agent[Liao et al.,2020b]作为将RL与全局路由相结合的第一次尝试之一,学习在3D网格图上确定每一步的路由方向,例如向北、向南等。
  • 对于详细的路由,[Liao et al.,2020a]提出了一种获得路由顺序的方法,然后使用经典的模式路由器来完成给定顺序的路由,对于多达数千个网的小型基准测试。
  • [Lin et al.,2021]使用异步参与者-批评者框架解决路由排序问题,用于路由数百万个网络,并通过策略蒸馏提高了最先进的详细路由器的解决方案质量。
  • [Ren and Fojtik,2021]使用遗传算法生成初始路由选择,然后使用RL逐步处理标准信元路由中违反设计规则的行为。
  • 关于直线Steiner最小树(RSMT)构造[Hartmanis,1982],REST[Liu et al.,2021a]是第一次尝试使用基于机器学习的方法来解决RSMT构造,这是EDA和计算机科学中的一个基本问题,通常在传统的全局路由器中运行数百万次。 提出了一种新的RSMT解的编码方法–直线边缘序列(RES),并设计了一个行为者-批评者模型来构造RSMT。

4.4 Challenges and Limitations for Routing

尽管已有的基于学习的路由算法取得了一定的成效,但目前的技术很难在效率和解的质量上系统地超过经典的路由算法。 大多数基于学习的技术可以很好地解决具有数千个网络的小电路,而一个实用的路由引擎需要在一个超大型三维网格图(>1000×1000×10)上高效地处理数百万个网络,并产生高质量的解决方案。

五、 Open-source and Public Datasets

  • 开源(OS): 这一领域正变得越来越开放,我们列出了几个具有代表性的OS示例。
  • 数据集:
    从2005年的纯无线驱动电路设计开始,每年在ISPD和ICCAD举行定期的布局研究竞赛,以通用书架格式提供工业界贡献的各种电路设计。
    从那时起,单元密度、全局路由性[Viswanathan et al.,2011]、详细路由性[Yutsis et al.,2014]和时间[Kim et al.,2015]成为具体优化目标。 放置和路由的一个流行基准是ISPD2015[Bustany et al.,2015]。 它由五个电路组成,每个电路都有多个平面图,这些平面图是通过预先定义的启发式来设置不同的宏位置产生的。 ISPD分别于2007年[Nam等人,2007年]和2008年[Nam等人,2008年]宣布了两次全球路由竞赛,并于2018年[Mantik等人,2018年]和2019年[Liu等人,2019年]宣布了两次初步详细路由竞赛,以及基准。

Conclusion and Outlook

随着机器学习的迅速发展,提出一个高效的学习框架来解决布局和路由问题,无论是顺序还是并发,都是一个很有前途的解决方案。 [Cheng and Yan,2021]设计了一种联合学习方法,用于宏布局和路由,或者宏和标准单元格的布局。 然而,这并不是一个完整的设计周期,因为留下了数百万甚至数十亿的标准单元。 在未来的工作中,基于学习的路由求解器作为整个端到端学习范式的最终构建块值得特别关注。

总结与思考

在这里插入图片描述

读完这篇综述,也算是解决了我的一个疑惑:为什么之前读的文章都叫布局布线,解决的问题总是不一样?在芯片设计的整个流程中,布局包括不止宏布局、单元布局;在布线中不止考虑布线长度,拥挤度,这些都有多个步骤和标准,而之前的工作往往只聚焦于某两个问题,如宏布局和路由的结合,标准单元的布局和布线的结合等等,在整个芯片设计的过程中,有的工作做上游任务,有的做下游任务,所以还没有形成整个端到端的学习模型。
目前来说,强化学习已经有一定的应用,而将布局或者布线问题转化为图问题也有一定的工作,相对来说,遗传算法看到的较少,多数为模拟退火这种经典的算法的使用。和这个任务的特点有一定的关联,在面对芯片设计中庞大的数据集时,进化算法往往在速度和搜索解的效率上不占优势。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值