Rotaionfp论文笔记


前言

本文介绍了一种基于静电的固定轮廓布图算法,该算法结合了模块旋转和尺寸调整,以减少线长。提出了一种新的密度计算算法,准确计算模块旋转后的密度函数,并且还设计了模块合法化算法,最后,采用线性规划来最小化线长,提高结果的质量。


一、背景介绍

A、先前的工作

布图规划是一个已知的NP-难问题,最先进的布图规划器PeF利用泊松方程获得了不错的结果,然而它忽略了模块方向。本文旨在通过线长优化驱动的方法来处理模块的的方向和长宽比来解决这个问题。
固定轮廓的布图规划技术可以分为两类:启发式算法 和 分析方法。
基于启发式的算法可以有效的处理模块的方向和长宽比,基于分析的布图规划由于建模困难,并没有考虑这两个因素。一般来说,基于分析的布图规划分为两个阶段:1. 全局布图规划阶段(允许重叠)2.合法化阶段(消除重叠)

B、我们的贡献

由于基于分析的算法对布图规划是最有效的,但处理模块方向和长宽比方面仍有局限性,文章为解决这个问题做了以下贡献:

  1. 为了处理模块的方向和纵横比,文章提出了两个新的变量:模块旋转角度和软模块宽度,使用分析法来优化这两个变量。
  2. 模块旋转后,提出了一种新的密度计算算法,用于不增加复杂度的基础上计算旋转模块的密度函数。
  3. 提出了一种基于传递约简图的合法化算法,并采用线性规划来最小化线长,提高结果的质量。
  4. 实验结果表明,与现有的布局算法相比,我们的算法在HB+和ami49 x基准电路上至少减少了5.9%和11%的半周长线长,同时保持了可接受的运行时间。

二、预备知识

A、固定轮廓的布图规划问题

设V为矩形模块的集合,由Vh和Vs组成,Vh表示硬模块集合,有固定的尺寸,Vs表示软模块集合,可以以固定的面积进行调整,受长宽比约束。

B、全局布图规划模型

全局布图规划模型将矩形固定轮廓划分为网格,并通过优化目标函数来确定模块的最佳位置。模块的方向和纵横比可以在全局布图规划阶段进行优化。全局布图规划问题的表述可以描述为一个约束最小化问题,

C、用于合法化的布图表示

我们用水平约束图和垂直约束图来表示一个布图,都为有向无环图。对于每个节点,设置两个属性,分别是左右能达到的最远位置,对于每条边,设置slack来表示最大可接受距离。

三、我们的布图规划算法

包括三部分:初始布图规划、全局布图规划、合法化。初始布图阶段我们输入电路网表,采用二次布局方法获得初始布图,下面详细介绍后两个阶段

A、全局布图规划

全局布图规划阶段,我们考虑线长和模块的密度,努力消除重叠的同时最小化线长,除了位置,优化过程中还考虑到了模块的旋转角度和软模块的宽度,从而得到更好的解。第一步利用线长梯度和密度梯度优化模块的坐标,第一步之后通过方向确定步骤来确定和固定模块的方向。第二步通过PeF提出的密度梯度和波长梯度同时优化坐标和宽度。
在算法中我们引入了旋转力和尺寸力的计算公式:1. 旋转力和尺寸力:我们将旋转力和尺寸力定义为优化目标,即长度相对于模块旋转度和软模块宽度的梯度,为求相关偏导数,使用[15]中提出的方法。
在此之上,再介绍密度力:2. 基于静电的密度模型将各模块在x,y方向上的密度力视为电场力。获得电场需要三次快速傅里叶变换。
通过算法1,得出与边相交的bin集合Ei和与内部相交的bin集合,对于Ei中的相交面积,我们使用多边形裁剪算法,而Ii中的交集面积等于它自己的面积。基于此,我们使用算法2,输入未计算的密度,所有模块集合,所有bin的宽度和高度,将面积与重叠面积累积为计算出的密度,作为输出。
3. 关于方向的确定,全局布图规划阶段第一步我们使用密度计算算法允许模块向任意角度旋转,第一步结束时,我们采用来自[15]的宏方向确定方法来确定它们的合法放置方向。

B、合法化

  1. 在初始约束图构建步骤中使用了更高效的传递归约算法,去除了一些不需要的传递边。
  2. 在约束图调整步骤中使用了更高效的最小割最大流算法,并且,在约束图调整步骤中修改了边容量公式并引入了模块大小和旋转步骤。这一步的目的是调整约束图以满足固定轮廓约束。调整过程又分为三部分,当约束图超出固定轮廓时,我们需要找到最长路径子图,使用边容量计算公式,与[13]不同的是,我们的目标是选择对另一个约束图影响最小的边。当全局规划布图结果较为复杂时,如图7(a)回导致合法化失败,为了充分利用剩余的松弛,我们提出了模块的大小与旋转。
  3. 算法3详细描述调整模块的大小与旋转的内容,优先执行模块定长,然后进行模块轮换。
  4. 模块坐标分配。通过上述步骤我们获得了一个合法的水平约束图和垂直约束图,类似[13]我们再使用线性规划来分配每个模块的最终位置。

四、实验结果

为了证明其有效性,我们将其与IBM-HB+[22]和ami49 x[23]基准上的最先进的地板规划器进行了比较。该算法用c++语言实现,在Linux操作 系统上以单线程模式运行。

A、IBM-HB+基准

HB+基准是通过将HB基准中最大的硬模块扩大100%并减少剩余软模块的面积而创建的,同时保留了模块的总面积。表1给出了DeFer、PeF 和我们的算法在HB+基准测试上的实验结果,从表中可以看出,与DeFer和PeF 相比,我们的布图规划算法分别实现了14.3%和5.9%的HPWL减少。

B、ami49_x基准

ami49x基准是目前最大的布图规划基准。值得注意的是,在本实验中,我们的HPWL比PeF低11%, 而在HB+基准测试中,这个数字是5.9%。我们认为这种差异是由于ami49x和HB+基准之间的差异。如前所述,在HB+基准测试中,模块的弓|脚都位于模块的中心,而在ami49 x基准测试中,模块的引脚几乎都位于模块的边缘。这也间接证明了我们的旋转和定径的有效性。

C、旋转和sizing的有效性

我们比较了ami49_x中禁用模块大小与旋转和启用之间的差距,结果表示,启用情况下可以使HPWL减少5%。


结论

本文提出了一种改进的基于静电的固定轮廓布图规划算法,该算法融合了模块旋转和线长驱动的模块尺寸。为了准确计算模块旋转后的密度函数,结合计算机图形学中的线图绘制算法和多边形裁剪算法,提出了一种新的密度计算算法。利用该算法,可以在不增加复杂度的前提下,精确计算出模块旋转后的密度函数。设计了一种基于约束图调整后的模块缩放和模块旋转的布图合法化算法。此外,还采用了线性规划来最小化线长并提高结果的质量。一个理想的方案是利用线长梯度和密度梯度同时优化模块的坐标、旋转角度和宽度,这值得进一步研究。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值