CN112233115B - 基于深度学习的布局后布线违例预测方法及可读存储介质 - Google Patents
基于深度学习的布局后布线违例预测方法及可读存储介质 Download PDFInfo
- Publication number
- CN112233115B CN112233115B CN202011437109.3A CN202011437109A CN112233115B CN 112233115 B CN112233115 B CN 112233115B CN 202011437109 A CN202011437109 A CN 202011437109A CN 112233115 B CN112233115 B CN 112233115B
- Authority
- CN
- China
- Prior art keywords
- image
- design rule
- obtaining
- information
- network 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/0006—Industrial image inspection using a design-rule based approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种基于深度学习的布局后布线违例预测方法及可读存储介质,包括:按照预设窗口对第一版图信息进行分割,以得到每个预设窗口对应的第一特征信息;根据第一特征信息得到每个第一特征信息对应的第一特征图像;根据同一预设窗口对应的所有第一特征图像得到第一五维张量图像;根据预设窗口得到对应的第一设计规则违反图像;得到训练完的第一网络模型;基于训练完的第一网络模型,得到第一训练模型;得到第二训练模型;得到最终训练模型;将待预测数据输入至最终训练模型得到预测结果。本发明在设计规则违反非常多的情况下可以及时的调整布局,可以指导布局优化,减少布线后的设计规则违反,优化布局布线流程。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种基于深度学习的布局后布线违例预测方法及可读存储介质。
背景技术
21世纪以来,微电子领域技术不断发展,集成电路正在不断地向超大规模、极低功耗和超高速的方向发展。芯片特征尺寸已经达到了7纳米级并且还在不断的缩小。特征尺寸的下降使集成电路中的各种寄生效应越来越多,随着集成电路性能要求的提高,提出了更多的约束条件和设计规则,在完成布局后需要进行设计规则检查(Design Rule Check)。
单位面积上更高的集成度,复杂的设计流程以及较长的设计周期,也对辅助设计软件提出了更高的要求,例如优化设计流程,提高设计效率以缩短设计时间,减少后续人工的修改工作量等。在更高的工艺节点下,根据全局布线的结果去指导详细布线出现的违规越来越多,需要手动修复DRV(设计规则检查的违反,Design Rule Violation),在违规严重的情况下甚至需要返回布局阶段修改,耗费大量的时间。
目前针对设计规则违法预测这一相关技术,大部分都是使用文本数据进行预测,使用支持向量机(Support Vector machines,SVM)、所属类别多元自适应回归样条(multivariate adaptive regression splines,MARS)、卷积神经网络(ConvolutionalNeural Nets,CNN)等模型,将布局后的数据或全局布线后的数据特征作为输入,输出可布线性或者违规预测,预测单位是整个版图设计或者较少的布线网格(gcell)窗口。
但是,目前的预测方法只能对违规进行预测,不能预测违规的详细位置,不能对违规进行精确的预测。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于深度学习的布局后布线违例预测方法及可读存储介质。本发明要解决的技术问题通过以下技术方案实现:
一种基于深度学习的布局后布线违例预测方法,包括:
按照预设窗口对第一版图信息进行分割,以得到每个所述预设窗口对应的第一特征信息,所述第一特征信息包括拥塞、矩形线密度、宏模块和引脚密度;
根据所述第一特征信息得到每个所述第一特征信息对应的第一特征图像,所述第一特征图像包括第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像;
根据同一所述预设窗口对应的所有所述第一特征图像得到第一五维张量图像;
根据所述预设窗口得到对应的第一设计规则违反图像;
将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至第一网络模型得到训练完的第一网络模型,其中,所述第一网络模型为由将全卷积神经网络模型最后的全连接层修改为反卷积层得到;
基于训练完的第一网络模型,在第一层至第五层中的至少一层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第一网络模型,以得到第一训练模型;
将n2个所述第一五维张量图像和对应的m2个所述第一设计规则违反图像输入至所述第一训练模型得到第二训练模型;
将第二版图信息对应的第二五维张量图像和第二设计规则违反图像输入至所述第二训练模型得到最终训练模型;
将待预测数据输入至所述最终训练模型得到预测结果。
在本发明的一个实施例中,按照预设窗口对第一版图信息进行分割,以得到每个所述预设窗口对应的若干第一特征信息,包括:
获取所述第一版图信息;
以a*b个布线网格将所述第一版图信息划分为若干与所述布线网格大小对应的窗口;
基于a1*b1个所述布线网格,将所述第一版图信息分割为若干个预设窗口,其中,a1<a,b1<b;
根据所述预设窗口得到所述第一特征信息。
在本发明的一个实施例中,所述布线网格的长和宽均等于标准单元的高度。
在本发明的一个实施例中,根据所述第一特征信息得到每个所述第一特征信息对应的第一特征图像,包括:
将每个所述第一特征信息均转换为相同尺寸的所述第一特征图像,所述第一特征图像为多通道图像。
在本发明的一个实施例中,根据同一所述预设窗口对应的所有所述第一特征图像得到第一五维张量图像,包括:
将同一所述预设窗口对应的所述第一拥塞图像、所述第一矩形线密度图像、所述第一宏模块图像和所述第一引脚密度图像叠加成为第一三维图像;
将若干所述第一三维图像转换为第一五维张量图像。
在本发明的一个实施例中,根据所述预设窗口得到对应的第一设计规则违反图像,包括:
获取所述第一版图信息的设计规则违反信息;
将每个所述预设窗口对应的所述设计规则违反信息转换为所述第一设计规则违反图像,所述第一设计规则违反图像为掩码图。
在本发明的一个实施例中,基于训练完的第一网络模型,在第一层至第五层中的至少一层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第一网络模型,以得到第一训练模型,包括:
基于训练完的第一网络模型,在第四层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第一网络模型得到第二网络模型;
基于第二网络模型,在第二层或第三层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第二网络模型得到所述第一训练模型。
在本发明的一个实施例中,将第二版图信息对应的第二特征信息和第二设计规则违反图像输入至所述第二训练模型得到最终训练模型,包括:
获取所述第二版图信息;
根据所述第二版图信息得到若干第二五维张量图像和若干第二设计规则违反图像;
将所述第二五维张量图像和所述第二设计规则违反图像输入至所述第二训练模型,在损失曲线收敛时得到最终训练模型。
在本发明的一个实施例中,所述待预测数据包括三维图像或五维张量图像。
本发明同时提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明的有益效果:
本发明通过在布局后提取关键信息,从而不仅能够预测布线后会出现的设计规则违反,还能预测设计规则违反的详细位置,因此在设计规则违反非常多的情况下可以及时的调整布局,可以指导布局优化,减少布线后的设计规则违反,优化布局布线流程。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于深度学习的布局后布线违例预测方法的流程示意图;
图2是本发明实施例提供的另一种基于深度学习的布局后布线违例预测方法的流程示意图;
图3是本发明实施例提供的一种数据集生成过程的示意图;
图4是本发明实施例提供的一种三维图像生成过程的示意图;
图5是本发明实施例提供的一种模型输入数据的示意图;
图6是本发明实施例提供的一种输出设计规则违例信息的示意图;
图7是本发明实施例提供的一种计算机设备模块的示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1、图2和图3,图1是本发明实施例提供的一种基于深度学习的布局后布线违例预测方法的流程示意图,图2是本发明实施例提供的另一种基于深度学习的布局后布线违例预测方法的流程示意图,图3是本发明实施例提供的一种数据集生成过程的示意图。本实施例提供了一种基于深度学习的布局后布线违例预测方法,该布局后布线违例预测方法包括步骤1至步骤9,其中:
步骤1、按照预设窗口对第一版图信息进行分割,以得到每个预设窗口对应的第一特征信息,第一特征信息包括拥塞、矩形线密度、宏模块和引脚密度。
具体地,本实施例将所获得的第一版图信息分割成若干个预设窗口,预设窗口用于预测,预设窗口大小的选取不应过大或过小,因为过大会模糊像素信息,过小不能包括线网信息,因此预设窗口大小选取的原则是不会模糊版图信息所分割的预设窗口的像素信息,同时还能包括有线网信息。版图信息所分割的预设窗口应包括有拥塞、矩形线密度、宏模块、引脚位置和引脚密度等特征信息。传统的布线过程中,详细布线以全局布线后的拥塞图为指导,绕开拥塞区域以减轻布线资源紧缺的问题,也可以避免短路等情况产生,所以将拥塞信息作为预测的特征。除此之外,引脚密度大的地方线网会较多,需要的布线资源也会较多。在标准单元布局完成后,可以从布局文件中提取标准单元的位置,结合标准单元物理参数描述文件(定义了标准单元的引脚信息)就可以确定引脚的位置以及引脚基于布线网格的密度。依据布线的结果来看,宏模块的边缘以及相邻的宏模块之间出现设计规则违反的情况也较多,所以将宏模块信息也加入特征,可以从布局文件和标准单元物理参数描述文件得到。此外还加入了矩形线密度,可以快速估计布线需求,不依赖于布局布线工具,它计算的是一个小的线网在外接矩形内的线密度,可以较快的模拟设计布线分布。线网信息可以从芯片设计文件(描述了线网包含的引脚),布局文件和标注单元物理参数描述文件中得到。
在一个实施例中,步骤1具体可以包括步骤1.1-步骤1.4,其中:
步骤1.1、获取第一版图信息;
具体地,使用自动布局布线工具(如iNNovus)完成完整的布局布线流程,保存每个阶段的版图信息以及设计规则检查报告,版图信息保存为通用格式(.lef/.def)。
步骤1.2、以a*b个布线网格将第一版图信息划分为若干与布线网格大小对应的窗口。
具体地,本实施例选取一布线网格,然后以a行b列个布线网格将第一版图信息划分为若干与布线网格大小对应的窗口,如果边缘的版图不足以填充窗口,则用空白区域填补。
优选地,布线网格的长和宽均等于标准单元的高度。
步骤1.3、基于a1*b1个布线网格,将第一版图信息分割为若干个预设窗口,其中,a1<a,b1<b。
具体地,本实施例在a行b列个布线网格中以a1行b1列个布线网格为单位,将第一版图信息分割为多个预设窗口,即每个预设窗口的大小与a1行b1列个布线网格相同。
也就是说,本实施例以布线网格作为最小单位,选择的预设窗口(包含的布线网格数目应为整数)兼顾版图的局部信息和全局关联信息。本实施例以版图的左下角作为坐标原点,将版图分割成为大小相同的多个预设窗口区域用于预测,如果边缘的版图不足以填充窗口,用空白区域填补。
步骤1.4、根据预设窗口得到第一特征信息。
具体地,提取所分割的预设窗口中的第一特征信息。
步骤2、请参见图4,图4中的41、42、43、44、45分别代表拥塞图像、矩形线密度图像、宏模块图像、引脚密度图像、三维图像,根据同一预设窗口的第一特征信息得到每个第一特征信息对应的第一特征图像,第一特征图像包括第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像。
具体地,将同一预设窗口的每个第一特征信息均转换为相同尺寸的第一特征图像,第一特征图像为多通道图像。
也就是说,本实施例将每个预设窗口所提取的拥塞、矩形线密度、宏模块和引脚密度四项特征信息对应转换为相同尺寸的第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像,第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像均为多通道图像(三色图像)。
步骤3、根据同一预设窗口对应的所有第一特征图像得到第一五维张量图像。
在一个实施例中,步骤3具体可以包括步骤3.1-步骤3.2,其中:
步骤3.1、请继续参见图4,将同一预设窗口对应的第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像叠加成为第一三维图像。
具体地,本实施例将相同区域对应的第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像做叠加处理得到第一三维图像。
步骤3.2、将若干第一三维图像转换为第一五维张量图像。
具体地,本实施例每个预设窗口均会对应得到一张第一三维图像,因此可以选取若干张第一三维图像,并将这些第一三维图像转换为第一五维张量图像,例如每次选取5-10张第一三维图像转换为一张第一五维张量图像。
步骤4、根据预设窗口得到对应的第一设计规则违反图像。
具体地,本实施例使用自动布局布线工具完成完整的布局布线流程后,可以保存设计规则检查报告,根据该设计规则检查报告可以得到每个预设窗口的设计规则违反信息,每个预设窗口的设计规则违反信息对应的图像即为第一设计规则违反图像。
在一个实施例中,步骤4具体可以包括步骤4.1-步骤4.2,其中:
步骤4.1、获取第一版图信息的设计规则违反信息。
步骤4.2、将每个预设窗口对应的设计规则违反信息转换为第一设计规则违反图像,第一设计规则违反图像为掩码图。
具体地,本实施例将设计规则违反信息按照第一版图信息的方式进行分割,即将该设计规则违反信息分割成若干个与预设窗口大小相同且区域对应的部分,并将每个分割的部分转换为第一设计规则违反图像,转换格式可以成为VOC格式的掩码图,掩码图深度例如为8。第一设计规则违反图像中如果有区别于背景的部分,则说明第一设计规则违反图像中有设计规则违反区域,该设计规则违反区域即为标签,第一设计规则违反图像中如果没有区别于背景的部分,则说明第一设计规则违反图像中没有设计规则违反区域。
在本实施例中,将特征信息绘制成图像,显示以布线网格为单位的拥塞、引脚密度以及以线网为单位的矩形线密度,用热图(heatmap)表示;绘制宏模块在窗口内的边缘信息以及窗口内设计规则违反的边框。因为需要将拥塞、引脚密度以及矩形线密度表示成热图,同时为了将设计规则违反信息生成掩码时标注方便,本实施例均生成黑色为底色的RGB图片(例如采用.jpg图像,也可以采用其他通用的图片格式)。接下来生成深度为8的掩码图(png格式)作为数据集标签。本实施例将相同窗口的特征图片叠加生成三维图像,与掩码图一起作为数据集。数据集按一定的比例分割为训练集和验证集,用于模型参数训练。
步骤5、将n1个第一五维张量图像和m1个第一设计规则违反图像输入至第一网络模型得到训练完的第一网络模型,其中,第一网络模型为由将全卷积神经网络模型最后的全连接层修改为反卷积层得到。
具体地,本实施例将第一版图信息所得到的所有第一五维张量图像和第一设计规则违反图像作为数据集,并将该数据集分为训练集和验证集,例如选取n1个第一五维张量图像和对应的m1个第一设计规则违反图像作为训练集,选取n2个第一五维张量图像和对应的m2个第一设计规则违反图像,其中,因为第一五维张量图像是由多张第一三维图像得到,因此训练集中的第一设计规则违反图像是组成训练集的第一五维张量图像的第一三维图像所对应的第一设计规则违反图像,同理地,验证集中的第一设计规则违反图像是组成验证集的第一五维张量图像的第一三维图像所对应的第一设计规则违反图像。
本实施例的全卷积神经网络模型例如可以包括依次连接的第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第三池化层、第四卷积层、第四池化层、第五卷积层、第五池化层、第六卷积层和两层全连接层,本实施例以全卷积神经网络模型为基础,首先将该全卷积神经网络模型最后的全连接层修改为反卷积层以得到第一网络模型,使其可以输出与输入大小相同的图像,然后将训练集中的n1个第一五维张量图像和对应的m1个第一设计规则违反图像输入至该全卷积神经网络模型进行训练,训练到最大迭代次数或者预设精确度,结束训练,得到训练完的第一网络模型,最大迭代次数例如为500-600,预设精确度例如为0.76-0.78。
步骤6、基于训练完的第一网络模型,在第一层至第五层中的至少一层池化层后添加反卷积层,并将n1个第一五维张量图像和m1个第一设计规则违反图像输入至修改后的第一网络模型,以得到第一训练模型。
具体地,本实施例选取训练完的第一网络模型,并导入步骤5训练好的参数,之后在该训练完的第一网络模型中添加跳跃结构,即在较早的池化层后添加反卷积层(可以在第一层至第五层中的至少一层的池化层后添加,如第三层池化层后和第四层池化层后添加反卷积层),之后将训练集中的n1个第一五维张量图像和对应的m1个第一设计规则违反图像输入至添加了跳跃结构的第一网络模型,以对其进行训练,训练完成后的模型即为第一训练模型。本步骤用于信息还原,利用浅层信息辅助采样提高预测结果的精确度。
在一个实施例中,步骤6具体可以包括步骤6.1-步骤6.2,其中:
步骤6.1、基于训练完的第一网络模型,在第四层池化层后添加反卷积层,并将n1个第一五维张量图像和m1个第一设计规则违反图像输入至修改后的第一网络模型得到第二网络模型。
具体地,选取训练完的第一网络模型,并导入步骤5训练好的参数,在训练完的第一网络模型的第四层池化层后添加反卷积层、并连接到输出层以得到修改后的第一网络模型,将训练集中的n1个第一五维张量图像和对应的m1个第一设计规则违反图像输入至修改后的第一网络模型进行训练,训练到最大迭代次数或者预设精确度,结束训练,此时的模型即为第二网络模型,最大迭代次数例如为500-600,预设精确度例如为0.76-0.78。
步骤6.2、基于第二网络模型,在第二层或第三层池化层后添加反卷积层,并将n1个第一五维张量图像和m1个第一设计规则违反图像输入至修改后的第二网络模型得到第一训练模型。
具体地,选取第二网络模型,并导入步骤6.1训练好的参数,在第二网络模型的第二层池化层或第三层池化层后添加反卷积层、并连接到输出层以得到修改后的第二网络模型,将训练集中的n1个第一五维张量图像和对应的m1个第一设计规则违反图像输入至修改后的第二网络模型进行训练,训练到最大迭代次数或者预设精确度,结束训练,此时的模型即为第一训练模型,最大迭代次数例如为500-600,预设精确度例如为0.76-0.78。
步骤7、将n2个第一五维张量图像和对应的m2个第一设计规则违反图像输入至第一训练模型得到第二训练模型。
具体地,本实施例将验证集中的n2个第一五维张量图像和对应的m2个第一设计规则违反图像输入至步骤6得到的第一训练模型进行训练,训练达到预设精确度,结束训练,此时的模型即为第二训练模型,保存此时的第二训练模型和参数文件,预设精确度例如为0.76-0.78。
步骤8、将第二版图信息对应的第二五维张量图像和第二设计规则违反图像输入至第二训练模型得到最终训练模型。
具体地,本实施例选取了第二版图信息,该第二版图信息与第一版图信息是通过同一标准单元库得到的,通过与第一版图信息相同的处理方式得到第二版图信息对应的第二五维张量图像和第二设计规则违反图像,并将所得到的第二五维张量图像和第二设计规则违反图像输入至步骤7所得到的第二训练模型进行训练,以得到最终训练模型。
在一个实施例中,步骤8具体可以包括步骤8.1-步骤8.2,其中:
步骤8.1、获取第二版图信息。
步骤8.2、根据第二版图信息得到若干第二五维张量图像和若干第二设计规则违反图像。
具体地,首先,按照与第一版图信息相同的处理方式将第二版图信息分割成为若干个预设窗口,并提取每个预设窗口的第二特征信息,第二特征信息包括拥塞、矩形线密度、宏模块和引脚密度,然后将第二特征信息转换为第二特征图像,第二特征图像包括第二拥塞图像、第二矩形线密度图像、第二宏模块图像和第二引脚密度图像,再将每个预设窗口的所有第二特征图像叠加成为第二三维图像,然后再通过多张第二三维图像处理成为第二五维张量图像,并通过第二版图信息对应的设计规则违反信息得到每个预设窗口对应的第二设计规则违反图像。
步骤8.3、将第二五维张量图像和第二设计规则违反图像输入至第二训练模型,在损失曲线收敛时得到最终训练模型。
具体地,将所得到的第二五维张量图像和对应的第二设计规则违反图像输入至步骤7所得到的第二训练模型,当损失曲线(loss)收敛,准确率(accuracy)较高且稳定时,此时的模型即为最终训练模型,最终训练模型可以用于预测,保存此时的模型和参数文件。
步骤9、将待预测数据输入至最终训练模型得到预测结果。
具体地,将需要预测的版图设计进行数据处理,以得到待预测数据,该待预测数据可以为三维图像,也可以为五维张量图像,当为三维图像时,是对需要预测的版图按照第一版图信息相同的处理方式进行处理,以得到需要预测的版图的预设窗口所对应的三维图像,三维图像会对应一个违反信息图,若最终训练模型输出的违反信息图只有底色,表示这个区域没有违反,当为五维张量图像时,是通过三维图像处理得到的五维张量图像,输入最终训练模型的五维张量图像时,最终训练模型输出多张违反信息图。其中,需要预测的版图设计优选地为与第一版图信息应用相同标准单元库。
也就是说,利用步骤8所得到的最终训练模型,并导入训练好的参数,进行预测。最终训练模型的结果为nov表示该区域没有预测到设计规则违反,输出图像没有标出任何位置;结果为v则表示该区域有设计规则违反,同时输出的图像会详细标明有设计规则违反的范围,那么这个区域需要修改布局。
如图5所示的51、52、53、54分别是某一个预测窗口的拥塞图像、引脚密度图像、宏模块图像和矩形线密度图像的图像表示,将其作为模型的输入,输入到训练好的最终训练模型。如图6所示,图6为图5得到的预测结果,图中的方框代表的是存在设计规则违反的位置。由此可知,本实施例的预测方法实现了布局后预测设计规则违反的功能。
本发明对于给定的电路设计,用自动布局布线工具完成多次完整的布局布线流程,保存布局布线过程中的信息以及设计规则违反信息。从布局布线保存信息中提取特征作为深度学习的输入,设计规则违反信息作为输入标签,训练全卷积网络模型,训练好的模型可以用于相同工艺库的设计预测。
本发明提出了一种基于深度学习的布局后布线违例预测方法,构建了一个监督式深度学习预测模型框架。基于版图布局和全局布线,提取与设计规则违例相关的信息,使用深度学习模型预测布局的设计规则违反。依据预测结果可以调整布局,避免布线后设计规则违反过多回到布局阶段修复的情况,减少人工修复的工作量,从而优化布局布线流程。
本发明的有益效果在于在布局后提取关键信息,预测布线后会出现的设计规则违反,在设计规则违反非常多的情况下可以及时的调整布局,可以指导布局优化,减少布线后的设计规则违反,优化布局布线流程。
实施例二
本发明同时提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一的步骤。
一般的,该计算机可读存储介质可置于计算机设备中,请参见图7,图7中的6为总线、7为处理器、8为计算机可读存储介质、9为通信接口,该计算机设备可以包括处理器、通信接口、计算机可读存储介质和通信总线等单元或模块,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
计算机可读存储介质,用于存放计算机程序;
处理器,用于执行计算机可读存储介质上所存放的程序时,实现如下步骤:
步骤1、按照预设窗口对第一版图信息进行分割,以得到每个预设窗口对应的第一特征信息,第一特征信息包括拥塞、矩形线密度、宏模块和引脚密度。
步骤2、根据同一预设窗口的第一特征信息得到每个第一特征信息对应的第一特征图像,第一特征图像包括第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像。
步骤3、根据同一预设窗口对应的所有第一特征图像得到第一五维张量图像。
步骤4、根据预设窗口得到对应的第一设计规则违反图像。
步骤5、将n1个第一五维张量图像和m1个第一设计规则违反图像输入至第一网络模型得到训练完的第一网络模型,其中,将第一网络模型为由将全卷积神经网络模型最后的全连接层修改为反卷积层得到。
步骤6、基于训练完的第一网络模型,在第一层至第五层中的至少一层池化层后添加反卷积层,并将n1个第一五维张量图像和m1个第一设计规则违反图像输入至修改后的第一网络模型,以得到第一训练模型。
步骤7、将n2个第一五维张量图像和对应的m2个第一设计规则违反图像输入至所述第一训练模型得到第二训练模型。
步骤8、将第二版图信息对应的第二五维张量图像和第二设计规则违反图像输入至第二训练模型得到最终训练模型。
步骤9、将待预测数据输入至最终训练模型得到预测结果。
上述计算机设备提到的通信总线可以是外设部件互连标准(PeripheralComponent IntercoNNect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
通信接口用于上述电子设备与其他设备之间的通信。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该计算机设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
对于计算机设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例一的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本申请的实施例可提供为方法、设备、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本申请是参照本申请实施例的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种基于深度学习的布局后布线违例预测方法,其特征在于,包括:
按照预设窗口对第一版图信息进行分割,以得到每个所述预设窗口对应的第一特征信息,所述第一特征信息包括拥塞、矩形线密度、宏模块和引脚密度;
根据所述第一特征信息得到每个所述第一特征信息对应的第一特征图像,所述第一特征图像包括第一拥塞图像、第一矩形线密度图像、第一宏模块图像和第一引脚密度图像;
根据同一所述预设窗口对应的所有所述第一特征图像得到第一五维张量图像;
根据同一所述预设窗口对应的所有所述第一特征图像得到第一五维张量图像,包括:
将同一所述预设窗口对应的所述第一拥塞图像、所述第一矩形线密度图像、所述第一宏模块图像和所述第一引脚密度图像叠加成为第一三维图像;
将若干所述第一三维图像转换为第一五维张量图像;
根据所述预设窗口得到对应的第一设计规则违反图像;
将n1个所述第一五维张量图像和m1个所述设计规则违反图像输入至第一网络模型得到训练完的第一网络模型,其中,所述第一网络模型为由将全卷积神经网络模型最后的全连接层修改为反卷积层得到;
基于训练完的第一网络模型,在第一层至第五层中的至少一层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第一网络模型,以得到第一训练模型;
将n2个所述第一五维张量图像和对应的m2个所述第一设计规则违反图像输入至所述第一训练模型得到第二训练模型;
将第二版图信息对应的第二五维张量图像和第二设计规则违反图像输入至所述第二训练模型得到最终训练模型;
将待预测数据输入至所述最终训练模型得到预测结果。
2.根据权利要求1所述的布局后布线违例预测方法,其特征在于,按照预设窗口对第一版图信息进行分割,以得到每个所述预设窗口对应的若干第一特征信息,包括:
获取所述第一版图信息;
以a*b个布线网格将所述第一版图信息划分为若干与所述布线网格大小对应的窗口;
基于a1*b1个所述布线网格,将所述第一版图信息分割为若干个预设窗口,其中,a1<a,b1<b;
根据所述预设窗口得到所述第一特征信息。
3.根据权利要求2所述的布局后布线违例预测方法,其特征在于,所述布线网格的长和宽均等于标准单元的高度。
4.根据权利要求1所述的布局后布线违例预测方法,其特征在于,根据所述第一特征信息得到每个所述第一特征信息对应的第一特征图像,包括:
将每个所述第一特征信息均转换为相同尺寸的所述第一特征图像,所述第一特征图像为多通道图像。
5.根据权利要求1所述的布局后布线违例预测方法,其特征在于,根据所述预设窗口得到对应的第一设计规则违反图像,包括:
获取所述第一版图信息的设计规则违反信息;
将每个所述预设窗口对应的所述设计规则违反信息转换为所述第一设计规则违反图像,所述第一设计规则违反图像为掩码图。
6.根据权利要求1所述的布局后布线违例预测方法,其特征在于,基于训练完的第一网络模型,在第一层至第五层中的至少一层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第一网络模型,以得到第一训练模型,包括:
基于训练完的第一网络模型,在第四层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第一网络模型得到第二网络模型;
基于第二网络模型,在第二层或第三层池化层后添加反卷积层,并将n1个所述第一五维张量图像和m1个所述第一设计规则违反图像输入至修改后的第二网络模型得到所述第一训练模型。
7.根据权利要求1所述的布局后布线违例预测方法,其特征在于,将第二版图信息对应的第二特征信息和第二设计规则违反图像输入至所述第二训练模型得到最终训练模型,包括:
获取所述第二版图信息;
根据所述第二版图信息得到若干第二五维张量图像和若干第二设计规则违反图像;
将所述第二五维张量图像和所述第二设计规则违反图像输入至所述第二训练模型,在损失曲线收敛时得到最终训练模型。
8.根据权利要求1所述的布局后布线违例预测方法,其特征在于,所述待预测数据包括三维图像或五维张量图像。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011437109.3A CN112233115B (zh) | 2020-12-11 | 2020-12-11 | 基于深度学习的布局后布线违例预测方法及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011437109.3A CN112233115B (zh) | 2020-12-11 | 2020-12-11 | 基于深度学习的布局后布线违例预测方法及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112233115A CN112233115A (zh) | 2021-01-15 |
CN112233115B true CN112233115B (zh) | 2021-05-07 |
Family
ID=74124049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011437109.3A Active CN112233115B (zh) | 2020-12-11 | 2020-12-11 | 基于深度学习的布局后布线违例预测方法及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112233115B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505560B (zh) * | 2021-06-22 | 2023-10-03 | 北京时代民芯科技有限公司 | 一种fpga布线拥塞预测方法及系统 |
CN117561515A (zh) * | 2021-06-23 | 2024-02-13 | 华为技术有限公司 | 拥塞预测模型训练方法、图像处理方法及装置 |
CN113673196B (zh) * | 2021-08-15 | 2024-02-06 | 上海立芯软件科技有限公司 | 一种基于可布线性预测的全局布线优化方法 |
CN115270705B (zh) * | 2022-09-23 | 2023-01-20 | 深圳鸿芯微纳技术有限公司 | 一种设计规则违例预测方法、装置、设备及存储介质 |
CN115906760B (zh) * | 2023-02-24 | 2023-07-28 | 北京芯愿景软件技术股份有限公司 | 一种版图设计校验结果的显示方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10755026B1 (en) * | 2017-11-14 | 2020-08-25 | Synopsys, Inc. | Circuit design including design rule violation correction utilizing patches based on deep reinforcement learning |
US10565138B2 (en) * | 2018-09-28 | 2020-02-18 | Intel Corporation | Memory device with multiple memory arrays to facilitate in-memory computation |
US11093683B2 (en) * | 2018-10-31 | 2021-08-17 | Taiwan Semiconductor Manufacturing Co., Ltd. | Test pattern generation systems and methods |
CN110610052B (zh) * | 2019-09-20 | 2021-04-30 | 中国科学院软件研究所 | Pcb自动布线系统及方法 |
-
2020
- 2020-12-11 CN CN202011437109.3A patent/CN112233115B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112233115A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112233115B (zh) | 基于深度学习的布局后布线违例预测方法及可读存储介质 | |
CN109923542B (zh) | 用于早期阶段ic布局设计的drc处理工具 | |
US8775993B2 (en) | Integrated circuit design flow with layout-dependent effects | |
CN102142152B (zh) | 用于在计算机屏幕上显示对象的方法、装置和程序 | |
US8219959B2 (en) | Generating integrated circuit floorplan layouts | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
CN112214960A (zh) | 一种兼顾集成电路时序的冗余金属填充方法及系统 | |
CN109902318B (zh) | 生成标准延时格式文件的方法和装置 | |
US8645902B1 (en) | Methods, systems, and computer program products for implementing interactive coloring of physical design components in a physical electronic design with multiple-patterning techniques awareness | |
US9659132B2 (en) | Method of generating a target layout on the basis of a source layout | |
CN111325810B (zh) | 配色方法、装置及电子设备 | |
US9747405B2 (en) | Buffer chain management for alleviating routing congestion | |
US20210264081A1 (en) | Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same | |
US10755022B2 (en) | Electronic apparatus and layout method for integrated circuit | |
US11100270B1 (en) | Pattern based die connector assignment using machine learning image recognition | |
CN112347723B (zh) | 基于版图的rom代码提取验证方法及装置 | |
US11022966B1 (en) | Method of modeling e-beam photomask manufacturing process using image-based artificial neural networks | |
US9293450B2 (en) | Synthesis of complex cells | |
CN112114998A (zh) | 一种静态随机存储器中冗余信息修复方法、装置、存储介质及终端 | |
US11144700B1 (en) | Grouping nets to facilitate repeater insertion | |
CN111353335A (zh) | 一种将控制层逻辑图转换为仿真系统组态文件的方法 | |
CN116596476B (zh) | 用于芯片设计制造中项目自动授权的方法、设备及介质 | |
US11972192B2 (en) | Superseding design rule check (DRC) rules in a DRC-correct interactive router | |
US11080450B1 (en) | Calculating inductance based on a netlist | |
US8839183B2 (en) | Method and apparatus for derived layers visualization and debugging |
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 |