1. 数据流驱动的宏单元翻转优化方法概述
在VLSI物理设计领域,宏单元布局优化一直是提升芯片性能的关键环节。随着工艺节点不断演进,设计复杂度呈指数级增长,传统基于规则和经验的布局方法已难以满足现代芯片设计的需求。我们提出的数据流驱动方法通过深入分析设计中的连接关系,为宏单元布局优化提供了新的技术路径。
宏单元翻转优化本质上是通过调整宏单元在X轴和Y轴方向上的朝向(0°、90°、180°、270°),来优化其与周边单元的连接关系。在先进工艺节点下,由于层对齐限制,宏单元通常只能进行0°和180°的翻转(即沿X轴或Y轴翻转)。我们定义了四种翻转模式:不翻转(N)、沿X轴翻转(FN)、沿Y轴翻转(FS)、以及同时沿X和Y轴翻转(S)。
关键提示:在实际工程中,宏单元翻转不仅影响连接线长,还会改变电源网络分布和信号完整性,因此需要综合考虑多方面因素。
2. 数据流向量化与分解技术
2.1 数据流向量空间建模
数据流本质上通过其方向性和加权特性编码了设计中的连接信息,非常适合用向量空间进行表示。我们将数据流映射到向量空间(VT),识别出三种与宏单元翻转密切相关的向量类型:
- Vmm:宏单元之间的连接向量
- Vmc:宏单元到标准单元簇的连接向量
- Vmcc:宏单元到多跳标准单元簇的连接向量
实验表明,距离宏单元两跳以上的标准单元对布局影响可以忽略,因此我们限定分析范围为两跳内的连接关系。通过对这些向量在X和Y方向上的投影(xVT和yVT)进行分析,可以量化数据流在不同方向上的强度。
2.2 宏单元间连接分解(Vmm)
Vmm分解的核心是确定向量的起点和终点。在我们的方法中,分解坐标系的原点设在目标宏单元所有引脚位置的中点。通过这种设置,宏单元翻转问题被转化为精确放置这些引脚的问题。
对于具有多个出度连接的宏单元,我们利用向量的可加性,将同一轴线上的分解向量叠加。具体计算公式如下:
Vmm = bitwidth * ((xm1, ym1) - (xm2, ym2)) // 式(9) x{Vmm} = x{Vmm1} + x{Vmm2} + ... + x{Vmmn} // 式(10) y{Vmm} = y{Vmm1} + y{Vmm2} + ... + y{Vmmn}其中bitwidth表示数据流位宽,(xm1, ym1)和(xm2, ym2)分别表示连接两端的坐标。
2.3 宏单元与标准单元连接分解(Vmc和Vmcc)
对于宏单元与标准单元簇的连接,我们首先使用式(11)计算标准单元簇的几何中心:
xgeo_center = (1/c) * Σxi // c为簇中单元数量 ygeo_center = (1/c) * Σyi然后按照与Vmm类似的方法进行向量分解和叠加(式12)。对于多跳连接(Vmcc),我们先计算各跳的几何中心,再基于这些中心确定虚拟中心位置。
3. 基于数据流的翻转决策机制
3.1 加权向量投影分析
通过上述分解方法,我们得到三类数据流向量(Vmm、Vmc、Vmcc)的投影。式(13)展示了如何计算它们在X和Y轴上的加权和:
x{VT} = α*x{Vmm} + β*x{Vmc} + γ*x{Vmcc} y{VT} = α*y{Vmm} + β*y{Vmc} + γ*y{Vmcc}其中α、β、γ是超参数,经过大量实验验证,我们设定α=0.55、β=0.3、γ=0.15。这种设置在设计规模变化时仍能保持良好性能。
工程经验:在纯宏单元-标准单元连接的设计中,Vmc的权重需要适当提高,通常可调整为β=0.5。
3.2 翻转方向判定
宏单元的翻转决策通过比较x{VT}和y{VT}的幅值来确定:
- x{VT}幅值较大时,指导左右翻转(X轴方向)
- y{VT}幅值较大时,指导上下翻转(Y轴方向)
这种机制类似于线性代数中的主成分分析(PCA),选择数据流影响最强的方向进行调整。算法3展示了基于X轴翻转的完整决策流程(Y轴同理)。
4. 实验验证与性能分析
4.1 实验设置
我们在OpenROAD流程中实现了DAS-MP方法,使用Yosys生成网表,在Intel Core i7-11700平台进行测试。对比对象包括:
- Triton Macro Placer (TMP):OpenROAD默认布局器
- RTL-MP:近期发布的数据流感知布局器
- Hier-RTLMP:OpenROAD中最先进的层次化布局器
评估指标包括:
- HPWL(半周长线长):布局质量核心指标
- 拥塞溢出:反映布线难度
- 时序指标:WNS(最差负裕量)、TNS(总负裕量)
- 功耗和面积
4.2 结果分析
4.2.1 HPWL优化效果
表III显示,完整版DAS-MP(DE+FT)平均HPWL降低7.9%,相比仅使用数据流提取的DAS-MP(DE)版本又有显著提升。以black parrot设计为例(图8),我们的方法通过准确识别关键连接,将相关单元和宏单元放置得更近,避免了传统布局器因忽略某些连接而导致的线长增加。
特别值得注意的是"推边界"操作的影响。传统做法将宏单元推向边界以腾出标准单元空间,但数据流分析表明这有时会增加强连接单元的线长。如图9所示,在TinyRocket设计中,不推边界策略使两跳连接的HPWL优化了6.3%。
4.2.2 拥塞改善
DAS-MP(DE+FT)平均减少拥塞溢出82.5%。这种改善源于:
- 宏单元与关联单元簇的更优相对位置
- 翻转优化减少了长距离绕线
- 更好的布线资源利用率
图11展示了swerv_wrapper设计的拥塞图对比,我们的方法明显减少了热点区域。
4.2.3 时序性能提升
表IV显示,DAS-MP(DE+FT)平均改善WNS 36.97%,TNS 59.44%。这种提升主要来自:
- 缩短关键路径的线长
- 减少信号传播延迟
- 优化后的布局为后续布线留下更多优化空间
在功耗和面积方面,我们的方法仅带来1.3%的面积增加和2.24%的功耗上升,影响可控。
4.3 运行时分析
表V显示,完整方法(DAS-MP(DE+FT))的运行时比RTL-MP增加约3.12倍。但如图12所示,数据流提取和翻转优化仅占总运行时的1.5%以内,主要开销来自后续的模拟退火布局过程。
特别地,我们引入了反馈机制优化两跳连接的提取效率,使运行时额外开销从3.21倍降至2.83倍。宏单元翻转本身仅占提取步骤的10-16%,却能带来显著的PPA收益。
5. 工程实践中的关键考量
5.1 面积感知的精细调优
通过考虑宏单元面积因素,我们的方法平均减少拥塞溢出1.43%(最大17.23%),同时改善时序性能(WNS 0.58%,TNS 10.33%)。这种优化特别适用于宏单元密集的设计。
5.2 翻转方向的精细控制
方向优化平均减少拥塞溢出2.06%(峰值24.29%),提升时序指标(WNS 2.38%,TNS 17.40%)。在实际工程中,我们建议:
- 对高频信号路径相关的宏单元优先应用方向优化
- 对面积较大的宏单元优先应用面积感知优化
- 两种技术结合使用可获得最佳效果(表VI)
5.3 实际部署建议
增量优化策略:在完整流程后,可对关键模块单独应用翻转优化,避免全局重新布局的高成本。我们开发的IncreDFlip工具已实现这一功能。
多目标权衡:建立包含HPWL、拥塞、时序的复合成本函数,通过调整权重适应不同设计需求。
早期评估:在RTL阶段就开始数据流分析,为后续物理实现提供指导。
工艺适配:针对不同工艺节点的层对齐限制,动态调整可用的翻转选项。