HubRouter
Published in:2024-03-10 | category: EDA RL 科研

HubRouter: Learning Global Routing via Hub Generation and Pin-hub Connection

Introduction

​ 全局布线(Global Routing - GR)是 VLSI 设计中最复杂且最耗时的组合问题之一。GR 目标是总线长最小,同时避免拥塞(Congestion),是个 NP 问题。

​ 传统采用启发式算法,多样性和规模问题对传统算法有了挑战,机器学习(ML)已经用于全局布线,在芯片设计中从逻辑合成到布局。

​ 新式算法:

  • 深度强化学习(Deep Reinforcement Learning - DRL )和生成式模型(Generative model)已经被用来解决全局布线。问题在于,DRL很受状态空间(State Space)影响,随着网格空间增大,需要花费大量时间生成。相反,生成式模型有一次性生成能力,在计算上更容易处理。

  • 生成式方法在训练时候考虑连通性限制,确保布线满足电路连通性要求。但是问题在于,如果初始生成路径不满足连通性要求时候,后处理阶段会变成一种穷举搜索过程。

​ 图一这里上图表示原始布线,下图表示算法生成的布线,生成布线没有正确连接所有应该连接的点(pin),对于这样的情况,平均连通率很低,低于20%,意味着超过80%的生成布线需要经过耗时的后处理才能达到要求。显著的缺点。

Hub

​ 为了解决上述问题,定义了一个新的概念,叫hub。将pin - pin问题 --> hub - pin问题 。

​ 提出了一种新的两阶段全局布线方法 --> HubRouter

1.Hub-generation phase(hub生成阶段)

​ 可以在多个框架下生成,比如 GAN (Generative Adversarial Nets) , VAE (Variational Auto-Encoder) , DPM (Diffusion Probabilistic Models) 。虽然hub是生成阶段的主要输出,但为了提升生成质量和准确性,发现生成附加信息是非常有用的。比如感知和掩码(local perception and stripe masks),能够去除噪声点。

2.pin-hub-connection phase(hub和pin连接阶段)

将连接视为最小斯坦纳树(RSMT)问题,使用 actor-critic 模型网络策略。

2

​ 图二是与不同全局布线方法特点对比。

​ 文中总结重点是:

  • 提出 hub,意味布线的关键点,在保证连接性情况下有效连接。

  • 设计 HubRouter 算法,连通性保证消除了耗时的后处理(Post-Processing)。

  • 生成阶段,引入多任务学习,布线和掩码一起生成,提高 hub 生成质量;连接阶段,采用 actor-critic 模型网络有效模拟 RSMT 构建。

  • 在多个真实数据集上实验,目前的SOTA模型。

Background and Preliminaries

Global Routing(全局布线)

图 a :芯片画布和网表

图 b: 网格图

全局布线主要目标连接所有需要的连接,在基础上,减少布线线长(WL)和溢出(OF)。

Generative Global Routing(生成全局布线)

生成模型 views:

一般看来:全局布线 --> 布线图

生成模型:布局 --> 图像 ; 布线 --> 独立条件的图像生成

具体来说,像素(pixels)代表全局布线中小方格(tiles),从给定条件图像生成布局输出图像。

条件图像包含三个 channel:第一个 channel 代表引脚位置,另外两个 channel 代表水平和垂直网格边缘容量。

图 c:条件图像 --> 亮点代表引脚位置

图 d:布线图像 --> 布线路径

Hub

图 d 还表示了 hub 的四种不同形态,我的理解就是 1,2,3,4 个引脚输出:+ ⊤ ⌞ ·

Difference between Hubs and Steiner Points(Hub 点和斯坦纳点不同)

斯坦纳点(Rectilinear Steiner Point --> RSP)是搜索全局最小总距离,但是 hub 是来确定路径。

RSP是Hub的特例,Hub可以随意生成不同形状的路径(不仅是最短的)

From Pin-Pin to Hub-Pin Connection: A Two-phase Routing Scheme

Approach Overview

概括了一个两阶段模型:

1.第一阶段:中心点生成阶段(Hub-Generation Phase)

​ 在这个阶段,模型旨在逼近条件分布 pθ(x|z, c) 使其接近先验分布 p(x|c)。给定条件 c 和从先验分布 pz(z) 中采样得到的潜在变量 z(通常假设为高斯分布),模型会生成一些“中心点(hubs)”。

​ 这里的 cx 分别代表条件图像和输入图像。条件图像可能包括引脚位置、已经提取的中心点以及条带掩模(stripe mask)。条带掩模是用来指示布线区域的一种方式,它可以帮助模型更好地理解哪些区域可以用于布线。

2.第二阶段:引脚-中心点连接阶段(Pin-Hub-Connection Phase)

​ 在这个阶段,模型连接第一阶段生成的中心点,以获得最终的布线路由。这个过程可以被视为构建矩形稳定最小生成树(Rectilinear Steiner Minimum Tree,RSMT)的一部分。为了完成布线,模型遵循了一个基于强化学习(Reinforcement Learning,RL)的算法 REST。

