CN112800705B - 设计规则检查方法、装置及存储介质 - Google Patents

设计规则检查方法、装置及存储介质 Download PDF

Info

Publication number
CN112800705B
CN112800705B CN202110197091.2A CN202110197091A CN112800705B CN 112800705 B CN112800705 B CN 112800705B CN 202110197091 A CN202110197091 A CN 202110197091A CN 112800705 B CN112800705 B CN 112800705B
Authority
CN
China
Prior art keywords
code
drc
design rule
codes
design
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
CN202110197091.2A
Other languages
English (en)
Other versions
CN112800705A (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.)
Changxin Minke Storage Technology Shanghai Co ltd
Original Assignee
Changxin Memory Technologies Inc
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 Changxin Memory Technologies Inc filed Critical Changxin Memory Technologies Inc
Priority to CN202110197091.2A priority Critical patent/CN112800705B/zh
Publication of CN112800705A publication Critical patent/CN112800705A/zh
Priority to PCT/CN2021/103734 priority patent/WO2022174543A1/zh
Priority to US17/471,252 priority patent/US20220269848A1/en
Application granted granted Critical
Publication of CN112800705B publication Critical patent/CN112800705B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请提供一种设计规则检查方法、装置及存储介质,应用于芯片验证领域,该方法包括:获取设计规则检查DRC代码文件,对DRC代码文件中的多段DRC代码进行解析,对解析后的多段DRC代码进行分类,确定多段DRC代码中是否存在代码冲突,若存在代码冲突,生成代码冲突报告,代码冲突报告用于指示存在代码冲突的代码位置。利用上述方法,可实现对DRC代码文件中的代码错误的快速检查和定位,辅助测试人员对DRM文件以及DRC文件的修正,提升DRC代码的执行效率,同时缩短了DRC开发的时间。

Description

