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

考虑通孔的基于不均匀网格的多层布线方法技术

技术编号:4097393 阅读:239 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种考虑通孔的基于不均匀网格的多层布线方法,主要是为了解决现有集成电路多层布线存在的困难而设计。本发明专利技术依据读入的障碍信息建立并规范障碍列表;然后,分别依据工艺信息线宽和线间距约束以及通孔大小和通孔间距约束扩展障碍边界,同时设置起始点集合和终止点集合,构造三维不均匀网格阵列;最后,基于已设置的三维不均匀网格阵列的允许扩展方向,采用A*算法进行路径搜索,并输出搜索路径。本发明专利技术同时支持点到点布线模式和模块到模块布线模式,通过将点或模块统一转化为点的集合,点的集合中各点的选取保证了在多层搜索中能够找到最短路径,此外,本发明专利技术通过构造三维不均匀网格阵列有效的解决了现有集成电路多层布线存在的问题。

【技术实现步骤摘要】

本专利技术涉及一种超大规模集成电路物理设计

技术介绍
目前,集成电路制造工艺已经可以支持多层互连线结构的芯片制造,各层互连线 由金属实现,层之间的连接通过通孔工艺实现。相应的集成电路设计及电子设计自动化 (EDA)工具需要支持多层互连结构的版图设计。由于不同布线层的线宽和最小线间距并不 一样,连接每两层通孔的大小和通孔与金属连线之间的最小间距也各有差异,因此实现集 成电路的多层布线还存在着巨大困难。目前的集成电路布线模型可分为两大类一、有网格布线模型,二、无网格布线模 型。这两种模型主要是根据布线区域的表示以及走线位置是否受限制来划分的。因为无网 格模型在处理多线宽方面具有一定的优势,并且无网格模型的布线效率也比有网格模型高 很多,致使越来越多的布线器选择无网格模型。基于无网格模型的布线算法主要有以下两类一、基于隐式连接图的布线方法。在布线开始前,将每个障碍的边界按照“线宽/2+ 线间距”的距离进行扩展,并延长障碍的扩展边界直到遇到布线区域边界。把各个延长线 的交点表示为结点,则整个版图形成了一个图。因为结点并没有在计算机中显示地构造出 来,而是通过保存横向延长线和纵向延长线的坐标间接表示结点的,所以是一种隐式的连 接图。然后采用某种方法寻找最短路径,如图1所示。二、基于网块的布线方法。该方法将整个布线区域划分为一个个矩形区域,称为 “网块”,一个网块为一个障碍网块,或者空白网块。障碍网块是不能走线的区域,空白网块 是可以走线的区域,并采用角勾链数据结构对网块进行管理。然后采用某种方法寻找一条 由空白网块连成的路径,如图2所示。基于隐式连接图的无网格布线方法通过将无网格布线环境转化为一个隐式连接 图,可以直接调用传统的布线算法进行布线,直观易行且数据表示和维护简单。但是当障碍 数目较多时,障碍边界扩展得到的横向延长线和纵向延长线也会较多,导致搜索速度变慢。 在极端情况下,延长线之间的间距甚至小于有网格布线中的一个网格大小时,效率会低于 有网格的效率。此外,因为延长线交点并没有实际构造出来,因此在搜索时检查该交点是否 可扩展这个操作无法在常数时间内完成,也在一定程度上影响了算法速度。基于网块的布线方法是在一个网块构成的区域中寻找布线路径。该方法相对于基 于隐式连接图的方法速度略有提高,但是因为网块的大小位置不能用一个简单的数据结构 表示,寻找相邻的网块也无法简单的通过一步操作来实现,在该方法中采用了角勾链结构 存储,角勾链结构对于寻找相邻网块比较方便,但是仍然无法在常数时间内完成,并且维护 该结构也需要一定的时间代价。
技术实现思路
针对上述问题,本专利技术提供一种能够处理不同布线层的不同线宽和最小线间距, 且满足通孔的设计规则约束的考虑通孔的基于不均勻网格的多层布线方法。为达到上述目的,本专利技术所述考虑通孔的基于不均勻网格的多层布线方法,包括 以下步骤(1)读入布线区域内的障碍信息、待布线网信息和工艺信息;(2)依据上述障碍信息建立并规范障碍列表;(3)扩展障碍列表中各障碍的边界;(4)设置起始点集合和终止点集合;(5)构造三维不均勻网格阵列;(6)设置三维不均勻网格阵列的允许扩展方向;(7)基于上述允许扩展方向,采用A*算法对三维不均勻网格进行布线路径搜索;(8)输出搜索路径。其中,步骤(1)中,所述待布线网信息包括该待布线网的可用布线层信息,布线区 域大小信息以及起始点和终止点信息或起始模块和终止模块信息;所述工艺信息包括待布线网的布线层层数,布线区域允许的最小线宽值,各布线 层通孔直径大小,允许最小的线到线间距值,允许最小的线到通孔间距值,允许最小的通孔 到通孔间距值。步骤(2)中,所述障碍列表中的每个列表元素是由该障碍所在布线层层号,顶点 坐标,以及该障碍是通孔或非通孔来表示,进一步地,步骤(2)的具体实现步骤如下2. 1根据步骤(1)中所述的障碍信息建立障碍列表;2. 2遍历障碍列表,调用多边形到矩形的转化程序将每一个多边形障碍转化为至 少一个矩形障碍;2. 3删除障碍列表中存储的原多边形障碍,将转化得到的矩形障碍添加到障碍列 表中。进一步地,步骤(3)具体实现如下3. 1初始化横坐标集合和纵坐标集合;3. 2遍历步骤(2)得到的障碍列表,将非通孔矩形障碍的每一个边界分别按照“线宽 /2+线间距”的距离进行扩展,得出垂直扩展边界和水平扩展边界;将通孔矩形障碍的每一个 边界按照“线宽/2+线到通孔的间距”的距离进行扩展,得出垂直扩展边界和水平扩展边界;3. 3遍历步骤(2)得到的障碍列表,将非通孔矩形障碍的每一个边界分别按照“通 孔直径/2+线到通孔间距”的距离进行扩展,得出垂直扩展边界和水平扩展边界;将通孔矩 形障碍的每一个边界分别按照“通孔直径/2+通孔到通孔的间距”的距离进行扩展,得出垂 直扩展边界和水平扩展边界;3. 4将(3. 2)和(3. 3)步中的所有垂直扩展边界的横坐标加入到横坐标集合中,所 有水平扩展边界的纵坐标加入到纵坐标集合中。进一步地,步骤(4)具体实现如下4. 1初始化起始点集合和终止点集合;4. 2若布线模式为点到点模式,将布线起点添加到起始点集中,将布线终点添加到 终止点集中;若布线模式为模块到模块模式,进行步骤4. 2. 1 4. 2. 6 ;4. 2. 1调用多边形到矩形的转化程序分别将起始模块和终止模块转化为至少一个 矩形模块,并将转化后的矩形模块分别添加到起始矩形链表和终止矩形链表中;4. 2. 2分别遍历起始矩形链表和终止矩形链表,读取各矩形模块的左边界,右边 界,下边界和上边界,并依据所述的工艺信息将每一个边界分别按照“线宽/2”的距离进行 收缩,得出垂直收缩边界和水平收缩边界;4. 2. 3将垂直收缩边界的横坐标添加到横坐标集合中,将水平收缩边界的纵坐标 添加到纵坐标集合中;4. 2. 4分别对纵坐标集合和横坐标集合中的坐标进行排序并去重;4. 2. 5将横坐标集合中各横坐标对应的垂直线分别与起始矩形链表中每个矩形模 块的上边界和下边界的交点,纵坐标集合中各纵坐标对应的水平线分别与起始矩形链表中 每个矩形模块的左边界和右边界的交点,以及横坐标集合中各横坐标对应的垂直线和纵坐 标集合中的各纵坐标对应的水平线在起始模块内部的交点添加到起始点集合中;4. 2. 6将横坐标集合中各横坐标对应的垂直线与终止矩形链表中每个矩形模块的 上边界和下边界的交点,纵坐标集合中各纵坐标对应的水平线与终止矩形链表中每个矩形 模块的左边界和右边界的交点,以及横坐标集合中各横坐标对应的垂直线和纵坐标集合中 的各纵坐标的水平线在终止模块内部的交点添加到终止点集合中。其中,本专利技术所述的三维不均勻网格阵列表示为由步骤(3)所述的横坐标集合, 所述的纵坐标集合,以及所述布线层层数构成的三维数组。进一步地,步骤(6)具体实现如下6. 1设置同层扩展的允许扩展方向;遍历步骤(2)得到的障碍列表,若该矩形障碍是非通孔障碍,设置三维不均勻网 格阵列中所有在该矩形障碍按照“线宽/2+线间距”扩展的左,右,上,下边界上的网格点, 分别不可向右,左,下,上扩展,并设置由该左,右,上,下边界所构成的矩形内部的所有网格 点为不合法网格点;若该障碍是通孔障碍,设置三维不均勻网格阵列中所有在该本文档来自技高网
...

