CN113673196B - 一种基于可布线性预测的全局布线优化方法 - Google Patents

一种基于可布线性预测的全局布线优化方法 Download PDF

Info

Publication number
CN113673196B
CN113673196B CN202110935173.2A CN202110935173A CN113673196B CN 113673196 B CN113673196 B CN 113673196B CN 202110935173 A CN202110935173 A CN 202110935173A CN 113673196 B CN113673196 B CN 113673196B
Authority
CN
China
Prior art keywords
wiring
congestion
layer
information
model
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.)
Active
Application number
CN202110935173.2A
Other languages
English (en)
Other versions
CN113673196A (zh
Inventor
张旋
宿淼迪
丁鸿志
翁绍鸿
邹长忠
陈建利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lixin Software Technology Co ltd
Original Assignee
Shanghai Lixin Software Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Lixin Software Technology Co ltd filed Critical Shanghai Lixin Software Technology Co ltd
Priority to CN202110935173.2A priority Critical patent/CN113673196B/zh
Publication of CN113673196A publication Critical patent/CN113673196A/zh
Application granted granted Critical
Publication of CN113673196B publication Critical patent/CN113673196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • G06F30/3947Routing global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种基于可布线性预测的全局布线优化方法,首先在详细布局之后根据布局结果定义关键特征,然后利用提取的特征数据和详细布线后衡量可布线性的实际数据训练得到可布线性预测模型,最后将模型嵌入布局布线算法中,指导布线过程,达到优化布线拥塞的效果。本发明可以有效地减少全局布线结果中的溢出和线长。

Description

一种基于可布线性预测的全局布线优化方法
技术领域
本发明涉及VLSI物理设计自动化技术领域,特别是一种基于可布线性预测的全局布线优化方法。
背景技术
芯片物理设计一般有可布线性、时延、功耗、面积、可制造性等优化目标,随着集成电路制造工艺的发展和特征尺寸的减小,可布线性逐渐成为最重要的目标之一。实际的布线拥塞和可布线性在详细布线完成后才能得到,可布线性预测是指在详细布线前的设计阶段,对布线的拥塞情况和可布线性进行估计,从而可以在物理设计早期阶段优化布线拥塞,对于芯片的设计质量和周期缩短都有重要意义。
当前可布线性预测主要基于各区域布线资源的利用率和设计规则违例的数量,本质上是对影响布线资源消耗的因素进行大致衡量,存在依赖人工、耗时久、难以适应愈加复杂的设计规则等局限性。为了克服以上局限,本发明提出将深度学习的方法用于预测可布线性。深度学习通过训练数据,使用算法,挖掘事物背后隐藏的规律和本质,得到模型。基于深度学习的可布线性预测模型将详细布线结果中的布线资源利用率作为可布线性的度量,并在详细布局后提取电路的相关特征,将这些数据用于训练模型。在全局布线阶段应用训练得到的可布线性模型,可以快速估计布线拥塞情况,优化可布线性,缩短运行时间,提升布线解的质量(如线长、通孔数、设计规则违例数等)。
发明内容
有鉴于此,本发明的目的是提供一种基于可布线性预测的全局布线优化方法,基于机器学习的建模方法,结合神经网络模型,选择适合的模型,并在详细布局后定义关键特征,利用提取的特征数据和详细布线后衡量可布线性的实际数据训练得到可布线性模型,并将模型嵌入布线算法中,指导全局布线过程,达到优化布线拥塞的效果,最终形成一个可布线性驱动的全局布线模型和算法。
本发明采用以下方案实现:一种基于可布线性预测的全局布线优化方法,其包括以下步骤:
步骤S1:将芯片版图设计的每一层看作一个平面,将该平面按相同大小的网格划分表示为网格图,每个网格表示为一个矩阵元素,从布局结果的网表信息中统计每个网格中包含的引脚、线网容量、NCPR信息,并进行线网密度的估算从而获取更高级的特征;对这些特征进行皮尔逊相关系数分析和对比,选择相关度低的特征,即去掉相关性高的相似重复的特征;从全局布线结果的网表信息中统计每个网格中线和通孔的使用量,从而获取标签;将最终保留的特征和标签存储为多维矩阵,用于接下来的神经网络模型训练;
步骤S2:选择U-Net网络模型作为拥塞估计器,将提取的特征作为输入,标签作为输出,训练该模型到最佳状态,用以使网络能够有效的应用输入信息,拟合真实的布线拥塞情况;
步骤S3:将训练好的模型嵌入到布线流程中,在进行全局布线之前提取详细布局结果的相关信息即步骤S2中提到的特征输入模型,则经过模型计算能够得出拟合的布线拥塞情况;在此基础上使用基于拥塞情况的布线约束策略在全局布线的过程中进行指导,用以能够从全局的角度优化最终的布线结果,在达到在时间消耗大致相同的情况下,减少布线的溢出和线长。
进一步地,所述步骤S1的具体内容为:
将芯片版图设计的每一层作为一个平面分成一组称为tiles的网格,网格线是由每个tile表示为一个顶点并连接相邻的顶点来构造的;将两个顶点之间的网格线称为线边,即线边是两个tile之间的通道;相同层上通道的方向是一致的,即是水平或垂直的;每一个顶点即每一个网格tile都具有相邻引脚数量、引脚密度、线网容量、线网密度和NCPR(net-cuts-per-region)信息,采用皮尔逊相关系数计算相关性,并去掉其中相关性最高几个的信息,从而将相关度低的信息提取出来作为该tile的特征;布线之后每个tile中线和通孔的使用量则是该tile的标签;
采用新的线网密度的计算方式即三维的RUDY(Rectangular Uniform wireDensitY),用以提取更高级的特征;传统的二维RUDY具体的计算方法公式(1),而三维RUDY则假设线网在相应的b-box(bounding box)内,将RUDY扩展到三维空间从而构建三维特征,得到变换后的公式(4);
线网n的RUDY表示为R(n),其中HPWL代表半周线长,导线的宽度表示为p(n),其中wn和hn分别为线网n的二维b-box的宽度和高度;
假设线网必须穿过其引脚所在的层即引脚层以及引脚之间的所有层;所以将最低的引脚层设置为b-box的最底层,将最高的引脚层设置为最高层,b-box的范围取决于引脚的相对位置;引脚的相对位置决定了一个线网的路径方向;如果引脚位于水平或垂直线上,则布线方向为水平或垂直;如果两个引脚位于对角线上,则布线方向同时包括水平和垂直方向;即不同层上的导线的方向在水平方向和垂直方向之间交替变化;当b-box缺乏引脚所在的层时,将进行上下扩展,用以使b-box包含对这两个引脚进行布线时经过的不同方向的层;在RUDY估计之后,导线和导线宽度的乘积应平均分配给三维b-box中的每个tile;采用根据b-box的宽度wn和高度hn来决定每一层比例的方法,由公式(2)和公式(3)给出,用以准确地估计布线密布:
其中rh(n)和rv(n)是每个水平层和垂直层中线网n的比例,yh(n)和yv(n)分别表示线网n的b-box中水平层和垂直层的数量;上述公式表示线网的宽度和高度与b-box底部半周长wn+hn的比例直接决定线网在水平层和垂直层中的分布;进一步,得到三维RUDY的计算公式如下:
其中,i表示h或v;公式(4)的含义如下:由于金属层数量少,每层中线网的比例需要根据wn和hn估计,半周线长和导线宽度的乘积就按这个比例分配给b-box的每一层;
此外,将由公式(4)计算得到线网密度,线网密度的计算方式即三维的RUDY结合引脚密度、线网容量、相邻的引脚数和NCPR最终得到了5个特征;然后采用皮尔逊相关系数分析,评估这些特征的相关性,在相关性系数大于0.4的特征中只保留其中一个特征,去掉冗余信息;最终保留了引脚密度,线网容量,线网密度由三维RUDY计算得到这三个特征;相应地从布线之后的网表信息直接获得的线和通孔的使用量则作为标签;结合将芯片版图设计的每一层看作一个平面,将该平面按相同大小的网格划分表示为网格图,每个网格tile表示为一个矩阵元素,每个元素的值则取为该网格中提取到的特征或标签的值,用以使芯片的版图设计的每一层的特征或标签信息都能够按照上述过程化为矩阵表示,由于芯片有多层,所以能够建立一个电路实例信息的多维矩阵表示。
进一步地,所述步骤S2的具体内容为:
根据步骤S1得到的布局结果信息的多维矩阵,将其看做一组像素矩阵即图像,此时特征信息矩阵表示为特征图,标签信息矩阵就表示为拥塞图;对于这些图像按固定大小64*64和步长大小为10切割然后堆叠,用以将一个电路实例的特征分割成一组图像,根据步骤S1得到的特征和标签图像的维度就能够确定神经网络的输入和输出的维度;所述特征包括引脚密度、线网容量和线网密度;所述标签包括线的使用量和通孔的使用量;
采用七层神经网络网络结构,包括三次下采样,三次上采样以及一个输出层,整个模型计算过程分为两部分:下采样和上采样;下采样操作一共进行三次,每次能够分解为卷积、激活、归一化、最大池化四个过程;每次下采样将输入特征图大小缩小两倍,此过程被看作是一个编码器;同样地,三次上采样操作形成一个解码器,将经由编码器计算出的语义特征图经过三次上采样恢复到拥塞图的分辨率;每个上采样模块由双线性插值、卷积操作、激活层和归一化层组成;最后,将每一模块输出特征矩阵和下采样同一阶段的数据采用跳跃连接方法连接堆叠在一起,得到融合特征图;模型设计好后,将步骤S1得到的分割好的原始特征图作为模型的训练集分批输入模型,经过神经网络的前向传播计算得出输出,将输出和真实的标签图进行对比,计算损失函数,使用梯度下降和反向传播算法不断优化该神经网络模型的参数即卷积和归一化的权重参数;采用Adam优化器,经过多轮的迭代,使得模型的参数收敛到最佳状态,用以使网络能够有效的应用输入信息,拟合真实的布线拥塞情况。
进一步地,所述步骤S3的具体内容为:
利用拥塞估计器预测全局布线拥塞,然后根据预测的拥塞情况调整布线模式,用以避免布线高度拥塞的区域;在芯片的物理设计中的全局布线阶段添加了一个全局拥塞预测的约束,用以调整初始布线解决方案,获得更好的最终解决方案;为了引入指导全局布线的拥塞估计器,设计一个基于拥塞预测的约束来修改初始布线的拥塞成本函数;表述如下:
g(u,v)=wl(u,v)×t(u,v)×co, (5)
其中(u,v)表示连接顶点u和v的边,g(u,v)和分别为线边(u,v)的原始和新的拥塞成本函数,wl(u,v)表示线边(u,v)的长度,co是单位长度的溢出成本;pw(u,v)和pv(u,v)分别代表拥塞估计器预测得到的线和通孔的使用量,pu(u,v)是预测得到的使用率;是用户可以指定的参数;公式(7)中,当预测边有溢出或接近溢出时,边(u,v)的拥塞成本g(u,v)被设置为无穷大,用以避免布线时通过该边;如果边达不到溢出水平,则根据边的使用情况进行调整;具体地,为pu(u,v)设置一个0.5的下界,用以防止模型的过度调整;此外,对布线中前70%的线网采用上述的基于拥塞预测指导的方法,该方法利用预测得到的线和通孔的使用量修改原始布线器的拥塞成本函数来进行指导布线,而最后30%的线网依然使用原始布线器的拥塞成本函数和布线方法,用以使得前面70%的线网在布线时避开预测结果中的高度拥挤的区域,后面30%的线网则在这些区域布线,有效地减少拥塞情况。
与现有技术相比,本发明具有以下有益效果:
(1)本发明速度快。目前大部分对于布线拥塞的估计是进行快速的总体布线,利用总体布线后的结果估计详细布线后的拥塞情况。本发明在不进行总体布线情况下,基于深度学习方法直接在布局后根据引脚密度等指标估计拥塞。
(2)本发明预测准确度高。在实际应用中,本发明中拥塞预测的结果与实际的拥塞情况的皮尔逊相似度很高,平均值达到84.8%。
(3)本发明布线效果好。在实际大量数据的测试中,本发明提出的模型预测结果指导布线方法可以将布线结果的溢出、线长和通孔计数分别减少6.05%、0.02%和1.18%。
附图说明
图1为本发明实施例的方法流程图。
图2为本发明实施例的将电路平面表示为网格图的示意图。
图3为本发明实施例的三维RUDY计算的示意图。
图4为本发明实施例的采用相关性分析,评估特征的相关性系数,从而去掉冗余信息的示意图。
图5为本发明实施例的建立一个电路实例信息的多维矩阵,并转化为图像处理的示意图。
图6为本发明实施例的对特征图和拥塞图按步长进行切割制作模型训练集的示意图。
图7为本发明实施例的基于深度学习神经网络模型的拥塞估计器的设计示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例提供一种基于可布线性预测的全局布线优化方法,包括以下步骤:
步骤S1:将芯片版图设计的每一层看作一个平面,将该平面按相同大小的网格划分表示为网格图,每个网格表示为一个矩阵元素,从布局结果的网表信息中统计每个网格中包含的引脚、线网容量、NCPR信息,并且基于这些信息结合下文提到的公式(4)进行线网密度的估算从而获取更高级的特征;对这些特征进行统计学上的皮尔逊相关系数分析和对比,选择相关度低的特征,即去掉相关性高的相似重复的特征;从全局布线结果的网表信息中统计每个网格中线和通孔的使用量,从而获取标签;将最终保留的特征和标签存储为多维矩阵,用于接下来的神经网络模型训练;
步骤S2:选择一种有效的深度学习神经网络模型(本实施例采用U-Net网络模型)作为一种拥塞估计器,将提取的特征作为输入,标签作为输出,训练该模型到最佳状态,用以使网络能够有效的应用输入信息,拟合真实的布线拥塞情况;
步骤S3:传统的布局布线流程分为全局布局,合法化,详细布局,全局布线和详细布线,本实施例将训练好的模型嵌入到传统的布线流程中,在进行全局布线之前提取详细布局结果的相关信息即步骤S2中提到的特征输入模型,则经过模型计算能够得出拟合的布线拥塞情况;在此基础上使用下文详述的基于拥塞情况的布线约束的策略在全局布线的过程中进行指导,用以能够从全局的角度优化最终的布线结果,在达到在时间消耗大致相同的情况下,减少布线的溢出和线长。
在本实施例中,所述步骤S1的具体内容为:
如说明书附图2,将芯片版图设计的每一层作为一个平面分成一组称为tiles的网格,网格线是由每个tile表示为一个顶点并连接相邻的顶点来构造的;将两个顶点之间的网格线称为线边,即线边是两个tile之间的通道;相同层上通道的方向是一致的,即是水平或垂直的;每一个顶点即每一个网格tile都具有相邻引脚数量,引脚密度,线网容量,线网密度和NCPR信息,采用皮尔逊相关系数计算相关性,并去掉其中相关性最高几个的信息,从而将最具代表(相关度低)的信息提取出来作为该tile的特征;而布线之后每个tile中线和通孔的使用量(可从布线后的网表信息直接获得)则是该tile的标签;
对于特征的提取,首先分析评估相关的多个特征。特别地,本发明针对近年来出现的三维布线器,设计了一种新的线网密度的计算方式,即三维的RUDY(RectangularUniform wire DensitY)。RUDY本身是一种二维布线中线网分布的估计方法。线网n的RUDY可以表示为R(n),如公式(1)所示,其中HPWL代表半周线长,导线的宽度表示为p(n),其中wn和hn分别为线网n的二维b-box(bounding box)的宽度和高度。
传统的二维RUDY具体的计算方法如公式(1),而三维RUDY则假设线网在相应的b-box内,将RUDY扩展到三维空间从而构建三维特征,得到变换后的公式(4);
本实施例将把RUDY扩展到三维空间,解决了三维布线器中线网密度计算的问题。即为了提取更高级的特征,在获取相邻引脚数量,引脚密度,线网容量,线网密度信息的基础上,采用新的线网密度的计算方式即三维的RUDY,三维RUDY具体的计算方法如下:RUDY假设线网在相应的b-box内,将RUDY扩展到三维空间从而构建三维特征,最终得到公式(4);
首先,假设线网必须穿过其引脚所在的层即引脚层以及引脚之间的所有层;所以将最低的引脚层设置为b-box的最底层,将最高的引脚层设置为最高层,b-box的范围取决于引脚的相对位置;引脚的相对位置决定了一个线网的路径方向;如果引脚位于水平或垂直线上,则布线方向为水平或垂直;如果两个引脚位于对角线上,则布线方向同时包括水平和垂直方向;即不同层上的导线的方向在水平方向和垂直方向之间交替变化;因此,为了使b-box包含与线网进行布线时经过的不同方向的层,当b-box缺乏引脚所在的层时,将进行上下扩展,用以使b-box包含对这两个引脚进行布线时经过的不同方向的层;在RUDY估计之后,导线和导线宽度的乘积应平均分配给三维b-box中的每个tile;由于芯片设计中可能有数百万个线网,线网的二维b-box相比于芯片的大小很小,线网的布线要求与电路的要求也很小。因此,单个线网不需要准确地预测其二维b-box内的布线需求。相比之下,一个芯片只能有多达数十层金属层,所以误差主要是由于一个线网是否均匀地分布到其b-box的每一层。因此,为了准确地估计布线密布,本发明提出了一种根据b-box的宽度wn和高度hn来决定每一层比例的方法,由公式(2)和公式(3)给出:
采用根据b-box的宽度wn和高度hn来决定每一层比例的方法,由公式(2)和公式(3)给出,用以准确地估计布线密布:
其中rh(n)和rv(n)是每个水平层和垂直层中线网n的比例,yh(n)和yv(n)分别表示线网n的b-box中水平层和垂直层的数量;上述公式表示线网的宽度和高度与b-box底部半周长(wn+hn)的比例直接决定线网在水平层和垂直层中的分布;进一步,得到三维RUDY的计算公式如下:
其中i表示h或v;公式(4)的含义如下:由于金属层数量相对较少,每层中线网的比例需要根据wn和hn估计,半周线长和导线宽度的乘积就按这个比例分配给b-box的每一层;相比之下,二维b-box的大小比芯片要小得多,所以每一层上的值可以均匀地分布到该层的每一个tile上。
此外,结合其他可以直接提取的特征(引脚密度、线网容量、相邻的引脚数,NCPR),最终得到了引脚密度、线网容量、线网密度(由三维RUDY计算得到)、相邻的引脚数、NCPR(net-cuts-per-region)图4中的5个特征;然后采用相关性分析,评估这些特征的相关性系数,在相关性系数大于0.4的特征中只保留其中一个特征,去掉冗余信息;最终保留了引脚密度,线网容量,线网密度由三维RUDY计算得到这三个特征;这三个特征相应地从布线之后的网表信息直接获得的线和通孔的使用量则作为标签;结合步骤S1中将芯片版图设计的每一层看作一个平面,将该平面按相同大小的网格划分表示为网格图,每个网格(tile)表示为一个矩阵元素,每个元素的值则取为该网格中提取到的特征或标签的值,用以使芯片的版图设计的每一层的特征或标签信息都能够按照上述过程化为这样矩阵表示(如图2),由于芯片有多层,所以可以如图5建立一个电路实例信息的多维矩阵表示。
在本实施例中,所述步骤S2的具体内容为:
根据步骤S1得到的布局结果信息的多维矩阵,将其看做一组像素矩阵即图像,此时特征信息矩阵表示为特征图,标签信息矩阵就表示为拥塞图;对于这些图像按固定大小(64*64)和步长(大小为10)切割然后堆叠,用以将一个电路实例的特征分割成一组图像,从而可以被深度学习神经网络所接受。根据步骤S1得到的的特征(引脚密度,线网容量,线网密度)和标签(线的使用量和通孔的使用量)图像的维度就能够确定神经网络的输入和输出的维度;
接下来设计有效的神经网络模型,由于以上步骤已经将可布线性预测任务转换为了图像翻译任务,即特征图像到拥塞图像的转换,所以本发明基于U-Net网络设计了基于神经网络模型的拥塞估计器,该模型在图像翻译任务中目前已经取得了非常好的效果。该估计器采用了下采样、上采样和跳跃连接操作;
此外,本实施例对其进行了改进使用了双线性插值上采样来代替通常的反卷积上采样操作,避免可能出现的棋盘伪影(一种图像噪声)。本实施例提出了一个七层神经网络网络结构,包括三次下采样,三次上采样以及一个输出层,以从提取的特征中预测可布线性。整个模型计算过程分为两部分:下采样和上采样。下采样操作一共进行三次,每次操作可以分解为卷积操作、激活层、归一化、最大池化四个过程。模型总共采用了三次下采样,将输入的特征图的大小缩小了8倍。这个过程可以被看作是一个编码器。类似地,三次上采样操作(采用双线性插值上采样)形成了一个解码器,将由编码器(三次下采样)获得的语义特征图经过三次上采样恢复到拥塞图的分辨率。每个上采样模块由双线性插值、卷积操作、激活层和归一化层组成。此外,模型将每一模块输出特征矩阵和下采样同一阶段的数据连接堆叠在一起,也就是采用了跳跃连接操作。这一操作能够使得最后恢复出来的特征图融合了更多的语义特征,也使得不同尺度的特征得到了的融合,从而可以进行多尺度预测和深度监督学习。
模型设计好后,将步骤S1得到的分割好的原始特征图作为模型的训练集分批输入模型,经过神经网络的前向传播计算得出输出,将输出和真实的标签图进行对比,计算损失函数,使用梯度下降和反向传播算法不断优化该神经网络模型的参数(卷积和归一化的权重参数);采用Adam优化器,经过多轮的迭代,使得模型的参数收敛到最佳状态,用以使网络能够有效的应用输入信息,拟合真实的布线拥塞情况。
在本实施例中,所述步骤S3的具体内容为:
利用上述的神经网络模型即拥塞估计器预测全局布线拥塞,然后根据预测的拥塞情况调整布线模式,用以避免布线高度拥塞的区域;因此,在芯片的物理设计中的全局布线阶段添加了一个全局拥塞预测的约束,用以调整初始布线解决方案,获得更好的最终解决方案;为了引入指导全局布线的拥塞估计器,设计一个基于拥塞预测的约束来修改初始布线的拥塞成本函数;表述如下:
g(u,v)=wl(u,v)×t(u,v)×co, (5)
其中g(u,v)和分别为原始和新的拥塞成本函数,wl(u,v)表示线边(u,v)的长度,co是单位长度的溢出成本(一个给定的常数),pw(u,v)和pv(u,v)分别代表拥塞估计器预测得到的线和通孔的使用量,pu(u,v)是预测得到的使用率;/>是用户可以指定的参数(设置为0.15);公式(7)中,当预测边有溢出或接近溢出时,边(u,v)的拥塞成本g(u,v)被设置为无穷大,用以避免布线时通过该边;如果边达不到溢出水平,则根据边的使用情况进行调整;具体地,为pu(u,v)设置一个0.5的下界,用以防止模型的过度调整;此外,对布线中前70%的线网采用上述的基于拥塞预测指导的方法,该方法利用预测得到的线和通孔的使用量修改原始布线器的拥塞成本函数来进行指导布线,而最后30%的线网依然使用原始布线器的拥塞成本函数和布线方法,从而使得前面70%的线网在布线时避开预测结果中得到的高度拥挤的区域,后面30%的线网则在这些区域布线,从而有效地减少拥塞情况。
较佳的,在本实施例中,图1为根据本发明的一种基于可布线性预测从而对全局布线进行优化的方法的流程图;
首先在详细布局之后根据布局结果定义关键特征,然后利用提取的特征数据和详细布线后衡量可布线性的实际数据训练得到可布线性预测模型,最后将模型嵌入布局布线算法中,指导布线过程,达到优化布线拥塞的效果。技术方案要点如下:(1)在全局布线之前根据布局结果定义一种全新的基于三维布线器的线网密度计算方式,提取在详细布局后线网中的引脚密度,线网容量和线网密度信息,将其作为可布线性预测的输入特征,同时将详细布线后得到的线和通孔的使用量作为可布线性预测输出的标签信息;(2)设计与采用合理的神经网络结构(本发明使用改进的U-Net模型),利用第2点得到真实数据训练模型,使网络能够有效的应用输入信息,拟合真实的布线拥塞情况。(3)将训练好的模型嵌入到布线框架中,在进行全局布线之前提取特征输入模型,利用模型预测得到的可布线性信息即布线拥塞情况。根据拥塞预测情况使用一定的策略来进行指导布线,从而优化最终的布线结果。本实施例可以有效地减少全局布线结果中的溢出和线长。
包括如下步骤:
(1)将电路的每一层平面表示为网格图,每个网格表示为一个矩阵元素,从布局结果的网表信息中提取或者设计合适的特征和标签。对这些特征进行分析和对比,选择合适有效的特征,去掉相关性较高的特征。因为在三维空间中电路是多层的,所以本发明提取的是三维特征。将最终保留的特征和标签存储为多维矩阵,用于接下来的神经网络模型训练;
(2)选择一种有效的深度学习神经网络模型(本发明使用改进的U-Net网络模型)作为一种拥塞估计器,将提取的特征作为输入,标签作为输出,训练该模型到最佳状态。使网络能够有效的应用输入信息,拟合真实的布线拥塞情况;
(3)将训练好的模型嵌入到布线流程中,在进行全局布线之前提取布局结果的相关信息即步骤(2)中提到的特征输入模型,则经过模型计算可以得出拟合的布线拥塞情况。在此基础上根据拥塞预测情况使用一定的策略在全局布线的过程中进行指导,从而能够从全局的角度优化最终的布线结果。达到在时间消耗大致相同的情况下,减少布线的溢出和线长的效果;
图2为根据本发明的实施例一的电路平面被分成一组称为tiles的网格,网格线是由每个tile表示为一个顶点并连接相邻的顶点来构造的。将两个顶点之间的网格线称为线边,即线边是两个tile之间的通道。相同层上通道的方向是一致的,即是水平或垂直的。每一个顶点即每一个网格tile都具有一定的信息,需要将其中最具代表的信息提取出来作为该tile的特征。而布线之后每个tile中线和通孔的使用量则是该tile的标签。
图3为根据本发明提出的三维RUDY计算的示意图。本发明针对近年来出现的三维布线器,设计了一种新的线网密度的计算方式,即三维的RUDY(Rectangular Uniform wireDensitY)。RUDY本身是一种二维布线中线网分布的估计方法。深色矩形的四个边界形成了一个线网的引脚的二维b-box。本发明将把RUDY扩展到三维空间,解决了三维布线器中线网密度计算的问题。说明了一个例子,其中线网的两个引脚都在第二层上(最底层是第0层)。由于两个引脚处于对角线相对位置,线网的布线方向应包含水平和垂直两个方向。也就是三维b-box应该同时包含水平层和垂直层。然而,线网的引脚层只有第二层是水平的,所以b-box需要从第二层上下扩展。图中标注的深色立方体就是最后该线网的三维b-box。上述步骤的主要目的是使b-box中的层包含与线网布线方向相同的层,以便三维b-box能够对线网的基本布线范围进行建模。
图4为根据本发明的实施例一的用相关性分析,评估特征的相关性系数,从而去掉冗余信息的示意图,如图所示,引脚密度、线网容量、线网密度(由三维RUDY计算得到)、相邻的引脚数、NCPR(net-cuts-per-region)等特征。然后采用相关性分析,评估这些特征的相关性系数,在相关性较高的特征中只保留其中一个特征,去掉冗余信息。最终保留了引脚密度,线网容量,线网密度这三个特征。
图5为根据本发明的实施例一建立一个电路实例信息的多维矩阵,并转化为图像处理的示意图。将布局结果信息转化为的多维矩阵后,将其看做一组像素矩阵即图像,这样特征信息矩阵就可以表示为特征图,标签信息矩阵就可以表示为拥塞图。
图6为根据本发明的实施例一对特征图和拥塞图按步长进行切割制作模型训练集的示意图。对于这些图像按固定大小和步长切割然后堆叠,这样一个电路实例的特征就被分割成一组图像,从而可以被深度学习神经网络所接受。
图7为本发明中基于深度学习神经网络模型的拥塞估计器的设计示意图。本发明基于U-Net网络设计了基于神经网络模型的拥塞估计器,该模型在图像翻译任务中目前已经取得了非常好的效果。该估计器采用了下采样、上采样和跳跃连接操作。此外,本发明对其进行了改进使用了双线性插值上采样来代替通常的反卷积上采样操作,避免可能出现的棋盘伪影。本发明提出了一个七层神经网络网络结构,以从提取的特征中预测可布线性。整个模型计算过程分为两部分:下采样和上采样。下采样进度有三个模块,每个模块可以分解为卷积操作、激活层、归一化、最大池化四个过程。模型总共采用了三次下采样,将输入的特征图的大小缩小了8倍。这个过程可以被看作是一个编码器。类似地,向上采样的三个模块形成一个解码器,将由编码器获得的高级语义特征图恢复到拥塞图的分辨率。每个上采样模块由双线性插值、卷积操作、激活层和归一化层组成。此外,模型将每一模块输出特征矩阵和下采样同一阶段的数据连接堆叠在一起,也就是采用了跳跃连接操作。这一操作能够使得最后恢复出来的特征图融合了更多的语义特征,也使得不同尺度的特征得到了的融合,从而可以进行多尺度预测和深度监督学习。模型设计好后,将分割好的特征图作为模型的训练集分批输入模型,经过计算得出输出,将输出和真实的标签图进行对比,计算损失函数,使用梯度下降和反向传播算法不断优化模型的参数。采用Adam优化器,经过多轮的迭代,使得模型的参数收敛到最佳状态。从而使网络能够有效的应用输入信息,拟合真实的布线拥塞情况。最后利用拥塞估计器预测全局布线拥塞,然后根据预测的拥塞情况调整布线模式,从而避免布线高度拥塞的区域。
实施例举例的布线器为最新的三维布线器,本发明同样可以应用于传统的二维布线器中的可布线性预测和布线优化。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (3)

1.一种基于可布线性预测的全局布线优化方法,其特征在于:包括以下步骤:
步骤S1:将芯片版图设计的每一层看作一个平面,将该平面按相同大小的网格划分表示为网格图,每个网格表示为一个矩阵元素,从布局结果的网表信息中统计每个网格中包含的引脚、线网容量、NCPR信息,并进行线网密度的估算从而获取更高级的特征;对这些特征进行统计学上的皮尔逊相关系数分析和对比,选择相关度低的特征,即去掉相关性高的相似重复的特征;从全局布线结果的网表信息中统计每个网格中线和通孔的使用量,从而获取标签;将最终保留的特征和标签存储为多维矩阵,用于接下来的神经网络模型训练;
步骤S2:选择U-Net网络模型作为拥塞估计器,将提取的特征作为输入,标签作为输出,训练该模型到最佳状态,用以使网络能够有效的应用输入信息,拟合真实的布线拥塞情况;
步骤S3:将训练好的模型嵌入到布线流程中,在进行全局布线之前提取详细布局结果的相关信息即步骤S2中提到的特征输入模型,则经过模型计算能够得出拟合的布线拥塞情况;在此基础上使用基于拥塞情况的布线约束策略在全局布线的过程中进行指导,用以能够从全局的角度优化最终的布线结果,在达到在时间消耗大致相同的情况下,减少布线的溢出和线长;
所述步骤S3的具体内容为:
利用拥塞估计器预测全局布线拥塞,然后根据预测的拥塞情况调整布线模式,用以避免布线高度拥塞的区域;在芯片的物理设计中的全局布线阶段添加了一个全局拥塞预测的约束,用以调整初始布线解决方案,获得更好的最终解决方案;为了引入指导全局布线的拥塞估计器,设计一个基于拥塞预测的约束来修改初始布线的拥塞成本函数;表述如下:
g(u,v)=wl(u,v)×t(u,v)×co,(5)
其中(u,v)表示连接顶点u和v的边,g(u,v)和分别为线边(u,v)的原始和新的拥塞成本函数,wl(u,v)表示线边(u,v)的长度,co是单位长度的溢出成本;pw(u,v)和pv(u,v)分别代表拥塞估计器预测得到的线和通孔的使用量,pu(u,v)是预测得到的使用率;ε是用户可以指定的参数;公式(7)中,当预测边有溢出或接近溢出时,边(u,v)的拥塞成本g(u,v)被设置为无穷大,用以避免布线时通过该边;如果边达不到溢出水平,则根据边的使用情况进行调整;具体地,为pu(u,v)设置一个0.5的下界,用以防止模型的过度调整;此外,对布线中前70%的线网采用上述的基于拥塞预测指导的方法,该方法利用预测得到的线和通孔的使用量修改原始布线器的拥塞成本函数来进行指导布线,而最后30%的线网依然使用原始布线器的拥塞成本函数和布线方法,用以使得前面70%的线网在布线时避开预测结果中的高度拥挤的区域,后面30%的线网则在这些区域布线,有效地减少拥塞情况。
2.根据权利要求1所述的一种基于可布线性预测的全局布线优化方法,其特征在于:所述步骤S1的具体内容为:
将芯片版图设计的每一层作为一个平面分成一组称为tiles的网格,网格线是由每个tile表示为一个顶点并连接相邻的顶点来构造的;将两个顶点之间的网格线称为线边,即线边是两个tile之间的通道;相同层上通道的方向是一致的,即是水平或垂直的;每一个顶点即每一个网格tile都具有相邻引脚数量、引脚密度、线网容量、线网密度和NCPR信息,采用皮尔逊相关系数计算相关性,并去掉其中相关性最高几个的信息,从而将相关度低的信息提取出来作为该tile的特征;布线之后每个tile中线和通孔的使用量则是该tile的标签;
采用新的线网密度的计算方式即三维的RUDY,用以提取更高级的特征;传统的二维RUDY具体的计算方法如公式(1),而三维RUDY则假设线网在相应的b-box内,将RUDY扩展到三维空间从而构建三维特征,得到变换后的公式(4);
线网n的RUDY表示为R(n),其中HPWL代表半周线长,导线的宽度表示为p(n),其中wn和hn分别为线网n的二维b-box的宽度和高度;
假设线网必须穿过其引脚所在的层即引脚层以及引脚之间的所有层;所以将最低的引脚层设置为b-box的最底层,将最高的引脚层设置为最高层,b-box的范围取决于引脚的相对位置;引脚的相对位置决定了一个线网的路径方向;如果引脚位于水平或垂直线上,则布线方向为水平或垂直;如果两个引脚位于对角线上,则布线方向同时包括水平和垂直方向;即不同层上的导线的方向在水平方向和垂直方向之间交替变化;当b-box缺乏引脚所在的层时,将进行上下扩展,用以使b-box包含对这两个引脚进行布线时经过的不同方向的层;在RUDY估计之后,导线和导线宽度的乘积应平均分配给三维b-box中的每个tile;采用根据b-box的宽度wn和高度hn来决定每一层比例的方法,由公式(2)和公式(3)给出,用以准确地估计布线密布:
其中rh(n)和rv(n)是每个水平层和垂直层中线网n的比例,yh(n)和yv(n)分别表示线网n的b-box中水平层和垂直层的数量;上述公式表示线网的宽度和高度与b-box底部半周长wn+hn的比例直接决定线网在水平层和垂直层中的分布;进一步,得到三维RUDY的计算公式如下:
其中,i表示h或v;公式(4)的含义如下:由于金属层数量少,每层中线网的比例需要根据wn和hn估计,半周线长和导线宽度的乘积就按这个比例分配给b-box的每一层;
此外,将由公式(4)计算得到线网密度,线网密度的计算方式即三维的RUDY结合引脚密度、线网容量、相邻的引脚数和NCPR最终得到了5个特征;然后采用皮尔逊相关系数分析,评估这些特征的相关性,在相关性系数大于0.4的特征中只保留其中一个特征,去掉冗余信息;最终保留了引脚密度,线网容量,线网密度由三维RUDY计算得到这三个特征;相应地从布线之后的网表信息直接获得的线和通孔的使用量则作为标签;结合将芯片版图设计的每一层看作一个平面,将该平面按相同大小的网格划分表示为网格图,每个网格tile表示为一个矩阵元素,每个元素的值则取为该网格中提取到的特征或标签的值,用以使芯片的版图设计的每一层的特征或标签信息都能够按照上述过程化为矩阵表示,由于芯片有多层,所以能够建立一个电路实例信息的多维矩阵表示。
3.根据权利要求1所述的一种基于可布线性预测的全局布线优化方法,其特征在于:所述步骤S2的具体内容为:
根据步骤S1得到的布局结果信息的多维矩阵,将其看做一组像素矩阵即图像,此时特征信息矩阵表示为特征图,标签信息矩阵就表示为拥塞图;对于这些图像按固定大小64*64和步长大小为10切割然后堆叠,用以将一个电路实例的特征分割成一组图像,根据步骤S1得到的特征和标签图像的维度就能够确定神经网络的输入和输出的维度;所述特征包括引脚密度、线网容量和线网密度;所述标签包括线的使用量和通孔的使用量;
采用七层神经网络结构,包括三次下采样,三次上采样以及一个输出层,整个模型计算过程分为两部分:下采样和上采样;下采样操作一共进行三次,每次能够分解为卷积、激活、归一化、最大池化四个过程;每次下采样将输入特征图大小缩小两倍,此过程被看作是一个编码器;同样地,三次上采样操作形成一个解码器,将经由编码器计算出的语义特征图经过三次上采样恢复到拥塞图的分辨率;每个上采样模块由双线性插值、卷积操作、激活层和归一化层组成;最后,将每一模块输出特征矩阵和下采样同一阶段的数据采用跳跃连接方法连接堆叠在一起,得到融合特征图;模型设计好后,将步骤S1得到的分割好的原始特征图作为模型的训练集分批输入模型,经过神经网络的前向传播计算得出输出,将输出和真实的标签图进行对比,计算损失函数,使用梯度下降和反向传播算法不断优化该神经网络模型的参数即卷积和归一化的权重参数;采用Adam优化器,经过多轮的迭代,使得模型的参数收敛到最佳状态,用以使网络能够有效的应用输入信息,拟合真实的布线拥塞情况。
CN202110935173.2A 2021-08-15 2021-08-15 一种基于可布线性预测的全局布线优化方法 Active CN113673196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110935173.2A CN113673196B (zh) 2021-08-15 2021-08-15 一种基于可布线性预测的全局布线优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110935173.2A CN113673196B (zh) 2021-08-15 2021-08-15 一种基于可布线性预测的全局布线优化方法

Publications (2)

Publication Number Publication Date
CN113673196A CN113673196A (zh) 2021-11-19
CN113673196B true CN113673196B (zh) 2024-02-06

Family

ID=78542861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110935173.2A Active CN113673196B (zh) 2021-08-15 2021-08-15 一种基于可布线性预测的全局布线优化方法

Country Status (1)

Country Link
CN (1) CN113673196B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114117943B (zh) * 2022-01-26 2022-05-06 湖南大学 物理设计布局阶段的时序预测方法
CN114925651A (zh) * 2022-04-29 2022-08-19 华为技术有限公司 一种电路走线确定方法及相关设备
CN115238639B (zh) * 2022-09-23 2023-01-20 深圳鸿芯微纳技术有限公司 全局布线的预测方法、装置、设备及存储介质
CN115270705B (zh) * 2022-09-23 2023-01-20 深圳鸿芯微纳技术有限公司 一种设计规则违例预测方法、装置、设备及存储介质
CN116738911B (zh) * 2023-07-10 2024-04-30 苏州异格技术有限公司 布线拥塞预测方法、装置及计算机设备
CN117669477B (zh) * 2024-01-31 2024-04-05 苏州元脑智能科技有限公司 一种集成电路的布线方案确定方法、装置及设备和介质
CN117829083B (zh) * 2024-03-01 2024-05-28 上海励驰半导体有限公司 基于神经网络的布线方法、装置、电子设备及存储介质
CN117829085B (zh) * 2024-03-04 2024-05-17 中国科学技术大学 一种适用于芯片布线的连通图生成方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5587923A (en) * 1994-09-07 1996-12-24 Lsi Logic Corporation Method for estimating routability and congestion in a cell placement for integrated circuit chip
CN103488816A (zh) * 2013-09-02 2014-01-01 清华大学 模拟电路的多层精确匹配布线方法
CN108846187A (zh) * 2018-05-25 2018-11-20 福州大学 基于广义增广拉格朗日的集成电路全局布局优化方法
CN110032808A (zh) * 2019-04-16 2019-07-19 福州大学 基于混合离散粒子群优化的轨道分配器构建方法
CN111767689A (zh) * 2020-05-20 2020-10-13 西南科技大学 一种基于图形处理的三维集成电路布局方法
CN111814420A (zh) * 2020-06-18 2020-10-23 福州大学 基于拓扑优化和启发式搜索的总体布线方法
CN112233115A (zh) * 2020-12-11 2021-01-15 西安国微半导体有限公司 基于深度学习的布局后布线违例预测方法及可读存储介质
CN112560389A (zh) * 2020-12-24 2021-03-26 福州大学 一种基于轨道分配的实用详细布线方法
CN112784521A (zh) * 2021-01-22 2021-05-11 福州大学 先进制程下时延驱动的层分配方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5587923A (en) * 1994-09-07 1996-12-24 Lsi Logic Corporation Method for estimating routability and congestion in a cell placement for integrated circuit chip
CN103488816A (zh) * 2013-09-02 2014-01-01 清华大学 模拟电路的多层精确匹配布线方法
CN108846187A (zh) * 2018-05-25 2018-11-20 福州大学 基于广义增广拉格朗日的集成电路全局布局优化方法
CN110032808A (zh) * 2019-04-16 2019-07-19 福州大学 基于混合离散粒子群优化的轨道分配器构建方法
CN111767689A (zh) * 2020-05-20 2020-10-13 西南科技大学 一种基于图形处理的三维集成电路布局方法
CN111814420A (zh) * 2020-06-18 2020-10-23 福州大学 基于拓扑优化和启发式搜索的总体布线方法
CN112233115A (zh) * 2020-12-11 2021-01-15 西安国微半导体有限公司 基于深度学习的布局后布线违例预测方法及可读存储介质
CN112560389A (zh) * 2020-12-24 2021-03-26 福州大学 一种基于轨道分配的实用详细布线方法
CN112784521A (zh) * 2021-01-22 2021-05-11 福州大学 先进制程下时延驱动的层分配方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DrPlace: 基于深度学习的可布线性驱动布局算法;郝睿等;《计算机辅助设计与图形学学报》;第33卷(第4期);第625-629页 *
Fast and accurate routing demand estimation for efficient routability-driven placement;Peter Spindler et al.;《2007 Design, Automation & Test in Europe Conference & Exhibition》;第1-5页 *
Optimizing routability in large-scale mixed-size placement;Jason Cong et al.;《2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC)》;第441-445页 *
布局布线中一种拥塞问题的解决方法;许可敬等;《电子世界》(第13期);第130-1323页 *