设计规则检查方法、装置及存储介质
技术领域
本申请涉及芯片验证领域,尤其涉及一种设计规则检查方法、装置及存储介质。
背景技术
一般的芯片设计都是采用签核(sign off)流程,即设计数据完成时,通过设计规则检查(design rule check,DRC),来检查当前设计是否违反设计规则。
现有方案中,通过执行设计规则检查DRC代码文件,生成测试图形,确定存在错误的测试图形,设计人员基于测试图形进行设计规则及DRC代码的优化。通常在设计之初,可能会有百万级数量的错误,设计人员需要逐个查看错误,造成芯片设计周期的延长。
发明内容
本申请提供一种设计规则检查方法、装置及存储介质,实现对DRC代码的错误检查和定位。
第一方面,本申请实施例提供一种设计规则检查方法,包括:
获取设计规则检查(DRC)代码文件;
对所述DRC代码文件中的多段DRC代码进行解析,对解析后的所述多段DRC代码进行分类,确定所述多段DRC代码是否存在代码冲突;
若存在代码冲突,生成代码冲突报告,所述代码冲突报告用于指示存在代码冲突的代码位置。
在本申请的一个实施例中,所述对解析后的所述多段DRC代码进行分类,确定所述多段DRC代码是否存在代码冲突,包括:
根据每段DRC代码对应的设计规则的类型,对解析后的所述多段DRC代码进行分类,得到每种设计规则的DRC代码段;
确定每一种设计规则的DRC代码段是否存在代码冲突。
在本申请的一个实施例中,所述设计规则包括基于芯片中半导体结构的宽度、面积,半导体结构之间的距离、包含关系、延伸关系的至少一项设计规则。
在本申请的一个实施例中,所述确定每一种设计规则的DRC代码段是否存在代码冲突,包括:
确定每一种设计规则的DRC代码段中同一检查项的数值范围字段是否相同,若同一检查项的数值范围字段不完全相同,确定所述DRC代码段存在代码冲突。
在本申请的一个实施例中,所述方法还包括:
确定所述多段DRC代码是否存在代码重叠,若存在代码重叠,生成代码重叠报告,所述代码重叠报告用于指示存在代码重叠的代码位置。
在本申请的一个实施例中,所述方法还包括:
接收DRC代码更新文件,所述DRC代码更新文件包括对存在代码冲突或代码重叠的DRC代码的更新;
根据所述DRC代码更新文件,更新所述DRC代码文件;
执行更新后的DRC代码文件,生成更新后的DRC代码文件对应的测试图形,所述测试图形用于验证芯片设计是否满足设计要求。
第二方面,本申请实施例提供一种设计规则检查装置,包括:
获取模块,用于获取设计规则检查(DRC)代码文件;
处理模块,用于对所述DRC代码文件中的多段DRC代码进行解析,对解析后的所述多段DRC代码进行分类,确定所述多段DRC代码是否存在代码冲突;
若存在代码冲突,生成代码冲突报告,所述代码冲突报告用于指示存在代码冲突的代码位置。
在本申请的一个实施例中,所述处理模块,具体用于:
根据每段DRC代码对应的设计规则的类型,对解析后的所述多段DRC代码进行分类,得到每种设计规则的DRC代码段;
确定每一种设计规则的DRC代码段是否存在代码冲突。
在本申请的一个实施例中,所述设计规则包括基于芯片中半导体结构的宽度、面积,半导体结构之间的距离、包含关系、延伸关系的至少一项设计规则。
在本申请的一个实施例中,所述处理模块,具体用于:
确定每一种设计规则的DRC代码段中同一检查项的数值范围字段是否相同,若同一检查项的数值范围字段不完全相同,确定所述DRC代码段存在代码冲突。
在本申请的一个实施例中,所述处理模块,还用于:
确定所述多段DRC代码是否存在代码重叠,若存在代码重叠,生成代码重叠报告,所述代码重叠报告用于指示存在代码重叠的代码位置。
在本申请的一个实施例中,所述装置还包括:接收模块;
接收模块,用于接收DRC代码更新文件,所述DRC代码更新文件包括对存在代码冲突或代码重叠的DRC代码的更新;
所述处理模块,还用于根据所述DRC代码更新文件,更新所述DRC代码文件;
执行更新后的DRC代码文件,生成更新后的DRC代码文件对应的测试图形,所述测试图形用于验证芯片设计是否满足设计要求。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行本申请第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时,使得所述处理器能够执行本申请第一方面中任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请第一方面中任一项所述的方法。
本申请提供一种设计规则检查方法、装置及存储介质,应用于芯片验证领域,该方法包括:获取设计规则检查DRC代码文件,对DRC代码文件中的多段DRC代码进行解析,对解析后的多段DRC代码进行分类,确定多段DRC代码中是否存在代码冲突,若存在代码冲突,生成代码冲突报告,代码冲突报告用于指示存在代码冲突的代码位置。利用上述方法,可实现对DRC代码文件中的代码错误的快速检查和定位,辅助测试人员对DRM文件以及DRC文件的修正,提升DRC代码的执行效率,同时缩短了DRC开发的时间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有的DRC开发流程的示意图;
图2为本申请实施例提供的DRC开发流程的示意图;
图3为本申请实施例提供的一种设计规则检查方法的流程示意图;
图4为基于距离的设计规则在芯片各检查区域的分布图一;
图5为基于距离的设计规则在芯片各检查区域的分布图二;
图6为本申请实施例提供的另一种设计规则检查方法的流程示意图;
图7为本申请实施例提供的设计规则检查装置的结构示意图一;
图8为本申请实施例提供的设计规则检查装置的结构示意图二;
图9为本申请实施例提供的一种设计规则检查装置的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本申请实施例的相关术语进行简要介绍。
芯片设计中涉及如下几个检查区域:开关控制模块(switch control,SWC)、感应放大器(sense amplify,SA)字线驱动器(sub word-line driver,SWD)、外围(电路)(peripheral,PERI)。
其中PERI包括:X方向译码器(X-Decode,XDEC)、Y方向译码器(Y-Decode,Y-DEC)、静电阻抗器(electrostatic discharge,ESD)、密封圈Seal-Ring等。
有源区OD:硅片上做有源器件的区域。
N型金属-氧化物-半导体:N-Metal-Oxide-Semiconductor,NMOS。
在DRC开发流程中,设计人员基于设计规则手册(Design Rule Manual,DRM)生成设计规则检查DRC代码文件,DRC代码文件用于验证芯片各个检查区域的设计是否满足DRM的要求。DRC代码文件中包括多种设计规则对应的DRC代码,同种设计规则的DRC代码之间可能存在重叠,例如包含相同的检查项,同种设计规则的DRC代码在不同的检查区域可能存在冲突,例如同一检查项的数值范围定义不同。
示例性的,表1为基于多晶硅POLY距离的设计规则配置表,如表1所示,设计规则PO_S_01定义runner POLY之间的距离大于或等于0.2μm,设计规则PO_S_05定义POLY之间的距离大于或等于0.185。这几条设计规则可以使用相似的DRC代码实现。不过,如果在设计过程中没有清晰地区分这些设计规则,在验证版图时就报错,从而增加开发的迭代次数,延长开发时间。
表1
Figure BDA0002947344060000051
Figure BDA0002947344060000061
图1为现有的DRC开发流程的示意图,如图1所示,现有的DRC开发流程,在获取上述DRC代码文件后,直接执行DRC代码文件,通过生成测试图形,人工查看并确认DRC代码中有可能的错误。如果设计人员在芯片设计之初,没有将DRM的设计规则定义清楚,很容易在芯片设计的验证环节报出错误,这些错误有可能是百万级数量的。芯片设计数据在提交时不能出现上述错误,设计人员需要不断修正设计参数,多次执行DRC代码文件、验证测试结果,开发的迭代次数量巨大,开发效率低。
为了解决上述问题,本申请提供一种设计规则检查方法,发明人考虑在生成测试图像之前,增加一个设计规则检查装置,用于对获取的DRC代码文件进行代码分析,查找出存在冲突的DRC代码段,生成相应的检查报告,以便设计人员基于检查报告,对DRC代码文件或DRM进行修正,避免DRC代码文件中的DRC代码存在冲突或冗余,提升DRC代码执行效率的同时,缩短至少10%的DRC开发时间,由于报错数量减少,也缩短了验证测试版图的时间。
图2为本申请实施例提供的DRC开发流程的示意图,如图2所示,设计规则检查装置在获取DRC代码文件后,基于本申请提供的设计规则检查方案,智能化检测DRC代码文件中的代码冲突或代码冗余,若DRC代码文件中存在代码冲突或代码冗余,则生成检查报告,用于指示出错代码或冗余代码的位置,等待设计人员修正DRC代码文件或者DRM。通过上述修正,在DRC代码文件不存在代码冲突或代码冗余时,再进入DRC代码文件的验证流程,通过执行DRC代码文件生成测试图形,验证分析测试图形是否满足设计要求,若不满足设计要求,则生成分析报告,等待设计人员修正DRC代码文件或者DRM。若满足设计要求,则结束设计流程。
下面以具体地实施例对本申请提供的设计规则检查方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本申请实施例提供的一种设计规则检查方法的流程示意图,如图3所示,本实施例的设计规则检查方法主要包括以下几个步骤:
步骤101、获取设计规则检查DRC代码文件。
本实施例的DRC代码文件包括多段DRC代码,其中每段DRC代码对应一种设计规则。在芯片设计领域,设计规则包括基于芯片中半导体结构的宽度(width)、距离(space)、面积(area)、包含关系(enclosure)、延伸关系(extend)的至少一项设计规则。通常情况下,DRC代码文件包括基于不同设计规则的多段DRC代码,存在多个DRC代码对应同种设计规则的情况。
基于宽度的设计规则用于限定半导体结构的宽度,例如限定半导体结构的宽度小于预设宽度。
基于距离的设计规则用于限定半导体结构之间的距离,例如限定半导体结构之间的距离大于预设距离。
基于面积的设计规则用于限定半导体结构占用芯片区域的面积,例如限定半导体结构占用芯片区域的面积小于预设面积值。
基于包含关系的设计规则用于限定半导体之间的一种位置关系,例如限定某个半导体结构内还包含另一半导体结构。
基于延伸关系的设计规则用于限定半导体之间的另一种位置关系,例如限定多晶硅延伸到半导体层之外的长度大于预设长度,避免短路。
本实施例的半导体结构可以是半导体层、半导体模块、半导体器件等,对此本申请实施例不作任何限制。
应理解,每段DRC代码可用于验证芯片的某一检查区域中半导体结构是否满足设计要求,例如DRC代码段1用于验证芯片的字线驱动器SWD中半导体结构之间的距离是否满足设计要求,DRC代码段2用于验证芯片的感应放大器SA中的半导体结构的宽度是否满足设计要求,DRC代码段3用于验证芯片的X方向编码器占用芯片的面积是否满足设计要求等。
步骤102、对DRC代码文件中的多段DRC代码进行解析。
步骤103、对解析后的多段DRC代码进行分类,确定多段DRC代码是否存在代码冲突。
若存在代码冲突,执行步骤104。
若不存在代码冲突,执行步骤105。
步骤104、生成代码冲突报告,代码冲突报告用于指示存在代码冲突的代码位置。
步骤105、执行DRC代码文件,生成DRC代码文件对应的测试图形。
在本申请的一个实施例中,可根据每段DRC代码对应的设计规则的类型,对解析后的多段DRC代码进行分类,得到每种设计规则的DRC代码段;确定每一种设计规则的DRC代码段是否存在代码冲突。
本实施例中,每段DRC代码对应一种设计规则,通过对每段DRC代码进行解析,得到每段DRC代码对应的设计规则的衍生层信息,衍生层信息用于指示DRC代码的逻辑运算。若两段DRC代码的逻辑运算相同,可以确定这两段DRC代码的设计规则为同种设计规则,可将这两段DRC代码分为一类,进行后续代码冲突分析。
具体可通过如下方式确定每一种设计规则的DRC代码段是否存在代码冲突:确定每一种设计规则的DRC代码段中同一检查项的数值范围字段是否相同。若同种设计规则的DRC代码段中的同一检查项的数值范围字段不完全相同,确定该设计规则的DRC代码段存在代码冲突;若同种设计规则的DRC代码段中的同一检查项的数值范围字段相同,确定该设计规则的DRC代码段不存在代码冲突。
本实施例中,检查项与设计规则的类型有关。若设计规则为基于距离的设计规则,其检查项为半导体结构之间的距离,若设计规则为基于面积的设计规则,其检查项为半导体结构的面积,若设计规则为基于宽度的设计规则,其检查项为半导体结构的宽度。
示例性的,以基于距离的设计规则为例,通过对多段DRC代码进行解析,将衍生层信息指示距离运算的DRC代码归为一类,这对该类设计规则的DRC代码段进行代码冲突分析,确定基于距离的设计规则的DRC代码段中同一检查项,即半导体结构之间的距离的数值范围字段是否相同。若数值范围字段不完全相同,确定该类设计规则的DRC代码段存在代码冲突;若数值范围字段均相同,确定该类设计规则的DRC代码段不存在代码冲突。
下面结合几个具体的示例,对上述实施例的技术方案进行详细说明。
作为一种示例,对DRC代码文件中的多段DRC代码进行解析,得到设计规则PO_S_01的衍生层列表(见表2),以及设计规则PO_S_08的衍生层列表(见表3)。衍生层列表定义了设计规则的逻辑运算。其中,PO表示多晶硅POLY,S表示距离space。
表2
PO_S_01的衍生层 定义
PO_S_01_A Copy POLY
PO_S_01_B1 ((POLY not POLY;dummy)not OD)and SA
PO_S_01_B2 ((POLY not POLY;dummy)not OD)and SWD
PO_S_01_B3 ((POLY not POLY;dummy)not OD)and SWC
表3
PO_S_08的衍生层 定义
PO_S_08_A Copy POLY
PO_S_08_B1 ((POLY not POLY;dummy)not OD)and SA
PO_S_08_B2 ((POLY not POLY;dummy)not OD)and SWD
PO_S_08_B3 ((POLY not POLY;dummy)not OD)and SWC
需要说明的是,表2和表3中,PO_S_01_A以及PO_S_08_A可表示芯片在某一检查区域的基准层,PO_S_01_B1以及PO_S_08_B1可表示芯片在检查区域SA的半导体层,PO_S_01_B2以及PO_S_08_B2可表示芯片在检查区域SWD的半导体层,PO_S_01_B3以及PO_S_08_B3可表示芯片在检查区域SWC的半导体层。
对比表2和表3,设计规则PO_S_01和PO_S_08的逻辑运算相同,因此,可确定设计规则PO_S_01和PO_S_08为同种设计规则,均用于限定半导体结构之间的距离。
示例性的,图4为基于距离的设计规则在芯片各检查区域的分布图一,如图4所示,设计规则PO_S_01和设计规则PO_S_08覆盖芯片的三个检查区域,分别为SWC、SA、SWD,结合表2和表3可知,设计规则PO_S_01和PO_S_08均为基于芯片中半导体结构的距离的设计规则。同种设计规则在不同检查区域或者相同检查区域的检查项的数值范围字段应相同,以避免DRC代码段的代码冲突。应理解,芯片的其他检查区域还可以对应其他类型的设计规则,例如基于面积、延伸关系等的设计规则(图4未示出),对此本申请实施例不作任何限制。
在本示例中,由于PO_S_01和PO_S_08的逻辑运算相同,可以将PO_S_01和PO_S_08对应的DRC代码归为一类,进行代码冲突分析,需要进一步确定PO_S_01和PO_S_08对应的DRC代码段中检查项(距离)的数值范围字段是否相同。表4示出了设计规则PO_S_01和PO_S_08的衍生层之间的检查项(距离)的数值范围限制,由于距离的阈值,分别为0.2μm和0.25μm,阈值大小不相同,可确定PO_S_01和PO_S_08对应的DRC代码段存在代码冲突,需要生成代码冲突报告。其中,导致代码冲突的原因主要有两种:一是两种设计规则对应的DRC代码有错误,二是这两种设计规则本身有错误。因此,设计人员需要根据代码冲突报告,对DRC代码或DRM进行手动修正。
表4
Figure BDA0002947344060000101
上述示例示出了基于距离的设计规则的规则定义不同,将导致DRC代码冲突的情况,如表4所示,设计规则定义的检查区域相同时,会出现检查项的数值范围字段的阈值大小不同,设计人员需要及时修正DRC代码中的代码冲突字段。
作为另一种示例,对DRC代码文件中的多段DRC代码进行解析,得到设计规则PO_S_05的衍生层列表(见表5),以及设计规则SL_S_01的衍生层列表(见表6)。其中,SL表示密封圈Seal ring,pch POLY表示连接P型MOS管的多晶硅,nch POLY表示连接N型MOS管的多晶硅,drawing表示芯片上的连线。
表5
Figure BDA0002947344060000111
表6
SL_S_01的衍生层 定义
SL_S_01_A Copy POLY
SL_S_01_B POLY;SL and SealRing
表5和表6中,设计规则PO_S_05和设计规则SL_S_01的逻辑运算中所用的测试变量中均包括“POLY;SL”,即这两条设计规则有相同的检查项,因此,可确定设计规则PO_S_05和设计规则SL_S_01为同种设计规则,均用于限定半导体结构之间的距离。
表7
设计规则ID 衍生层A 衍生层B 检查项 数值
PO_S_05 PO_S_05_A PO_S_05_B 距离 ≥0.185
SL_S_01 SL_S_01_A SL_S_01_B 距离 =0.15
表7示出了设计规则PO_S_05和SL_S_01的衍生层之间的检查项(距离)的数值范围限制,由于距离的阈值,分别为0.185μm和0.15μm,阈值大小不相同,且判断条件(即判断符号,如PO_S_05的判断符号是大于或等于,SL_S_01的判断符号是等于)也不同,可确定设计规则PO_S_05和SL_S_01对应的DRC代码存在代码冲突,需要生成代码冲突报告。设计人员需要根据代码冲突报告,调整PO_S_05或者SL_S_01的DRC代码,例如将PO_S_05和SL_S_01中的距离阈值和判断条件进行统一;或者将PO_S_05或SL_S_01中的检查项POLY;SL删除,再单独对POLY;SL确定设计规则。
上述示例示出了基于距离的设计规则的检查层次有重叠,检查项的数值范围限定不同,将导致DRC代码冲突的情况,如表7所示,两条设计规则所用的测试变量“POLY;SL”有重叠,可以通过修正其中一条设计规则的DRC代码避免代码冲突,例如修正PO_S_05的DRC代码,将POLY;SL删除,在SL_S_01单独进行距离的检查。
作为另一种示例,对DRC代码文件中的多段DRC代码进行解析,得到设计规则PO_S_05的衍生层列表(见表5),设计规则PO_S_28的衍生层列表(见表8)。
表8
Figure BDA0002947344060000121
示例性的,图5为基于距离的设计规则在芯片各检查区域的分布图二,如图5所示,设计规则PO_S_05覆盖芯片的检查区域有:SWC、SA、SWD、以及外围的XDEC、YDEC、ESD、Seal-Ring等。设计规则PO_S_28覆盖芯片的检查区域为外围的XDEC。
表5和表8中,设计规则PO_S_05和设计规则PO_S_28的逻辑运算中所用的测试变量中均包括“POLY;SL”,即这两条设计规则有相同的检查项,因此,可确定设计规则PO_S_05和设计规则PO_S_28为同种设计规则,均用于限定半导体结构之间的距离。
表9
Figure BDA0002947344060000122
表9示出了设计规则PO_S_05和PO_S_28的衍生层之间的检查项(距离)的数值范围限定,由于距离的阈值,分别为0.185μm和0.165μm,阈值大小不同,可确定设计规则PO_S_05和PO_S_28对应的DRC代码存在代码冲突,需要生成代码冲突报告。设计人员需要根据代码冲突报告,调整PO_S_05的DRC代码,例如从PO_S_05的DRC代码中删除XDEC中的NMOS。
上述示例示出了基于距离的设计规则的检查区域有重叠,检查项的数值范围限定不同,将导致DRC代码冲突的情况,可通过修正其中一条设计规则的DRC代码避免代码冲突,例如修正PO_S_05的DRC代码,将XDEC中的NMOS代码删除。
基于上述各个示例可知,确认DRC代码段是否存在代码冲突主要是确定同种设计规则的DRC代码中具有相同检查项的数值范围字段是否存在不同,若同种设计规则的两条规则中相同检查项的数值范围字段存在不同,可确定该设计规则的DRC代码段存在代码冲突。
需要指出的是,检查项的数值范围字段包括数值字段和关系字段,关系字段包括大于、等于、小于、大于等于、小于等于。数值范围字段的不同包括数值字段、关系字段的至少一项不同。
本实施例提供的设计规则检查方法,通过获取设计规则检查DRC代码文件,对DRC代码文件中的多段DRC代码进行解析,对解析后的多段DRC代码进行分类,确定多段DRC代码中是否存在代码冲突,若存在代码冲突,生成代码冲突报告,代码冲突报告用于指示存在代码冲突的代码位置。利用上述方法,可实现对DRC代码文件中的代码错误的快速检查和定位,辅助测试人员对DRM文件以及DRC文件的修正,提升DRC代码的执行效率,同时缩短了DRC开发的时间。
可选的,在上述实施例的基础上,除了确定多段DRC代码是否存在代码冲突之外,设计规则检查方法还包括:
确定多段DRC代码是否存在代码重叠,若存在代码重叠,生成代码重叠报告,代码重叠报告用于指示存在代码重叠的代码位置。设计人员可根据代码重叠报告指示的重叠位置,删除DRC代码文件中的部分DRC代码,减少DRC代码的冗余。
示例性的,如表1所示,DRM文件中设计规则PGRES_S_01的定义为Min-PO resistorto PO resistor spacing in ESD region。在解析设计规则PGRES_S_01对应的DRC代码后,得到设计规则PGRES_S_01的衍生层PGRES_S_01_B的定义为POLY and POLY;res,假设设计规则PO_S_28的衍生层PO_S_28_B定义也为POLY and POLY;res。基于上述实施例的设计规则检查方案,将生成代码重叠报告,设计人员可基于代码重叠报告,修正PGRES_S_01的衍生层PGRES_S_01_B定义为POLY and POLY;res and ESD,修正PO_S_28的衍生层PO_S_28_B定义为POLY and POLY;res not ESD,从而避免由于衍生层定义不清楚导致的代码报错。
图6为本申请实施例提供的另一种设计规则检查方法的流程示意图,如图6所示,在发送代码冲突报告或代码重叠报告之后,本实施例的设计规则检查方法还包括:
步骤201、接收DRC代码更新文件,DRC代码更新文件包括对存在代码冲突或代码重叠的DRC代码的更新。
步骤202、根据DRC代码更新文件,更新DRC代码文件。
步骤203、执行更新后的DRC代码文件,生成更新后的DRC代码文件对应的测试图形,测试图形用于验证芯片设计是否满足设计要求。
对DRC代码的更新包括:对DRC代码的删除、修改、增加等操作。
DRC代码文件对应的测试图形可以理解为执行DRC代码后生成的芯片各区域的版图。通常情况下,DRC代码文件中的每条设计规则的检查项是不同的,通过对DRC代码文件的更新,不断调整各区域的版图,验证DRC代码的质量。
通过本实施例对DRC代码文件的优化更新,可生成报错率较低的DRC代码文件,基于优化后的DRC代码文件,生成测试图形,进一步验证优化后的DRC代码,提高了DRC代码的执行效率,同时缩短了DRC开发的时间。
本申请实施例可以根据上述方法实施例对设计规则检查装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
图7为本申请实施例提供的设计规则检查装置的结构示意图一。如图7所示,本实施例的设计规则检查装置300,包括:获取模块301和处理模块302。
获取模块301,用于获取设计规则检查(DRC)代码文件;
处理模块302,用于对所述DRC代码文件中的多段DRC代码进行解析,对解析后的所述多段DRC代码进行分类,确定所述多段DRC代码是否存在代码冲突;
若存在代码冲突,生成代码冲突报告,所述代码冲突报告用于指示存在代码冲突的代码位置。
在本申请的一个实施例中,所述处理模块302,具体用于:
根据每段DRC代码对应的设计规则的类型,对解析后的所述多段DRC代码进行分类,得到每种设计规则的DRC代码段;
确定每一种设计规则的DRC代码段是否存在代码冲突。
在本申请的一个实施例中,所述设计规则包括基于芯片中半导体结构的宽度、面积,半导体结构之间的距离、包含关系、延伸关系的至少一项设计规则。
在本申请的一个实施例中,所述处理模块302,具体用于:
确定每一种设计规则的DRC代码段中同一检查项的数值范围字段是否相同,若同一检查项的数值范围字段不完全相同,确定所述DRC代码段存在代码冲突。
在本申请的一个实施例中,所述处理模块302,还用于:
确定所述多段DRC代码是否存在代码重叠,若存在代码重叠,生成代码重叠报告,所述代码重叠报告用于指示存在代码重叠的代码位置。
图8为本申请实施例提供的设计规则检查装置的结构示意图二。在图7所示装置的基础上,如图8所示,本实施例的设计规则检查装置300,还包括:接收模块303;
接收模块303,用于接收DRC代码更新文件,所述DRC代码更新文件包括对存在代码冲突或代码重叠的DRC代码的更新;
所述处理模块302,还用于根据所述DRC代码更新文件,更新所述DRC代码文件;
执行更新后的DRC代码文件,生成更新后的DRC代码文件对应的测试图形,所述测试图形用于验证芯片设计是否满足设计要求。
本申请实施例提供的设计规则检查装置,用于执行前述方法实施例的各个步骤,其实现原理和技术效果类似,在此不再赘述。
图9为本申请实施例提供的一种设计规则检查装置的硬件结构示意图。如图9所示,本实施例的设计规则检查装置400,包括:
至少一个处理器401(图9中仅示出了一个处理器);以及
与所述至少一个处理器通信连接的存储器402;其中,
所述存储器402存储有可被所述至少一个处理器401执行的指令,所述指令被所述至少一个处理器401执行,以使所述设计规则检查装置400能够执行前述方法实施例的各个步骤。
可选的,存储器402既可以是独立的,也可以跟处理器401集成在一起。
当存储器402是独立于处理器401之外的器件时,设计规则检查装置400还包括:总线403,用于连接存储器402和处理器401。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时实现前述方法实施例的各个步骤。
本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述方法实施例的各个步骤。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的技术方案。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述方法实施例中的技术方案。
应理解,本申请实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种设计规则检查方法,其特征在于,包括:
获取设计规则检查DRC代码文件;
对所述DRC代码文件中的多段DRC代码进行解析,得到每段DRC代码对应的设计规则的衍生层信息,所述衍生层信息用于指示DRC代码的逻辑运算;
若所述两段DRC代码的逻辑运算相同,则两段DRC代码的设计规则为同种设计规则;
根据每段DRC代码对应的设计规则的类型,对解析后的所述多段DRC代码进行分类,得到每种设计规则的DRC代码段;确定每一种设计规则的DRC代码段在不同的检查区域是否存在代码冲突;
若存在代码冲突,生成代码冲突报告,所述代码冲突报告用于指示存在代码冲突的代码位置以调整代码。
2.根据权利要求1所述的方法,其特征在于,所述设计规则包括基于芯片中半导体结构的宽度、面积,半导体结构之间的距离、包含关系、延伸关系的至少一项设计规则。
3.根据权利要求1所述的方法,其特征在于,所述确定每一种设计规则的DRC代码段是否存在代码冲突,包括:
确定每一种设计规则的DRC代码段中同一检查项的数值范围字段是否相同,若同一检查项的数值范围字段不完全相同,确定所述DRC代码段存在代码冲突。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述多段DRC代码是否存在代码重叠,若存在代码重叠,生成代码重叠报告,所述代码重叠报告用于指示存在代码重叠的代码位置。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
接收DRC代码更新文件,所述DRC代码更新文件包括对存在代码冲突或代码重叠的DRC代码的更新;
根据所述DRC代码更新文件,更新所述DRC代码文件;
执行更新后的DRC代码文件,生成更新后的DRC代码文件对应的测试图形,所述测试图形用于验证芯片设计是否满足设计要求。
6.一种设计规则检查装置,其特征在于,包括:
获取模块,用于获取设计规则检查DRC代码文件;
处理模块,用于对所述DRC代码文件中的多段DRC代码进行解析,得到每段DRC代码对应的设计规则的衍生层信息,所述衍生层信息用于指示DRC代码的逻辑运算;
若所述两段DRC代码的逻辑运算相同,则两段DRC代码的设计规则为同种设计规则;
对解析后的所述多段DRC代码进行分类,确定所述多段DRC代码是否存在代码冲突;
若存在代码冲突,生成代码冲突报告,所述代码冲突报告用于指示存在代码冲突的代码位置;
所述处理模块,具体用于:
根据每段DRC代码对应的设计规则的类型,对解析后的所述多段DRC代码进行分类,得到每种设计规则的DRC代码段;
确定每一种设计规则的DRC代码段在不同的检查区域是否存在代码冲突。
7.根据权利要求6所述的装置,其特征在于,所述设计规则包括基于芯片中半导体结构的宽度、面积,半导体结构之间的距离、包含关系、延伸关系的至少一项设计规则。
8.根据权利要求6所述的装置,其特征在于,所述处理模块,具体用于:
确定每一种设计规则的DRC代码段中同一检查项的数值范围字段是否相同,若同一检查项的数值范围字段不完全相同,确定所述DRC代码段存在代码冲突。
9.根据权利要求6所述的装置,其特征在于,所述处理模块,还用于:
确定所述多段DRC代码是否存在代码重叠,若存在代码重叠,生成代码重叠报告,所述代码重叠报告用于指示存在代码重叠的代码位置。
10.根据权利要求6-9中任一项所述的装置,其特征在于,所述装置还包括:接收模块;
接收模块,用于接收DRC代码更新文件,所述DRC代码更新文件包括对存在代码冲突或代码重叠的DRC代码的更新;
所述处理模块,还用于根据所述DRC代码更新文件,更新所述DRC代码文件;
执行更新后的DRC代码文件,生成更新后的DRC代码文件对应的测试图形,所述测试图形用于验证芯片设计是否满足设计要求。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时,使得所述处理器能够执行权利要求1-5中任一项所述的方法。
CN202110197091.2A 2021-02-22 2021-02-22 设计规则检查方法、装置及存储介质 Active CN112800705B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110197091.2A CN112800705B (zh) 2021-02-22 2021-02-22 设计规则检查方法、装置及存储介质
PCT/CN2021/103734 WO2022174543A1 (zh) 2021-02-22 2021-06-30 设计规则检查方法、装置及存储介质
US17/471,252 US20220269848A1 (en) 2021-02-22 2021-09-10 Design rule check method and apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110197091.2A CN112800705B (zh) 2021-02-22 2021-02-22 设计规则检查方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112800705A CN112800705A (zh) 2021-05-14
CN112800705B true CN112800705B (zh) 2023-04-07

