CN111709213B - 标准单元库设计检查方法和系统以及可读存储介质 - Google Patents

标准单元库设计检查方法和系统以及可读存储介质 Download PDF

Info

Publication number
CN111709213B
CN111709213B CN202010561005.7A CN202010561005A CN111709213B CN 111709213 B CN111709213 B CN 111709213B CN 202010561005 A CN202010561005 A CN 202010561005A CN 111709213 B CN111709213 B CN 111709213B
Authority
CN
China
Prior art keywords
standard
layout
standard cell
cell library
splicing
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
CN202010561005.7A
Other languages
English (en)
Other versions
CN111709213A (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.)
Chengdu Image Design Technology Co Ltd
Original Assignee
Chengdu Image Design 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 Chengdu Image Design Technology Co Ltd filed Critical Chengdu Image Design Technology Co Ltd
Priority to CN202010561005.7A priority Critical patent/CN111709213B/zh
Publication of CN111709213A publication Critical patent/CN111709213A/zh
Application granted granted Critical
Publication of CN111709213B publication Critical patent/CN111709213B/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/392Floor-planning or layout, e.g. partitioning or placement
    • 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)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种标准单元库设计检查方法和系统以及可读存储介质,通过设定验证条件,利用随机选取的方式选取标准单元库中的标准单元,并在版图上按照随机拼接的方式拼接放置标准单元,直至满足验证条件,最后对形成的标准单元库随机拼接版图进行设计检查。利用所述标准单元库设计检查方法可在标准单元版图的设计阶段完成高覆盖率规则检查,减少标准单元库建立过程中的反复工作,由于具有全随机性,因此本申请的技术方案覆盖率比现有技术的方案高,可有效降低后期使用标准单元库进行拼接时出现问题的概率。

Description

标准单元库设计检查方法和系统以及可读存储介质
技术领域
本发明涉及集成电路设计领域,尤其是涉及一种标准单元库设计检查方法和系统以及可读存储介质。
背景技术
标准单元库,按照类型可分为版图库、符号库、电路逻辑库等。一般的标准单元包括但不限于组合逻辑、时序逻辑、功能单元和特殊类型单元。标准单元库是集成电路芯片后端设计过程中的基础部分。运用预先设计好的优化的库单元进行自动逻辑综合和版图布局布线,可以极大地提高设计效率,加快产品进入市场的时间。目前,标准单元库整体设计流程包括以下步骤:①单元库定义以及特征确定,根据单元库的用途和面向的工艺确定单元库的各项技术指标;②标准单元的电路设计,根据速度和功耗技术指标的要求设计单位驱动能力的反相器的器件尺寸,并以单位驱动反相器单元为基准,按照晶体管串联比例的要求设计其他标准单元的器件尺寸;③标准单元的版图设计,根据相关工艺参数及单元库技术指标确定版图设计基本参数,并根据电路尺寸完成单元版图结构;④标准单元的验证,根据验证流程采用相应工具对所有标准单元进行物理验证;⑤标准单元的建模,对所有标准单元建立自动化设计所需的模型库;⑥标准单元的测试,设计测试电路,验证标准单元的功能和性能是否正确;⑦完成标准单元库,根据以上设计流程,从而完成单元库设计。
目前标准单元库设计过程中,需要对标准单元进行拼接,并验证其设计规则检查(DRC)、版图和电路图一致性比较(LVS),以保证使用标准单元库完成数字芯片设计后,满足设计和工艺制造要求。在未经过大量客户使用反馈的情况下,尤其是对新开发的标准单元库,在使用过程中通常会存很多问题,例如,某个特定标准单元在特定的应用环境中存在设计不满足的问题。
为了保证标准单元之间互相随机放置满足设计,需要在标准单元库设计过程中完成高覆盖率的验证,这里的覆盖率是指对于标准单元库中标准单元在实际应用中可能出现的拼接方式的覆盖率。现有技术中已有两种标准单元库设计检查方法:第一种方案是标准单元自身拼接,请参考图1,通常采用9个或12个相同标准单元相互摆放拼接。第一种方案的优点是简单易实现,且在标准单元的版图设计阶段即可验证,但无法检查不同标准单元临近的规则,因此第一方案的覆盖率有限。第二种方案是通过设计特定功能代码,使待测标准单元库完成综合、APR(自动布局布线),第二种方案的优点是贴近标准单元库的实际使用环境,可以检查较大部分情况下的设计满足情况,但无法及时验证版图,需要整体标准单元库完成特征化提取、物理信息提取等步骤后也即建模之后才能验证,并且验证周期较长。利用第二种方案并不能够对标准单元库中的所有单元进行全覆盖验证,即使采用特殊设计也仅能达到70%覆盖率。
通过上述分析可知,现有技术提供的两种标准单元库设计检查方法存在以下缺陷:第一种方案的覆盖率很小且无法满足不同标准单元之间互相拼接的情况,第二种方案验证不及时,且操作复杂也并不能达到足够高的覆盖率。
因此,需要提出一种覆盖率较高的标准单元库设计检查方法。
发明内容
本发明的目的在于提供一种标准单元库设计检查方法和系统以及可读存储介质,用以解决现有技术中存在覆盖率低的问题。
为了解决上述技术问题,本发明提出一种标准单元库设计检查方法,包括以下步骤:
提供一版图以及包含多个标准单元的标准单元库;
设定验证条件;
随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图;
对所述标准单元库随机拼接版图进行设计检查。
可选地,还包括以下步骤:
获取所述多个标准单元的物理属性;
其中,所述物理属性包括每个所述标准单元的名称、宽度以及高度。
可选地,所述验证条件包括横向最大长度、衬底连接单元间隔以及每个所述标准单元在所述版图中的预设总数。
可选地,所述随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图,包括:
随机选取一个所述标准单元,随机设置当前选中的标准单元的Y轴镜像方向,在所述版图上按照行的顺序依次进行拼接,并每隔一个所述衬底连接单元间隔的长度设置一个衬底连接单元;
获取第一长度,所述第一长度为所述当前选中的标准单元的宽度加上第二长度,所述第二长度为所述当前选中的标准单元所在行上已拼接完成的所有标准单元与所有所述衬底连接单元的宽度总和;
若所述第一长度大于所述横向最大长度,则换行,所述当前选中的标准单元设置在下一行;
若所述版图上每个已拼接完成的所述标准单元的数量等于所述预设总数,则完成拼接过程,此时,所述版图上所有标准单元构成的版图为所述标准单元库随机拼接版图。
可选地,所述预设总数为[N*(N+1)/2]*5或[N*(N+1)]*5,其中,所述N为所述标准单元库中标准单元的总数。
可选地,所述设计检查包括DRC验证和LVS验证。
可选地,利用EDA验证工具对所述标准单元库随机拼接版图进行设计检查。
基于同一发明构思,本发明还提出一种标准单元库设计检查系统,包括:
版图及单元库提供模块,其被配置为提供一版图以及包含多个标准单元的标准单元库;
验证条件设定模块,其被配置为设定验证条件;
拼接处理模块,其被配置为随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图;
设计检查模块,其被配置为对所述标准单元库随机拼接版图进行设计检查。
基于同一发明构思,本发明还提出一种可读存储介质,其上存储有计算机程序,所述计算机程序被一处理器执行时能实现上述特征描述中任一项所述的标准单元库设计检查方法。
与现有技术相比,本发明具有以下有益效果:
1、本发明提出的一种标准单元库设计检查方法,通过设定验证条件,利用随机选取的方式选取标准单元库中的标准单元,并在所述版图上按照随机拼接的方式拼接放置所述标准单元,直至满足所述验证条件,最后对形成的标准单元库随机拼接版图进行设计检查。利用本发明提出的标准单元库设计检查方法可在标准单元版图的设计阶段完成高覆盖率规则检查,减少标准单元库建立过程中的反复工作,由于具有全随机性,因此本申请的技术方案覆盖率比现有技术的方案高,可有效降低后期使用标准单元库进行拼接时出现问题的概率。并且利用本申请提出的标准单元库设计检查方法进行设计检查的周期短,现有技术中需要共计约2天时间,本申请的方案仅需约3~5分钟,极大的提高了设计效率,加快产品进入市场的时间。
2、所述验证条件中包含了每个所述标准单元在所述版图中的预设总数,也即每一个所述标准单元在所述版图中出现的次数。将所述预设总数设置为[N*(N+1)/2]*5,可使得覆盖率达到95%,为了进一步提高覆盖率,通过增加一倍的冗余,也即将所述预设总数设置为[N*(N+1)]*5,可实现98%以上的验证覆盖率。比现有技术的方案的覆盖率提高30%~50%,进一步降低了后期使用标准单元库进行拼接时出现问题的概率。
3、通过获取每个标准单元的物理属性,其中,所述物理属性包括每个所述标准单元的名称、宽度以及高度,可在验证每个标准单元的高度是否一致,通过设置验证条件中的最大长度,可以验证标准单元的宽度是否为Track(布线轨道)的整数倍。
4、可同时进行DRC验证和LVS验证。
本发明提出的一种标准单元库设计检查系统以及可读存储介质,与所述标准单元库设计检查方法属于同一发明构思,因此,具有相同的技术效果。
附图说明
图1为现有技术中标准单元自身拼接的示意图;
图2为本发明一实施例提供的一种标准单元库设计检查方法的流程示意图;
图3为两个标准单元(可以是相同类型的标准单元)按照正常位置在版图的某一行拼接的示意图;
图4为左边的标准单元正常放置,右边的标准单元按照其Y轴镜像方向与左边的标准单元进行拼接的示意图;
图5为左边的标准单元按照其Y轴镜像方向与左边正常放置的标准单元进行拼接的示意图;
图6为位于上方正常放置的标准单元与按照X轴镜像方向的位于下方的标准单元进行拼接的示意图;
图7为位于上方按照X轴镜像方向的标准单元与正常放置的位于下方的标准单元进行拼接的示意图;
图8为在每一行上设置衬底连接单元的示意图;
图9为本发明实施例提供的标准单元库随机拼接版图示意图;
图10为本发明另一实施例提供的一种标准单元库设计检查方法的流程示意图;
图11为本发明又一实施例提出的一种标准单元库设计检查系统的示意图;
其中,图11中:100-标准单元库设计检查系统,101-版图及单元库提供模块,102-所述验证条件设定模块,103-拼接处理模块,104设计检查模块。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“左”、“右”等指示的方位或者位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
请参考图2,本发明实施例提供一种标准单元库设计检查方法,包括以下步骤:
S100:提供一版图以及包含多个标准单元的标准单元库;
S200:设定验证条件;
S300:随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图;
S400:对所述标准单元库随机拼接版图进行设计检查。
与现有技术不同之处在于,本发明提出的一种标准单元库设计检查方法,通过设定验证条件,利用随机选取的方式选取标准单元库中的标准单元,并在所述版图上按照随机拼接的方式拼接放置所述标准单元,直至满足所述验证条件,最后对形成的标准单元库随机拼接版图进行设计检查。利用本发明提出的标准单元库设计检查方法可在标准单元版图的设计阶段完成高覆盖率规则检查,减少标准单元库建立过程中的反复工作,由于具有全随机性,因此本申请的技术方案覆盖率比现有技术的方案高,可有效降低后期使用标准单元库进行拼接时出现问题的概率。并且利用本申请提出的技术方案的验证周期短,现有技术中大概需要2天时间,本申请的方案仅需约3~5分钟,极大的提高了设计效率,加快产品进入市场的时间。需要注意的是,所述版图可为空白版图,还可为上面已有标准单元的版图,在此不做限制,具体可根据实际情况选择。为了便于说明,在本发明实施例中均以空白版图为例,其它情况与之相同,不做赘述。
可选地,所述设计检查包括DRC验证和LVS验证。
可选地,利用EDA验证工具对所述标准单元库随机拼接版图进行设计检查。
需要注意的是,本发明实施例提供的技术方案中所述设计检查可利用EDA验证工具Calibre实现,利用Calibre编辑相应的代码文件,选用Calibre是由于Calibre具有DRC验证和LVS验证的功能,其它具有DRC验证和LVS验证的功能的验证工具即可用于实施本申请的技术方案。例如,除了利用Calibre来实现本发明提供的技术方案外,在本发明其它实施例中还可利用其它EDA验证工具实现,例如,还可利用Cadence实现,其实现方法与Calibre相同,在此不做赘述,为了便于说明,在本发明实施例中均以Calibre为例来具体说明。
进一步地,所述标准单元库设计检查方法还包括以下步骤:
S101:获取所述多个标准单元的物理属性;其中,所述物理属性包括但不仅限于每个所述标准单元的名称、宽度、高度以及管脚名称。通过获取每个标准单元的高度,可在验证每个标准单元的高度是否一致。
进一步地,所述验证条件包括但不仅限于横向最大长度、衬底连接单元间隔以及每个所述标准单元在所述版图中的预设总数。通过设置验证条件中的最大长度,可以验证标准单元的宽度是否为Track(布线轨道)的整数倍。其中,所述最大长度优选为5000个Track。
具体地,所述随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图,也即所述S300步骤具体包括:
S3001:随机选取一个所述标准单元,随机设置当前选中的标准单元的Y轴镜像方向,在所述版图上按照行的顺序依次进行拼接,并每隔一个所述衬底连接单元间隔的长度设置一个衬底连接单元;
S3002:获取第一长度,所述第一长度为所述当前选中的标准单元的宽度加上第二长度,所述第二长度为所述当前选中的标准单元所在行上已拼接完成的所有标准单元与所有所述衬底连接单元的宽度总和;
S3003:若所述第一长度大于所述横向最大长度,则换行,所述当前选中的标准单元设置在下一行;
S3004:若所述版图上每个已拼接完成的所述标准单元的数量等于所述预设总数,则完成拼接过程,此时,所述版图上所有标准单元构成的版图为所述标准单元库随机拼接版图。
在本发明实施例中,按照行的顺序依次对所述标准单元在所述版图上进行拼接,也即首先在所述版图的某一行上拼接所述标准单元,然后拼接下一行,直至所述版图上每个已拼接完成的所述标准单元的数量等于所述预设总数。可以理解的是,在本发明其它实施例中,还可按照其它顺序对所述标准单元在所述版图上进行拼接,例如,在一个具体实施例中,可按照以下方式拼接所述标准单元:随机选取一个所述标准单元,随机设置当前选中的标准单元的Y轴镜像方向,在所述版图上按照列的顺序依次进行拼接。也即,首先在所述版图的某一列上拼接所述标准单元,然后拼接下一列,直至所述版图上每个已拼接完成的所述标准单元的数量等于所述预设总数。在另一个具体实施例中,可按照以下方式拼接所述标准单元:随机选取一个所述标准单元,随机设置当前选中的标准单元的Y轴镜像方向,在所述版图上按照行的顺序依次进行拼接,并在拼接下一行的标准单元时,随机选择是否使用上一行的X轴镜像方向进行拼装,这种拼接方式可以有效提高所述标准单元互相拼接的覆盖率。还有很多其它的拼接方式,在此不一一赘述,具体可根据实际需要来选择。
可以理解的是,请参考图8,由于需要在所述版图中设置衬底连接单元(TAP单元)用于LVS验证,如果按照行的顺序对所述标准单元在所述版图上进行拼接,只要每间隔一个衬底连接单元间隔的长度设置一个所述衬底连接单元即可。如果按照列的顺序对所述标准单元在所述版图上进行拼接,在每一列上设置标准单元的同时,还需考虑当前选中的标准单元所在行是否满足了所述衬底连接单元间隔的长度条件,实现起来比较复杂,用于实现这种拼接方式的代码量很显然比按照行的顺序要复杂很多。因此,按照行的顺序依次对所述标准单元在所述版图上进行拼接具有方法简单易行,效率高的优点,可作为本发明的优选实施例进行实施。
另外,对于所述标准单元的起始位置的选择,在一个具体实施例中,可以是从每一行的第一列开始往后拼接,在另一个具体实施例中,还可以是从每一行的最后一列开始往前拼接,在又一具体实施例中,还可以是从每一行中随机选择一列位置往两边拼接。还有很多其它方式可以用于实施,在此不一一赘述。从方案的实施难度以及代码复杂程度来看,从每一行的第一列开始往后拼接的方式具有实施难度较低,代码量较小,效率高的优点,因此,可作为本发明的优选实施例进行实施。
需要注意的是,为了便于所述标准单元库随机拼接版图的DRC验证和LVS验证,考虑将所述标准单元库随机拼接版图设计为矩形,但是由于每个所述标准单元的宽度不尽相同,很有可能,得到的所述标准单元库随机拼接版图的最后一行的长度会小于上一行的长度,这时候利用所述标准单元库中的填充单元来对所述标准单元库随机拼接版图最后一行进行填充,以此可以保证最后得到的所述标准单元库随机拼接版图为矩形,所述填充单元不会对原来的标准单元库随机拼接版图的参数产生影响。可以理解地,如果所述标准单元库随机拼接版图上任一行中存在没有填充满的情况,都可在最后DRC验证和LVS验证前,利用所述填充单元进行填充。
发明人在实际应用中发现,由于在APR过程使用标准单元进行拼接时,存在与标准单元库中其它标准单元相邻(包括本身)的情况,而每两个标准单元之间有5种情况,具体可请参考图3至图7。其中,图3至图5为两个标准单元在版图上某一行的拼接方式,图6和图7为两个标准单元在版图上某一列的拼接方式。图3为两个标准单元(可以是相同类型的标准单元)按照正常位置在版图的某一行拼接;图4为左边的标准单元正常放置,右边的标准单元按照其Y轴镜像方向与左边的标准单元进行拼接;图5为左边的标准单元按照其Y轴镜像方向与左边正常放置的标准单元进行拼接;图6为位于上方正常放置的标准单元与按照X轴镜像方向的位于下方的标准单元进行拼接;图7为位于上方按照X轴镜像方向的标准单元与正常放置的位于下方的标准单元进行拼接。
基于上述发现,发明人发现理论上在所述单元库中的某一个标准单元只要在一个版图中重复[N*(N+1)/2]*5次即可实现全覆盖,其中N为标准单元库中标准单元的总数,但由于随机性和重复性的存在,通过实际测试,其覆盖率可达到95%;发明人进一步发现如果增加一倍的冗余,也即将所述预设总数设置为[N*(N+1)]*5,可以实现98%以上的验证覆盖率。并且通过多次验证可以进一步提高覆盖率,基本上可以达到全覆盖。最后形成的所述标准单元库随机拼接版图可参考图9,可以理解的是,图9仅是为了便于理解本发明的技术方案的示意图,并非对本发明的任何限制。
为了便于理解本发明的技术方案,以下提供一种更为具体的实施方式:
本发明实施例提出的所述标准单元库设计检查方法可采用SKILL语言,基于Virtuoso软件开发自动拼接。目的是使用标准单元,随机选择并依次拼接成一个矩形,用于模拟标准单元库的实际应用场景,来检查设计的满足情况。请参考图10,本发明另一实施例提供一种标准单元库设计检查方法,包括以下步骤:
步骤S1:统计标准单元库基本属性:在包含所有标准单元库的标准单元的设计库中,依次获取并记录每个标准单元的各个物理属性(包括名称、宽(L0)、高(H0)、管脚名称等);
步骤S2:设定验证条件:根据覆盖率要求和单元格式,设定预设总数、横向最大长度、Tap单元(衬底连接单元,用于LVS验证)间隔,并在空白版图中,设置起始位置(LS,HS);
步骤S3:选取单元:随机选取一个标准单元,并随机设置Y轴镜像方向,设定L为当前放置的X坐标,H为当前放置的Y坐标,其中,X坐标方向以及Y坐标方向分别对应于所述空白版图的行和列的方向;
步骤S4:标准单元排列:放置到设定位置,根据此标准单元的宽度为L0,设定下一标准单元的放置位置X坐标L=L+L0,Y坐标不变H;并在Spice网表中按照语法格式写入对应的标准单元及管脚连接关系;
步骤S5:TAP单元放置:重复步骤S3和S4,直到下一标准单元的放置位置超出TAP间隔预设值,放置TAP单元,根据TAP单元的宽度LT,设定下一个标准单元的放置位置(L+LT,H);
步骤S6:完成一行放置:重复步骤S5,直到下一标准单元的放置位置超出横向最大长度的预设值;
步骤S7:换行:设定下一个标准单元的放置位置X坐标为L=LS,Y坐标为H=HS+H0,重复步骤S6,直到预设总数放置完成;
步骤S8:验证:使用Calibre对拼接完成的标准单元库随机拼接版图进行设计规则检查(DRC)和版图和电路图一致性比较(LVS)。
利用上述标准单元库设计检查方法,通过设定验证条件,利用随机选取的方式选取标准单元库中的标准单元,并在所述版图上按照随机拼接的方式拼接放置所述标准单元,直至满足所述验证条件,最后对形成的标准单元库随机拼接版图进行设计检查。利用本发明提出的标准单元库设计检查方法可在标准单元版图的设计阶段完成高覆盖率规则检查,减少标准单元库建立过程中的反复工作,由于具有全随机性,因此本申请的技术方案覆盖率比现有技术的方案高,可有效降低后期使用标准单元库进行拼接时出现问题的概率。并且利用本申请提出的技术方案的验证周期短,现有技术中需要共计约2天时间,本申请的方案仅需约3~5分钟,极大的提高了设计效率,加快产品进入市场的时间。
基于同一发明构思,请参考图11,本发明还提出一种标准单元库设计检查系统,包括:
版图及单元库提供模块,其被配置为提供一版图以及包含多个标准单元的标准单元库;
验证条件设定模块,其被配置为设定验证条件;
拼接处理模块,其被配置为随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图;
设计检查模块,其被配置为对所述标准单元库随机拼接版图进行设计检查。
可以理解的是,所述版图及单元库提供模块、所述验证条件设定模块、所述拼接处理模块以及所述设计检查模块可以合并在一个装置中实现,或者其中的任意一个模块可以被拆分成多个子模块,或者,所述版图及单元库提供模块、所述验证条件设定模块、所述拼接处理模块以及所述设计检查模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个功能模块中实现。根据本发明的实施例,所述版图及单元库提供模块、所述验证条件设定模块、所述拼接处理模块以及所述设计检查模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,所述版图及单元库提供模块、所述验证条件设定模块、所述拼接处理模块以及所述设计检查模块中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
基于同一发明构思,本发明还提出一种可读存储介质,其上存储有计算机程序,所述计算机程序被一处理器执行时能实现上述特征描述中任一项所述的标准单元库设计检查方法。
所述可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备,例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所描述的计算机程序可以从可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收所述计算机程序,并转发该计算机程序,以供存储在各个计算/处理设备中的可读存储介质中。用于执行本发明操作的计算机程序可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。所述计算机程序可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机程序的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、系统和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序实现。这些计算机程序可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些程序在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机程序存储在可读存储介质中,这些计算机程序使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有该计算机程序的可读存储介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机程序加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的计算机程序实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
综上所述,本发明具有以下有益效果:
1、本发明提出的一种标准单元库设计检查方法,通过设定验证条件,利用随机选取的方式选取标准单元库中的标准单元,并在所述版图上按照随机拼接的方式拼接放置所述标准单元,直至满足所述验证条件,最后对形成的标准单元库随机拼接版图进行设计检查。利用本发明提出的标准单元库设计检查方法可在标准单元版图的设计阶段完成高覆盖率规则检查,减少标准单元库建立过程中的反复工作,由于具有全随机性,因此本申请的技术方案覆盖率比现有技术的方案高,可有效降低后期使用标准单元库进行拼接时出现问题的概率。并且利用本申请提出的技术方案的验证周期短,现有技术中需要共计约2天时间,本申请的方案仅需约3~5分钟,极大的提高了设计效率,加快产品进入市场的时间。
2、所述验证条件中包含了每个所述标准单元在所述版图中的预设总数,也即每一个所述标准单元在所述版图中出现的次数。将所述预设总数设置为[N*(N+1)/2]*5,可使得覆盖率达到95%,为了进一步提高覆盖率,通过增加一倍的冗余,将所述预设总数设置为[N*(N+1)]*5,可实现98%以上的验证覆盖率。比现有技术的方案的覆盖率提高30%~50%,进一步降低了后期使用标准单元库进行拼接时出现问题的概率。
3、通过获取每个标准单元的物理属性,其中,所述物理属性包括每个所述标准单元的名称、宽度、高度以及管脚名称,可在验证每个标准单元的高度是否一致,通过设置验证条件中的最大长度,可以验证标准单元的宽度是否为Track(布线轨道)的整数倍。
4、可同时进行DRC验证和LVS验证。
本发明提出的一种标准单元库设计检查系统以及可读存储介质,与所述标准单元库设计检查方法属于同一发明构思,因此,具有相同的技术效果。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”或“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。

