当前位置: 首页 > 专利查询>清华大学专利>正文

基于模块变形的集成电路宏模块布局方法技术

技术编号:3212367 阅读:275 留言:0更新日期:2012-04-11 18:40
一种基于模块变形的集成电路宏模块布图规划和布局方法属于模块级布局的计算机辅助设计领域,其特征在于:它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解。在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题。它较迄今为止该领域的其它算法更为稳定、高效,且取得了目前最好的结果,而且具有工业应用价值。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

属于集成电路计算机辅助设计领域,尤其涉及BBL(Building Block Layout)领域。
技术介绍
在集成电路的布局中,层次式布图设计,模块重用技术,知识产权模块的大量应用,片上系统尤其是数模混合片上系统的设计,以及模拟电路器件级布图问题等,这些问题都可以归结为集成电路宏模块的布图规划和布局问题,即Building Block LayoutBBL模式的布图问题,它已成为当前的研究热点。上述模块级的布局问题可以转化成一个大规模组合优化问题。该模块级的布局(BBL)可简单描述为设有一个n个矩形模块的集合,模块的高和宽均为给定的实数,并且模块具有一定的方向,n个模块的一个布局就是在模块互不重叠的情况下,将模块放置在平面上,平面上包含这n个模块的最小矩形区域被称为芯片。模块级布局就是寻找一个最优布局或近似最优布局,使得由芯片面积或者其它优化目标组成的目标函数值达到最优。迄今为止有很多方法被应用于BBL布图模式,例如最小割方法、构造法、力向量法、分级设计方法、2D边界搜索方法、分支限界法、解析型算法、模拟退火算法和遗传算法、机器学习和神经网络算法等等。其中一些方法是由原先的标准单元布局方法借用而来。这些方法要么处理问题的规模非常有限,要么方法的稳定性很差。从得到的结果来看,与实际应用还有非常大的差距。
技术实现思路
本专利技术的目的在于提出一种较迄今为止该领域的其它算法更为稳定、高效,且取得了目前最好的结果的基于模块变形的集成电路宏模块布图规划与布局方法来作为解决宏模块布图问题的工业工具。本专利技术的特征在于它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解。在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题。其中的步骤依次如下1)初始化设置(1)近似因子的初始值,也就是α的最大值;(2)求解近似问题时局部搜索次数NOIMPUP;(3)设置最终布局的目标宽长比及其权重;(4)设置目标函数中总线长的权重。2)从模块描述文件读入模块及线网信息(1)读入模块四角坐标,并根据模块四角坐标计算模块的宽、高;(2)读入模块上引线端坐标,并将其转化为相对模块左下角的坐标;(3)按读入顺序给模块编号,并计算总模块数、各模块面积之和;(4)按下列公式计算读入的所有模块(设为n个)的宽、高平均值;w‾=1nΣiwi]]>h‾=1nΣiwi]]>其中wi第i个模块的宽,hi第i个模块的高;3)构造初始布局的拓扑结构即模块间的位置关系,并记为A;4)计算布局问题的最优或近似最优解(1)根据近似因子α的值按下列公式之一计算模块在近似问题中的实际尺寸。 其中wi、hi分别为模块i的宽、高;wi(α)、hi(α)分别为模块i在近似因子α下的实际的宽、高;pw,ph为归一化参数,其取值满足max(wi)i∈{1,...,n}/10pw∈(0,1],max(hi)i∈{1,...,n}/10ph∈(0,];]]> (2)根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q;(3)用下列公式根据当前各模块大小计算相应引线端相对该模块左下角顶点的坐标(pin_xji(α),pin_yji(α));]]> 其中pin_xji,pin_yji]]>是原问题中属于第i个模块的第j个引线端相对模块i左下角顶点的坐标;wi、hi原问题中模块i的宽和高;再用下述公式根据模块右上角坐标计算引线端在布局中的位置(p_xji(α),p_yij(α));]]> 其中xi, yi,为本布局中模块i的右上角坐标。(4)根据下述公式计算各线网线长估计值,及总线长估计值,单个线网的线长根据线网中的引线端位置用半周长模型进行估计设某线网E有k个引线端p1(p_x1,p_y1),…,pk(p_xk,p_yk)括号内坐标为引线端在布局中的坐标;则该线网的线长WireLength(E)用下述公式估计,WireLength(E)=(maxi∈{1,...,k}(p_xi)-mini∈{1,...,k}(p_xi))+(maxi∈{1,...,k}(p_yi)-mini∈{1,...,k}(p_yi))]]>总线长估计值为TotalWireLength=Σk=1LWireLength(E),]]>L为线网的个数(5)下列公式评价Q,得到目标函数值Cost;CostQ=Area+λ×TotalWireLength+ω×Rs2其中Area为芯片面积Area=max{xi}i∈[1...n]×max{yi}i∈[1...n]]]>TotalWireLength(总线长)为各线网估算长度之和;λ为总线长的权重,ω为宽长比的权重;设R为期望的芯片宽长比,ration为芯片实际宽长比,则Rs=| R-max(ration,1/ration)|;(6)运用局部搜索的方法,求取当前近似问题实例的局部最优解。5)输出当前布局Q。6)用下述公式计算下一个近似问题的近似因子αd; 如果αd>=1,则以当前的拓扑结构A作为初始布局的拓扑结构,求解下一个近似问题;7)如果αd<1,则输出的当前布局即为最终布局,即原问题实例的最终解。步骤3)所述的构造初始布局的拓扑结构是指按照模块编号由小到大的顺序,从设定的起始位置沿网格由下向上,然后由左向右的顺序,依次安置模块到矩形网格的方法构造初始布局的拓扑结构。所述的步骤4)中的(2),即根据模块间的拓扑关系A,建立对应拓扑结构A的布局Q是指从左下角坐标顶点所在的网格开始,从右下角向左上角作一条对角线(135°对角线),依次从x方向右移一个网格,再从右下角向左上角作一条对角线,如此重复,一直做到右上角的网格为止;再从第一条对角线开始,依次两两连接对角线的左上角,且每条对角线只被连接一次;从第二条对角线开始依次两两连接对角线的右下角,且每条对角线只被连接一次。然后从左下角坐标顶点所在网格开始,沿连接对角线所形成的连线顺序依次计算各模块的右上角坐标,建立相应的布局,在计算过程中,各模块左面和下面的模块的坐标都已经先期计算过;并计算芯片的宽长比。所述步骤4)中的(6),即运用局部搜索算法求取当前近似问题实例的局部最优解,它包含有以下步骤从循环变量R=0开始,当R<NOIMPUP时,重复如下步骤1).用下列方法之一从当前本文档来自技高网...

