CN104636546B - 一种基于不均匀网格的模拟电路布线评估方法 - Google Patents
一种基于不均匀网格的模拟电路布线评估方法 Download PDFInfo
- Publication number
- CN104636546B CN104636546B CN201510034253.5A CN201510034253A CN104636546B CN 104636546 B CN104636546 B CN 104636546B CN 201510034253 A CN201510034253 A CN 201510034253A CN 104636546 B CN104636546 B CN 104636546B
- Authority
- CN
- China
- Prior art keywords
- net block
- block
- net
- gauze
- crowded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种基于不均匀网格的模拟电路布线评估方法,用于评估模拟电路的布局结果和指导布局优化。该方法包括:构造不均匀网格评估图;评估所有线网经过所述不均匀网格评估图中每一个网块的可能性,判断所述每一个网块是否拥挤;根据动态拥挤度驱动布线算法,预估两端线网起始点S和目标点T的布线路径,根据预估的布线路径网块是否拥挤,判断路径是否能够布通,从而求出布通率。本发明能高效地预测布线路径,正确地评估布通率,对指导布局优化和详细布线过程有着重要的意义。
Description
技术领域
本发明涉及模拟电路布线的评估,具体地指一种基于不均匀网格的模拟电路布线评估方法。
背景技术
随着集成电路的发展,集成电路的集成度不断提高,特征尺寸越来越小,功能也越来越多样化。为了满足这些要求,将各功能模块集中到一个芯片上,片上系统(SoC)应运而生。在片上系统(SoC)设计流程中,模拟电路设计自动化和混合电路设计自动化变的越来越重要。由于模拟电路的复杂约束条件和芯片的大小约束,使得模拟电路设计自动化过程要比数字电路设计自动化过程更加复杂困难。模拟电路设计自动化过程一直是整个片上系统自动化设计流程中的瓶颈。
模拟电路设计自动化过程最重要的两步是:布局和布线。在数字电路中,布局结果的好坏直接影响布线质量。由于模拟电路布线不允许走在已布的器件上,所以在模拟电路中布局结果对布线的影响比数字电路的影响更大。从而,模拟电路布局结果的评估更为重要。对于数字电路而言,主要是用拥挤度评估模型来评估布局结果。由于模拟电路一般特征尺寸比较小,更加准确的评估是可能的,比如对布通率的评估。
针对数字电路,拥挤度的评估模型主要是基于均匀网格进行的,布线区域被平行于边界的水平和垂直线均匀地分为若干部分,被分割的部分中可能有障碍块,也可能有空白块(布线资源),也可能二者都有。而对于模拟电路,布线线网不允许线网走在器件上,且在预测可能的布线过程中,很多拥挤度评估的算法只考虑了L和Z型布线路径,不能正确反映对实际电路拥挤度的评估。
发明内容
本发明目的在于克服上述现有技术的不足而听过一种基于不均匀网格的模拟电路布线评估方法,该方法将已布的器件当成障碍块,以障碍边界为水平垂直线构造不均匀网块,从而准确地评估布线资源,此外,为了考虑到所有可能的路径图。我们还提出了动态拥挤度驱动布线算法预估起点S和终点T的布线路径。这种布线算法能快速地预测布线的可能路径。
实现本发明目的采用的技术方案是:一种基于不均匀网格的模拟电路布线评估方法,包括:
构造不均匀网格评估图;
评估所有线网经过所述不均匀网格评估图中每一个网块的可能性,判断所述每一个网块是否拥挤;
根据动态拥挤度驱动布线算法,预估两端线网起始点S和目标点T的布线路径,根据预估的布线路径网块是否拥挤,判断路径是否能够布通,从而求出布通率。
在上述技术方案中,将器件边界线所在直线,以及两端线网起点和目标点的扩展边界线所在直线构成不均匀网格评估图。
进一步地,将所述不均匀网格评估图中最大水平属性相同的性质合并得平方向评估图,以及将大垂直属性相同的性质合并得垂直方向评估图。
在上述技术方案中,判断每一个网块是否拥挤包括以下步骤:
在所述不均匀网格评估图上,确定每一个线网的Bounding-Box,依据起始点S和目标点T所在的网块为边界,包含在里面的网块就确定了一个子线网所属的Bounding-Box;
在Bounding-Box里布线,线网的水平最短曼哈顿距离为|tx-sx|+1,垂直最短曼哈顿距离为|ty-sy|+1,Bounding-Box的面积为(|tx-sx|+1)×(|ty-sy|+1),其中(sx,sy)和(tx,ty)分别代表S和T点的水平和垂直坐标,设定对于每个线网通过Bounding-Box里的网块,被某条线网经过的概率一样,即:
通过上式,分别估计出一条线网布线经过网块(x,y)的水平和垂直方向上的概率,将每个线网的贡献度叠加在一起,就可以算出网块的拥挤度值。
在EG图上小的网块会水平合并为对应水平评估图上大的网块,以及在EG图上的小的网块会垂直合并为对应垂直评估图上大的网块,合并后水平评估图上的大网块的可能走线条数CongestH为对应网块Ph的和,合并后垂直评估图上的大网块的可能走线条数CongestV为对应网块Pv的和,即:
用一个权重Wh值表示水平评估图上的每个网块是否拥挤,将CongestH和水平布线容量Ch进行比较,如果CongestH小于Ch,对应的网块水平方向上不拥挤,Wh设为1;如果CongestH大于Ch,对应的网块水平方向上拥挤,越拥挤,水平布线应该就会避免走这个网块,所以此时用Ch/CongestH来表示Wh,越拥挤,Wh越小,水平布线走这个网块的可能性就越小,当整个网块是障碍块时,Ch为0,这时Wh为0,线网不可通过此网块;
同样,用权重Wv来表示垂直评估图上的每个网块是否拥挤,
在上述技术方案中,所述动态拥挤度驱动布线算法包括以下步骤:
预估S→L和S→B的路径,选择L→T的路径或者B→T的路径,得到S→L→T和S→B→T所经过的网块的W总和,选择W的总和值比较大的一个值,得到拥挤度最小的S→B→T路径;
在计算W的总和时,如果是L→T时,把点L对应的网块的Wh加入到W总和里,如果是B→T时,把点B对应的网块的Wv加入到W总和里;
如果预测的路径经过的某个网块W等于0,说明此线网不可布,如果是0~1之间,随机给一个0~1的值,与W比,如果小于W说明不可布,如果W等于1,说明此网块可布,进一步考察路径经过的下一个网块,最终可以判断此线网是否可布;
通过上述步骤计算所有的线网,得到可以布通的布线总数,进而得到布通率。
本发明方法能高效地预测布线路径,正确地评估布通率,对指导模拟电路布局优化和详细布线过程有着重要的意义。
附图说明
图1为本发明基于不均匀网格的模拟电路布线评估方法的流程图。
图2a为本实施例所用模拟电路布局结果示意图,图2b为不均匀网格评估图,图2c为水平方向评估图,图2d为垂直方向评估图。
图3a为现有L型布线路径图,图3b为现有Z型布线路径图,图3c为本发明布线路径图。
图4为动态拥挤度驱动布线示意图。
图5为估计线网可能经过路径的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。
如图1所示,本发明基于不均匀网格的模拟电路布线评估方法,包括以下步骤:
S100、构造不均匀网格评估图(EG)。
将器件边界线所在直线,以及两端线网的起点和目标点的扩展边界线所在直线构成不均匀网格评估图(EG)。将不均匀网格评估图(EG)中最大水平属性相同的网块合并得水平方向评估图(HEG),以及将最大垂直属性相同的网块合并得垂直方向评估图(VEG)。
数字电路中,拥挤度评估都是基于均匀网格图进行评估过程,而模拟电路布线线网不允许线网走在器件上,本发明将器件都设置成障碍物,余下的区域为布线区域,可以在布线区域进行布线,如果布线区域布线条数超过了网块的最大布线容量,就判定此线网无法布线。
由模拟电路的布局结果,可以得到障碍块的坐标和大小,各线网的起始点S和目标点T的坐标及布线区域的边界坐标,根据这些信息来构造不均匀网格评估图。如图2(a)所示,黑色的区域为障碍块,S点为线网的起始点,T点为线网的目标点,空白区域为布线资源。
在图2(b)中,根据障碍块的边界,和S,T点的扩展边界,构造各个网块。本实施例图1中只显示了一条线网的S和T点,和两个障碍块,实际上有很多条线网和障碍块,这样就会生成很多小的网块,对评估过程造成很多麻烦。于是采用最大水平和垂直合并算法进行网块合并。首先,设定每个网块的属性,分别为:障碍块,空白块,ST块。根据每个网块的属性,将所述不均匀网格评估图中最大水平属性相同的网块合并得水平方向评估图(HEG),将最大垂直属性相同的网块合并得垂直方向评估图(VEG),得到水平方向评估图(HEG)和垂直方向评估图(VEG)分别如图2(c)和图2(d)所示。
S200、评估所有线网经过所述不均匀网格评估图中每一个网块的可能性,判断所述每一个网块是否拥挤。
首先,通过最小生成树算法把多端线网拆分为一系列两端线网。通过上述步骤S100构造评估图的过程,布线区域被分为若干个网块。要想知道每个线网是否能够布线成功,就要评估线网经过的每个网块是否拥挤和可布,因此,对每个网块进行拥挤度的评估,判断每个网块是否可布。
在不均匀网格评估图(EG)上,确定每一个线网的Bounding-Box(边界框),依据S和T点所在的网块为边界,包含在里面的网块就确定了一个子线网所属的Bounding-Box。在Bounding-Box里布线,线网的水平最短曼哈顿距离为|tx-sx|+1,垂直最短曼哈顿距离为|ty-sy|+1,Bounding-Box的面积为(|tx-sx|+1)×(|ty-sy|+1)。其中(sx,sy)和(tx,ty)分别代表S和T点的水平和垂直坐标。假定对于每个线网通过Bounding-Box里的网块,被某条线网经过的概率一样,即:
通过上式,可粗略估计一条线网布线经过网块(x,y)的水平和垂直方向上的概率。
将每个线网的贡献度叠加在一起,就可以算出网块的拥挤度值。
P(x,y)值用来粗略刻画在整个布线层网块上可能走线的条数。
合并的过程中,在EG图上小的网块会水平合并为对应水平评估图上大的网块,同理在EG图上的小的网块会垂直合并为对应垂直评估图上大的网块,这时水平评估图上的大网块的可能走线条数CongestH为对应网块Ph的和,垂直评估图上的大网块的可能走线条数CongestV为对应网块Pv的和,即:
为了评估水平评估图上的每个网块是否拥挤,用一个权重Wh值来表示,将CongestH和水平布线容量Ch进行比较,如果CongestH小于Ch,对应的网块水平方向上不拥挤,Wh设为1。如果CongestH大于Ch,对应的网块水平方向上拥挤。越拥挤,水平布线应该就会避免走这个网块,所以此时用Ch/CongestH来表示Wh,越拥挤,Wh越小,水平布线走这个网块的可能性就越小。当整个网块是障碍块时,Ch为0,这是Wh为0,线网不可通过此网块。同样用权重Wv来表示垂直评估图上的每个网块是否拥挤。
S300、根据动态拥挤度驱动布线算法,预估两端线网起点S和终点T的布线路径,根据预估的布线路径网块是否拥挤,判断路径是否能够布通,从而求出布通率。
在现有拥挤度的评估方法中,只考虑到了L型布线和Z型布线,分别如图3(a)和图(b)所示。实际上,在布线过程中,还会有其他类型的布线模型,如图3所示,如果只考虑L和Z型布线模型,得到的评估结果是此线网无法布线,实际上,此线网可以按照如图3(c)所示布线。为了更加准确地评估线网是否能够布通,要把超过二个折点的路径考虑进去。
在实际布线器中,一般线网都会选择拥挤度较小的区域进行布线,这样可以避免因过度拥挤而布线失败。在预估布线路径时,也要遵循这一原则,于是,本发明通过动态拥挤度驱动布线算法来预测线网可能的路径,动态拥挤度驱动布线算法能快速地预测到线网可能的路径,如图4所示,为了发现S到T点的路径,假设已经预估了S->L和S->B的路径,只需要选择L->T的路径或者B->T的路径,这时,可以得到S->L->T和S->B->T所经过的网块的W总和。选择W的总和值比较大的一个值,得到拥挤度最小的S->B->T路径。在计算W的总和时,如果是L->T时,把点L对应的网块的Wh加入到W总和里,如果是B->T时,把点B对应的网块的Wv加入到W总和里。
通过动态拥挤度驱动布线算法,每一步都可以选择到拥挤度最小的网块作为布线的路径,如果预测的路径经过的某个网块W等于0,说明此线网不可布,如果是0~1之间,随机给一个0~1的值,与W比,如果小于W说明不可布,如果W等于1,说明此网块可布,进一步考察路径经过的下一个网块,最终可以判断此线网是否可布。考察所有的线网,得到可以布通的布线总数,进而得到布通率。
在Linux下,用C++和GTK语言实现了本布通率评估模型。试验环境为一台内存为1GB,主频为3.0GHz的PC机。试验对象是模拟电路布局结果,测试例子为7个不同的布局结果。每个测试例子芯片大小不同,两端线网数均为590条,障碍块的个数均为40个,障碍块大小不同,布线资源从10%~60%不等,障碍分布在所有的布线层上。
为了检测和验证本布通率评估模型,对布局结果进行了详细布线,布线器用的是基于隐式连接图的A*算法进行布线。如表1所示,本算法能够很好地预估布通率和评估布局结果的好坏。与布线器相比,本布通率模型的平均绝对误差为7.67%,误差在可允许范围内。布通率的评估与实际相比,平均值相差2.62%。从表1中还可以看到,一般布线器的布线过程时间比较长,而本布通率评估算法只需要很短的时间,有的只是布线器时间的万分之一。有了布通率的评估模型,就不需要对布局结果进行复杂的布线过程,可以快速和准确地评估布通率和指导布局优化。
表1 无网格布线器和我们的评估模型比较
如图5所示中,该布通率评估模型,还可以直观观测线网路径走向。图中矩形块表示障碍块,直线表示预估的线网路径。该测试用例的两端线网数为179条,障碍块的个数均为40个,障碍块大小不同。在该布通率评估模型中,估计的线网路径是从一个网块到一个网块,图中线网路径是以网块的中心线画出的线网路径。在实际过程中,线网是不允许走在器件上。图上路径走在障碍块上的线网表明该线网不可布。该布通率评估模型可以直观地观察到线网的布线路径可能经过的区域,得出拥挤情况,从而可以指导布局优化和详细布线过程。
Claims (3)
1.一种基于不均匀网格的模拟电路布线评估方法,其特征在于,包括:
构造不均匀网格评估图;
评估所有线网经过所述不均匀网格评估图中每一个网块的可能性,判断所述每一个网块是否拥挤;判断每一个网块是否拥挤包括以下步骤:
在所述不均匀网格评估图上,确定每一个线网的Bounding-Box,依据起始点S和目标点T所在的网块为边界,包含在里面的网块就确定了一个子线网所属的Bounding-Box;
在Bounding-Box里布线,线网的水平最短曼哈顿距离为|tx-sx|+1,垂直最短曼哈顿距离为|ty-sy|+1,Bounding-Box的面积为(|tx-sx|+1)×(|ty-sy|+1),其中(sx,sy)和(tx,ty)分别代表S和T点的水平和垂直坐标,设定对于每个线网通过Bounding-Box里的网块,被某条线网经过的概率一样,即:
通过上式,分别估计出一条线网布线经过网块(x,y)的水平和垂直方向上的概率,将每个线网经过网块的水平和垂直概率值分别叠加在一起,就可以分别得到水平和垂直网块的拥挤度值,
在EG图上小的网块会水平合并为对应水平评估图上大的网块,以及在EG图上的小的网块会垂直合并为对应垂直评估图上大的网块,合并后水平评估图上的大网块的可能走线条数CongestH为对应网块Ph的和,合并后垂直评估图上的大网块的可能走线条数CongestV为对应网块Pv的和,即:
用一个权重Wh值表示水平评估图上的每个网块是否拥挤,将CongestH和水平布线容量Ch进行比较,如果CongestH小于Ch,对应的网块水平方向上不拥挤,Wh设为1;如果CongestH大于Ch,对应的网块水平方向上拥挤,越拥挤,水平布线应该就会避免走这个网块,所以此时用Ch/CongestH来表示Wh,越拥挤,Wh越小,水平布线走这个网块的可能性就越小,当整个网块是障碍块时,Ch为0,这时Wh为0,线网不可通过此网块;
同样,用权重Wv来表示垂直评估图上的每个网块是否拥挤,Cv为垂直布线容量,将CongestV和Cv进行比较,如果CongestV小于Cv,对应的网块垂直方向上不拥挤,Wv设为1;如果CongestV大于Cv,对应的网块垂直方向上拥挤,越拥挤,垂直布线应该就会避免走这个网块,所以此时用Cv/CongestV来表示Wv,越拥挤,Wv越小,垂直布线走这个网块的可能性就越小,当整个网块是障碍块时,Cv为0,这是Wv为0,线网不可通过此网块;
根据动态拥挤度驱动布线算法,预估两端线网起始点S和目标点T的布线路径,根据预估的布线路径网块是否拥挤,判断路径是否能够布通,从而求出布通率。
2.根据权利要求1所述基于不均匀网格的模拟电路布线评估方法,其特征在于:边界线所在直线,以及两端线网的起始点和目标点的扩展边界线所在直线构成不均匀网格评估图。
3.根据权利要求1所述基于不均匀网格的模拟电路布线评估方法,其特征在于,所述动态拥挤度驱动布线算法包括以下步骤:
预估S→L和S→B的路径,选择L→T的路径或者B→T的路径,得到S→L→T和S→B→T所经过的网块的W总和,选择W的总和值比较大的一个值,得到拥挤度最小的S→B→T路径;
在计算W的总和时,如果是L→T时,把点L对应的网块的Wh加入到W总和里,如果是B→T时,把点B对应的网块的Wv加入到W总和里;
如果预测的路径经过的某个网块W等于0,说明此线网不可布,如果是0~1之间,随机给一个0~1的值,与W比,如果小于W说明不可布,如果W等于1,说明此网块可布,进一步考察路径经过的下一个网块,最终可以判断此线网是否可布;
通过上述步骤计算所有的线网,得到可以布通的布线总数,进而得到布通率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510034253.5A CN104636546B (zh) | 2015-01-23 | 2015-01-23 | 一种基于不均匀网格的模拟电路布线评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510034253.5A CN104636546B (zh) | 2015-01-23 | 2015-01-23 | 一种基于不均匀网格的模拟电路布线评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636546A CN104636546A (zh) | 2015-05-20 |
CN104636546B true CN104636546B (zh) | 2017-07-21 |
Family
ID=53215287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510034253.5A Expired - Fee Related CN104636546B (zh) | 2015-01-23 | 2015-01-23 | 一种基于不均匀网格的模拟电路布线评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636546B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733485B (zh) * | 2021-04-06 | 2021-07-06 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于快速查找表线长模型的拥塞度预估模型构建方法 |
WO2022266888A1 (zh) * | 2021-06-23 | 2022-12-29 | 华为技术有限公司 | 拥塞预测模型训练方法、图像处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916317A (zh) * | 2010-08-23 | 2010-12-15 | 清华大学 | 基于无网格模型的集成电路模块到模块的布线方法 |
-
2015
- 2015-01-23 CN CN201510034253.5A patent/CN104636546B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916317A (zh) * | 2010-08-23 | 2010-12-15 | 清华大学 | 基于无网格模型的集成电路模块到模块的布线方法 |
Non-Patent Citations (3)
Title |
---|
Fashion_ A Fast and Accurate Solution to Global Routing Problem;ZhenCao_et al;《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》;20080430;第27卷(第4期);第726-737页 * |
FREe: A Fast Routability Estimator;Shenghua Liu_et al;《International Conference on Communications》;20061231;第2454-2458页 * |
用于VLSI物理设计的计算智能算法研究及应用;徐宁;《中国优秀博硕士学位论文全文数据库 (博士) 信息科技辑》;20040615(第2期);第1-100页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104636546A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005659B (zh) | 电缆敷设方法及系统 | |
CN110795908B (zh) | 偏差驱动的总线感知总体布线方法 | |
Zhou et al. | An accurate detailed routing routability prediction model in placement | |
US8584070B2 (en) | Evaluating routing congestion based on average global edge congestion histograms | |
CN104636546B (zh) | 一种基于不均匀网格的模拟电路布线评估方法 | |
CN101288079A (zh) | 使用冗余线路以增加超大规模集成电路布图的产率和可靠性 | |
CN102708052B (zh) | 一种单元测试中软件故障自动定位方法 | |
CN107301570A (zh) | 业务量预测方法、异常业务量检测方法、装置和电子设备 | |
WO2022110114A1 (zh) | 电路版图的识别方法及识别设备 | |
CN108780312A (zh) | 用于使用路径追踪针对装配线的根本原因分析的方法和系统 | |
CN104504246B (zh) | 基于环‑辐网解耦的可靠性快速评估算法 | |
CN110147632A (zh) | 一种考虑非均匀轨道和障碍物的拓扑匹配总线布线方法 | |
CN110888087A (zh) | 一种版图互连线缺陷检查系统及其检查方法 | |
US20040216067A1 (en) | Method of determining arrangement of wire in semiconductor intergrated circuit | |
CN117612339B (zh) | 基于铁塔大数据的地质灾害监测方法及系统 | |
CN109472045A (zh) | 一种基于随机截尾数据的继电保护缺陷分布评估方法及系统 | |
CN104462726A (zh) | 用于反熔丝的现场可编程门阵列的布线方法 | |
CN106443404A (zh) | 电子电路监测系统及电子电路监测方法 | |
JP3102365B2 (ja) | 配置配線方法 | |
US20070276643A1 (en) | Design method and apparatus for semiconductor integrated circuit | |
CN112733485B (zh) | 一种基于快速查找表线长模型的拥塞度预估模型构建方法 | |
CN113391187B (zh) | 一种电路板走线通流量的达标检测方法、系统及装置 | |
CN105308997B (zh) | 一种确定待优化小区集合的装置及方法 | |
JP3543941B2 (ja) | 半導体集積回路装置の電気的チェック方法 | |
JPH06236419A (ja) | 配線基板の部品配置検討装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170721 Termination date: 20220123 |
|
CF01 | Termination of patent right due to non-payment of annual fee |