Claims (6)

1.一种标准单元库设计检查方法,其特征在于,包括以下步骤:
提供一版图以及包含多个标准单元的标准单元库,包括获取所述多个标准单元的物理属性,其中,所述物理属性包括每个所述标准单元的名称、宽度以及高度;
设定验证条件,所述验证条件包括横向最大长度、衬底连接单元间隔以及每个所述标准单元在所述版图中的预设总数;
随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图,包括:随机选取一个所述标准单元,随机设置当前选中的标准单元的Y轴镜像方向,在所述版图上按照行的顺序依次进行拼接,并每隔一个所述衬底连接单元间隔的长度设置一个衬底连接单元;获取第一长度,所述第一长度为所述当前选中的标准单元的宽度加上第二长度,所述第二长度为所述当前选中的标准单元所在行上已拼接完成的所有标准单元与所有所述衬底连接单元的宽度总和;若所述第一长度大于所述横向最大长度,则换行,所述当前选中的标准单元设置在下一行;若所述版图上每个已拼接完成的所述标准单元的数量等于所述预设总数,则完成拼接过程,此时,所述版图上所有标准单元构成的版图为所述标准单元库随机拼接版图;
对所述标准单元库随机拼接版图进行设计检查。
2.如权利要求1所述的标准单元库设计检查方法,其特征在于,所述预设总数为[N*(N+1)/2]*5或[N*(N+1)]*5,其中,所述N为所述标准单元库中标准单元的总数。
3.如权利要求1所述的标准单元库设计检查方法,其特征在于,所述设计检查包括DRC验证和LVS验证。
4.如权利要求1所述的标准单元库设计检查方法,其特征在于,利用EDA验证工具对所述标准单元库随机拼接版图进行设计检查。
5.一种标准单元库设计检查系统,其特征在于,包括:
版图及单元库提供模块,其被配置为提供一版图以及包含多个标准单元的标准单元库,所述多个标准单元具有物理属性,其中,所述物理属性包括每个所述标准单元的名称、宽度以及高度;
验证条件设定模块,其被配置为设定验证条件,所述验证条件包括横向最大长度、衬底连接单元间隔以及每个所述标准单元在所述版图中的预设总数;
拼接处理模块,其被配置为随机选取所述标准单元,以随机拼接方式在所述版图上设置所述标准单元,直至满足所述验证条件,并在所述版图上形成一标准单元库随机拼接版图,所述拼接处理模块包括:随机设置当前选中的标准单元的Y轴镜像方向,在所述版图上按照行的顺序依次进行拼接,并每隔一个所述衬底连接单元间隔的长度设置一个衬底连接单元;获取第一长度,所述第一长度为所述当前选中的标准单元的宽度加上第二长度,所述第二长度为所述当前选中的标准单元所在行上已拼接完成的所有标准单元与所有所述衬底连接单元的宽度总和;若所述第一长度大于所述横向最大长度,则换行,所述当前选中的标准单元设置在下一行;若所述版图上每个已拼接完成的所述标准单元的数量等于所述预设总数,则完成拼接过程,此时,所述版图上所有标准单元构成的版图为所述标准单元库随机拼接版图;
设计检查模块,其被配置为对所述标准单元库随机拼接版图进行设计检查。
6.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被一处理器执行时能实现权利要求1至4中任一项所述的标准单元库设计检查方法。
CN202010561005.7A 2020-06-18 2020-06-18 标准单元库设计检查方法和系统以及可读存储介质 Active CN111709213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010561005.7A CN111709213B (zh) 2020-06-18 2020-06-18 标准单元库设计检查方法和系统以及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010561005.7A CN111709213B (zh) 2020-06-18 2020-06-18 标准单元库设计检查方法和系统以及可读存储介质