【技术保护点】
基于模块变形的集成电路宏模块布图规划和布局方法,包括模块变形策略,其特征在于:它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解,在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题,其中的步骤依次如下:1)初始化设置:(1)近似因子的初始值,也就是α的最大值;(2)求解近似问题时局部搜索次数NOIMPUP;(3)设置最终布局的目标宽长比及其权重;(4)设置目标函数中总线长的权重;2)从模块描述文件读入模块及线网信息:(1)读入模块四角坐标,并根据模块四角坐标计算模块的宽、高;(2)读入模块上引线端坐标,并将其转化为相对模块左下角的坐标;(3)按读入顺序给模块编号,并计算总模块数、各模块面积之和;(4)按下列公式计算读入的所有模块(设为n个)的宽、高平均值;***其中:w↓[i]:第i个模块的宽,h↓[i]:第i个模块的高;3)构造初始布局的拓扑结构即模块间的位置关系,并记为A;4)计算布局问题的最优或近似最优解:(1)根据近似因子α的值按下列公式之一计算模块在近似问题中的实际尺寸,***其中:w↓[i]、h↓[i]分别为模块i的宽、高;w↓[i](α)、h↓[i](α)分别为模块i在近似因子α下的实际的宽、高;pw,ph为归一化参数,其取值满足***(2)根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q;(3)用下列公式根据当前各模块大小计算相应引线端相对该模块左下角顶点的坐标(pin_x↓[j]↑[i](α),pin_y↓[j]↑[i](α));***其中:pin_x↓[j]↑[i],pin_y↓[j]↑[i]是原问题中属于第i个模块的第j个引线端相对模块i左下角顶点的坐标;w↓[i]、h↓[i]:原问题中模块i的宽和高;再用下述公式根据模块右上角坐标计算引线端在布局中的位置(p_x↓[j]↑[i](α),p_y↓[i]↑[j](α));***其中:x↓[i],y↓[i],为本布局中模块i的右上角坐标;(4)根据下述公式计算各线网线长估计值,…。...

【技术特征摘要】
1.基于模块变形的集成电路宏模块布图规划和布局方法,包括模块变形策略,其特征在于它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解,在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题,其中的步骤依次如下1)初始化设置(1)近似因子的初始值,也就是α的最大值;(2)求解近似问题时局部搜索次数NOIMPUP;(3)设置最终布局的目标宽长比及其权重;(4)设置目标函数中总线长的权重;2)从模块描述文件读入模块及线网信息(1)读入模块四角坐标,并根据模块四角坐标计算模块的宽、高;(2)读入模块上引线端坐标,并将其转化为相对模块左下角的坐标;(3)按读入顺序给模块编号,并计算总模块数、各模块面积之和;(4)按下列公式计算读入的所有模块(设为n个)的宽、高平均值;w‾=1nΣiwi]]>h‾=1nΣiwi]]>其中wi第i个模块的宽,hi第i个模块的高;3)构造初始布局的拓扑结构即模块间的位置关系,并记为A;4)计算布局问题的最优或近似最优解(1)根据近似因子α的值按下列公式之一计算模块在近似问题中的实际尺寸, 其中wi、hi分别为模块i的宽、高;w1(α)、h1(α)分别为模块i在近似因子α下的实际的宽、高;pw,ph为归一化参数,其取值满足max(wi)i∈{1,...,n}/10pw∈(0,1],]]>max(hi)i∈{1,...,n}/10ph∈(0,1];]]> (2)根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q;(3)用下列公式根据当前各模块大小计算相应引线端相对该模块左下角顶点的坐标(pin_xji(α),pin_yji(α));]]> 其中pin_xji,pin_yji]]>是原问题中属于第i个模块的第j个引线端相对模块i左下角顶点的坐标;wi、hi原问题中模块i的宽和高;再用下述公式根据模块右上角坐标计算引线端在布局中的位置(p_xji(α),p_yij(α));]]> 其中xi,yi,为本布局中模块i的右上角坐标;(4)根据下述公式计算各线网线长估计值,及总线长估计值,单个线网的线长根据线网中的引线端位置用半周长模型进行估计设某线网E有k个引线端p1(p_x1,p_y1),…,pk(p_xk,p_yk)括号内坐标为引线端在布局中的坐标;则该线网的线长WireLength(E)用下述公式估计,WireLength(E)=(maxi∈{1,...,k}(p_xi)-mini∈{1,...,k}(p_xi))+(maxi∈{1,...,k}(p_yi)-mini∈{1,...,k}(p_yi))]]>总线长估计值为TotalWireLength=Σk=1LWire...

【专利技术属性】
技术研发人员:董社勤洪先龙陈松周硕
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

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

1