CN116306486A - 芯片设计的设计规则检查方法及相关设备 - Google Patents

芯片设计的设计规则检查方法及相关设备 Download PDF

Info

Publication number
CN116306486A
CN116306486A CN202310595308.4A CN202310595308A CN116306486A CN 116306486 A CN116306486 A CN 116306486A CN 202310595308 A CN202310595308 A CN 202310595308A CN 116306486 A CN116306486 A CN 116306486A
Authority
CN
China
Prior art keywords
inspection
rule
data
rules
checking
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.)
Granted
Application number
CN202310595308.4A
Other languages
English (en)
Other versions
CN116306486B (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.)
Xinxingji Technology Co ltd
Original Assignee
Xinxingji 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 Xinxingji Technology Co ltd filed Critical Xinxingji Technology Co ltd
Priority to CN202310595308.4A priority Critical patent/CN116306486B/zh
Publication of CN116306486A publication Critical patent/CN116306486A/zh
Application granted granted Critical
Publication of CN116306486B publication Critical patent/CN116306486B/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/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

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

本申请提供一种芯片设计的设计规则检查方法及相关设备。该方法,包括:获取芯片设计版图;确定所述芯片设计版图的至少一个检查对象,根据预设的规则表确定所述检查对象的检查规则,其中所述检查规则包括至少一条检查细则;确定所述检查规则需要的数据项,计算所述检查对象与所述数据项对应的检查数据;确定所述检查数据是否符合所述检查规则;响应于所述检查数据符合所述检查规则,跳过所述检查细则的检查,并确认所述检查对象通过所述检查规则的检查。

Description