Family

ID=75815270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110197091.2A Active CN112800705B (zh) 2021-02-22 2021-02-22 设计规则检查方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN112800705B (zh)
WO (1) WO2022174543A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800705B (zh) * 2021-02-22 2023-04-07 长鑫存储技术有限公司 设计规则检查方法、装置及存储介质
CN113627122B (zh) * 2021-08-12 2024-01-23 长鑫存储技术有限公司 测试图形的验证方法、装置、设备及存储介质
CN113642286B (zh) * 2021-08-12 2023-10-24 长鑫存储技术有限公司 测试图形的验证方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110967A (ja) * 1992-09-30 1994-04-22 Mitsubishi Electric Corp デザイン・ルール・チェック実行装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6063132A (en) * 1998-06-26 2000-05-16 International Business Machines Corporation Method for verifying design rule checking software
CN100395993C (zh) * 2005-08-05 2008-06-18 华为技术有限公司 命令行冲突检测及业务配置实现方法
CN100489868C (zh) * 2006-10-13 2009-05-20 上海华虹Nec电子有限公司 验证drc配置文件的方法
CN101408923B (zh) * 2007-11-16 2011-01-26 清华大学 利用数字水印技术进行ip核版权确认的方法
US20100270671A1 (en) * 2009-04-28 2010-10-28 Lsi Corporation Manipulating fill patterns during routing
EP2854050A1 (en) * 2013-09-27 2015-04-01 Synopsys, Inc. Method for legalizing a multi-patterning integrated circuit layout and system thereof
US9158885B1 (en) * 2014-05-15 2015-10-13 GlobalFoundries, Inc. Reducing color conflicts in triple patterning lithography
CN105740486B (zh) * 2014-12-09 2020-06-23 中芯国际集成电路制造(上海)有限公司 版图设计规则检查的方法及系统
CN108763815B (zh) * 2018-06-08 2022-12-02 上海华虹宏力半导体制造有限公司 程序语法检查的方法及芯片验证的方法
CN110489830A (zh) * 2019-07-31 2019-11-22 苏州浪潮智能科技有限公司 Pcb板卡的设计检测方法和计算机存储介质
CN112800705B (zh) * 2021-02-22 2023-04-07 长鑫存储技术有限公司 设计规则检查方法、装置及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110967A (ja) * 1992-09-30 1994-04-22 Mitsubishi Electric Corp デザイン・ルール・チェック実行装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Grid Of Tries的无冲突多维IP分类算法;刘霆等;《微电子学与计算机》;20050820(第07期);全文 *