Publications (2)

Publication Number Publication Date
CN111709213A CN111709213A (zh) 2020-09-25
CN111709213B true CN111709213B (zh) 2023-04-14

Family

ID=72542311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010561005.7A Active CN111709213B (zh) 2020-06-18 2020-06-18 标准单元库设计检查方法和系统以及可读存储介质

Country Status (1)

Country Link
CN (1) CN111709213B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257382B (zh) * 2020-10-29 2023-07-21 海光信息技术股份有限公司 用于芯片设计的物理验证方法、系统、设备以及存储介质
CN112507648B (zh) * 2020-11-30 2022-01-04 深圳比特微电子科技有限公司 版图设计的方法和集成电路、运算芯片和计算设备
CN113792525B (zh) * 2021-11-16 2023-02-28 北京芯愿景软件技术股份有限公司 集成电路版图设计方法、装置及设备
CN115130422B (zh) * 2022-05-24 2023-10-17 清华大学 标准单元的自动构建方法及装置、终端和存储介质
CN117010322B (zh) * 2023-08-18 2024-03-26 合芯科技(苏州)有限公司 标准单元的检查方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004014894A1 (de) * 2004-03-23 2005-11-03 Infineon Technologies Ag Verfahren zur Herstellung einer Standardzellenanordnung und eine Vorrichtung zur Durchführung des Verfahrens
KR20100127425A (ko) * 2009-05-26 2010-12-06 주식회사 동부하이텍 디자인 룰을 검증하는 방법
CN105447221A (zh) * 2014-09-18 2016-03-30 三星电子株式会社 设计半导体装置的布局的方法
CN108830008A (zh) * 2018-06-28 2018-11-16 中国科学院微电子研究所 一种标准单元库全模型的测试方法及测试系统
CN109684707A (zh) * 2018-12-19 2019-04-26 上海华力微电子有限公司 一种标准单元库版图设计规则验证方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008523516A (ja) * 2004-12-10 2008-07-03 アノバ・ソリューションズ・インコーポレーテッド 集積回路設計および製造のための確率解析プロセス最適化
US7937682B2 (en) * 2008-01-31 2011-05-03 Synopsys, Inc. Method and apparatus for automatic orientation optimization
US8949749B2 (en) * 2012-10-23 2015-02-03 Taiwan Semiconductor Manufacturing Co., Ltd. Layout design for electron-beam high volume manufacturing
US9626472B2 (en) * 2014-11-26 2017-04-18 Taiwan Semiconductor Manufacturing Company, Ltd. Method and system of forming layout design

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004014894A1 (de) * 2004-03-23 2005-11-03 Infineon Technologies Ag Verfahren zur Herstellung einer Standardzellenanordnung und eine Vorrichtung zur Durchführung des Verfahrens
KR20100127425A (ko) * 2009-05-26 2010-12-06 주식회사 동부하이텍 디자인 룰을 검증하는 방법
CN105447221A (zh) * 2014-09-18 2016-03-30 三星电子株式会社 设计半导体装置的布局的方法
CN108830008A (zh) * 2018-06-28 2018-11-16 中国科学院微电子研究所 一种标准单元库全模型的测试方法及测试系统
CN109684707A (zh) * 2018-12-19 2019-04-26 上海华力微电子有限公司 一种标准单元库版图设计规则验证方法