芯片设计的设计规则检查方法及相关设备
技术领域
本申请涉及芯片技术领域,尤其涉及一种芯片设计的设计规则检查方法及相关设备。
背景技术
电子设计自动化(Electronic Design Automation,简称EDA),是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
在数字芯片设计流程中,设计规则检查(Design Rule Check,DRC)是重要的一环,设计规则检查是在设计过程中对版图是否符合限制条件进行的检查的过程。在检查过程中每个设计都可能对应多条规则,需要确定该设计满足所有对应规则的要求,在相关技术中,每个设计都要进行多次反复的测量及检测。
因此,如何在这个检查的过程中节省检查时间,提高整体效率,是一个亟待解决的问题。
发明内容
有鉴于此,本申请提出一种芯片设计的设计规则检查方法及相关设备,以解决或部分解决上述问题。
本申请第一方面,提供了一种芯片设计的设计规则检查方法,包括:
获取芯片设计版图;
确定所述芯片设计版图的至少一个检查对象,根据预设的规则表确定所述检查对象的检查规则,其中所述检查规则包括至少一条检查细则;
确定所述检查规则需要的数据项,计算所述检查对象与所述数据项对应的检查数据;
确定所述检查数据是否符合所述检查规则;
响应于所述检查数据符合所述检查规则,跳过所述检查细则的检查,并确认所述检查对象通过所述检查规则的检查。
本申请第二方面,提供了一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据第一方面所述的方法的指令。
本申请第三方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行第一方面所述的方法。
本申请提供的一种芯片设计的设计规则检查方法及相关设备,通过设定芯片设计版图中每个要检查的检查对象的检查规则所要检查的数据项,在检查对象满足这些数据项的要求时,直接认定该检查对象符合相应的检查规则,从而跳过较为繁琐的检查细则的检查,减少了重复搜索、检查等过程,提高了芯片设计的整体效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例所提供的示例性计算机设备的硬件结构示意图;
图2示出了根据本申请实施例的EDA工具的基本结构示意图;
图3示出了根据本申请实施例的EDA工具的一个计算命令的基本执行流程的示意图;
图4A示出了根据本申请实施例的示例性芯片的局部剖面结构示意图;
图4B示出了根据本申请实施例的示例性芯片金属层的局部平面结构示意图;
图5A示出了根据本申请实施例的示例性对通道过孔进行DRC的第一种场景示意图;
图5B示出了根据本申请实施例的示例性对通道过孔进行DRC的第二种场景示意图;
图5C示出了根据本申请实施例的示例性对通道过孔进行DRC的第三种场景示意图;
图5D示出了根据本申请实施例的示例性对通道过孔进行DRC的第四种场景示意图;
图5E示出了根据本申请实施例的示例性对通道过孔进行DRC的第五种场景示意图;
图5F示出了根据本申请实施例的示例性对通道过孔进行DRC的第六种场景示意图;
图6A示出了本申请实施例所提供的示例性方法的流程示意图;
图6B示出了本申请实施例所提供的示例性判断是否符合检查规则方法的流程示意图;
图6C示出了本申请实施例所提供的示例性方法在不符合检查规则情况下的流程示意图;
图7示出了根据本申请实施例的示例性的通道过孔金属的覆盖结构示意图;
图8示出了根据本申请实施例的示例性的另一种通道过孔金属的覆盖结构示意图;
图9示出了根据本申请实施例的示例性以通道过孔为检查对象进行检查规则的检查的具体流程示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本说明书进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
图1示出了本申请实施例所提供的一种计算机设备100的结构示意图。该计算机设备100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中处理器102、存储器104、网络接口106和外围接口108通过总线110实现彼此之间在设备内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)或者一个或多个集成电路。处理器102可以用于执行与本申请描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器102a、102b和102c。
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。例如,如图1所示,存储的数据可以包括程序指令(例如,用于实现本申请的技术方案的程序指令)以及待处理的数据。处理器102也可以访问存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为经由网络向计算机设备100提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC)等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。
外围接口108可以配置为将计算机设备100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。
总线110可以被配置为在计算机设备100的各个组件(例如处理器102、存储器104、网络接口106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
需要说明的是,尽管上述设备仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2示出了根据本申请实施例的EDA工具200的基本结构示意图。
如图2所示,虚线以上为用户部分;虚线以下为EDA工具200,EDA工具200可以由图1所示的设备100实现。在一些实施例中,该EDA工具200可以实现为EDA软件。更具体地,该EDA工具200可以是基于芯片设计进行布局(Placement)和布线(Routing)的软件。仿真工具200可以包括Tcl命令(或者图形/窗口界面)模块204、各计算模块(例如,Place计算模块206、Route计算模块208、Optimization计算模块210等)以及数据库系统212。用户202可以通过在Tcl命令(或者图形/窗口界面)模块204中输入相关命令来操作该EDA工具200。
Tcl命令模块204,主要起着消息传递或命令传递的功能。Tcl命令模块204可以读取用户202向仿真工具200输入的指令,并可以根据指令的具体内容,分配并传递给相应的计算模块去执行具体任务。
根据计算任务的不同,各计算模块可以分为,例如,Place计算模块206、Route计算模块208、Optimization计算模块210等。Place计算模块206可以用于为所有元器件计算出一个合理的摆放位置,Route计算模块208可以用于计算出各个元器件之间合理的导线连接方式,Optimization计算模块210则可以用于将各个元器件之间的摆放位置和导线连接方式进行优化。这些计算模块的计算过程可以在,例如,图1的处理器102中进行。
数据库系统212可以用于完整全面地记录、存储被仿真或者被设计的芯片的所有信息(如位置、方向、尺寸、结构、导线连接方式等等)。这些信息,例如,可以存储在图1的存储器104中。
图3示出了根据本申请实施例的EDA工具200的一个计算命令的基本执行流程300。如图3所示,在步骤302,用户202可以通过Tcl命令模块204提供的命令界面或者图形用户界面(GUI)向该EDA工具200下达一个命令(例如,do_place命令)。然后,在步骤304,Tcl命令模块204解析这一命令并将其分发到相应的计算模块(例如,Place计算模块206)。在步骤306,各计算模块执行各自所需进行的具体计算。在这期间,如步骤308所示,各计算模块需要(高频、反复)调取数据库系统212中的数据来进行计算。计算完成后,如步骤310所示,各计算模块可以将计算结果写入数据库系统212,并将计算结果返回给Tcl命令模块204。在步骤312,Tcl命令模块204通过命令界面或者图形用户界面(GUI)将计算结果返回给用户202,该EDA工具200对一个计算命令的处理过程结束。在步骤314,用户可以根据计算结果进行评估,然后确定下一步计划。
在相关技术中,芯片是由大量晶体管构成的集成电路,芯片中晶体管的规模从几十、几百个,到几十万、几百万,甚至到几十亿。进而通过手工连线的方式将这些晶体管进行连接,来实现芯片的功能,是非常不现实的。芯片设计需要借助EDA软件,辅助完成芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查)等相关工作。完成这些工作之后,将设计的版图交给芯片加工服务商(foundry),由芯片加工服务商完成芯片的制造生产。
在相关技术中,芯片是由大量晶体管构成的集成电路,其结构是一层一层堆叠的。
图4A示出了一种示例性芯片400的局部剖面结构示意图。
如图4A所示,在芯片400中:最下面一层是晶圆层402,晶体管蚀刻在晶圆层402;之上是一层一层的金属层404,金属层404中排布着大量的沿水平或垂直方向延伸的金属导线;层与层之间、导线与导线之间都有绝缘物质相隔离,如利用绝缘层406将一层层金属层404隔离开,不同金属层404之间的金属导线可以通过一种穿过绝缘层406的由金属构成的通道过孔408(Via)结构进行连接。通过金属导线及通道过孔408结构相互连接以形成芯片400中的各种器件,从而实现芯片400的功能。图中402为作为晶圆层的硅片层,各种晶体管蚀刻在这一层;绝缘层406为氧化膜绝缘层(cut层),其中的通道为通道过孔408(Via),通过这些通道过孔408将不同金属层404的金属导线在需要的情况下进行连接;金属层404为金属绕线层(routing层)。图4B示出了芯片400中一层示例性金属层404(即routing层)的局部平面示意图。如图4B所示,示例性地列举了几种金属导线结构的映射图形:410a、410b和410c。该层其余空间可以用氧化膜等绝缘结构填充。金属导线410a、410b和410c与其他金属绕线层/硅片层通过图4A中通道过孔408(Via)结构进行连接。绝缘层406(Cut层)的平面示意图与routing层类似,其图形更为简洁,在此不再另行赘述。
而在芯片的生产过程中,芯片生产要在以平方厘米为单位的区域内制造几十万、甚至数十亿量级的晶体管,以及它们之间连接的金属导线和通道过孔,需要非常高精密的制造工艺,从而芯片加工服务商对芯片设计版图有严格的要求。这里就需要通过设计规则检查确认EDA软件生成的芯片设计版图是否符合生产工艺要求,只有设计版图符合芯片加工服务商制造工艺规范,芯片加工服务商才能成功生产制造出符合设计功能的芯片。其中,设计规则(Library Exchange Format,LEF rule),通常是指,芯片加工服务商和工业软件公司提供的数字电路版图设计规则的限制条件。设计规则检查(Design Rule Check,DRC),通常是指,芯片加工服务商由于制造加工工艺的限制,要求设计的芯片设计版图符合其指定的限制条件,设计规则检查是在设计过程中对芯片设计版图是否符合限制条件进行的检查。
在相关技术中,芯片中晶体管、金属导线及通道过孔数量如此之大,设计过程中不可避免的出现不符合芯片加工服务商制造工艺规范的情况。因此芯片设计是一个不断调整、检查,不断迭代直至符合芯片加工服务商制造工艺规范的过程。在相关技术中,以对某个通道过孔或某层绝缘层中的通道过孔进行DRC为例,以图5A至图5F为例,分别示出了包括通道过孔408及数量不等的金属导线410的不同布图。
假定该通道过孔需要满足检查规则“ENCLOSURE 0.015 0.000;ENCLOSURE 0.0100.010 PARALLEL -0.08 -0.1 WITHIN 0.04 0.06”。该检查规则具体包括两条检查细则:第一,“ENCLOSURE 0.015 0.000;ENCLOSURE 0.010 0.010”;第二,“PARALLEL -0.08 -0.1WITHIN 0.04 0.06”。
可以看出,图5A至图5F中的通道过孔都满足第一条检查细则。对于第二条检查细则,在检测时,则需要根据不同的具体情况进行检查细则的关键词确定,再根据确定出的关键词对应的场景去判断该通道过孔是否符合第二条检查细则。
如前所述,第二条检查细则为“PARALLEL -0.08 -0.1 WITHIN 0.04 0.06”,为了基于该检查细则进行检查,需要先绘制两个搜索框412a、412b(其中,搜索框412a为较大的搜索框,搜索框412b为较小的搜索框)。
如图5A所示,为“PARALLEL -0.08 -0.1 WITHIN 0.04 0.06”确定的两个搜索框412中都存在其他金属导线410,则该通道过孔符合第二条检查细则;如图5B所示,为“PARALLEL -0.08 -0.1 WITHIN 0.04 0.06”确定的两个搜索框412中都不存在其他金属导线410,则该通道过孔符合第二条检查细则;如图5C所示,为“PARALLEL -0.08 -0.1 WITHIN0.04 0.06”确定的两个搜索框中小的搜索框412b中仅一侧存在其他金属导线410,则该通道过孔不符合第二条检查细则;如图5D所示,为“PARALLEL -0.08 -0.1 WITHIN 0.040.06”确定的两个搜索框中大的搜索框412a中仅一侧存在其他金属导线410,则该通道过孔不符合第二条检查细则;如图5E所示,为“PARALLEL -0.08 -0.1 WITHIN 0.04 0.06”确定的搜索框412中存在与通道过孔408所连接的金属导线410的走向相同的其他金属导线410,而该其他金属导线410的边线垂线没有和通道过孔408的边线正交,则该通道过孔不符合第二条检查细则;如图5F所示,为“PARALLEL -0.08 -0.1 WITHIN 0.04 0.06”确定的搜索框412中存在与通道过孔408所连接的金属导线410的走向相同的其他金属导线410,而该其他金属导线410的边线垂线和通道过孔408的边线正交、相切,则该通道过孔符合第二条检查细则。
可以看出,在相关技术中对通道过孔408的设计规则检查过程中,需要先确定相应的检查规则,再根据相应的关键词,来确定该通道过孔408符合哪种检查细则的具体情况,再根据该检查细则确定该通道过孔408是否符合相应的检查规则。整个检查过程非常的繁琐复杂,需要消耗大量的时间资源和计算资源,并且还伴随着大量的重复搜索、检查,如果每次迭代都对全部的晶体管、金属导线及通道过孔进行调整、检查,整个设计过程必然是十分低效的,设计人员也无法完成如此大的工作量。
结合上述实际情况,在芯片设计中,一般会将整个设计版图划分成大量的子区域,每次对单个子区域内的晶体管、金属导线及通道进行调整、检查。针对每个通孔都需要检查好几十条检查规则,其中很多检查规则都需要搜索、检查上下层金属对通孔覆盖的情况,如何迅速高效的尽可能减少重复搜索、检查,从而提高芯片设计的效率,就是本发明要解决的问题。
鉴于此,本申请提供了一种芯片设计的检查规则检查方法及相关设备,通过设定芯片设计版图中每个要检查的检查对象的检查规则所要检查的数据项,在检查对象满足这些数据项的要求时,直接认定该检查对象符合相应的检查规则,从而跳过较为繁琐的检查细则的检查,减少了重复搜索、检查等过程,提高了芯片设计的整体效率。
图6A示出了本申请实施例所提供的示例性方法600的流程示意图。该方法600可以由图1的计算机设备100实现,并可以实现为图2的EDA工具200的一部分功能。如图6A所示,该方法600可以进一步包括以下步骤。
步骤602,获取芯片设计版图。
一般地,芯片设计版图包含有芯片加工的每一层结构,具体晶体管布局、布线、走线、通道过孔层间连接位置等等。根据该芯片设计版图,芯片加工服务商能够直接运行并进行芯片的批量化加工生产。同样的,在完成该芯片设计版图之后,需要以该芯片设计版图为依据,进行DRC。
在本步骤中,芯片设计版图可以是局部的(例如将整个设计版图划分成大量的子区域)、也可以是整体的。
步骤604,确定所述芯片设计版图的至少一个检查对象,根据预设的规则表确定所述检查对象的检查规则,其中所述检查规则包括至少一条检查细则。
在本步骤中,检查对象可以是芯片设计版图中的具体设计要素,例如金属走线、通道过孔等等。之后,以通道过孔为例,一般的不同的通道过孔可能对应需要进行检查的检查规则是不同的,而每个通道过孔需要进行哪些检查规则的检查可以是事先设定好的。同时,不同通道过孔对应不同的检查规则,或是根据层级划分一层的同类检查对象的检查规则相同等等。之后,每条检查规则可能对应多条检查细则,每个检查细则设置了相应的关键词,在当前检查的通道过孔满足相应的关键词时,在相关实施例中,则需要执行该检查细则的检查。例如通道过孔两端的层级金属的覆盖(enclosure),该检查规则下具体包括enclosure、enclosure table、enclosure edge、enclosure joint、eol enclosure、eolspacing等检查细则,每种具体检查规则都会有好几条具体检查细则,每条检查细则里面还会有好几个关键词来限定,在特定的环境中(满足相应的关键词)需要满足的相应的金属覆盖长度。
作为一个可选实施例,以通道过孔为例,检查规则至少可以包括:所述通道过孔两端的层级金属的覆盖,所述通道过孔与其他通道过孔之间的距离,以及所述芯片设计版图中与所述通道过孔不相交的走线与所述通道过孔之间的距离。其中,通道过孔两端的层级金属的覆盖是指通道过孔两端连接的两个金属层上的通道覆盖。如图7所示,包括上层金属覆盖702和下层金属覆盖704,其中,靠近晶圆层的金属层为下层,远离晶圆层的金属层为上层。同时,每层金属覆盖又包括平面上四个方向上的金属覆盖长度。具体的可以简单理解为,上层金属覆盖702包括东向金属覆盖E1、西向金属覆盖W1、南向金属覆盖S1及北向金属覆盖N1,下层金属覆盖704包括东向金属覆盖E2、西向金属覆盖W2、南向金属覆盖S2及北向金属覆盖N2。这样在通道过孔两端的层级金属的覆盖这条检查规则下的具体检查细则检查,都是围绕着八个数值进行检查的。之后,通道过孔与其他通道过孔之间的距离可以理解为两个通道过孔之间的距离,即当前通道过孔与最近的一个通道过孔之间的距离。这里,这个距离是通道过孔在绝缘层中穿过的部分之间进行比较,不是以通道过孔上下两层覆盖为基础进行计算。最后,芯片设计版图中与所述通道过孔不相交的走线与所述通道过孔之间的距离,可以理解为通道过孔与旁边最近的一条走线之间的距离,由于通道过孔是用于连接上下两层的两条走线的,进而其比较的是芯片设计版图中与该通道过孔不相交的另外一条走线之间的距离。这里,这个距离与前一规则类似也是通道过孔在绝缘层中穿过的部分与其他走线之间的距离。
步骤606,确定所述检查规则需要的数据项,计算所述检查对象与所述数据项对应的检查数据。
根据步骤604,不同的检查规则对应需要进行检查的数据项是不同的,例如,通道过孔两端的层级金属的覆盖,这个检查规则需要检查的数据项为上下两层总共八个方向的金属覆盖。从而在确定了检查规则之后,确定其需要的数据项。之后根据需要的数据项,在芯片设计版图对该检查对象的相应数据进行测量、计算等,以此来生成该检查对象与这些数据项相对应的检查数据。例如某个通道过孔的检查对象,其需要检查通道过孔两端的层级金属的覆盖这条检查规则,则其需要八个方向的金属覆盖数据(即对应的八个数据项),再以芯片设计版图为基础进行该通道过孔的八个方向的金属覆盖数据测算,生成最后的检查数据“aboveEnclosureEast 0.08,aboveEnclosureWest 0.08,aboveEnclosureSounth0.04,aboveEnclosureNorth 0.04;belowEnclosureEast 0.1,belowEnclosureWest 0.1,belowEnclosureSounth 0.06,belowEnclosureNorth 0.06。”
在一些实施例中,检查规则需要哪些数据项可以是事先设定好的,还可以通过统计该条检查规则下具体每条检查细则需要检查的项目,以此为根据生成该检查规则所需要的数据项,以这样的设置方式可以减少工程师的设置时间,同时能够使检查规则的检查标准更为贴合其目的。可选地,确定所述检查规则需要的数据项,包括:统计所述检查规则包括的全部所述检查细则需要检查的目标数据项,根据统计结果生成所述数据项。例如,通道过孔两端的层级金属的覆盖检查规则下,一条检查细则检查上层东西向的金属覆盖、一条检查细则检查下层南北向的金属覆盖等等,统计后得出通道过孔两端的层级金属的覆盖这条检查规则需要的数据项为上下两层分别四个方向的目标数据项。当然如某个特定情况下或特定具体场景下,通道过孔两端的层级金属的覆盖这条检查规则需要的数据项可能是七个、甚至仅需要上层的四个方向的目标数据项,则对应的数据项也会相应减少。同理增加等其他相似具体情况在此不再赘述。
在一些实施例中,可以在储存空间中对这些测算出的检查数据进行储存,其存储的方式可以为将具体数值与名称组成键值对,以此生成储存表进行存储,从而在之后进行其他检查规则甚至在进行检查细则的判断过程中,如若需要相应的数据,可以直接在储存表中进行读取,不用再重新进行计算或测量,减少相关技术中重复计算的方式。同样可以节省大量计算时间。可选地,计算所述检查对象与所述数据项对应的检查数据之后,所述方法还包括:对所述检查数据进行存储,以响应对所述检查数据进行检查时,能够直接获取所述检查数据。即,同一数据在整个检查的过程只计算了一次,前述提及的的不同检查规则或检查细则不用去重复计算,直接调取取用。
步骤608,确定所述检查数据是否符合所述检查规则。
在完成检查数据的确定之后,需要确定该检查对象的检查数据是否符合该检查规则的要求。不同检查规则的具体要求可能不尽相同,不同检查对象在同一检查规则下的要求可能也不尽相同,例如不同层的通道过孔的通道过孔两端的层级金属的覆盖的要求并不一致。
进而可选地,在不同检查对象的符合标准可以是事先设定好的,也可以是根据具体对应的检查细则进行整合统计生成的。例如同样以检查规则“ENCLOSURE 0.015 0.000;ENCLOSURE 0.010 0.010 PARALLEL -0.08 -0.1 WITHIN 0.04 0.06”为例,第一条检查细则需要满足“ENCLOSURE 0.015 0.000”,第二条检查细则需要满足“ENCLOSURE 0.0100.010”,而在第二条检查细则不满足的情况下,在根据具体的关键词,进行前述实施例中6中不同具体场景下的具体判断。而根据上面两条检查细则,可以得出,如图8所示,如果该通道过孔满足“ENCLOSURE 0.015 0.010”则其必然满足该条检查规则下的检查细则。从而在进行检查规则的符合标准的确定过程中,如图6B所示,确定所述检查数据是否符合所述检查规则,可以进一步包括:
步骤6082,确定所述检查规则对应的全部所述检查细则的合规区间,基于全部所述合规区间生成所述检查规则对应的检测标准。
可以理解,在进行芯片设计的设计规则检查过程中,主要是对各个检查对象的各种尺寸、角度是否合规进行检查,进而其一般的情况是对各类尺寸进行限制,例如间隔需要大于设定阈值、距离需要小于设定阈值、角度等于设定阈值等等。进而每种检查细则最终需要检查的检查对象对应的检查数据是否在其规定的合规区间内,例如规定“ENCLOSURE0.010 0.010”则其合规区间为南北向上覆盖尺寸要大于等于0.010,东西向上覆盖尺寸要大于等于0.010;规定“ENCLOSURE 0.015 0.000”则其合规区间为南北向上覆盖尺寸要大于等于0.015,东西向上覆盖尺寸要大于等于0.000。之后,可以根据全部所述检查细则的合规区间进行整合,确定其全部重叠的部分,以此生成该检查规则对应的检测标准。例如“ENCLOSURE 0.010 0.010”与“ENCLOSURE 0.015 0.000”,其叠加后可以为“ENCLOSURE0.015 0.010”。
作为一个可选实施例,为了给设计提供合理的空间,或根据设计标准更为严格的进行检查。其中,基于全部所述合规区间生成所述检查规则对应的检测标准,可以进一步包括:基于全部所述合规区间确定最大或最小的检测区间,并将所述检测区间的范围对应的扩大或缩小预设阈值,以此生成所述检测标准。例如,“ENCLOSURE 0.015 0.010”为了更为安全的考虑或其他具体应用场景中的考虑,可以将其调整为“ENCLOSURE 0.020 0.010”;同样的,根据具体实践或具体经验,在“ENCLOSURE 0.013 0.010”的情况下同样能够满足最终的芯片生产及性能要求。
步骤6084,根据所述检查数据是否符合所述检测标准,确定所述检查数据是否符合所述检查规则。
在本步骤中,以检查数据是否符合检测标准的结果来决定检查数据是否符合所述检查规则的结果。
步骤610,响应于所述检查数据符合所述检查规则,跳过所述检查细则的检查,并确认所述检查对象通过所述检查规则的检查。
在进行判断之后,一般会对应两种结果,一种即为符合要求,一种即为不符合要求。对于符合要求的情况,进而可以直接跳过这条检查规则下检查细则的检查,直接认为该检查对象通过该检查规则的检查,继续进行下一项检查规则的检查。
在一些实施例中,如图6C所示,在不符合要求的情况下,则需要进行具体的检查细则的判断。即确定所述检查数据是否符合所述检查规则,可以进一步包括:
步骤612,响应于所述检查数据不符合所述检查规则,根据所述规则表确定所述检查对象对应的所有所述检查细则。
在一些实施例中,当检查数据不符合检查规则时,就需要去确定这个检查对象具体对应的哪条或哪些条检查细则,这里可以进行关键词进行对应。通过关键词来确定该检查对象具体需要进行何种或哪些种场景下的检查细则的判断。
步骤614,逐条判断所述检查数据是否符合所述检查对象对应的所有所述检查细则。
在本步骤中,在确定了需要检查的检查细则之后,就可以根据检查细则要求进行相应数据的获取及判断,这里获取的方式可以是重新进行测算,也可以是先去事先存储的数据中查看是否有已经存储的数据。之后,逐条依次判断。这里的结果一般也分为两种,一种是都符合检查细则的要求,则执行步骤616;另一种是至少一条检查细则不符合,由于芯片设计对设计规则检查的严格要求,只要有一条检查细则不通过则对应的检查规则就会被判定为不通过,即逐条判断所述检查数据是否符合所述检查对象对应的所有所述检查细则,还可以进一步包括:响应于不符合任一条对应的所述检查细则,确认所述检查对象没有通过所述检查规则的检查。
之后,在有检查细则不符合的实施例中,由于检查对象对应检查细则可能不止一条,其同样可以分为多种情况。
在一些实施例中,为了进一步节省判断时间,由于已经判定该检查对象已经无法通过这条检查规则的检查,进而可以停止之后的其他检查细则的检查,直接输出检查结果,并进行下一个检查规则的检查。即确认所述检查对象没有通过所述检查规则的检查之后,所述方法还可以包括:停止其他未进行检查的对应的所述检查细则的检查,对所述检查对象进行下一项所述检查规则的检查。
而在另一些实施例中,为了方便工程师确定检查对象具体不符合哪些检查规则,方便之后进行针对性的调整。在确认出一条检查细则没通过之后,可以继续进行其他检查细则的检查,并在全部检查细则都检查完成之后,统计所有不符合的检查细则,并以此为基础进行输出,提示工程师具体的不符合情况。即确认所述检查对象没有通过所述检查规则的检查之后,所述方法还可以包括:继续确认所述检查数据是否符合其他对应的所述检查细则;统计所述检查数据不符合的全部对应的所述检查细则。
步骤616,响应于符合对应的所有所述检查细则,确认所述检查对象通过所述检查规则的检查。
在本实施例中,当检查数据通过所有检查细则的检查,则可以同样认为检查对象通过了这条检查规则的检查。
在具体实施例中,如图9所示,以某层绝缘层中的全部或部分(可以进行分区检查)的通道过孔为检查对象,进行通道过孔两端的层级金属的覆盖检查规则的检查为例。对于区域内的每个通道过孔(via),搜索上下两层金属,把每层四个方向的金属覆盖的长度都算出来,将这些数据保存起来,以在之后的每条检查规则或检查细则检查的时候,能够直接读取这些相应方向的金属覆盖长度。直接对检查规则要求的金属覆盖长度进行比较,对于那些实际长度大于规定长度的通道过孔,就可以直接跳过其他关键词的检查、比较,直接跳过检查细则的检查,能节约大部分时间。比如在宽金属中间的通道过孔、或通道阵列中位置处于中间的通道过孔,在四个方向上就会有比较大的金属覆盖长度,通过这些值跟所有的金属覆盖相关的检查规则比较,就能快速确定它们能满足所有的这些检查规则的长度要求,这样就不用去检查每个具体的检查细则中的各个更细节的关键词的限定,节约这些细节的检查需要耗费的时间。当然,当根据通道的金属覆盖长度不能快速判断的时候,就需要逐个检查每个检查细则。其需要遍历所有的检查细则,根据每条检查细则里面的关键词的限定,是否符合这些特定的环境的要求,来得到相应的检查细则需要的特定方向上金属覆盖长度的值,与通道本身实际的相应方向金属覆盖长度值进行比较,来检查通道过孔是否符合特定的类别里面的某一条特定检查细则。而即使在进行检查细则的检查过程中,由于已经预存了的金属覆盖的长度,其在这个检查的过程只计算了一次,在相应检查细则的检查上就不用去重复计算了。其同样可以节约部分计算时间。
从上述实施例可以看出,本申请实施例提供的一种芯片设计的设计规则检查方法及相关设备,通过设定芯片设计版图中每个要检查的检查对象的检查规则所要检查的数据项,在检查对象满足这些数据项的要求时,直接认定该检查对象符合相应的检查规则,从而跳过较为繁琐的检查细则的检查,减少了重复搜索、检查等过程,提高了芯片设计的整体效率。同时其代码也会更简洁,更好维护。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本申请实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法600。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法600,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种芯片设计的设计规则检查方法,包括:
获取芯片设计版图;
确定所述芯片设计版图的至少一个检查对象,根据预设的规则表确定所述检查对象的检查规则,其中所述检查规则包括至少一条检查细则;
确定所述检查规则需要的数据项,计算所述检查对象与所述数据项对应的检查数据;
确定所述检查数据是否符合所述检查规则;
响应于所述检查数据符合所述检查规则,跳过所述检查细则的检查,并确认所述检查对象通过所述检查规则的检查。
2.如权利要求1所述的方法,其中,确定所述检查数据是否符合所述检查规则,还包括:
响应于所述检查数据不符合所述检查规则,根据所述规则表确定所述检查对象对应的所有所述检查细则;
逐条判断所述检查数据是否符合所述检查对象对应的所有所述检查细则;
响应于符合对应的所有所述检查细则,确认所述检查对象通过所述检查规则的检查。
3.如权利要求2所述的方法,其中,逐条判断所述检查数据是否符合所述检查对象对应的所有所述检查细则,还包括:
响应于不符合任一条对应的所述检查细则,确认所述检查对象没有通过所述检查规则的检查。
4.如权利要求3所述的方法,其中,确认所述检查对象没有通过所述检查规则的检查之后,所述方法还包括:
停止其他未进行检查的对应的所述检查细则的检查,对所述检查对象进行下一项所述检查规则的检查。
5.如权利要求3所述的方法,其中,确认所述检查对象没有通过所述检查规则的检查之后,所述方法还包括:
继续确认所述检查数据是否符合其他对应的所述检查细则;
统计所述检查数据不符合的全部对应的所述检查细则。
6.如权利要求1所述的方法,其中,确定所述检查规则需要的数据项,包括:
统计所述检查规则包括的全部所述检查细则需要检查的目标数据项,根据统计结果生成所述数据项。
7.如权利要求1所述的方法,其中,确定所述检查数据是否符合所述检查规则,包括:
确定所述检查规则对应的全部所述检查细则的合规区间,基于全部所述合规区间生成所述检查规则对应的检测标准;
根据所述检查数据是否符合所述检测标准,确定所述检查数据是否符合所述检查规则。
8.如权利要求7所述的方法,其中,基于全部所述合规区间生成所述检查规则对应的检测标准,包括:
基于全部所述合规区间确定最大或最小的检测区间,并将所述检测区间的范围对应的扩大或缩小预设阈值,以此生成所述检测标准。
9.如权利要求1所述的方法,其中,计算所述检查对象与所述数据项对应的检查数据之后,所述方法还包括:
对所述检查数据进行存储,以响应对所述检查数据进行检查时,能够直接获取所述检查数据。
10.如权利要求1所述的方法,其中,所述检查对象至少包括:所述芯片设计版图中的通道过孔;所述检查规则至少包括:所述通道过孔两端的层级金属的覆盖,所述通道过孔与其他通道过孔之间的距离,以及所述芯片设计版图中与所述通道过孔不相交的走线与所述通道过孔之间的距离。
11.一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1至10任意一项所述的方法的指令。
12.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1至10中任一项所述的方法。
CN202310595308.4A 2023-05-25 2023-05-25 芯片设计的设计规则检查方法及相关设备 Active CN116306486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310595308.4A CN116306486B (zh) 2023-05-25 2023-05-25 芯片设计的设计规则检查方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310595308.4A CN116306486B (zh) 2023-05-25 2023-05-25 芯片设计的设计规则检查方法及相关设备