Also Published As

Publication number Publication date
CN113673196A (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
CN113673196B (zh) 一种基于可布线性预测的全局布线优化方法
Alawieh et al. High-definition routing congestion prediction for large-scale FPGAs
CN111611878B (zh) 一种基于视频图像的人群计数和未来人流量预测的方法
US6327694B1 (en) Cell placement apparatus and method, and computer readable record medium having cell placement program recorded thereon
Hagen et al. On the intrinsic Rent parameter and spectra-based partitioning methodologies
CN112541546B (zh) 一种基于多场景模型的光伏电站典型场景生成方法
CN101685476A (zh) 在集成电路设计期间快速模拟制造影响的设备、方法和系统
CN110879982A (zh) 一种人群计数系统及方法
CN112766123B (zh) 一种基于纵横交叉注意力网络的人群计数方法及系统
JP7096431B2 (ja) ビデオ分析方法及びそれに関連するモデル訓練方法、機器、装置
CN106023212A (zh) 一种基于金字塔逐层传播聚类的超像素分割方法
CN116011684A (zh) 一种基于时空图卷积网络的交通流量预测方法
Szentimrey et al. Machine learning for congestion management and routability prediction within FPGA placement
CN113569345A (zh) 一种基于多源信息融合的数控系统可靠性建模方法与装置
Su et al. High-correlation 3d routability estimation for congestion-guided global routing
CN110728683B (zh) 一种基于密集连接的图像语义分割方法
CN115238639B (zh) 全局布线的预测方法、装置、设备及存储介质
CN109583006B (zh) 一种基于循环切割和重排的现场可编程门阵列卷积层的动态优化方法
Shrestha et al. EDA-ML: Graph representation learning framework for digital IC design automation
CN107908915A (zh) 预测隧道挤压变形的建模及分析方法、设备和存储介质
CN112990336B (zh) 基于竞争注意力融合的深度三维点云分类网络构建方法
US9773086B1 (en) Methods, systems, and articles of manufacture for implementing coplanar waveguide transmission lines in electronic designs
Ho et al. Nvcell 2: Routability-driven standard cell layout in advanced nodes with lattice graph routability model
CN115131556A (zh) 一种基于深度学习的图像实例分割方法
Chang et al. Flexible multiple-objective reinforcement learning for chip placement

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant