[发明专利]SoC 集成电路自动布局设计中的模组、宏单元、标准单元同步布局的收敛方法和系统无效
申请号: | 200710093867.6 | 申请日: | 2007-06-14 |
公开(公告)号: | CN101145169A | 公开(公告)日: | 2008-03-19 |
发明(设计)人: | 蔡震 | 申请(专利权)人: | 上海芯域微电子有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | soc 集成电路 自动 布局 设计 中的 模组 单元 标准 同步 收敛 方法 系统 | ||
1.一种自动布局设计中的模组、宏单元、标准单元同步布局的收敛方法和系统,其特征在于集成电路版图中包含引脚PAD组、模组(或称软模组)(Soft Block)、宏单元(MacroCell)及标准单元(Standard Cell);引脚PAD组内的空间为布局空间,布局空间与引脚PAD组间预留一定的空间用于电源及内部部件与引脚之间的连线;模组内的布局还未完成,其边界可以改变;宏单元的面积、高度通常比较大,且边界是确定的;标准单元具有统一高度的已设计完成的基本单元电路。
2.根据权利要求1所述的自动布局设计中的模组、宏单元、标准单元同步布局的收敛方法和系统,其特征在于对于所述的模组、宏单元、标准单元且具有相同或不同的几何尺寸、互相连接,不具有在布局空间中的合法位置,需要自动地以最优化的方法放置到布局空间中。
3.一种模组、宏单元、标准单元自动布局的收敛方法,使用权利2所述的布局系统,其特征在于具体步骤如下:
(1)标准单元集合提取
把关系密切的多个标准单元节点提取成一个集合(Cluster),用集合当作新的节点。
(2)4-分法分割给定的布局空间
把一个给定的布局空间平均地分成4等份,并计算出每个区域的中心位置作为布局时节点所处的坐标。
(3) 初始布局
随机地把所有节点一个一个地分布到以上所分的区域中的中心位置上,并确保每个区域中所分到的节点的总面积不会超过给定区域所容许的面积。
(4) 布局优化
对所有节点在不同的区域中进行交换,并计算交换后的目标函数值,当所有节点都交换一次后结束,并把具有最小目标函数值的布局找出来作为结果,具体过程如下:
(4.1)计算当前布局的目标函数值,目标函数一般有节点间的连线长度、时域延迟、连线密度等构成;
(4.2)计算每一个节点对于当前目标函数值的贡献值,并把其对于其他区域的贡献值也计算出来,并按最大值至最小值递降排序;
(4.3)选择当前排序中处于最前面的节点,并选择与之函数值最大的一个区域,进行节点交换,并保证相关区域的面积不超过区域所容许的极限,超过区域面积极限者不进行交换处理;
(4.4)记录每一次交换的过程,并计算此时的目标函数值;
(4.5)重复过程(4.2)-(4.4),直至所有的节点都遍历一次且每个节点只遍历一次;
(4.6)在交换过程的历史记录中,找出具有最小目标函数值的交换位置,抹去该位置以后的所有交换,此位置之前的节点交换记录即是找到最佳布局的过程。
(5) 模组与宏单元布局
对模组与宏单元在相应的区域中进行布局。具体步骤如下:
(5.1)标记软模组及宏单元,区分已布局的与未布局的;
(5.2)在所有未布局的模组及宏单元中进行一次评估,评估的标准是在所有可放置模块的空间中,对每一个模块进行一次试探性的放置,并计算其连线长度、拥挤程度、时域性能等指标;
(5.3)对步骤(5.2)中的所有结果进行排队,在队列中找出一个最适合的模块进行放置;
(5.4)重复步骤(5.2)和(5.3),直至所有的模块放置完毕。
(6) 标准单元集合布局
当模组和宏单元布局后,进行标准单元集合的布局,具体步骤如下:
(6.1)选择一个区域,比如Q0区,并把标准单元集合从原来位置上卸下;
(6.2)把空置区域划分成面积相当的4份或2份,划分方式则根据空置区域的形状,本例中为2份,并把集合节点随机地分配到区域中,使得每个节点都有一个区域,但每个区域中的节点总面积不超过该区域所容许的总面积;
(6.3)调用步骤(4)的布局优化过程,进行标准单元集合的布局优化过程;
(6.4)重复过程(6.1)至(6.3),直至所有4个区域都完成;
(6.5)对于以上产生的每一个子区域,判别区域内是否具有2个或以上的集合,如果是,则重复(6.1)至(6.4)的过程;
(6.6)重复过程(6.1)至(6.5),直至每个子区域包含不超过1个集合,标准单元集合的布局过程结束。
(7) 产生N1个初始全局布局
(7.4)重复步骤(3)至(6)N0次,生成N0个初始布局,并记录下来;
(7.5)按目标函数评估N0个布局,并根据目标函数值排队;
(7.6)根据目标函数排队结果,保留最好的N1个布局,丢弃其他的布局结果。
(8)N1个初始全局布局的二次优化
(8.1)对于步骤(7)中的布局结果,置模组和宏单元的布局状态为“未布局”;
(8.2)重复步骤(5)和(6)N1次,产生N1个新的布局;
(8.3)按目标函数评估N1个布局,并根据目标函数值排队;
(8.4)根据目标函数排队结果,保留最好的N2个布局为最终的一组全局布局,丢弃其他的布局结果,全局布局收敛结束。
(9)选择一个最好的全局布局结果作为标准单元布局的起点,选择过程可以是自动或人工。
(10)生成标准单元槽(ROW)。
(11)标准单元布局初始化
(11.1)计算标准单元槽的实际面积,并按步骤(2)的方法划分布局区域;
(11.2)调用步骤(6)的过程对标准单元集合进行布局;
(11.3)对每一个标准单元集合中的标准单元赋予随机坐标值,坐标值得范围必须在标准单元集合所处区域的坐标范围附近。
(12)标准单元布局
(12.1)定义一个布局4分区域,该区域应包含完整的标准单元槽,并在上下含有相同数目的标准单元槽;
(12.2)把以上区域放在包含标准单元槽的一个起始位置;
(12.3)把落在该区域中的标准单元放入相关的子区域中,调用步骤(4)的优化过程,使得标准单元在该子区域中的位置达到优化分配;
(12.4)移动以上布局4分区域,调用步骤(12.3),直到标准单元布局区域内的所有位置都被覆盖到后结束该过程;
(12.5)缩小布局4分区面积,重复(12.2)至(12.4)的过程,直至布局4分区的高度小于2个标准单元槽高度而结束;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海芯域微电子有限公司,未经上海芯域微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710093867.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:气相色谱仪双火焰光度检测器
- 下一篇:一种基于双码盘的低速测量方法