​ 在两阶段的过程中,作者还提出了一个多任务学习框架来提高生成中心点的质量。特别是,提出了一种新颖的条带掩模学习方法,旨在减轻噪声点案例可能造成的负面影响。算法的具体细节在附录 B 中给出。

Hub-generation Phase: Multi-task Learning of Hub, Mask, and Unused Pre-Routing(Hub 生成阶段)

​ Hub 生成可以表示为图像到图像的任务,附录 B 介绍了将 GAN,VAE,EAN 纳入到生成框架。

​ 对比 PRNet 生成模型,PRNet 在 CGAN 中使用双向映射将连接约束注入训练目标,将准确率提高了 10%,但在复杂情况下几乎无效。

​ Hub 生成与其他图片生成任务有所不同,在布线时候,很微小的噪声都会对结果产生很大的影响。特别是最外侧的噪声,会显著增加线路长度,eg 图(b) 和图© 。图(b) 的两个噪声点导致了图© 的线长显著增加(所有生成的 Hub 都需要在同一线路连接)。

​ 为了保持高精度生成结果,提出多任务处理框架,输入 input 为:Hub ,Route ,Mask。Hub 为第一阶段主要目的,Route 和 Mask 为辅助。特别是,预先生成的 Routes 是预路由结果,在第二阶段并不使用,但是用于在基于 CNN 的网络中获得更好的连续局部感知。

​ 提出了 stripe mask 新掩码模块,以关注 hub 生成的不良情况。具体来说,stripe mask 定义为一个矩阵,其中的值只有 0 和 1,值为 1 表示在对应行或列有一个 hub。在推理时,通过一个二值化的 stripe mask 来掩盖生成的 hubs,从而剔除噪声点,这样可以缩短生成的路线,去除多余的路径。

两个优点:

  • 实际测试,适当的stripe mask可以消除大部分噪声点。

  • 布线结果不需要唯一,而stripe mask模块能够提供不同的路由选择。例如在图4(d)中,两个黑色的hubs可以任意选择一个黄色点作为转折点来相互连接,同时路径长度保持相同。

Pin-hub-connection Phase: RSMT Construction

Pin - Hub 连接 归纳为 RSMT 过程。

Hub 优势:

  • 没有Hub,RSMT构造只能找到最短布线,不能在合适情况下生成合适布线。

  • 一个好的Hub生成可以将RSMT布线阶段时间复杂度表示为O(n log n)。

图 3 中 Actor 网络用于创建有坐标信息的 RES 结果,Crieic 网络设置 Baseline 预测 Actor 网络构建的 RSMT 预期布线长度,通过更新策略最小化 RSMT 长度。

Experiment and Analysis

实验设备:i9-10920X CPU, NVIDIA RTX 3090 GPU and 128 GB RAM

实验过程:不同种子下重复三次,平均值和标准差值与 PRNet 一致。

Datasets and Setups

ISPD-07 和 ISPD-98

“Route-small-4”和“Route-small”分别表示具有不超过和超过 4 个引脚并且引脚的半周长线长(HPWL)小于 16 的情况。

'Route-large-4’和’Route-large’相似,其 HPWL 大于 16。

Unconnected Cases in Previous Generative Global Routing Approaches(连通情况对比)

HubRouter 为最优结果

Benchmarking Global Routing and Ablation Study(全局布线 消融实验)

Benchmarking Global Routing(全局布线)

简单来说:需要高质量 --> GAN ; 需要速度快 --> VAE ; 有丰富的计算资源 --> DPM

Ablation Study(消融实验)

​ 1.Hubs --> HubRouter-h

​ 2.Hubs + Routers --> HubRouter-hr

​ 3.Hubs + Routers + Stripe Masks --> HubRouter-hrm

结果表明:

​ 生成过程中,HubRouter-hrm 效果最好

​ 连接过程中,HubRouter (T=8)效果最好

Further Studies and Discussion(进一步研究)

​ HubRouter 不仅可以做全局布线,分别执行 RSMT 构造和交互式路径重规划,以体现 HubRouter 的通用性。使用 GAN 网络。

RSMT Construction(RSMT 构造)

​ 当度小于 25 时,REST 的性能最好,而当度大于 30 时,HubRouter 的性能优于其他方法。

​ os:这里的度(degree)我觉得是前面提到的。好吧其实我不太理解。

Interactive Path Replanning(交互式路径规划)

​ 通过不同的 Hub 决定新的路径规划。

Analysis of Scalability and Time Overhead(可扩展性和时间)

​ HubRouter 的 RSMT 构建时间比 GeoSteiner 慢。

Non End-to-End framework(非端到端框架)

​ HubRouter 是两阶段框架,PRNet 是端到端框架。各有千秋。

Prev:
On_a_Moreau_Envelope_Wirelength_Model_for_Analytical_Global_Placement
Next:
WireMask