Publications (2)

Publication Number Publication Date
CN116306486A true CN116306486A (zh) 2023-06-23
CN116306486B CN116306486B (zh) 2023-08-29

Family

ID=86829117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310595308.4A Active CN116306486B (zh) 2023-05-25 2023-05-25 芯片设计的设计规则检查方法及相关设备

Country Status (1)

Country Link
CN (1) CN116306486B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116911246A (zh) * 2023-09-14 2023-10-20 芯行纪科技有限公司 芯片设计的布线规划方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740272A (zh) * 2019-01-09 2019-05-10 郑州云海信息技术有限公司 一种pcb中感性补偿的检查方法及相关装置
CN109885888A (zh) * 2019-01-23 2019-06-14 上海华虹宏力半导体制造有限公司 芯片版图设计规则检查方法
CN110457839A (zh) * 2019-08-15 2019-11-15 中国科学院微电子研究所 一种加速芯片级电路时序分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740272A (zh) * 2019-01-09 2019-05-10 郑州云海信息技术有限公司 一种pcb中感性补偿的检查方法及相关装置
CN109885888A (zh) * 2019-01-23 2019-06-14 上海华虹宏力半导体制造有限公司 芯片版图设计规则检查方法
CN110457839A (zh) * 2019-08-15 2019-11-15 中国科学院微电子研究所 一种加速芯片级电路时序分析方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116911246A (zh) * 2023-09-14 2023-10-20 芯行纪科技有限公司 芯片设计的布线规划方法及相关设备
CN116911246B (zh) * 2023-09-14 2023-12-08 芯行纪科技有限公司 芯片设计的布线规划方法及相关设备

