Abstract
在现代芯片设计流程中,放置和布线是两个不可或缺且具有挑战性的 NP-hard 问题。与使用启发式算法或专家精心设计的算法的传统求解器相比,机器学习凭借其数据驱动的性质显示出了广阔的前景,它可以减少对知识和先验的依赖,并且通过其先进的计算范式具有更大的可扩展性 (例如 GPU 加速的深度网络)。本调查首先介绍了基本的布局(Placement)和布线(Routing),并简要介绍了经典的无学习解算器。
1. Introduction
布局和布线是芯片设计过程中最关键但最耗时的两个步骤。布局将逻辑门和功能块等各种逻辑组件分配到芯片物理布局中的离散位置,布线完成物理上的互连。布局和布线的目标是在约束条件下优化功率、性能和面积 (power, performance, and area PPA) 指标,例如布局密度和布局拥塞。
布局可以看作是具有几何约束的二维装箱问题的一个更为复杂的变化。后者被认为是 NP-hard 问题。布局与电路设计的逻辑互连和逻辑元件的几何位置有关。由于在布线之前无法准确评估放置解决方案的质量,导致设计流程中的反馈循环很长,因此现代布局需要在早期阶段减少布线拥塞并提高可达性。布线已经被证明是 NP-hard问题。布局与布线紧密耦合,一个优秀的布局解决方案可以带来更好的芯片面积利用率、时序性能和可达性。
目前 EDA 领域的 ML 研究主要分为四类:传统的决策方法、性能预测、黑盒优化和自动化设计,这四类按照自动化程度递增。

2. Problem Background and Classic Solvers
2.1 Placement Problem
布局可以在不同的层次上进行。通常,全局布局(Global Placement)涉及宏布局(Macro Placement)和标准单元布局(Standard Cell Placement)。详细布局(Detailed Placement)包括合法化(legalization),线长(wirelength)和可达性的细化(routability refinement)。
-
Global Placement
芯片设计过程中最关键但最耗时的步骤之一,可以看作是一个约束优化问题。它为网表(netlist)的各种组件分配精确的位置,包括芯片布局中的宏和标准单元。标准单元是基本逻辑单元,即逻辑门,宏是预先设计的IP块,例如 SRAM。良好的布局会带来更好的芯片面积利用率、时序性能和可达性,而较差的布局会影响芯片的性能,甚至使其无法制造。在形式上,全局布局的输入是一个可以用超图表示的网表 H=(V,E)H=(V,E)H=(V,E),V={ v1,v2,⋯ ,vn}V=\{v_1,v_2,\cdots,v_n\}V={ v1,v2,⋯,vn} 表示宏和标准单元组成的点集而 E={ e1,e2,⋯ ,em}E=\{e_1,e_2,\cdots,e_m\}E={ e1,e2,⋯,em} 表示超边,ei∈Ee_i\in Eei∈E 是点集的非空子集。我们试图确定宏和标准单元格的位置 (xi,yi)(x_i,y_i)(xi,yi

在现代芯片设计流程中,布局和布线是NP - hard问题。与传统求解器相比,机器学习前景广阔。本文介绍了布局和布线问题及经典求解器,阐述了机器学习在布局和布线中的应用,包括增强传统布局器、决策制定、预测模型嵌入等,还提及开源项目和公共数据集,同时指出了面临的挑战和局限。
最低0.47元/天 解锁文章
970

被折叠的 条评论
为什么被折叠?



