一种集成电路VLSI的布线方法与流程

文档序号:20687451发布日期:2020-05-08 18:56阅读:1017来源:国知局
一种集成电路VLSI的布线方法与流程

本发明涉及集成电路vlsi技术领域,特别是涉及一种集成电路vlsi的布线方法。



背景技术:

在超大规模集成电路vlsi详细布线阶段,一个线网往往有多个等待连接的端口图形,为了优化连通线网后线网线长这个重要的代价值,常用的算法是使用prim,kruskal等最小生成树算法思想构造线网端口图形间的连接关系,但是以上最小生成树算法只能实现端口图形到端口图形的连线,无法优化、减少布线时的线长。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种集成电路vlsi的布线方法,在详细布线阶段中,能够从已生成的布线路径中的某一点出发,连接到其他端口图形或布线路径上,打破了kruskal,prim等传统算法只能端点图形连接到端点的限制,显著减少布线线长。

为实现上述目的,本发明提供的一种集成电路vlsi的布线方法,包括以下步骤:

1)读入线网端口信息,生成端口图形;

2)根据布线相关参数构建网格图;

3)连接邻近的两个连通体,生成新的连通体,以所述新的连通体和所述网格图重合的格子做为参与下次连接邻近的两个连通体迭代的扩展起始点;

4)重复步骤3)至所述线网中所有端口图形和其连线组成新的连通体。

进一步地,还包括,检查布线结果并输出线长数据。

进一步地,所述步骤2)进一步包括,将所述线网的布线区域构造为行乘列乘高的矩形块组成的三维结构。

进一步地,当穿过两个相邻的所述矩形块时,则生成了布线的路径。

进一步地,所述步骤3)进一步包括,

初始状态时,所述端口图形之间不存在连接关系,每个所述端口图形为一个连通体;

在布线生成路径的迭代过程中,所述连通体包括生成路径连通的所述端口图形和路径图形的集合。

进一步地,所述步骤3)进一步包括,每个所述端口图形包括一个优先队列,所述优先队列以结点的代价升序排序,优先弹出代价小的所述结点。

进一步地,还包括,初始时,将每个所述端口图形与所述网格重合的格子结点加入所述端口对应的优先队列中,作为所述端口对应扩展波扩展的起始点。

进一步地,所述步骤3)进一步包括,每个所述连通体包括一个扩展波,多个所述扩展波同时扩展寻找最短曼哈顿距离的连通体。

为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上文所述的集成电路vlsi的布线方法步骤。

为实现上述目的,本发明还提供一种集成电路vlsi的布线装置,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行如上文所述的集成电路vlsi的布线方法步骤。

本发明的一种集成电路vlsi的布线方法,具有以下有益效果:

1)在详细布线阶段中,应用本发明所述的变种kruskal算法使用普通树结构或斯坦纳树结构将多端线网中等待连接的端点连通起来,同时尽可能地满足详细布线阶段的设计规则约束。

2)可以从已生成的布线路径中的某一点出发,连接到其他端口图形或布线路径上,打破了kruskal,prim等传统算法只能端点图形连接到端点的限制,显著减少布线线长。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的一种集成电路vlsi的布线方法流程图;

图2为根据本发明的实施例一布线工艺层几何约束设置页面示意图;

图3为根据本发明的多端线网多波扩展示意图;

图4为根据本发明的多端线网端口初始分布示意图;

图5为根据本发明的多端线网布线结果示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例中,以单个线网的多个端口图形进行处理分析,后面针对多线网的多端口图形处理方法类似。

图1为根据本发明的一种集成电路vlsi的布线方法流程图,下面将参考图1,对本发明的一种集成电路vlsi的布线方法进行详细描述。

首先,在步骤101,读入布线端口信息,生成待连接的端口图形。该步骤中,读入布线输入文件中的单一或多个线网的多个等待连线的端口图形。根据几何约束,启动多端口布线命令,读取布线端口信息,然后将线网的多个端口的大小位置等信息显示在gui界面上。

在步骤102,根据布线相关参数构建网格地图。该步骤中,使用网格将整个布线区域构造为一个行乘列的棋盘地图结构,网格地图是由行乘列乘高的矩形块组成的三维结构,在扩展过程中,当穿越两个相邻的矩形块时,就形成了一段布线的路径。

在步骤103,依次连接两个最近的连通整体,两个最近连通整体和它们的连线组成一个新的连通整体,以新的连通整体和网格地图重合的格子作为参与下一次连接两个最近连通整体迭代的扩展起始点。该步骤中,受到kruskal连接端点思想的启发,在原本的基础上做出修改,具体包括:初始状态时,两两端口图形间没有连接,把每个单独的端口图形视为一个连通整体,连接两个最近的连通整体,将连接的连通整体和它们的连线当作一个新的连通整体,以这个新的连通整体和棋盘地图重合的一个或多个格子作为它参与下一次连接两个最近连通整体迭代的扩展起始点,使用dijkstra算法开始布线结点扩展。

优选地,连通整体的定义包括:在多端线网布线初始阶段,连通整体指每一个单独的端口图形;在布线生成路径的迭代过程中,连通整体指已经被生成的路径连通的端口图形和路径图形的集合,一个连通的端口图形和路径图形的集合就是一个连通整体。

优选地,每个端口图形视为一个独立的连通整体,每个端口图形都有一个维护它扩展过程的优先队列,优先队列以结点的代价升序排序,代价小的结点被首先弹出。初始时,每个端口图形与网格地图重合的一个或多个格子结点被分别加入到端口对应的优先队列中,作为端口波前扩展的起始点。

图3为根据本发明的多端线网多波扩展示意图。

优选地,如图3所示,每个连通整体都有一个维护自身扩展的波,多个波同时扩展寻找具有最短曼哈顿距离的连通整体对。

优选地,每次连接完两个连通整体,把连接的两个连通整体和它们之间的连线作为一个新的连通整体,来参与下一次连接两个最近连通整体的迭代过程。这样可以实现从已生成路径中的某一点连接到其他端点图形或路径图形的效果。

图4为根据本发明的多端线网端口初始分布示意图。

图5为根据本发明的多端线网布线结果示意图。

在步骤104,重复步骤103,直到线网中所有端口图形和它们的连线组成一个新的连通整体。该步骤中,是对kruskal和dijkstra算法的修改和应用。

在步骤105,检查布线结果并输出相关线长数据。该步骤中,将最终的布线连线结果显示在gui界面上。

下面结合一具体实施例对本发明的一种集成电路vlsi的布线方法做进一步的说明。

图2为根据本发明的实施例一布线工艺层几何约束设置页面示意图。

(1)读取多端线网端口信息和障碍物信息参数,显示在gui界面上,如图2所示。

(2)启动多端线网布线命令,开始布线,布线结果如图5所示。

本发明提出了一种超大规模集成电路vlsi详细布线中考虑多端线网端口和连线整体扩展的变种kruskal算法构造布线生成树的方法,在详细布线阶段中,应用本发明所述的变种kruskal算法使用普通树结构或斯坦纳树结构将多端线网中等待连接的端点连通起来,同时尽可能地满足详细布线阶段的设计规则约束。

为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的集成电路vlsi的布线方法步骤。

为实现上述目的,本发明还提供一种集成电路vlsi的布线设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的集成电路vlsi的布线方法步骤。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1