一种基于层次化划分的布图规划方法技术

技术编号:28131646 阅读:22 留言:0更新日期:2021-04-19 11:54
本发明专利技术涉及一种基于层次化划分的布图规划方法,包括以下几个步骤:步骤1使用一个模块粗略排布方法,通过对原始问题的递归划分生成一组只含有一个模块的子问题构造初始布图;步骤2针对布图非法的两个因素模块重叠和模块超出电路板构造势能函数,并使用对变量带上下界约束的拟牛顿法优化势能函数将初始布图转化为合法布图;如果以上合法化失败,步骤3模块精细排布方法先将大模块固定在电路板上,再将剩余小模块放置到电路板上,并使用最后使用布图合法化工具将布图调整为合法;步骤4输出最终的布图结果;本发明专利技术为二维布图规划问题提供了一种连线长度更小的布图算法。一种连线长度更小的布图算法。一种连线长度更小的布图算法。

【技术实现步骤摘要】
一种基于层次化划分的布图规划方法


[0001]本专利技术属于集成电路电子自动化设计(VLSI EDA)
,尤其涉及一种基于层次化划分的布图规划方法。

技术介绍

[0002]集成电路电子自动化设计采用的是层次化结构,依次进行结构、功能、逻辑和电路和物理设计,最后一步的物理设计需要将将元件的电路表示转换为几何表示、将连接元件的线网转换成几何连线图形。布图规划(Floorplanning)是物理设计的一个核心步骤,将元件抽象成几何模块互不嵌入的布图到芯片上,同时优化芯片面积、连线长度和能耗等。布图规划处于物理设计的早期阶段,一方面可以提供前期阶段的反馈数据,指导系统架构的调整,另外一方面在布图过程中可以考虑后续布线阶段的需求,在优化模块布局的同时对布线中的拥塞和时延目标进行初步优化,可以看到布图规划在保证模块合法放置的同时,在整个EDA设计流程中起到了承上启下的作用是非常关键的一个步骤。
[0003]因为布图规划问题是一个NP

hard问题,当问题规模达到百级以上时,精确算法不能在有效的时间求解,因此当前对该问题的求解主要是采用了启发式求解算法。当前研究方法整体上可以分为三类:基于模拟退火和遗传的元启发式方法、基于图分割的方法和基于力引导的方法。其中基于元启发式的方法存在求解速度慢的问题,当模块规模达到上百时,求解质量较差;当前基于图分割的方法只对问题进行了较少层次的分割,且分割中未考虑整体模块间的连接关系,未能最大程度发挥图分割算法的能力。当前表现最优的是基于力引导的方法。
[0004]针对以上技术问题,故需对其进行改进。

技术实现思路

[0005]基于现有技术中存在的上述不足,本专利技术提供了一种基于层次化划分的布图规划方法QinFer。
[0006]为了达到以上目的,本专利技术所采用的技术方案是:一种基于层次化划分的布图规划方法,其特征在于:包括以下几个步骤:
[0007]步骤1:模块粗略排布;对原问题进行层次化划分,每次划分先使用图分割方法将模块分为两部分使得两部分间的模块连接尽量的少,再平行于电路板的短边,按照两部分模块面积比例分割电路板;迭代划分直至每个子问题均只包含一个模块,将每个模块放置到它对应的子电路板上,生成一个所有模块均匀放置在电路板上,但模块可能存在重叠或超出电路板的初始化布图;
[0008]步骤2:布图合法化调整;基于模块间的重叠面积大小和模块超出电路板的程度构造势能函数,采用L

BFGS

B优化势能函数,当势能函数可以减小到零时,合法化调整成功,跳转到步骤4;合法化识别时,若前期还未调用过步骤3,则跳转到步骤3,否则跳转到步骤4;
[0009]步骤3:模块精细排布;结合步骤1生成的初始布图,先将问题中尺寸超大的模块固
定在电路板上,之后再采用问题层次划分的方式将剩余的非超大模块均匀排布到电路板上剩余的空间中,从而生成模块排布更加均匀的初始化布图;跳转到步骤2;
[0010]步骤4:布图输出;输出计算所得布图。
[0011]作为本专利技术的一种优选方案,所述步骤2中,布图合法化调整,具体包括以下几个步骤:
[0012]步骤2.1;查找存在重叠关系的模块;本专利技术采用的quadtree的方式查找所有的重叠;Quadtree的构造中,每个顶点对应一个子电路板和该子电路板重叠的所有模块,初始的根节点对应于初始的电路板和所有模块,之后进行迭代地四划分;对于每个模块,遍历查找所有包含该模块的叶子节点,并与对应叶子节点内的所有模块进行重叠性检查,找出所有存在重叠的模块;
[0013]步骤2.2;计算布图总势能;本专利技术中提出水平/竖直嵌入深度和水平/竖直超出幅度的概念,并基于两个概念提出了一种评估模块重叠和模块超出电路板程度的势能函数;
[0014]步骤2.3;使用L

BFGS