【技术保护点】
一种考虑通孔的基于不均匀网格的多层布线方法,其特征在于,包括以下步骤:(1)读入布线区域内的障碍信息、待布线网信息和工艺信息;(2)依据上述障碍信息建立并规范障碍列表;(3)扩展障碍列表中各障碍的边界;(4)设置起始点集合和终止点集合;(5)构造三维不均匀网格阵列;(6)设置三维不均匀网格阵列的允许扩展方向;(7)基于上述允许扩展方向,采用A↑[*]算法对三维不均匀网格进行布线路径搜索;(8)输出搜索路径。

【技术特征摘要】
一种考虑通孔的基于不均匀网格的多层布线方法,其特征在于,包括以下步骤(1)读入布线区域内的障碍信息、待布线网信息和工艺信息;(2)依据上述障碍信息建立并规范障碍列表;(3)扩展障碍列表中各障碍的边界;(4)设置起始点集合和终止点集合;(5)构造三维不均匀网格阵列;(6)设置三维不均匀网格阵列的允许扩展方向;(7)基于上述允许扩展方向,采用A*算法对三维不均匀网格进行布线路径搜索;(8)输出搜索路径。2.根据权利要求1所述考虑通孔的基于不均勻网格的多层布线方法,其特征在于,步 骤(1)中,所述待布线网信息包括该待布线网的可用布线层信息,布线区域大小信息以及 起始点和终止点信息或起始模块和终止模块信息;所述工艺信息包括待布线网的布线层层数,布线区域允许的最小线宽值,各布线层通 孔直径大小,允许最小的线到线间距值,允许最小的线到通孔间距值,允许最小的通孔到通 孔间距值。3.根据权利要求1所述考虑通孔的基于不均勻网格的多层布线方法,其特征在于,步 骤(2)中,所述障碍列表中的每个列表元素是由该障碍所在布线层层号,顶点坐标,以及该 障碍是通孔或非通孔来表示,4.根据权利要求1所述考虑通孔的基于不均勻网格的多层布线方法,其特征在于,步 骤(2)的具体实现步骤如下2. 1根据步骤(1)中所述的障碍信息建立障碍列表;2. 2遍历障碍列表,调用多边形到矩形的转化程序将每一个多边形障碍转化为至少一 个矩形障碍;2.3删除障碍列表中存储的原多边形障碍,将转化得到的矩形障碍添加到障碍列表中。5.根据权利要求1或2所述考虑通孔的基于不均勻网格的多层布线方法,其特征在于, 步骤(3)具体实现如下3.1初始化横坐标集合和纵坐标集合;3. 2遍历步骤(2)得到的障碍列表,将非通孔矩形障碍的每一个边界分别按照“线宽 /2+线间距”的距离进行扩展,得出垂直扩展边界和水平扩展边界;将通孔矩形障碍的每一 个边界按照“线宽/2+线到通孔的间距”的距离进行扩展,得出垂直扩展边界和水平扩展边 界;3. 3遍历步骤(2)得到的障碍列表,将非通孔矩形障碍的每一个边界分别按照“通孔直 径/2+线到通孔间距”的距离进行扩展,得出垂直扩展边界和水平扩展边界;将通孔矩形障 碍的每一个边界分别按照“通孔直径/2+通孔到通孔的间距”的距离进行扩展,得出垂直扩 展边界和水平扩展边界;3. 4将(3. 2)和(3. 3)步中的所有垂直扩展边界的横坐标加入到横坐标集合中,所有水 平扩展边界的纵坐标加入到纵坐标集合中。6.根据权利要求1或2所述考虑通孔的基于不均勻网格的多层布线方法,其特征在于, 步骤(4)具体实现如下`4. 1初始化起始点集合和终止点集合;`4. 2若布线模式为点到点模式,将布线起点添加到起始点集中,将布线终点添加到终止 点集中;若布线模式为模块到模块模式,进行步骤4. 2. 1 4. 2. 6 ;`4. 2. 1调用多边形到矩形的转化程序分别将起始模块和终止模块转化为至少一个矩形 模块,并将转化后的矩形模块分别添加到起始矩形链表和终止矩形链表中;`4. 2. 2分别遍历起始矩形链表和终止矩形链表,读取各矩形模块的左边界,右边界,下 边界和上边界,并依据所述的工艺信息将每一个边界分别按照“线宽/2”的距离进行收缩, 得出垂直收缩边界和水平收缩边界;`4. 2. 3将垂直收缩边界的横坐标添加到横坐标集合中,将水平收缩边界的纵坐标添加 到纵坐标集合中;`4. 2. 4分别对纵坐标集合和横坐标集合中的坐标进行排序并去重; 4. 2. 5将横坐标集合中各横坐标对应的垂直线分别与起始矩形链表中每个矩形模块的 上边界和下边界的交点,纵坐标集合中各纵...

【专利技术属性】
技术研发人员:周强姚海龙蔡懿慈杨帆
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

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

1