基于模块变形和概率局部搜索的集成电路模块级布局方法属于集成电路CAD技术领域,其特征在于:它以原问题为基础,通过模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这些问题来得到原问题的解;在逐步逼近过程中,用近似因子α控制模块变形的程度,从最简单的近似问题开始,把当前解作为下一个近似问题的初始解,逐步应用概率局部搜索方法求解这一系列近似的问题,直到α=1时,使各模块大小等于原始各模块大小,该近似问题即为原问题。在引入概率接受后,布局结果的线长相近,面积平均值及最小值均比单一使用模块变形的方法有较大改善,具有广泛工业应用价值。
【技术实现步骤摘要】
本专利技术属于集成电路计算机辅助设计CAD
,尤其涉及BBL(Building Block Layout)宏模块布图规划和布局
技术介绍
在集成电路的布局中,层次式布图设计,模块重用技术,知识产权模块的大量应用,片上系统尤其是数模混合片上系统的设计,以及模拟电路器件级布图问题等,这些问题都可以归结为集成电路宏模块的布图规划和布局问题,即Building Block LayoutBBL模式的布图问题,它已成为当前的研究热点。上述模块级的布局问题可以转化成一个大规模组合优化问题。该模块级的布局(BBL)可简单描述为设有一个n个矩形模块的集合,模块的高和宽均为给定的实数,并且模块具有一定的方向,n个模块的一个布局就是在模块互不重叠的情况下,将模块放置在平面上,平面上包含这n个模块的最小矩形区域被称为芯片。模块级布局就是寻找一个最优布局或近似最优布局,使得芯片面积或是其它优化目标组成的目标函数值达到最优。迄今为止有很多方法被应用于BBL布图模式,例如最小割方法、构造法、力向量法、分级设计方法、2D边界搜索方法、分支限界法、解析型算法、模拟退火算法和遗传算法、机器学习和神经网络算法等等。其中一些方法是由原先的标准单元布局方法借用而来。这些方法要么处理问题的规模非常有限,要么方法的稳定性很差。从得到的结果来看,与实际应用还有非常大的差距。还有基于模块变形的方法具有很好的稳定性,结果也较为实用,但是在该方法中采用局部搜索的方法求解,具有一定的局限性。
技术实现思路
本专利技术的目的在于提出一种较迄今为止该领域的其它算法更为稳定、高效,且取得了目前最好的结果的来作为解决宏模块布图问题的工业工具。本专利技术的思路是它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解。在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步应用概率局部搜索方法求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题。其中的步骤依次如下本专利技术的特征在于它以计算机为工具,依次采用以下步骤来实现(1).初始化,设置近似因子的初始值,也就是αmax,α>1;求解近似问题时用的局部搜索次数NOIMPUP;设置最终布局的目标宽长比R及其权重ω;设置目标函数Cost中总线长TotalWirelength的权重λ。(2).计算机从模块描述文件依次读入以下模块及线网信息(2.1).读入模块四角坐标,并根据模块四角坐标计算模块的宽w、高h;(2.2).读入模块上引线端坐标,并将其转化为相对模块左下角的坐标;(2.3).按读入顺序为模块编号i,计算总模块数n、a各模块面积之总和;(2.4).按下列公式计算读入的所有n个模块的宽、高平均值w、h;w‾=1nΣiwi,]]>h‾=1nΣiwi]]>(3).构造初始布局的拓扑结构即模块间的位置关系,并记为A它是指按照模块编号i由小到大的顺序,从任意设定的起始位置沿矩形网格由下向上,然后由左向右的顺序,依次安置模块到矩形网格的方法构造初始布局的拓扑结构;(4).计算布局问题最优或近似最优解(4.1).根据近似因子αk的值按下列公式计算模块i在近似问题中的实际尺寸wi(αk),hi(αk); 其中wi、hi分别为模块i的宽、高,wi(αk),hi(αk)分别为模块i在近似因子α下的实际的宽、高,pw,ph为归一化参数,其取值满足max(wi)/10pwi∈{1,...,n}∈(0,1],max(hi)/10phi∈{1,...,n}∈(0,1],]]>(4.2).根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q它是指从网格左下角坐标顶点所在的网格开始,从右下角向左上角作一条对角线(135°对角线),依次从上述左下角坐标顶点向x方向右移一个网格,再从新的右下角向新的左上角作一条也是135度的对角线,如此重复,一直做到右上角的网格为止;再从第一条对角线开始,依次两两连接相邻对角线的左上角,且每条对角线只被连接一次;从第二条对角线开始,依次两两连接对角线的右下角,且每条对角线也只被连接一次;然后从上述左下角坐标顶点所在的网格开始,建立相应的布局,在计算过程中,各模块左面和下面的模块的坐标都已经先期计算过;同时计算芯片的宽长比; (4.3).用下列公式根据当前各模块大小计算相应引线端相对该模块左下角顶点的坐标(pin_xji(α),pin_yji(α));]]> 其中pin_xji,pin_yji是原问题中第i个模块第j个引线端相对模块左下角顶点的坐标;wi、hi原问题中模块i的宽和高;再用下述公式并根据布局中模块i的右上角坐标xi,yi计算引线端在布局中的位置即引线端对矩形网格左下角顶点的坐标(p_xji(α),p_yij(α));]]> 其中xi,yi,为本布局中模块i的右上角坐标。(4.4).根据下述公式计算各线网线长估计值,及总线长估计值,单个线网是由相互之间存在连接关系的引线端构成的,单个线网的线长根据线网中的引线端位置用下述半周长模型进行估计设某线网N的m个引线端p1(x1,y1),…,pm(xm,ym),则该线网的线长WireLength(N)用下述公式估计,WireLength(N)=(maxl∈{1,...,m}(xl)-minl∈{1,...,m}(xl))+(maxl∈{1,...,m}(yl)-minl∈{1,...,m}(yl))]]>总线长估计值为TotalWireLength=ΣN=1LWireLength(N),]]>L为线网的个数(4.5).用下列公式评价布局Q,得到目标函数值CostQ;CostQ=Area+λ×TotalWireLength+ω×Rs2;其中Area=max{xi}i∈[1...n]×max{yi}i∈[1...n]]]>Rs=/R-max(ration,1/ration)/;其中R为期望的芯片宽长比,ration为芯片实际宽长比;(4.6).运用概率局部搜索的方法,求取当前近似问题实例的近似最优解从循环变量R=0开始,当R<NOIMPUP时,依次重复以下步骤(4.6.1).用下列方法从当前布局产生新的布局,把新的拓扑结构记为A1要改变布局的拓扑结构,用下列方法之一a.交换两个模块的位置;b.把一个模块本文档来自技高网...
【技术保护点】
基于模块变形和概率局部搜索的集成电路模块级布局方法,其特征在于,它以计算机为工具,依次采用以下步骤来实现: (1).初始化,设置: 近似因子的初始值,也就是α↓[max],α>1; 求解近似问题时用的局部搜索次数NOIMPUP; 设置最终布局的目标宽长比R及其权重ω; 设置目标函数Cost中总线长TotalWirelength的权重λ。 (2).计算机从模块描述文件依次读入以下模块及线网信息: (2.1).读入模块四角坐标,并根据模块四角坐标计算模块的宽w、高h; (2.2).读入模块上引线端坐标,并将其转化为相对模块左下角的坐标; (2.3).按读入顺序为模块编号i,计算总模块数n、a各模块面积之总和; (2.4).按下列公式计算读入的所有n个模块的宽、高平均值*、*; *=1/n*↓[i]w↓[i],*=1/n*↓[i]w↓[i] (3).构造初始布局的拓扑结构即模块间的位置关系,并记为A:它是指按照模块编号i由小到大的顺序,从任意设定的起始位置沿矩形网格由下向上,然后由左向右的顺序,依次安置模块到矩形网格的方法构造初始布局的拓扑结构; (4).计算布局问题最优或近似最优解: (4.1).根据近似因子αk的值按下列公式计算模块i在近似问题中的实际尺寸w↓[i](α↓[k]),h↓[i](α↓[k]); *** 其中:w↓[i]、h↓[i]分别为模块i的宽、高, w↓[i](α↓[k]),h↓[i](α↓[k])分别为模块i在近似因子α下的实际的宽、高, pw,ph为归一化参数,其取值满足 *** (4.2).根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q:它是指从网格左下角坐标顶点所在的网格开始,从右下角向左上角作一条对角线(135°对角线),依次从上述左下角坐标顶点向x方向右移一个网格,再从新的右下角向新的左上角作一条也是135度的对角线,如此重复,一直做到右上角的网格为止;再从第一条对角线开始,依次两两连接相邻对角线的左上角,且每条对角线只被连接一次;从第二条对角线开始,依次两两连接对角线的右下角,且每条对角线只被连接一次;然后从上述左下角坐标顶点所在的网格开始,建立相应的布局,在计算过程中,各模块左面和下面的模块的坐标都已经先期计算过;同时计算芯片的宽长比; (4.3).用...
【技术特征摘要】
...
【专利技术属性】
技术研发人员:董社勤,洪先龙,陈松,王锐杰,齐鑫,
申请(专利权)人:清华大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。