[发明专利]全局布线中快速局部拆线重布方法有效
| 申请号: | 202110596301.5 | 申请日: | 2021-05-30 |
| 公开(公告)号: | CN113255284B | 公开(公告)日: | 2023-07-18 |
| 发明(设计)人: | 黄海山;陈伟杰;黄志鹏;李旭;汪佳祥;朱自然;陈建利 | 申请(专利权)人: | 上海立芯软件科技有限公司 |
| 主分类号: | G06F30/3947 | 分类号: | G06F30/3947;G06F30/398 |
| 代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 张灯灿;蔡学俊 |
| 地址: | 200120 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 全局 布线 快速 局部 拆线 方法 | ||
1.一种全局布线中快速局部拆线重布方法,其特征在于,包括如下步骤:
步骤S1:构建存储线网节点的数据结构,每个节点中包含以下信息:节点在布线网格地图中的编号、节点在布线树中的父亲节点指针、节点在布线树中的孩子节点的数组;
步骤S2:以要拆除连线的pin节点为中心,递归遍历拆除与其直接相连的局部线段,同时得到若干个不连通的子线网集合,其中拆除的pin节点视为一个只有一个点的子线网集合;
步骤S3:将所有子线网节点存入一个与布线网格地图大小和维度相同的整型数组routingMap中,routingMap中元素默认值为0,所有子线网节点标记为1;
步骤S4:随机选择一个子线网集合作为初始扩展集合,初始扩展集合中的所有点在routingMap中对应元素标记为2,并以权重为0加入优先队列,开始基于迪科斯特算法的迷宫布线搜索;
步骤S5: 当迷宫布线搜索扩展到某个点在routingMap中的值为1时,表示遇到了一个新的子线网集合,将这个新子线网集合及其与上一个集合产生的新路径上的所有点在routingMap中标记为2,并以权重为0加入优先队列;
步骤S6:重复步骤S5,直到所有子线网集合中的点在routingMap中都被标记为2;
步骤S7:在routingMap中任意选取一个pin节点作为布线树的根节点,然后在routingMap中展开深度优先搜索,在递归遍历中,以当前节点向临近方向搜索,当临近节点的节点值为2时,将临近节点加入布线树中,以节点值为2的临近节点进入下一层递归,并把临近节点值设为0,防止重复搜索;当搜索完所有值为2的节点时,得到一个包含线网所有点的连通的布线树结构。
2.根据权利要求1所述的全局布线中快速局部拆线重布方法,其特征在于,所述步骤S2中,以要拆除连线的pin节点为中心,递归遍历时,以它所有的孩子节点和父亲节点组成的分支向外遍历,当前节点要作为下一级递归调用的先序节点传入下一级递归函数中,递归函数中判断,如果下一个搜索的节点与上一级递归函数传入的先序节点相同,则不继续往下搜索,防止重复搜索陷入死循环;同时,假设要拆除连线的pin节点的所有孩子节点和父亲节点组成的分支数有n个,每个分支有一个分支编号和一个状态值flag,在每个分支的递归搜索中,当搜索到一个pin节点或者斯坦纳节点之前,flag为false,搜索到的节点都是要拆除的节点,分支搜索到一个pin节点或者斯坦纳节点时,将flag设为true,在每个分支后继的递归遍历中,搜索到的节点都是当前分支代表的子线网结构中的节点;被拆除连线的pin节点视为一个拥有单个节点的子线网结构;最终获取到的子线网数目=分支数+1。
3.根据权利要求2所述的全局布线中快速局部拆线重布方法,其特征在于,以要拆除连线的pin节点为中心,以它所有的孩子节点和父亲节点组成的分支向外遍历,在遇到其他pin节点或者斯坦纳节点之前,拆除与其直接相连的局部线网,然后在后续的遍历中,获取剩余的需要保留的若干个不连通的子线网结构,用以下一步的线网重布操作,需要注意的是,当应用于移动pin节点布线的场景,需要拆除移动的pin的所有分支,当应用于拆除局部拥塞线段的场景时,则不拆除pin节点的全部分支,只拆除有局部拥塞的部分分支。
4.根据权利要求3所述的全局布线中快速局部拆线重布方法,其特征在于,在获取了若干个不连通的子线网后,通过改进的迪科斯特搜索技术,用一个辅助的搜索地图提前存储每个子线网的状态信息,当搜索到某个子线网时,可以将这个子线网作为一个整体,一次性全部加入布线树中,最终将这些不连通的子线网以树的结构连通为一个整体;其中每个子线网都可以是一个独立的包含任意数量节点的线网结构。
5.根据权利要求1所述的全局布线中快速局部拆线重布方法,其特征在于,所述步骤S7中,将搜索到的一个节点值为2的临近节点加入布线树中的操作包含:
将当前节点设为临近节点的父亲节点,其中临近节点是以当前节点向临近方向搜索到的一个节点值为2的节点;
将值为2的临近节点加入其父亲节点的孩子节点的数组中,父亲节点即当前节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海立芯软件科技有限公司,未经上海立芯软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110596301.5/1.html,转载请声明来源钻瓜专利网。