Also Published As

Publication number Publication date
CN111709213A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN111709213B (zh) 标准单元库设计检查方法和系统以及可读存储介质
US8584068B2 (en) Timing violation debugging inside place and route tool
TWI625639B (zh) 用於產生積體電路佈局的電腦實施方法、電腦、電腦可讀取儲存媒體以及藉由該方法所製造的積體電路
US20040255258A1 (en) Method, apparatus, and computer program product for generation of a via array within a fill area of a design layout
US7096447B1 (en) Method and apparatus for efficiently locating and automatically correcting certain violations in a complex existing circuit layout
US20130326447A1 (en) Method and system for layout parasitic estimation
US20070204253A1 (en) Routing display facilitating task of removing error
US20130042217A1 (en) Structural migration of integrated circuit layout
US20170116367A1 (en) Electromigration-aware integrated circuit design methods and systems
US8806407B2 (en) Multiple-instantiated-module (MIM) aware pin assignment
Chen et al. Routability-driven blockage-aware macro placement
JP2008009574A (ja) 設計検証装置,設計検証プログラム,設計検証方法およびcadシステム
US7076410B1 (en) Method and apparatus for efficiently viewing a number of selected components using a database editor tool
US20060142979A1 (en) Numerical analysis aiding device, numerical analysis aiding method and computer readable recording medium having a numerical analysis aiding program recorded thereon
US11036913B2 (en) Integrated circuit methods using single-pin imaginary devices
US8914759B2 (en) Abstract creation
US9460258B2 (en) Shaping integrated with power network synthesis (PNS) for power grid (PG) alignment
US20130091478A1 (en) Power grid mosaicing with deep-sub-tile cells
US9747405B2 (en) Buffer chain management for alleviating routing congestion
US8065128B1 (en) Methods and apparatus for automated testbench generation
US20230144064A1 (en) System and method for automatic generation of device-based design rules and corresponding design rule checking (drc) codes
CN113011125B (zh) 印制电路板核查方法、装置、设备及计算机存储介质
US8732638B1 (en) Verifying proper representation of semiconductor device fingers
US7076759B2 (en) Methodology for generating a modified view of a circuit layout
US9189583B2 (en) Look-up based buffer tree synthesis

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