Also Published As

Publication number Publication date
WO2022174543A1 (zh) 2022-08-25
CN112800705A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN112800705B (zh) 设计规则检查方法、装置及存储介质
US8356271B2 (en) Layout testing method and wafer manufacturing method
CN101482893B (zh) 半导体装置制造方法
US7665050B2 (en) Semiconductor device verification system and semiconductor device fabrication method
US9836565B2 (en) Electronic design automation method and apparatus thereof
CN114048701B (zh) 网表eco方法、装置、设备及可读存储介质
US20140245061A1 (en) Fault Repair Apparatus, Fault Repair Method and Storage Medium Storing Fault Repair Program
CN112904662B (zh) 辅助图形的添加方法、装置及测试版图
US20210224443A1 (en) Integrated circuit design method and system
US8924896B2 (en) Automated design layout pattern correction based on context-aware patterns
CN113253565B (zh) 光学临近修正方法、装置及电子设备
US7149989B2 (en) Method of early physical design validation and identification of texted metal short circuits in an integrated circuit design
US6658641B2 (en) Method for mask data verification and computer readable record medium recording the verification program
US10628550B2 (en) Method for designing an integrated circuit, and method of manufacturing the integrated circuit
US6907587B2 (en) System and method for correcting connectivity errors in a mask layout file
US7958468B2 (en) Unidirectional relabeling for subcircuit recognition
US20220269848A1 (en) Design rule check method and apparatus, and storage medium
CN113642286B (zh) 测试图形的验证方法、装置、设备及存储介质
CN111309301A (zh) 程序语言转换方法、装置和转换设备
CN115933304A (zh) 光学邻近效应修正方法、装置及电子设备、存储介质
CN116976274A (zh) 设计规则检查方法及设备
CN113627122B (zh) 测试图形的验证方法、装置、设备及存储介质
US20080155482A1 (en) Automated optimization of vlsi layouts for regularity
CN110750956B (zh) 逻辑闸阶层验证方法以及验证系统
CN114690540A (zh) 光学临近效应修正方法及系统和掩膜版

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
TR01 Transfer of patent right

Effective date of registration: 20231217

Address after: 2800 Wanyuan Road, Minhang District, Shanghai 201100

Patentee after: Changxin Minke Storage Technology (Shanghai) Co.,Ltd.

Address before: No.388 Xingye Avenue, Airport Industrial Park, Hefei Economic Development Zone, Anhui Province, 230011

Patentee before: CHANGXIN MEMORY TECHNOLOGIES, Inc.

TR01 Transfer of patent right