Also Published As

Publication number Publication date
CN116306486B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
US11170150B2 (en) Method for making a semiconductor device
CN116911246B (zh) 芯片设计的布线规划方法及相关设备
US11176306B2 (en) Methods and systems to perform automated Integrated Fan-Out wafer level package routing
CN116306486B (zh) 芯片设计的设计规则检查方法及相关设备
CN111597768B (zh) 用于构建版图图案集的方法、设备和计算机可读存储介质
CN116151179B (zh) 芯片设计的布局规划方法及相关设备
US11574106B2 (en) Method, system, and storage medium of resource planning for designing semiconductor device
CN111597769A (zh) 用于生成电路版图图案的方法、设备和存储介质
US10891411B2 (en) Hierarchy-driven logical and physical synthesis co-optimization
US9378327B2 (en) Canonical forms of layout patterns
US10885260B1 (en) Fin-based fill cell optimization
US9626474B2 (en) Expanded canonical forms of layout patterns
CN116822452A (zh) 芯片布局优化方法及相关设备
CN106897504B (zh) 对ip模块进行开发形成参数化单元的方法
US9552453B1 (en) Integrated circuit with power network aware metal fill
CN116956807B (zh) 芯片设计的全局布线拥塞图确定方法及相关设备
TW202138795A (zh) 基於網路的晶圓檢測
US10311199B2 (en) Pattern matching using edge-driven dissected rectangles
US11727186B2 (en) Automatic identification of hierarchical cells based on selected properties for layout verification
US20110072404A1 (en) Parallel Timing Analysis For Place-And-Route Operations
US20220114321A1 (en) Systems And Methods For Generating Placements For Circuit Designs Using Pyramidal Flows
CN118251675A (zh) 用于布局与原理图比较的自动单元黑盒化
WO2023080890A1 (en) Automated cell black boxing for layout versus schematic

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