B算法对势能函数进行梯度下降优化。
[0015]作为本专利技术的一种优选方案,所述步骤3中,模块精细排布,具体包括以下几个步骤:
[0016]步骤3.1;固定超大模块;基于步骤1划分生成的叶子问题,每个超大模块会分配了一个子电路板,将该子电路板所对应的区域作为它的固定区域;根据模块面积和对应固定区域边的特性,选取要固定的模块,之后再根据边的特性选取要固定模块对应的固定区域的一个角,将选取的超大模块放置到对应角;
[0017]步骤3.2;非超大模块排布;本专利技术的非超大模块排布采用问题迭代二分策略,直至划分生成的每个子问题中只包含一个模块,将模块放置到分配的对应区域内,生成初始布图;在问题划分过程中,如果当前问题中电路板因为超大模块的固定不是规则的矩形,则在问题划分时,不再是固定的先分割模块,再分割电路板的顺序;而是根据电路板上空间的轮廓,考虑到划分生成的两个子问题的电路板上尽量不要有狭窄的空间不易于模块的放置,动态判定模块与电路板分割的先后顺序。
[0018]作为本专利技术的一种优选方案,所述步骤3.2中,非超大模块排布,具体包括以下几个步骤:
[0019]步骤3.2.1将非超大模块和固定超大模块后电路板组成的问题,放入到问题队列中;
[0020]步骤3.2.2从队列中取出一个问题,根据候选切割线、切割系数、切割线距离和切割距离,确定问题中电路板的切割线;
[0021]步骤3.2.3:使用步骤3.2.2选取的切割线将电路板分割成两部分;
[0022]步骤3.2.4:将模块分割成固定面积比例的两份。通过hMeits分割工具中UBfactor参数的自动设置和虚拟模块的设置,使用hMetis进行模块固定面积比例分配;
[0023]步骤3.2.5:先分割模块再分割电路板的方式将问题分割成子问题;
[0024]步骤3.2.6:针对步骤3.2.2中生成的所有只含有一个模块的子问题,将其中的模块放置到对应的子电路板上,生成初始化布图。
[0025]本专利技术的有益效果是:
[0026]本专利技术所设计的基于层次化划分的布图规划方法框架可以最大程度发挥图分割
的能力,同时在层次化分割过程中每次划分都充分考虑了整体模块的连接关系,从而最大优化连线长度。本专利技术提出的模块精细排布和布图合法化调整可以保证以上层次化划分框架下,可以得到合法的布图;综上,本专利技术的布图规划方法可以在保证布图合法化成功率的基础上,在有效的计算时间内给出网络连线长度更小的布图结果。
附图说明
[0027]图1是本专利技术实施例中QinFer方法示例;
[0028]图2是本专利技术实施例中超图构造示例;
[0029]图3是本专利技术实施例中quad

Tree构造示例;
[0030]图4是本专利技术实施例中模块水平嵌入深度和竖直嵌入深度示例;
[0031]图5是本专利技术实施例中模块水平超出幅度和竖直超出幅度示例;
[0032]图6是本专利技术实施例中超大模块固定区域示例;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于层次化划分的布图规划方法,其特征在于:包括以下几个步骤:步骤1:模块粗略排布;对原问题进行层次化划分,每次划分先使用图分割方法将模块分为两部分使得两部分间的模块连接尽量的少,再平行于电路板的短边,按照两部分模块面积比例分割电路板;迭代划分直至每个子问题均只包含一个模块,将每个模块放置到它对应的子电路板上,生成一个所有模块均匀放置在电路板上,但模块可能存在重叠或超出电路板的初始化布图;步骤2:布图合法化调整;基于模块间的重叠面积大小和模块超出电路板的程度构造势能函数,采用L

BFGS

B优化势能函数,当势能函数可以减小到零时,合法化调整成功,跳转到步骤4;合法化识别时,若前期还未调用过步骤3,则跳转到步骤3,否则跳转到步骤4;步骤3:模块精细排布;结合步骤1生成的初始布图,先将问题中尺寸超大的模块固定在电路板上,之后再采用问题层次划分的方式将剩余的非超大模块均匀排布到电路板上剩余的空间中,从而生成模块排布更加均匀的初始化布图;跳转到步骤2;步骤4:布图输出;输出计算所得布图。2.根据权利要求1所示的基于层次化划分的布图规划方法,其特征在于,所述步骤2中,布图合法化调整,具体包括以下几个步骤:步骤2.1;查找存在重叠关系的模块;本发明采用的quadtree的方式查找所有的重叠;Quadtree的构造中,每个顶点对应一个子电路板和该子电路板重叠的所有模块,初始的根节点对应于初始的电路板和所有模块,之后进行迭代地四划分;对于每个模块,遍历查找所有包含该模块的叶子节点,并与对应叶子节点内的所有模块进行重叠性检查,找出所有存在重叠的模块;步骤2.2;计算布图总势能;本发明中提出水平/竖直嵌入深度和水平/竖直超出幅度的概念,并基于两个概念提出了一种评估模块重叠和模块超出电路板程度的势能函数;步骤2.3;使用L

BFGS

【专利技术属性】
技术研发人员:姬朋立何琨王正理金燕武继刚
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1