基于DreamPlace的自动宏单元布局
摘要:
本文提出了AutoDMP,一种方法,利用DREAMPlace,GPU加速的放置器,放置宏和标准单元同时与自动参数调整使用多目标超参数优化技术。
得到的解决方案质量高,效率也高。
这项工作展示了结合GPU加速算法和ML技术用于VLSI设计自动化的前景和潜力。
一、背景介绍:
宏单元的处理影响许多竞争的设计目标,例如线长、功率和面积,传统的方法上宏一般是手动放置的。近期,混合单元布局显示出了比两步法更好的结果,但宏合法化对于混合大小的放置来说是具有挑战性的,扩展设计空间也会增加次优性差距,因此需要新的有效和高效的设计空间探索技术。
为了找到更好的宏布局解决方案,有效地搜索一个巨大的设计空间,文章使用基于ML的多目标优化和分析混合大小的放置加速的图形处理单元(GPU)。主要贡献概述如下:
- 使用多目标贝叶斯优化搜索设计空间的宏布局有效性,调整GPU加速的混合尺寸布局器的参数,
以线长、单元密度和拥塞为目标探索该空间 - 提出了一个两级PPA评估方案来管理搜索空间的复杂性。
- 增强了混合大小的布局引擎(DREAMPlace [31]),以减少合法化时的问题
- 在NVIDIA DGX Station上,我们可以在几个小时内生成对应于不同Pareto点的各种可行宏布局,其质量可与商业工具设计的宏布局相媲美。
二、相关工作
有关宏单元的放置有两种思路,一是在布图规划固定宏位置,然后再单独放置标准单元,二是混合尺寸放置,其同时放置两者。
来自Google的RL方法,称为CircuitTraining [39],在不考虑标准单元的时序或全局和详细布局的情况下,CircuitTraining实现了较好的宏布局,然而,训练和微调过程通常很长并且消耗许多硬件资源,即,数天和数千个CPU。
最先进的混合尺寸布局通常结合最小割布局与解析法,以打包和合法化宏,并处理数百万个小型标准单元。合法化是混合布局的根本挑战,因为在放置阶段之后仍然存在许多重叠。另一方面,顺序流尝试性地将宏和标准单元放置在一起,其中标准单元可能被聚集成软块[52]以提高速度
三、准备工作
DreamPlace使用GPU加速了ePlace/RePlace算法,DreamPlace可以用作混合大小的放置器,因为它从优化的角度将宏和标准单元的全局放置视为同一个问题,但目前的算法不能保证放置将合法化的设计与许多宏。
DREAMPlace将全局布局问题公式化为密度约束下的线长最小化问题,并通过经典数学优化(例如,梯度下降)的非线性无约束公式:
min x,y ∑∈ WL(e;x,y)+ 𝜆𝐷(x,y) (1)
四、框架
我们的框架依赖于高层次的PPA代理,以指导探索的宏观布局空间。
提出了增强的DREAMPlace引擎和新的参数,以解决宏观合法化问题。
提出了一个两级的方法与多目标贝叶斯优化,提高解的质量。
4.1 PPA代理
PPA: 功率性能面积
布局的结果会对许多目标造成影响,因素包括可布线性、时序、功耗或生产成本。如何决定每个目标在放置过程中何时应该重要仍然是一个悬而未决的问题[25]。在布局中一次优化多个目标可能是没有成效的,所以我们转而关注较高级别的目标:线长、密度和拥塞。这些目标是相对平滑的、可预测的,并且可以非常快速地估计。时序或总功率建模更具挑战性,因为存在许多冗长的黑盒下游步骤,例如时序优化、时钟树合成(CTS)和路由。
关于线长:用直线斯坦纳最小树(RSMT)作为第一个指标,结合密度和拥塞的RSMT可以作为一个足够准确的估计线长指标。我们使用FLUTE [16]计算各个网络的RSMT,FLUTE是一种快速启发式算法,可以使用查找表生成接近最优的线长Steiner树。
关于单元密度:在DREAMPlace中,基于ePlace的密度公式用于优化系统的势能,在静电模拟中吸收带正电荷的单元。势能的稳定点可以对应均匀的细胞密度。
关于拥塞:拥塞是传统的可布通性的一个代表,对时序也有影响。我们使用一种称为矩形均匀线密度(RUDY)[48]的布线需求估计技术来模拟拥塞,扩展到考虑宏上的有限布线资源。
4.2 DreamPlace扩展
4.2.1考虑宏模块的RUDY:DREAMPlace中的RUDY实现没有考虑宏的阻碍,这可能会迫使网络在宏边界之外绕行。
4.2.2 带有Net权重的RSMT:使用加权线长,以增加与Steiner路由的相关性。
4.2.3 梯度下降优化器:方程1的目标在DREAMPlace中通过梯度下降(GD)进行优化。我们修改了原始形式的初始学习率计算,提高了收敛的成功率。
4.2.4 启发式简化:优化过程中去除了一些会导致不稳定的启发式算法
4.2.5 宏单元方向细化:标准单元和宏在DREAMPlace中的放置过程中其方向是固定的。标准单元的翻转无关紧要,而宏取向改变时它们的引脚产生大位移显著地影响线长,宏在四个方向上依次翻转。每个宏在每次迭代中被考虑一次,如果它导致积极的HPWL改进,则被翻转。
4.3 参数空间的拓展
提出了新的参数,以解决合法化问题,并扩大宏观布局设计空间。
4.3.1默认DREAMPlace参数
4.3.2 初始位置:DREAMPLACE将单元格和宏的所有初始位置设置在平面图的中心。而调整初始位置可以显著地影响最终布置的形状。因此,为了扩展布局解决方案的多样性,我们引入两个参数来将初始单元的位置设置为布局图的宽度和高度的百分比。
4.3.3 宏光环(Macro Halos,新加的一个参数):在全局布局末尾,宏总是会有重叠或较为紧密,这会在合法化期间产生问题,因为宏首先合法化,忽略标准单元[33],产生相当大且不可恢复的线长退化。因此文章考虑布局时给宏加上一层环,用来预留一些空间,合法化前移除,这简化了宏的合法化并且可以允许标准单元在光环区域里合法化。
4.3.4 参数的影响:测试了每个参数变化对结果的影响,结果大多数参数都会影响代理结果,特别是数学优化相关的参数,即梯度下降、拉格朗日乘子和平滑HPWL因子对于获得优秀且稳定的结果是必不可少的。
4.4设计空间的探索
一个高效的搜索框架对于一致且快速地获得高质量的解决方案至关重要。
4.4.1 MOTPE:我们使用的MOTPE搜索Pareto-optimal点的轴上的RSMT,密度和拥塞。该方法可以直接和有效地生成具有实现多个线长、密度和拥塞权衡的点的Pareto前沿。比单目标的方法效果更好。
4.4.2 Two-level 方法:(1)使用MOTPE的多目标贝叶斯优化通过调整DREAMPlace参数来探索广阔的布局空间,在所提出的高级度量上评估解决方案。(2) 采样结束后,用在时序优化和布线之后的更高级的品质因数(如线长时序功耗)评估Pareto最前沿的点。
搜索过程可能会产生许多Pareto-optimal点。我们建议通过对3D Pareto点进行k均值聚类[36]来减少选择点的数量。每个聚类选择一个代表,即具有最小RSMT的点,产生k = 5个不同的候选者。
4.5 基础建设
AutoDMP计算流程如图5所示,
们将宏单元和标准单元放置保持在同步流中,并运行place-opt增量,它仅执行CTS前优化。宏放置首先由EDA工具合法化,然后,我们修复宏并执行P/G规划和布线。
5 实验
Auto框架是在DREAMPlace和ABCDPlace之上开发的,使用Python/PyTorch和C++/CUDA进行放置引擎修改,使用Python进行MOTPE优化[24]。Tcl/Bash用于EDA工具内部的布局和布线流程,该流程紧密遵循TILOS MacroPlacement流程[49]以实现开源可重复性。
这些实现是使用商业工具Cadence Innovus 21.15完成的,它运行在16个Intel Xeon Gold CPU上,分配了80 GB内存。RTL设计使用Cadence Genus 21.14进行合成,无需物理感知上下文。
我们使用来自TILOS存储库的开源基准[49]来证明我们方法的有效性。这些现代混合大小的布局基准包括Ariane。
5.1 基准测试结果
我们报告后路由优化的结果,以检查时序,设计规则检查(DRC)的违规行为,电源和路由线长。
5.2 讨论
5.2.1 Simultaneous/Sequential Mixed-Size Placement 之间的差异:REAMPlace的宏放置是根据DREAMPlace的同步标准单元放置使用代理进行评估的。然而,标准单元是用EDA工具放置的,用于顺序流程。
5.2.2 PPA改进:我们取得了PPA的结果,具有良好的质量与线长,时间和功率。为了改进PPA我们可以加入更多的感知,如时序、可布线性,或者通过用新的参数增加搜索空间。
另外,尽管在搜索过程中不使用时间信息来驱动或评估位置,但我们的位置实现了良好的时间质量,我们建议由以下一个或多个驱动:
Apart from MemPool, the benchmarks are not congestioncritical, easing timing closure.
从多目标搜索中获得的低密度解决方案,这有利于商业工具找到有利的,时间驱动的放置位置。时序优化器也有更多的空间来调整大小和插入缓冲区,而不会达到最大密度阈值。
六、结论
我们提出了一种新的开源方法称为AutoDMP,以提高混合尺寸的VLSI布局的质量。宏和标准的单元布局空间是自动和有效地探索通过调整增强的参数的GPU加速的DREAMPlace布局引擎与多目标贝叶斯优化。因此,我们在几个小时内生成布局解决方案,实现与商业工具相当的PPA,并优于开源学术工具上级。我们的进步可以帮助缩短早期建筑探索的周转时间,并更准确有效地评估平面图修改决策。