CN109923542B - 用于早期阶段ic布局设计的drc处理工具 - Google Patents
用于早期阶段ic布局设计的drc处理工具 Download PDFInfo
- Publication number
- CN109923542B CN109923542B CN201780067711.2A CN201780067711A CN109923542B CN 109923542 B CN109923542 B CN 109923542B CN 201780067711 A CN201780067711 A CN 201780067711A CN 109923542 B CN109923542 B CN 109923542B
- Authority
- CN
- China
- Prior art keywords
- rule
- cells
- drc
- rules
- 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
Links
- 238000013461 design Methods 0.000 title claims abstract description 262
- 238000012545 processing Methods 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 claims description 217
- 230000008569 process Effects 0.000 claims description 105
- 238000004519 manufacturing process Methods 0.000 claims description 23
- 230000003466 anti-cipated effect Effects 0.000 claims 12
- 230000000977 initiatory effect Effects 0.000 claims 3
- 238000012937 correction Methods 0.000 abstract description 8
- 238000012986 modification Methods 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 238000012795 verification Methods 0.000 description 25
- 238000004088 simulation Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 230000009897 systematic effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000003672 processing method Methods 0.000 description 8
- 238000012938 design process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 241000588769 Proteus <enterobacteria> Species 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- JEJAGQKHAKDRGG-UHFFFAOYSA-N 2,2-dichloroethenyl dimethyl phosphate;(2-propan-2-yloxyphenyl) n-methylcarbamate Chemical compound COP(=O)(OC)OC=C(Cl)Cl.CNC(=O)OC1=CC=CC=C1OC(C)C JEJAGQKHAKDRGG-UHFFFAOYSA-N 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013440 design planning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
Abstract
通过执行以下步骤中的一个或多个来优化以用于分析早期阶段(“脏”)IC布局设计的DRC工具:(a)自动地选择性地将DRC处理聚焦到脏IC布局设计中最有可能向用户提供有用的错误信息的所选区域(即,层和/或单元),(b)自动地选择性地对在DRC处理期间执行的规则检查进行排序和/或限制,以在预定的合理时间量内向用户提供可管理的量的错误数据,以及(c)使用对比点以图形方式自动提供错误数据,以指示每个规则违反的位置,从而容易标识脏IC布局设计的相关问题区域以用于由人类用户校正并可有效地标识和忽略非相关区域(例如,丢失的块区域),从而有助于有效地修改IC布局设计。
Description
相关申请
本申请要求于2017年10月27日提交的题为“DRC PROCESSING TOOL FOR EARLYSTAGE IC LAYOUT DESIGNS(用于早期阶段IC布局设计的DRC处理工具)”的美国专利申请第15/795,633号的优先权,该申请要求于2016年10月31日提交的题为“DRC PROCESSING TOOLFOR EARLY STAGE IC LAYOUT DESIGNS(用于早期阶段IC布局设计的DRC处理工具)”的美国临时专利申请第62/415,404号的优先权,并且该申请通过引用并入本文。
背景技术
本公开总体上涉及设计规则检查(DRC)软件工具以及由此类工具所执行的方法,并且更具体地涉及被优化以便促进对早期阶段“脏”IC布局设计的高效的DRC处理的DRC工具和方法。
背景技术
集成电路(IC)器件的开发和物理生产是长的、复杂的过程,该过程涉及广范围的设计工具和制造系统。在设计集成电路(IC)器件过程中,工程师通常依靠计算机模拟工具来协助创建由耦合在一起以执行特定功能的独立的器件组成的电路示意性设计。为了在半导体基板上实际地制造该电路,使用特别的计算机辅助设计(CAD)工具将该电路转化成一系列布局图案,其中每个布局图案(层)是基本上对应于设置在物理电路的一个垂直层中的物理特征的形状的二维图案。掩模生成工具接着将布局图案转换成一系列对应的掩模(即,掩模版;透明基板,在该基板上以遮光材料的形式来复制布局图案)。随后在半导体制造系统(制造厂(fab))中利用掩模,该半导体制造系统被所选的光刻制造工艺(流程)控制以在半导体晶片上或在半导体晶片之上形成对应的结构,以使得在晶片上制造IC器件的多个复制。经处理的晶片随后被切成IC裸片(芯片),每个IC裸片包括一个IC器件,并随后将芯片封装以形成完成的IC器件。
图1示出了用于执行设计规则检查(DRC)处理的系统环境,其包括设计布局数据库52、用户界面54、DRC工具56、DRC规则组(rule deck)58、以及DRC结果59。DRC工具56读入来自设计布局数据库52的IC布局设计以及来自DRC规则组58的与所选制造工艺相关联的DRC规则,针对DRC规则的所有违反来检查IC布局设计,并生成随后被显示在用户界面54上的DRC结果59。
DRC通常是在IC器件生产的主动设计阶段期间(即,在下线(tape-out)和掩模生成之前)执行的最终步骤中的一个最终步骤。仿真验证(signoff)阶段DRC的目的是确保IC可以由已经被选择来构建IC的工厂(制造厂)制造。对于IC器件设计者/销售者来说,交付制造的步骤非常昂贵,该IC器件设计者/销售者根据设计者/销售者的IC设计向制造厂支付生产IC器件的费用;交付构建IC器件可能花费数千万美元,而当制造的器件由于设计布局中的错误而无法按预期那样发挥功能时,设计者/销售者通常会失去这些钱。DRC处理有助于确保IC设计可以在产生IC工具加工成本前由目标制造厂构建。DRC处理所提供的保证不仅仅是IC工具加工的成本——制造期间发现的布局错误可能导致制造延迟,其进而导致IC设计者/销售者错过重要的市场窗口。因此,每个最终的IC布局设计实现DRC“仿真验证”(即,验证最终IC布局设计的所有层的所有单元都满足目标工厂所设定的所有所建立的设计规则)以避免损失金钱和上市时间是非常重要的。
更近来地,在IC的主动设计阶段期间,DRC处理越来越多被多次实现,以便在尽可能最短的时间内获得最终IC布局设计。早期阶段IC布局设计通常包括缺失和/或未完成的部件或子块,并且因此经常被称作“脏”布局设计。脏IC设计的缺失/未完成的布局设计的部分的产生是因为复杂的IC通常包括多个互连的电路块,该多个互连的电路块由不同的源产生(例如,不同的块可以由设计者/销售者公司中的不同的设计团队来开发,并且一些块可以从外部经许可的源购得)。在主动设计阶段期间在早期且经常地运行DRC促进了标识由被添加到开发IC设计的部件、子块或块(为了简洁,一起在下文被称作“块”)所产生的设计规则违反,因此允许设计者/销售者实现对这些所建立的电路的必要的布局校正,同时等待完成缺失的多边形。这种早期的DRC处理还提供了保证演进的IC设计在DRC仿真验证上收敛(即,有助于标识需要对部件块进行大量重新布置的根本布局错误),以避免在设计过程的预期结束时出现意外。在设计过程结束时完成的DRC运行——通常被称为最终仿真验证——通常很简单,因为设计已经多次通过DRC运行,并且没有重大制造违反。
在IC设计过程中在早期实现常规的DRC工具的问题在于,“仿真验证”DRC工具(例如,本申请的受让人所提供的IC验证器)已被开发用于非常精确地检查每个块,以在早期阶段设计中搜索并报告每个错误。若设计是“脏”的,则仿真验证DRC工具可运行达非常长的时间,并且由于缺失的块和未完成的连接所引起的不可避免的违反而产生数千兆字节的数据。即,对早期阶段“脏”IC布局设计执行DRC处理通常生成巨量的规则违反,并显著使DRC处理达到完成所需的时间变长。针对先进半导体制造工艺在DRC处理期间所检查的设计的数量可超过10000,并且先进的IC布局设计中的多边形或其他形状的数量可超过1000亿,从而容易理解到对先进的IC器件的布局设计执行常规DRC处理所需的总的处理运行时间通常是显著的(即,多天)。此外,脏IC布局设计可能会导致数亿次规则违反,并且每次规则违反都会增加DRC工具的运行时间,这意味着当应用于先进IC器件的脏IC布局设计时,DRC运行时间可能会非常长。这样的长的运行时间还需要可以以其他方式被用于推进IC设计的有价值的计算机资源,从而延迟上市时间。此外,常规DRC工具针对脏先进IC布局设计所生成的错误报告可包括数亿个DRC规则违反,该数亿个规则违反对于试图阅读和解释错误报告并校正(修复)布局设计特征的(多个)人类而言可能是不能承受的。
常规DRC工具提供可以在DRC处理被施加于脏IC布局设计时被选择性地用于限制DRC运行时间和/或错误报告的用户控制的机制。一些常规DRC工具允许用户将DRC处理限制为由用户从DRC规则组手动选择的DRC规则的子集,或者限制为构成脏IC布局设计的总的层的手动选择的子集。一些常规DRC工具还允许用户选择在DRC处理期间被忽略的每个脏IC布局层中的特定的区域或特征。然而,这些常规DRC工具方法需要用户预先知道哪些规则、层或区域/特征应在随后对他们的脏IC布局设计的DRC处理期间被忽略,这在许多情况下是不现实的。
需要的是能够分析早期阶段(脏)IC布局设计并且在比常规仿真验证DRC工具基本上短的时间量内提供有用的错误信息的早期阶段DRC工具。具体需要的是如下这样的早期阶段DRC工具:所述早期阶段DRC工具在无需用户手动标识他们的脏IC布局设计的层或区域/特征且无需用户手动标识在DRC处理期间要省略的DRC规则组的规则的情况下进行操作。还需要的是如下这样的早期阶段DRC工具:所述早期阶段DRC工具在预定的合理的时间量内自动地呈现针对脏IC布局设计的可管理的量的错误信息,并以容易被人类用户所理解的方式来呈现错误信息以最小化生产周期。
发明内容
本发明针对的是通过利用一个或多个新颖的处理技术(特征)来增强对早期阶段(脏)IC布局设计的DRC处理的改进的设计规则检查(DRC)工具和相关方法,所述一个或多个新颖的处理技术(特征)包括:自动标识并消除/标记有问题的单元放置并在DRC处理之前自动布置规则检查操作的次序;将DRC处理限制至预定时间极限或预定数量的错误;以及以文本格式和直观的基于图形的格式两者来生成错误报告。自动标识有问题的单元涉及在预DRC层次处理期间标识具有可疑放置(例如重叠的单元)的单元。仅在于预设定的时间/错误预算约束内对所有的非有问题的单元完成DRC处理之后,有问题的单元随后被从设计布局工作空间消除或被标记以用于DRC处理,由此在最小的DRC处理运行时间内将DRC处理聚焦于脏IC布局设计中最可能提供有用错误信息(即,最大化所执行的规则检查的数量)的所选的区域(单元)上。对在DRC处理期间所执行的规则检查的数量进行自动排序涉及基于预定的准则顺序地执行规则检查以在最小的时间量内提供最多的有用DRC错误结果。例如,自动排序可以涉及基于所预期的规则执行时间来布置规则检查,其中相对快地执行的规则的评级要高于需要较长执行时间的规则的评级,由此在预定时间段内执行最多数量的错误检查。把DRC处理会话限制至预定的时间量或检测到的错误的数量促进了在可预测的时间量内向用户提供可管理的量的错误数据,这进而促进了更快的DRC仿真验证。最终,自动地以文本形式和图形形式两者(例如,使用对比点“热图”来描绘规则违反的X-Y位置)来提供错误数据提供了对脏IC布局设计中容易被标识以供人类用户进行校正的相关问题区域、以及可被高效地标识并忽略的非相关区域(例如,缺失的块区域)的直观表示,由此促进生成可用于制造期望的IC器件的经修改的布局设计。在本发明的改进的DRC工具中实现这些新颖处理技术中的一个或多个有助于高效地校正在每个早期阶段“脏”IC布局设计迭代中出现的布局错误,因为IC布局设计通过消除先前从增量DRC处理中被验证为“已知良好”的单元和/或为未改变的层朝向仿真验证前进,从而显著减少了总体DRC处理时间,且因此显著减少了随后使用根据完成的IC布局设计所生产的掩模(掩模版)来制造的IC器件的总体制造成本。
根据本发明的实施例,改进的DRC工具通过以优化或最大化在固定时间量内执行的规则检查的数量的方式自动设定在DRC规则检查处理(规则检查操作)期间使用的规则运行集顺序来高效地产生有用的DRC错误结果,并且在达到预定的时间极限或检测到预定数量的规则违反之后终止DRC过程。在一个实施例中,自动设定DRC规则执行的顺序涉及基于每个规则的预期的规则执行持续时间(例如,基于由每个规则执行的过程的数量)向DRC规则组中所提供的每个规则分配评级值,然后,通过基于所建立的规则运行集顺序来顺序地对设计布局工作空间中的每个单元进行规则检查来执行DRC处理(例如,其中在使用具有较长执行持续时间的规则执行规则检查处理之前,使用具有最短执行持续时间的规则执行规则检查处理)。除了自动选择DRC规则执行顺序之外,规则检查过程的持续时间受以下项限制:(a)预定的最大处理时间段或(b)预定的最大规则违反数量。限制规则检查时间的好处是该方法通过以下方式在可预测的合理时间量(例如,三小时)内优化有用错误数据的生成:首先执行最大可能数量的短持续时间(“便宜”)或更相关的规则检查,并且仅在未达到预定时间极限的情况下稍后在DRC处理中执行“昂贵”或不太相关的规则检查。将规则检查限制为有限数量的规则规则违反的益处是该方法避免产生巨量的错误数据,从而允许用户/操作者更高效地应用促进在较短时间内仿真验证的校正。通过组合规则运行集排序和时间/错误限制,本发明提供了一种DRC工具,该DRC工具极大地增强了早期阶段IC布局设计的高效分析和校正。
根据本发明的另一个实施例,改进的DRC工具通过标识特定DRC规则何时在第一遍(first-pass)规则检查处理期间产生异常高的规则违反率来自动检测系统的或根本的布局错误,并且悬置(即,推迟或省略)使用导致高违反率的规则的进一步的规则检查(即绕过设计布局工作空间中的后续单元),至少直到针对规则组中所有其他规则的第一遍DRC处理完成为止。系统的或根本的布局错误通常跨多个邻近单元延伸,导致在使用由该系统的/根本的错误所违反的特定规则检查单元时产生高违反(规则检查错误)率。在该实施例中,DRC工具通过检测在涉及特定DRC规则的规则检查操作期间异常高的规则违反(错误)率值来自动检测这样的系统的/根本的错误,并且悬置使用特定的导致高规则违反率的DRC规则的进一步的规则检查,以便为检查其他规则提供额外的时间DRC处理预算。也就是说,在这种情况下,DRC工具终止使用生成异常高错误率的每个DRC规则的进一步的规则检查操作,但继续使用其他未检查的规则(例如,运行集顺序中的下一个规则)的规则检查操作。在一个实施例中,DRC工具标识特定的布局区域(例如,邻近或其他相关联的单元的块)(该特定的布局区域可由于经组合的高错误率而与检测到的系统的/根本的错误相关联),重新分类/指定标识出的区域中的所有单元以作为有问题的单元,并随后基于此重新分类从所有后续的第一遍规则检查操作中省略这些有问题的单元。相应地,为每个高违反率规则和/或每个有问题区域悬置规则检查操作有助于通过为使用应用于不受系统的/根本的布局错误影响的区域的DRC规则的规则检查处理提供更多时间,从而在固定时间量内生成更大量的有用错误数据。在一个实施例中,通过标识每一个悬置/终止的DRC规则和/或在其中悬置或终止了一个或多个DRC规则的每一个布局区域来生成标识所有检测到的系统的/根本的错误的经修改的错误报告,从而便于在IC开发期间尽可能早地输入对相关联的系统的/根本的错误的对应校正,这样通过防止不必要或浪费的DRC处理时间延迟来释放宝贵的计算机资源。
根据本发明的另一个实施例,DRC工具在DRC过程的层次处理部分期间(即,在开始规则检查过程前)标识设计布局空间中的一个或多个有问题的单元。在一个实施例中,通过检测违反一个或多个单元放置规则的单元大小和/或单元位置参数来标识每个有问题的单元(例如,占据同一X-Y坐标系的两个重叠单元被指定为有问题的单元)。在该标识过程期间标识出的全部有问题的单元被从第一遍规则检查处理移除/悬置(即,在第一遍规则检查处理期间被忽略),这可对在设计布局工作空间中剩余的非有问题的单元中的至少一些执行。将有问题的单元从第一遍规则检查处理悬置通过故意不对这些“已知不良”的有问题单元执行第一遍规则检查来在最少量的处理时间内最大化有用的DRC错误数据的生成,从而将通过忽略有问题的单元而节省的任何时间预算用于在第一遍规则检查操作期间对剩余单元执行大量规则检查,从而促进了在固定时间段内生成更完整的错误数据。在一个实施例中,如果完成了第一遍规则检查处理(即,使用DRC规则组中的所有规则检查了设计布局工作空间中的所有未标记的单元)而未超过最大DRC时间或错误处理阈值(极限),则有问题的单元被取消悬置(被添加回设计布局工作空间),并且对有问题的单元中的至少一些执行第二遍(second-pass)规则检查处理(即,至少直到达到最大DRC时间或错误处理极限为止))。当完成DRC处理时,错误报告包括新的类型的DRC错误数据,该新的类型的DRC错误数据标识有问题的单元的错误放置,从而允许用户/操作者应用合适的校正性动作来消除相关联的放置规则违反。
根据本发明的另一个实施例,DRC工具生成设计布局工作空间并使用上述改进的技术中的至少一些技术执行规则检查操作,并且进一步修改DRC工具以生成DRC错误报告(即,在终止规则检查过程时),该DRC错误报告中使用图形错误数据呈现规则违反,其中违反一个或多个规则的每个指定单元由相应的点描绘,该相应的点相对位于对应于其对应的经指定的单元在相关联的IC布局设计层中的相对X-Y位置的X-Y位置处。特别是当与文本错误信息组合时,包括图形错误信息的DRC错误报告促进快速理解有问题的IC布局层和区域,这允许人类用户更容易地解释DRC错误结果并修复DRC错误,从而促进使用最少量的布局开发时间来生产期望的IC产品。
根据本发明的另一个实施例,根据递增IC布局设计重新验证方法来利用DRC工具,该递增IC布局设计重新验证方法促进了在IC布局设计从其最早期阶段前进至仿真验证时该IC布局设计的高效递增重新验证。即,本发明促进了在于开发期间将新的块递增地添加到IC布局设计时的最小DRC运行时间。
根据本发明的另一个实施例,利用各种方法在每个DRC处理会话期间生成均衡的和/或有用的错误数据,即使当该会话在所有的被排程的规则检查处理完成之前被终止时(例如,由于出现超出预设错误极限的大量规则违反)。在一个特定的实施例中,在规则检查过程期间违反至少一个规则的每个单元被指定为有问题的并至少暂时地被从设计布局工作空间移除(即,在随后的规则检查的期间被忽略),从而生成均衡的错误报告,在该均衡的错误报告中,违反至少一个DRC规则的每个单元都被标识出。在另一个可选实施例中,修改层特定的运行集以包括与上述有问题的单元相关的新规则,其中该新规则被用来例如当在邻近有问题单元而定位的未标记单元中检测到大量错误时将类似定位的未标记单元抢先指定为有问题,从而通过允许DRC过程聚焦于其他未标记的单元,促进了产生可能更有价值的错误数据。在又另一个可选实施例中,使用其他准则生成规则运行集顺序,诸如出现已知的耗时(“昂贵”)的操作,或者基于与IC设计的给定层的预定的相关性。根据替代实施例,将本发明实现为提供上述各种特征和益处的方法、非瞬态计算机可读介质、和系统。根据本发明的另一个实施例,当实现上述处理技术中的每一个时,改进的DRC工具和相关的方法/介质/系统极大地将DRC工具运行时间减少十倍和二十倍(10-20X),减少计算机资源需求(盘、存储器、CPU的数量)并产生更容易理解的错误报告(文本和图像),其允许人类用户更容易地解释DRC错误结果并修复DRC错误,从而促进生产期望的IC产品。
附图说明
为了容易地标识对任何特定元素或动作的讨论,参考数值中最显著的一个或多个数字指代的是首先引入该元素的图号。
图1示出了简化的常规DRC系统环境;
图2是示出利用本发明的改进的DRC工具/方法/系统的集成电路制造工艺的流程图;
图3是示出根据本发明的示例性实施例的本发明的改进的DRC工具/方法/系统的流程图;
图4(A)、图4(B)、图4(C)和图4(D)是描绘根据示例性的简化实施例的在图3的处理方法中利用的IC设计层的预规则检查处理的简化图;
图5(A)、图5(B)和图5(C)是描绘根据示例性的简化实施例的在图3的处理方法中利用的DRC规则排序的简化图;
图6是根据本发明的示例性实施例的包括规则和相关联的规则运行集成本值的表格;
图7(A)、图7(B)、图7(C)、图7(D)、图7(E)、图7(F)、图7(G)、图7(H)、图7(I)、图7(J)和图7(K)是描绘使用图4(D)的单元细节和图3(C)的经排序的DRC规则的图3的处理方法的示例性操作的简化图;
图7(L)是描绘与根据图7(A)至图7(K)中所执行的操作所生成的简化热图型错误报告相关联的示例性图形错误数据的图。
图8(A)和图8(B)示出了根据本发明的另一个实施例的使用采样方法的DRC错误结果的热图表示;
图9是根据本发明的简化的替代实施例的示出示例性命令集依赖性的列表;
图10示出了根据本发明的另一个实施例的递增重新验证的实施例;
图11示出了包括本发明的DRC处理方法的示例性数字ASIC设计流程的简化表示;以及
图12是示出根据本发明的替代示例性实施例的部分DRC工具/方法/系统的流程图。
具体实施方式
本发明针对的是经优化以用于对早期阶段(脏)IC布局设计的高效DRC处理的改进的DRC工具。给出以下描述以使本领域技术人员能在特定应用及其需求的背景下实施和利用所提供的本发明。在一个实施例中,通过修改常规仿真验证型DRC工具以包括新颖的处理技术中的一种或多种从而极大地加速早期阶段DRC处理来产生改进的DRC工具,诸如:自动终止对生成大量错误并消耗大量机器资源的DRC规则的处理;自动排除不良的单元放置,以使得它们不被检查;首先自动确定并运行基本DRC规则,并根据中间结果来决定在所有层上完成剩余的DRC规则、在层的子集上完成剩余规则、或在所有层或层的子集上完成规则的子集;和/或生成具有可管理的量的错误信息的错误报告,以避免使试图解释DRC结果以便修复设计的用户难承受。优点在于:改进了DRC工具运行时间(即,快了十到二十倍)、减少了执行DRC处理所需的计算机资源(例如,盘、存储器、和CPU的数量)、对于解释DRC结果并修复DRC错误的用户来说更容易理解。
图2是根据本发明的指示利用了改进的DRC工具100的极大简化的IC设计和制造工艺200的简化流程图。参考图2的顶部,在合适的计算系统101(为了简洁以简化框的形式被示出)上执行DRC工具100,并接收来自DRC规则组85的制造厂提供的基本设计规则80以及用户的IC布局图案90(即,要分析的布局图案)作为输入,该用户的IC布局图案90通常被存储在设计布局数据库95中,其中使用已知技术将DRC规则组85和设计布局数据库95存储在计算机存储器中。在一个实施例中,IC布局图案90是早期阶段(即,未完成的或“脏”的)布局图案,并且如下所述,DRC工具100用于高效地标识部分完成的布局设计中存在的布局错误。即,根据本发明的优点,DRC工具100的作用在于使用DRC规则组85中所提供的DRC规则中的至少一些来高效地标识并存储早期阶段IC布局设计90中的布局错误(规则违反),并且在于以错误报告105的形式来提供可管理的量的错误信息,该错误报告105被配置为允许用户(即,布局设计专家)快速识别并校正早期阶段IC布局设计中的布局错误。在每个DRC处理会话的结束处(例如,在框100的输出处),若DRC结果指示剩余的错误(在框230中的“是”),则向用户提供错误报告105,在一个实施例中错误报告105以适合于在用户界面145上显示的方式存储于DRC错误数据库97中,从而为用户提供输入解决DRC规则违反的校正(框240)和/或将额外特征添加到已有的早期阶段IC布局设计的机会。经修订/增强的早期阶段IC布局设计随后可被重新提交用于由DRC工具100进行处理。本发明的另一个优点是:DRC工具100保留信息过程通常被重复许多次,直到提交经修改的/最终的IC布局设计并且DRC工具100没有报告错误(框230中的“否”)为止,由此接着在框280中利用经修改的IC布局设计以产生物理掩模185,并然后在半导体制造工艺中使用掩模285(方框290)以制造包括由修改的布局图案限定的结构的集成电路295。即,尽管DRC工具100的主要优点适用于对早期阶段布局图案执行DRC处理,但DRC工具100还能够使用下文描述的方法执行仿真验证DRC处理。
图3是描绘根据本发明的示例性实施例的由图2的DRC工具100实现的DRC处理方法的流程图。根据下文参考图4(A)至图7(L)呈现的示例性简化图来描述根据形成图3的流程图的特定块执行的工艺部分。如下所述,图3中所示的流程图包含本发明的多种新颖处理技术,每个新颖处理由形成图3的流程图的相应框或相关框的群组来生成。相应地,可以通过实现图3中所示的流程图的部分来实现本发明的精神和范围,并且应当理解,每个所附权利要求仅受新颖DRC处理方法的权利要求相关联的所述部分的限制。
参考图3的顶部,DRC工具100通过将早期阶段IC布局设计90(例如,从设计布局数据库95)写入设计布局工作空间(框305)并通过(例如,从规则组80(框310))接收DRC规则来准备DRC处理。在一个实施例中,在下文参考框310描述的工艺之前执行下文参考框302、305、307描述的工艺,但可以颠倒执行的顺序或同时地执行工艺。
参考图3的左上部分,与框302至框307相关联的工艺涉及产生和随后修改设计布局工作空间,该设计布局工作空间包括了共同限定早期阶段IC布局设计90的至少一部分的单元。简要参考图2,IC布局设计90通常包括多个层,其中每个层通常包括可以布置成块(即,例如通过作为单个部件或电路的一部分而相关的单元的群组)的多个布局特征(单元),其中每个单元通常由指示其大小/形状的数据和其在相关层中所指定的X,Y位置来描述。图4(A)至图4(C)描绘了包括IC布局设计90的假设的简化层90-1的单元C01至C18的设计布局工作空间110的生成和处理,其中图4(A)是初始设计布局工作空间的图形表示,该初始设计布局工作空间包括在时间T10与早期阶段IC布局设计90的层90-1相关联的所有单元信息。注意到,为了简洁和清晰,采用数个简化。首先,将层90-1描绘为包括设置成三行的十八个单元C01至C18,其中每个单元由相关联的正方形框来描绘,该相关联的正方形框旨在表示单元的X-Y位置和相对于层90-1中的全部其他单元的单元面积边界。本领域技术人员将理解,典型的层可以包括基本上较大数量的单元/框,并且十八个单元的描绘仅是为了清晰而采用的简化。此外,每个单元C01至C18被理解为包括相关联的布局细节,或以下文所述的方式被以其他方式指定(例如,被指定作为伪单元(dummy cell))。另外,下文仅参考层90-1来描述新颖的DRC处理方法(即,关于其他层IC布局设计90的处理的细节(例如,如图2中所示的)在下文被省略),并理解,参考层90-1的单元所描述的方法用于处理IC布局设计90的所有层中的所有单元。在一个实施例中,设计布局工作空间110被配置成使得可由DRC工具90使用下文所述的方法来分别处理IC设计90的每个层。
参考框302(图3)和图4(A),生成设计布局工作空间110涉及在时间T10将单元C01至C18读入(传递)到计算系统101的所指定的存储器空间,其中单元C01至C18在时间T10共同限定层90-1。如图4(A)中所指示的,使用已知技术在计算系统101上生成(以及随后处理)工作空间110,并且如上所述,仅为了简化对由DRC工具100所执行的处理技术的描述的目的而利用对单元C01至C18的图形描述。
参考框305(图3)和图4(B),在时间T11(即,在时间T10后),标识特定的预指定的单元(例如,具有标志集(flag set)的单元,所述标志集用于指示所述单元是已知良好的单元或是伪单元)并将该特定的预指定的单元从工作空间110删除。在图4(B)中所示的示例中,箭头301A1和310A2指示从的工作空间110中删除伪单元C01和C18(伪单元C01和C18在图4(A)中示出),且箭头310A3指示从工作空间110中删除已知良好的单元C06(已知良好的单元C06也在图4(A)中示出)。相应地,设计布局工作空间110(T11)包括第二多个单元(即,C02至C05和C07至C17),该第二多个单元包括原始(第一)多个单元(即,C01至C18)的在时间T10被传递到工作空间110的子集。本领域技术人员理解,短语“伪单元”指占据给定的层上的所指定的X-Y位置以为了保存空间用于随后被IC布局设计的一个或多个真实单元占据的目的的空白“占位”单元描述。已知良好的单元是已被DRC工具100处理(例如,在先前的处理迭代中被处理)或以其他方式已知不违反任何相关DRC规则的单元。从工作空间110移除伪单元和已知良好的单元通过防止对这些预指定的单元的规则检查来减少处理时间。
在与框305相关联的处理期间标识和删除预指定的单元可以使用各种替代方法来实现。在一个实施例中,通过分配给所选择的单元的时间戳或其他标志/指示符来标识已知良好的单元和/或伪单元,该时间戳或其他标志/指示符将单元标识为用于在当前DRC处理会话中从随后的DRC处理中省略的候选项。在特定实施例中,IC布局设计90的所选单元被分配有时间戳,所述时间戳指示单元被DRC工具检查的最后的时间以及该DRC检查的结果。即,IC布局设计的第一版本中存在的在初始DRC处理会话期间被DRC工具100检查的每一个单元被分配有时间戳值,所述时间戳值指示(a)初始DRC处理会话的日期或修订编号、和(b)单元是在初始DRC处理期间通过所有DRC检查(即,已知良好)还是未能通过一个或多个规则检查(不良)。时间戳在所有的后续修订中保持不变,直到单元受到改变(例如,在图2的框240中校正所检测到的规则违反)为止。在一个实施例中,所有具有时间戳(所述时间戳指示先前DRC处理以及“已知良好”或是“不良无变化”)的单元被标识并被从工作空间110中删除。
框307(图3)和图4(C)描绘了新颖DRC处理技术,该新颖DRC技术涉及:标识在布局工作空间110中存在的有问题的单元(例如,具有有问题的实例放置的单元);以及标出(例如标记或以其它方式来指定)标识出的有问题的单元以使得从第一遍规则检查处理省略(悬置)所标识出的有问题的单元,并且使用特别的DRC错误指定(例如,“不良放置”错误)来在DRC错误报告中标识所标识出的有问题的单元。在图4(C)中示出的示例中,通过虚线框和指定“PC10/11”和“PC13/14”来指示有问题的单元C10、C11、C13和C14的悬置,这指示了虽然这些单元的DRC处理被悬置,但与这些单元相关的信息被保留以用于在对所有非有问题的单元的DRC处理完成之后的可能的DRC处理(例如,如下文参考框370所讨论的)。即,与从工作空间110删除与已知良好的单元C06和伪单元C01和C18相关联的信息相反,由DRC工具100来保留有问题的单元PC10/11和PC13/14的细节。尽管通过为了描述性目的而展现重叠型不良放置错误从而在本示例中指示有问题的单元PC10/11和PC13/14,但理解,可通过其他类型的有问题的实例放置来标识有问题的单元。
在当前优选实施例中,在DRC过程的层次处理部分期间执行(即在DRC规则检查操作之前执行)框307的有问题的单元标识过程,并且涉及标识具有可疑放置的单元的实例,诸如重叠单元C10和C11以及重叠的单元C13和C14。在一个实施例中,通过以下步骤来检测可疑放置:标识与当前所选的层相关的经允许的重叠规则;分析每个单元相对于与其邻近的相邻单元的大小/位置数据;以及如果单元的大小/位置违反层的经允许的重叠规则就将每个这样的单元标记为“有问题的”。在一个实施例中,针对当前所选的层来修改层特定规则运行集,使得运行集包括与有问题的单元相关联的放置规则违反相关的一个或多个新的规则(如下文解释),这些新的规则可以用于当某些规则违反以高比率发生于邻近有问题的单元而定位的单元中时将这些单元标记为也是有问题的。
参考框309(图3)和图4(D),根据布局空间110的生成来执行的最终操作是在时间T30可选地指定初始(第一)当前单元(CR)以用于DRC处理。参考图4(D),在所描绘的示例中,单元C02被指示为通过指定“CC=C02”被设定为当前单元,从而单元C02被标识为要在随后的DRC处理期间被处理的第一单元。为了逻辑目的和描述目的,在图3中示出与框309相关联的第一单元指定操作,并且本领域技术人员将理解,实际的“设定当前单元”操作可能在一些实施例中是不必要的。如以下所述,在示例性实施例中,单元C02被选作初始当前单元,这是因为单元C02是工作空间110中在时间T30处的最低编号的剩余的“未标记的”单元,并且在示例中,当前单元指定以升序的单元编号顺序在单元之间移位。相应地,可省略实际“当前单元”指定步骤,并且可仅使用工作空间110(T30)中具有最低单元编号的单元(即单元C02)来发起DRC处理.当然,可以利用可产生不同初始当前单元的其他单元排序方案。此外,一些实施例可能不将所有规则检查应用至所有单元。例如,当在给定层中多次实例化具有相同特征(例如,形状、大小和取向)的单元时,用于检查单元特征尺寸的规则可以被应用于第一实例化,并且在后续实例化中被省略/跳过;同时,检查单元间边界偏移的规则可以被应用于具有相同特征的单元的所有实例化。
参考图3的右上部分中的框310,根据另一种新颖的处理技术,在开始DRC处理之前还自动生成规则检查“运行集”顺序。图5(A)和图5(B)描绘了简化示例,其中DRC规则80在时间T20从外部DRC规则组85被写入存储器文件120,如箭头310A1所示。存储器文件120形成可由DRC工具100的相关子例程访问的计算系统101的一部分,其通过基于预定准则(例如,基于某些规则对于给定的设计布局层的预先建立的重要性,或基于估计出的或计算出的规则执行持续时间)为DRC规则的每个DRC规则分配评级(成本)值来生成规则检查运行集顺序。在示例性实施例中,DRC规则80包括规则R1至R4,其中每个规则包括相关联的数量的规则检查程序P1至P6。为了解释的目的,假定每个程序P1至P6由计算系统101在相同的时间量内执行(即,程序P1在与程序P2至P6相同的时间量内执行),所以可以通过与每个规则相关联的程序的数量来预期(即,估计或计算)针对每个规则R1至R4的预期的规则执行持续时间。使用这种简化,针对规则R1至R4的最短到最长的运行顺序被建立,如图5(B)中所示的箭头310A2所示,其中规则R3通过包括两个程序P1和P2而被标识为具有最短的预期规则执行持续时间,并且规则R2通过包括六个程序P1到P6而被标识为具有最长的预期规则执行时间。由于由规则R1(即,程序P1至P4)和R4(即,程序P1至P3)利用的相关联的数量的程序,所以针对DRC规则80的运行集顺序被设定为如图5(B)中所指示的,其中规则R3为第一,R4为第二,R1为第三且R4为第四。相应地,如通过该示例所建立的那样,具有相对短的预期规则执行持续时间的第一DRC规则(即,规则R3或规则R4)被分配较高的评级值(较低的成本),且具有相对长的预期规则执行持续时间的第二DRC规则(即,规则R2或规则R1)被分配较低的评级值(较高的成本)。
尽管示例性实施例描述了涉及分析DRC运行集命令树以确定哪个DRC规则是“最简单”的运行集排序,但是可以利用其他标准来自动设置DRC运行集顺序。在另一个实施例中,每个规则的预期执行持续时间基于哪些规则包括已知的耗时(“昂贵”)操作(例如,连接db、电压相关检查或多模式检查),并且根据这种已知的耗时操作的存在来对规则运行集进行排序,使得在具有已知耗时操作的规则之前执行省略这种耗时操作的所有规则。图6提供了基于预期执行时间具有相关联的所指定的低、中、中/高、高以及非常高的成本值的示例性规则的列表。在另一个实施例中,DRC规则80包括层特定的规则运行集,其中规则R1至R4包括来自DRC规则组85的DRC规则以及可由DRC工具100生成的任何新规则,并且运行集排序(框310)涉及基于每个规则与当前所选的层的相关性来从最低成本到最高成本(或从最高权重到最低权重)对规则进行评级。在这种情况下,如果在先前的DRC处理会话期间建立了运行集顺序并且没有添加新规则,则可以利用先前建立的运行集顺序,并且可以跳过框310以进一步减少总体DRC处理时间。
参考框315(图3)和图5(C),根据规则运行集顺序的产生来执行的最终操作是用于在时间T31可选地指定初始(第一)当前规则(CR)以用于DRC处理。参考图5(C),在所描绘的示例中,指定“CR=R3”指示规则R3被设置为初始当前规则以用于后续DRC处理,如上所述,它已被标识为运行集120中的最低持续时间(最短运行)规则。与初始当前单元的选择(如上所述)一样,出于解释目的描述了指定规则R3作为初始当前规则,并且在某些情况下可以省略该指定。
在如上所述生成设计布局工作空间并且建立规则运行集顺序之后,DRC处理由DRC工具100的相关子例程根据图3的框320至380以下面描述的方式执行。注意,上文参考图4(D)和图5(C)描述的简化单元布局和规则运行集示例用于下文参考图7(A)至图7(L)所描述的以极大简化的图形方式说明DRC工具100在DRC处理期间执行的具体过程。例如,图7(A)描绘了在时间T40处(在时间T30(图4(D))和时间T31(图5(C)))之后发生)的计算系统101的包括布局工作空间110和存储器文件120的一部分,该布局工作空间110和存储器文件120分别指示初始当前单元C02和初始当前规则R3的指定。图7(A)还示出了在时间T40处的第三存储器部分130,第三存储器部分130由DRC工具100的相关子例程生成和更新并由包括经过的(总的)DRC处理时间TPT的DRC控制字段以及错误(规则违反)计数字段组成,所述经过的(总的)DRC处理时间TPT在一个实施例中通过从时间T40减去时间T0(由“T40-T0”表示)来计算,所述错误(规则违反)计数字段指示每个规则R1到R4的违反次数以及总和值,所述总和值在DRC处理期间累积。当然,在DRC处理开始时,规则违反计数值全为零(例如,“R1=0”)。注意,这些图中的描述并非旨在准确地反映与DRC处理相关联的特定细节,并且关于本领域技术人员已知的特定DRC操作的执行的细节(例如,根据框320执行的规则检查)为了简洁起见在本文被省略。
再次参考框320(图3),DRC工具100在时间T40通过对初始指定的当前单元执行初始指定的当前规则检查来发起规则检查处理。如上所述,在规则检查处理开始时,所指定的当前规则是规则运行集顺序中的第一规则(即规则R3),并且所指定的当前单元是设计布局工作空间110中的最低编号的单元(即,单元C02)。图7(B)示出了在第一DRC规则检查操作之后的时间T41处的计算系统101,所述第一DRC规则检查操作涉及将初始当前规则R3应用于初始当前单元C02。出于讨论的目的,该初始规则检查的结果由在单元C02的底部所描绘的标志框145-11指示,其中标记框145-11的黑色的状态指示单元CO2未通过涉及DRC规则R3的规则检查。参考图7(B)右侧的第三存储器部分130(T41),注意单元C02违反规则R3导致存储器部分130(T41)中的规则R3违反字段(增加1,例如,使得相关联的字段变为“R3=1”)以及总违反字段(即,使得违反总数字段变为“总数=1”)递增。下面讨论这些规则违反计数值的相关性。
在初始规则检查操作(框330,图3)之后,控制传递到判定框330,其作用在于标识是否违反当前规则(在该情况下,规则R3)超过预定最大次数。因为这是首次通过判定框330(即,与当前规则R2相关的违反的数量是低的),处理跟随“否”分支到框340。如在下文另外详细解释的那样,在涉及给定的当前规则的稍后的循环中,若在框330中检测到高规则违反率,则跟随“是”分支到框335,其中针对当前规则设定比率标志,且悬置针对当前规则的规则检查过程。
继续涉及初始当前规则R3的示例,规则检查处理前进到设计布局工作空间中的下一个单元。在图3所示的示例性实施例中,控制沿着“否”分支从判定框330传递到判定框340,判定框340检查以确定是否已使用指定的当前规则检查了设计布局工作空间中的所有单元。如果有未检查的单元剩余(否),则控制从判定框340传递,由此将指定的当前单元更新为设计布局工作空间中的下一个剩余单元,然后控制传递到框320,由此DRC处理继续使用先前指定的当前规则对新指定的当前单元执行规则检查操作。在当前优选实施例中,根据未检测到高错误率(否)的规则检查运行集顺序来执行上述循环,直到满足执行上文参考判定框330和340提及的两个条件之一为止,然后控制从当前单元传递到设计布局工作空间中的次高编号的剩余“未标记”的单元。
图7(C)和图7(D)描绘了根据参考框320、330(否)、340和345描述的循环过程来对单元C03至C05、C07至C09、C12和C15至C17(即,工作空间101中的“未标记”的单元)进行DRC处理。图7(C)描绘了在由图3的框345将当前单元从单元C02重新指定成C03(即,在图7(C)中,这通过弯曲的虚线箭头和在单元C03中的指定“CC=C03”来指示)之后并且在已使用当前规则R3使经重新指定的当前单元C03经受DRC处理之后在时间T42处的计算系统101。为了讨论的目的,使用规则R3的该第二规则检查的结果由在单元C02的底部所描绘的标志框145-11来指示,其中标志框145-11的打开状态指示单元C03通过了涉及DRC规则C03的规则检查。参考图7(C)的右侧,注意到,由于单元C03通过规则R3检查,因此存储器部分130(T42)中的规则R3违反字段和总违反字段与时间T41(图7(B))相比保持不变。图7(D)描绘了在多个额外传递通过上文参考框320、330(否)、340和345描述的循环过程之后在时间T43处的计算系统101,其中相应的虚线箭头指示当前单元指定以递增的单元编号顺序从单元C03到单元C04、从单元C04到单元C05等的顺序移位直到将单元C17指定为当前单元并使用规则R3规则检查操作来对单元C17进行处理为止。将违反规则R3的单元(即,未通过涉及规则R3的规则检查过程的单元C04、C08和C15)分别指示成标志框145-13、145-14和145-15的黑色的状态,并且所有其他单元中的首先打开的框指示这些单元通过了涉及规则R3的顺序执行的规则检查过程。参考图7(D)的右侧,注意,存储器部分130中的规则R3违反字段和总违反字段(T43)根据在从时间T41到时间T43的DRC处理期间违反规则R3的单元的数量而增加(即,使得规则3违反数量字段现在读数为“R3=4”,并且违反总数字段的读书现在变为“总数=4”)。
再次返回到图3中的判定框340,在对设计布局工作空间中的所有单元经受了使用初始当前规则(即规则R3)的规则检查之后,控制沿着“是”分支传递到判定框350,该判定框350确定是否预设阈值中的一个或多个产生限制(例如,预定时间极限或预定数量的总规则违反)。为了描述目的,假定没有达到这些阈值中的任何阈值,因此控制沿着“否”分支传递到框355,其中当前单元被重新设定为第一剩余单元(即,图7(E)中所示的示例中的单元C02),随后控制传递到判定框360,判定框360确定是否已经检查了存储空间120中的所有规则)。因为此时仅检查了一个规则(即,规则R3),所以规则运行集顺序中的下一个规则(即,规则R4)被指定为当前规则。图7(E)描绘了在第一DRC规则检查操作之后的时间T51处的涉及将第二电流规则R4应用于初始当前单元C02的计算系统101。出于讨论的目的,该规则检查的结果由第二标志框145-21指示,第二标志框145-21描绘在单元C02的底部的标志框145-11旁边,其中标志框145-21的打开状态指示该单元C02通过了涉及DRC规则R4的规则检查。因为单元C02通过涉及规则R4的规则检查操作,所以存储器部分130中的规则R4违反字段(T41)保持不变(即,“R4=0”),并且总违反字段与通过使用初始规则R3的DRC处理生成的计数相比也保持不变(即,“总数”=4)。图7(F)描绘了根据上文参考图3中的框320、330(否)、340和345描述的循环过程对未标记的单元C03至C05、C07至C09、C12和C15至C17的后续DRC处理。具体地,图7(F)描绘了在多个额外通过上文参考框320、330(否)、340和345描述的循环过程之后在时间T52处的计算系统101,其中相应的虚线箭头指示当前单元指定以递增的单元编号顺序从单元C02到C03、从C03到单元C04等的顺序移位,直到单元C17被指定为当前单元并使用规则R4进行了处理为止。将违反规则R4的单元(即,单元C03、C05、C07、C09、C12和C17)分别指示成标志框145-22、145-23、145-24、145-25、145-26和145-27的黑色的状态,且所有其他单元中的首先打开的框指示这些单元通过了涉及规则R4的顺序执行的规则检查过程。参考图7(F)的右侧,注意,存储器部分130(T52)中的规则R4违反字段和总违反字段根据在时间T51和时间T52之间违反规则R4的单元的数量而增加(即,使得规则4违反数量字段现在读数为“R4=6”,并且违反总数字段的读书现在变为“总数=10”)。
在一个实施例中,DRC工具100被配置为通过识别特定DRC规则何时生成异常高数量的规则违反来自动检测系统的或根本的布局错误,并被配置用于终止涉及特定DRC规则的规则检查过程,但继续使用规则组中的后续规则的规则检查过程。如上所述,在判定框330(图3)中发生与特定当前规则相关联的高错误率的识别。下文参考涉及规则R1的规则检查处理提供说明规则检查处理的终止的简化示例,其中当针对给定规则检测到七个规则违反时,在判定框330中执行的测试生成“是”结果。注意到,七是仅为说明目的而选择的任意数字。在一个实施例中,与框330相关联地执行额外的功能,框330评估由较低成本规则生成的结果,并且可选地根据该评估来修改规则运行集。在下文描述的示例性实施例中,假定评估结果导致使用完整运行集的规则检查处理。在替代实施例中,评估结果可以用于截断规则运行集的一部分(例如,仅使用预先指定的低成本规则执行规则检查操作),或者由于在某些单元的群组中产生了太多错误而将该该群组从进一步的规则检查中移除(例如,通过将这些单元指定为有问题的方式)。
在设计布局工作空间中的所有单元经受使用运行集中的第二规则(即规则R4)的规则检查之后,再次返回到图3中的判定框340,并且假定尚未达到时间或总规则违反阈值,控制再次从判定框350传递到框355,其中当前单元再次被重新设定为单元C01,然后控制再次通过判定框360到达框365,其中规则运行集顺序中的下一个(第三)规则(即规则R1)被指定为当前规则。图7(G)描绘了在一系列DRC规则检查操作之后的时间T6处的计算系统101,涉及将第三当前规则R1应用于单元C02至C05和单元C07至C09。通过指定“CR=R1”在图7(G)的存储器部分120(T6)中描绘了当前规则到规则R1的改变,其中执行与规则R1相关联的规则检查涉及执行规则检查程序P1到P4。
通过说明高规则错误率特征,与规则R1相关联的规则检查在图7(G)中被描绘为在其所应用到的前七个单元中的每一个中生成七个连续错误(规则违反)。即,为了示例性目的,假定使用当前规则R1对单元C02进行的规则检查处理生成违反,其由黑色框145-31指示。然后切换所指定的当前单元,并且以上述方式对单元C02至C05和C07至C09中的每一个重复进行规则检查过程(即,利用通过图3中的框320、330、340和345的循环),其中使用当前规则R1在框320中对这些单元中的每一个单元执行的规则检查处理生成违反,如这些单元的每一个中的黑框所示,但是在每种情况下,控制从后续框330(“否”)传递到框340,因为与规则R1相关联的规则违反的总数保持低于七个错误阈值。在对单元C09的规则检查处理后生成与规则R1相关的第七个规则违反之后(例如,如图7(G)中的单元C09中的黑框145-32所指示),控制以上述方式从框320传递到框330。此时,因为已经记录了七个规则违反(如图7(G)的存储器部分130(T6)中的“R1=7”所示),控制从判定框330沿“是”分支传递到阻止335,其中为当前规则(即,规则R1)设置高规则违反率标志,然后控制传递到判定框350,判定框350确定是否已达到预定时间极限或总规则违反阈值中的一个或多个。如果没有,则控制以上述方式传递到框335、360和365,使得规则检查处理继续运行集中的下一个规则(即,规则R2,如图7(H)所示)。以这种方式,使用导致高违反率的规则(即,在该示例中,规则R1)的进一步规则检查处理被推迟或终止,因为设计布局工作空间中的后续单元(即,单元C12和C15至C17)被绕过(不经受使用规则R1的规则检查处理,如出现在这些单元的相关联的第三标志框145-33中的“X”符号所示),从而在比对被绕过的单元执行规则检查处理的时间更早的时间实现使用下一个按顺序的DRC规则(即,在该示例中,DRC规则R2)的规则检查处理。以这种方式,DRC工具100促进对产生大量违反某个DRC规则的系统的或根本的布局缺陷的周期性健全性检查。即,当特定规则在对相对少量的单元进行规则检查之后检查生成大量违反时,DRC工具100假定特定DRC规则在被应用于给定层的剩余单元时可能会产生额外的大量违反,并悬置使用该特定DRC规则的进一步规则检查处理,以便为使用其他DRC规则的规则检查提供更多的时间。在一个实施例中,使用特定的导致高违反率的规则或在产生高错误率区域中的进一步规则检查被推迟,直到对所有其他规则和/或对IC布局设计的所有层完成第一遍DRC处理为止(即,如果在完成所有其他规则检查后剩余足够的时间预算,则可以使用剩余时间预算将规则检查应用于未使用特定规则检查的单元)。当在将特定规则检查应用于所有单元之前完成DRC过程时,错误报告可以包括标识导致高错误率的规则和/或产生高错误率的区域的特别错误消息,该特别错误消息通知操作者/用户在布局设计的其他区域中可能存在违反该特定规则。
参考图7(H),图7(H)描绘了在一系列DRC规则检查操作之后的时间T7处(在时间T6之后)的计算系统101,该一系列DRC规则检查操作涉及将后续(和最终)的当前规则R2应用于设计布局工作空间110中的单元。在图7(H)的存储器部分120(T7)中通过指定“CR=R2”来描绘当前规则到规则R2的变化,并且由弯曲的虚线箭头来指示使用规则R2的顺序执行的规则检查过程,其指示对单元C02执行第一规则检查过程(该单元C02通过的规则检查,如打开标志框145-41所示),并且指示三个单元未能通过相关联的随后执行的规则检查过程(即,如分别在单元C09、C12和C17中的黑色的标志框145-42、145-43和145-44所示)。如存储器部分130(T7)中所示,记录规则R2的三次违反(即,“R2=3”),并且更新总违反字段以包括在时间T7发生的规则违反的总数(即,包括规则R1引起的七个规则违反,使得违反总数字段更改为“总数=20”)。
参考图3,一旦使用运行集中的最后一个规则检查了工作空间110中的所有单元,控制就再次传递到框350(即,沿着框340的“是”分支)。假定在时间T7结束时的总经过处理时间(即,“TPT=T7-T0”)小于DRC时间阈值,并且规则违反的总数(即,“总数=20”)小于规则违反阈值数,随后控制从判定框350沿“否”分支传递到框355,其中当前单元再次被重新设定为C02,然后控制传递到判定框360。此时,由于运行集中的所有规则都已经被检查,因此控制从判定框360沿“是”分支传递到框370。控制传递到框370标志着涉及未标记单元的第一遍规则检查操作的结束、以及第二遍规则检查操作的开始,如下所述。
如上文参考图3所解释的,DRC工具100被配置为以上述方式执行第一遍规则检查过程,其中第一遍规则检查过程仅在在设计布局工作区中剩余的“未标记”单元上执行。即,参考框305和307(图3),在开始第一遍规则检查操作之前,从设计布局工作空间标识并删除伪单元/已知良好的和有问题的单元,从而将这些单元从第一遍规则检查操作省略/悬置(即,参考图7(H),仅对设计布局工作空间110的剩余单元C02至C05、C07至C09、C12和C15至C17执行上述第一遍规则检查操作)。只有当对设计布局工作空间中存在的所有剩余(未标记)单元完成所有第一遍规则检查操作时,并且仅当DRC时间阈值和规则违反总数阈值都没有被达到(意味着DRC处理预算剩余以用于执行额外规则检查操作)时,控制才传递到框370。根据本发明的实施例,该剩余DRC处理预算用于对根据框307标识并移除/悬置的有问题的单元中的至少一些执行至少一些第二遍规则检查操作。执行这些第二遍规则检查操作的原因和益处是,有问题的单元的额外规则检查处理可以提供可以在进行下一个DRC处理会话(即,在IC设计布局的递增修改的版本上)之前被作用(校正)的额外信息——也就是说,因为DRC工具能够在不超过时间阈值或总错误阈值的情况下完全处理所有未标记的单元,所以在第二遍规则检查操作期间基本上“没有”对有问题单元的额外处理。
参考框370(图3)和图7(I),其示出了在时间T8处的计算系统101,第二遍规则检查操作的第一阶段有效地涉及对有问题的单元C10、C11、C13和C14进行去标志(即,重写或以其他方式恢复),使得它们被DRC工具100识别为设计布局工作空间110(T8)中的未标记的剩余单元。去标记过程在图7(I)中通过示出具有相同实线的单元C10、C11、C13和C14以及用于说明在第一遍规则检查处理期间所处理的剩余未标记的单元的四个标志框来描绘。注意,在一个实施例中,在开始第二遍规则检查操作之前,从设计布局工作空间中移除这些剩余的未标记的单元,但是在所示示例中保留这些剩余的未标记的单元用于参考。接下来,如图7(I)所示,最低编号的未处理单元(即,单元C10)被指定为当前单元(即,通过“CC=C10”),并且如第二存储器部分120(T8)中所示,当前规则被重新设定为规则运行集顺序中的第一规则(即,由“CR=R2”指示)。然后,使用上述方法对每个单元C10、C11、C13和C14执行第二遍规则检查操作,开始于时间T10处的初始当前规则R3(如图7(J)所示),并结束于时间T10处的最终当前规则R2(如图7(K)所示)。在一个实施例中,使用上述黑色框/打开框方法指示在第二遍规则检查操作期间检测到的额外的规则违反,并以上述方式将规则违反记录在第三存储器部分130中,最终规则违反计数值如图7(K)所示。
在一个实施例中,当在第一遍规则检查处理期间由“相邻”单元(所述“相邻”单元邻近所标识的有问题的单元而定位)以高比率违反与有问题单元的标识相关联地生成的“新”DRC规则时(即,在框图307中,图3),一个或多个类似定位的相邻单元(例如,邻近有问题的单元而定位)被自动指定为有问题的并从随后的第一遍规则检查处理中移除,以便加速其他剩余单元的规则检查处理。在上文还提到了在第一遍规则检查处理期间将单元的群组(区域)指定为有问题的其他实例。当在第一遍处理期间标识并且移除这样的新指定的有问题的(相邻的)单元时,这些新指定的有问题的单元也被恢复以用于第二遍规则检查处理(即,相邻单元连同根据框307标识出的和被移除的原始指定的有问题的单元被恢复以用于第二遍规则检查操作)。
参考图3的中部中的框350,在终止或完成DRC过程(即,由上述报告阈值中的一个报告阈值终止或完成第二遍规则检查处理)时,控制沿“是”分支从框350传递至框380,其中如下所述那样生成错误报告105,并且随后终止DRC处理。图7(L)描绘了包括针对层90-1的错误数据的简化错误报告105A,其基于在时间T10处设计布局工作空间110和第三存储器部分130中的剩余单元的X-Y位置数据,其中错误报告105A所提供的错误信息包括:(第一)图形错误数据106,该(第一)图形错误数据106指示在第一遍规则检查处理期间发生的每个规则违反;以及(第二)DRC错误数据107,该(第二)DRC错误数据107指示在图3的框307中标识出的每个有问题的单元。在当前优选实施例中,DRC工具100包括被配置为以点(例如,球形或其他标记)的形式生成图形错误数据106的子例程,该点描绘每个对应的所指定的单元具有至少一个规则违反(即,在第一遍和/或第二遍规则检查操作期间发生,如上所述)。每个点相对定位于X-Y位置处,该X-Y位置对应于该点的对应的所指定单元的相对X-Y位置。例如,对应于单元C02的点106-1定位在图形错误数据报告105A的左上角中,这对应于层90-1上的单元C02的X-Y位置(例如,如图4(A)中所示)。通过使用该图形格式来提供错误报告,DRC工具100以容易理解和形象化的方式向用户/操作者呈现DRC错误。此外,生成可选的文本错误报告(未示出),该可选的文本错误报告包括关于由每个对应点所描绘的规则违反的细节(例如,单元编号、所违反的规则、和诸如特定规则是否被执行之类的其他信息)。在另一个实施例中,错误数据107例如使用矩形框和/或详细描述与每个有问题的单元相关联的检测到的错误放置的至错误数据的软链接来标识有问题的单元。
图8(A)和8(B)分别包括两个图380-B1和380B-2,示出了根据示例性实际实施例的DRC工具100生成的DRC错误,其中图380-B1和380B-2描绘了使用上文讨论的热图型图形表示方法的图形错误数据。图380-B1(图8(A))是示出DRC处理结果的热图显示,其中所有规则违反(错误)由对应点来描绘。图380-B2(图8(B))是经修改的热图表示,其示出了与图380-B1相同的DRC处理结果,但根据本发明的另一个实施例以应用采样方法来减少所显示的错误的数量的方式。在一个实施例中,采样方法在生成经修改的热图表示时应用以下规则中的一个或多个规则:在层的每一个框中示出至少一个错误;并且均匀地显示错误(即,在整个热图上均匀地保持所显示的错误/点的密度),这涉及确定错误的总数以及相应地选择要显示/隐藏的错误。减少热图中显示的错误产生两个主要益处:首先,它减少了热图生成工具必须加载的数据量,因此加快了热图显示生成时间;第二,它减少了呈现给用户的数据量,因此用户可以更轻松/更快/更直观地了解需要修复的内容。在一个实施例中,利用采样方法来生成可管理的文本错误报告,该可管理的文本错误报告构成对通过采样方法所选择的错误的文本描述。
在一个实施例中,DRC工具100被如下那样修改以应用于包括多个层的早期阶段IC布局设计。在该情况下,每个层被提供具有层特定的运行集,该层特定的运行集包括来自DRC规则组的所有DRC规则以及在DRC处理期间可被生成的任何“新”规则。根据本发明的实施例,基于以下项,将针对每一个层的规则/检查评级为从最低到最高“成本”(或最高到最低“权重”):(a)每个规则与当前所选的层的相关性,以及(b)每个规则的预期执行时间(例如,基于命令步骤的数量)。确定规则的相关性的一种方式涉及根据规则分支中的命令的数量来确定最接近当前所选的设计层的DRC规则,诸如图9中所描绘的示例性简化规则分支。图9示出了典型的命令运行集依赖图600,其包括输入设计布局数据库602、层创建命令层1604、层2 606、层3 608、层4 626、层5 610、连接数据库命令612和设计规则检查规则检查1614、规则检查2 616、规则检查3 618、规则检查4 620、规则检查5 622、以及规则检查6624。步骤可在数千个DRC工具命令中编号,并且也可以将这些步骤混合。检查是生成被写至DRC错误数据库的错误的错误产生命令。在该示例中,规则检查1、4和6分别在设计数据库所导出的层1、2和3上直接操作。在图6中列出上述的参考图9所参考的那些相关联的特定规则/检查。在一个实施例中,在先前的DRC处理会话期间建立了给定层的运行集顺序且没有添加新规则,然后可以利用先前建立的运行集顺序,并且跳过框310(图3)以进一步减少处理时间。
图10示出了根据本发明的另一个实施例的利用DRC工具100的递增IC布局设计重新验证方法的实施例。每次修改设计时都会发生IC布局设计的递增重新验证,例如以便包括先前省略的框或校正在先前执行的DRC处理会话期间检测到的规则违反。在图10所示的示例中,在第一DRC处理会话s0期间由DRC工具100分析初始“Rev0”布局设计90C0(在图10中用“100(s0)”表示),并且在DRC期间生成的信息被保存(例如签名、规则列表和不良单元列表812、以及Rev0错误报告105C(s0),其可以用于以如上所述的方法来在第一DRC处理会话s0期间生成检测到的错误的图形热图表示)。在随后的时间,向DRC工具100呈现经修改的“Rev1”布局设计90C1以用于执行第二DRC处理会话s1(由图10中的“100(s1)”指示)。在一个实施例中,在DRC处理会话s1的开始,例如,使用时间戳值自动标识经修改的布局设计90C1与初始(脏)布局设计90C0之间的差异,以便在经修改的布局设计90C1中的与脏布局设计90C0不同或不存在与脏布局设计90C0中的新的或经修改的特征之间进行区分,并然后仅对新的或经修改的特征执行DRC处理(即,“未改变的”特征不经受规则检查过程)。将在会话s1期间生成的信息与在会话s0期间生成的残留(未改变的)信息组合,然后保存经组合的信息(例如,保存作为签名、规则列表和不良单元列表814、以及Rev1错误报告105C(s1))以用于在下一个顺序执行的DRC处理会话期间使用。相应地,通过在IC布局设计的递增修订中自动标识和移除未改变的特征,本发明的递增重新验证方法通过仅对出现在每个增量IC布局设计修订中的新的或经修改的特征(即,相比于先前修订所改变的特征)执行规则检查来最小化DRC处理时间,这进一步提高了DRC工具100的DRC处理效率。因此,DRC处理聚焦于每个新IC布局版本的新的和经修改的部分,直到添加了所有功能块、已经输入了针对在所有早期阶段DRC处理迭代期间检测到的规则违反的所有校正、并且对最终的IC布局设计成功执行了仿真验证DRC处理为止。总之,本发明的DRC工具的目的是将每个DRC处理迭代聚焦在相对于早期IC布局版本新添加的或经校正的单元/块/层上,从而与使用常规仿真验证DRC方法所需的处理时间相比显著减少从早期阶段到仿真验证DRC处理的总体处理时间。
图11示出了包括上述DRC处理方法的示例性数字ASIC设计流程的简化表示。在高级别上,该过程从产品构想开始(步骤1500)并且在EDA软件设计过程中实现(步骤1510)。当完成设计时,该设计可下线(事件1540)。在下线后,发生制造过程(步骤1550)以及封装和组装过程(步骤1560),从而最终完成成品芯片(结果1570)。
EDA软件设计过程(步骤1510)实际上包括多个步骤1512-1530,为了简明以线性方式示出。在实际ASIC设计过程中,特定设计可能必须回退各步骤直到通过某些测试。类似地,在任何实际设计过程中,这些步骤可以按不同的次序和组合出现。类似地,在任何实际设计过程中,这些步骤可以按不同的次序和组合出现。
现在将提供对EDA软件设计过程(步骤1510)的组件/步骤的简要描述。在一个实施例中,可以使用由计算机1511B读取的计算机可读介质1511A来实现EDA软件设计过程中的一个或多个步骤。应当注意的是,CustomSim、ESP、Hercules、IC Compiler、Magellan、ModelArchitect、Power Compiler、PrimeRail、Proteus、ProteusAF、PSMGen、Saber、StarRC和System Studio是Synopsys公司的商标,以及CATS、DesignWare、Design Compiler、Formality、HSIM、Leda、NanoSim、Primetime、Syndicated、TetraMAX、VCS和Vera是Synopsys公司的注册商标。系统设计(步骤1512):设计人员描述他们想要实施的功能性,他们可执行假设情景(what-if)规划以精炼功能性、核查成本等等。硬件-软件架构划分可在这一阶段发生。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Model ArchitectTM、SaberTM、System StudioTM、和产品。
逻辑设计和功能验证(步骤1514):在该阶段,编写用于系统中的模块的VHDL或Verilog代码,并且检查该设计的功能准确性。更具体地,检查该设计以确保产生正确输出。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括CustomSimTM、MagellanTM、ESPTM以及产品。
合成和测试设计(步骤1516):这里,VHDL/Verilog被转译成网表。可针对目标技术对该网表进行优化。另外,发生对测试的设计和实施以准许对成品芯片进行检查。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括DesignPowerCompilerTM、以及产品。
网表验证(步骤1518):在此步骤,检查网表对时序约束的顺应性以及与VHDL/Verilog源代码的对应性。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括PrimeTimeTM、以及产品。
设计规划(步骤1520):这里,构造芯片的整体平面布置图并分析其时序和顶层走线。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括AstroTM和ICCompilerTM产品。
物理实现(步骤1522):在此步骤发生放置(电路元件的定位)和走线(这些电路元件的连接)。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括AstroTM和ICCompilerTM产品。
分析和提取(步骤1524):在此步骤,在晶体管级验证电路功能,这进而准许假设情景(what-if)精炼。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括PrimeRailTM、以及Star RC产品。
物理验证(步骤1526):在该步骤,执行各种检查功能以确保以下各项的正确性:制造、电问题、光刻问题、以及电路。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括AstroTM和IC Validator产品。在一个实施例中,在步骤1526中利用本文所述的DRC处理工具和方法。
分辨率增强(步骤1528):此步骤涉及对版图的几何学操纵以改善设计的可制造性。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括ProteusTM、ProteusAFTM以及PSMGenTM产品。在一个实施例中,在步骤1528中利用本文所述的DRC处理工具和方法。
掩模数据准备(步骤1530):该步骤提供“下线流片”数据以产生供光刻使用以生产出成品芯片的掩模。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括产品系。
如上所述,物理验证步骤156和分辨率增强步骤1528可受益于本发明的DRC处理工具和方法。当前,早期阶段(脏)IC设计的大多数DRC处理涉及大量的不必要的DRC处理时间和相关联的错误数据,它们中的许多是无法使用的,从而导致不必要地延迟了将IC器件投入市场。有利地,通过使用上述脏DRC处理技术,以显著地减少产品构想1500至下线1540之间的时间的方式来标识脏IC设计中的布局错误。
虽然已相对于特定实施例和极大简化实施例对本发明进行描述,但对于本领域技术人员清晰的是,本发明的创新特征也适用于其他实施例,该其他实施例中的所有实施例旨在落入本发明的范围内。例如,图12示出部分DRC工具100D,该部分DRC工具100D包括与涉及IC布局设计90的实际应用相关的额外特征,其中使用相似的附图标记来标识DRC工具100D中与上文参考图3描述的那些基本上相关的的功能部分。具体地,功能单元302D对应于图3的框302,并且包括读入IC布局设计90的设计层和设计层次(框302D-1)和提取原始设计层次(框302D-2)。功能单元305D对应于图3的框305,且包括提取设计层和优化设计层次的额外步骤。功能单元307D对应于图3的框307,且包括使用启发式和机器/深度学习模型算法来分析框305D中针对有问题的单元所生成的层次树(框307D-1)以及生成经注释的层次树(框307D-2)。功能单元310D对应于图3的框310,且包括读入规则文件80D(框310D-1)、构建规则组依赖图(框310D-2)、使用启发式和机器/深度学习模型算法自动将权重分配给依赖图中的规则(框310D-3)、以及分析经加权的规则依赖图并插入额外命令(框310D-4)。在一个实施例中,分析经加权的规则依赖图(框301D-4)利用功能单元307D-2所生成的经注释的层次树数据,如在这两个框之间延伸的水平箭头所示。
Claims (45)
1.一种设计规则检查DRC工具,所述设计规则检查DRC工具被配置为:执行DRC处理,所述DRC处理通过使用多个规则分析早期阶段集成电路IC布局设计并且通过产生适合于校正布局错误的错误信息来标识所述早期阶段IC布局设计中的对应于IC器件的所述布局错误,从而促进有效地生成适合于产生在所述IC器件的制造中使用的掩模的完成的布局设计,所述DRC工具包括:
用于生成设计布局工作空间的装置,所述设计布局工作空间包括多个经指定的单元,所述多个经指定的单元共同限定所述早期阶段IC布局设计;
用于通过向所述多个规则中的每一个规则自动分配评级值来生成规则检查运行集顺序的装置;
用于执行多个规则检查过程的装置,每个规则检查过程包括:使用所述多个规则中的顺序选择的当前规则来分析所述设计布局工作空间中的所述多个指定单元中的选择的当前单元;以及当所述选择的当前单元违反所述选择的当前规则时记录相关联的规则违反,其中执行所述多个规则检查过程包括:根据所述规则检查运行集顺序来顺序选择所述当前规则,使得使用所述规则运行集顺序的第一规则作为所述设计布局工作空间中的至少一些单元的选择的第一所述当前规则来执行第一规则检查处理,并且然后使用所述规则运行集顺序的第二规则作为选择的第二所述当前规则来执行第二规则检查处理;以及
用于当在所述DRC处理期间所述规则违反的总数超过预定的最大错误极限值时终止所述规则检查处理的装置。
2.如权利要求1所述的DRC工具,其特征在于,所述用于生成规则检查运行集顺序的装置包括:用于预期所述多个规则中的每个规则的相关预期规则执行持续时间并且用于基于所述预期规则执行持续时间来建立所述规则检查运行集顺序的装置,其中建立所述规则检查运行集顺序使得具有相对短的预期规则执行持续时间的第一所述规则被分配高评级值,并且具有相对长的预期规则执行持续时间的第二规则被分配低评级值,由此将所述第一规则排在所述规则检查运行集顺序中的所述第二规则之前。
3.如权利要求1所述的DRC工具,其中所述用于生成规则检查运行集顺序的装置包括:用于标识所述多个规则中的至少一些规则中一个或多个耗时操作的存在并且用于建立所述规则检查运行集顺序的装置,其中建立所述规则检查运行集顺序使得省略所述一个或多个耗时操作的第一所述规则被分配高评级值,并且包括所述一个或多个耗时操作的第二规则被分配低评级值,由此所述第一规则被排在所述规则检查运行集顺序中的所述第二规则之前。
4.如权利要求1所述的DRC工具,其特征在于,用于生成所述设计布局工作空间的装置包括:
用于在第一时间将第一多个单元传送到所述设计布局工作空间中的装置,所述第一多个单元在所述第一时间共同限定所述IC布局设计的至少一部分;
用于在第二时间从所述设计布局工作空间标识和删除所述第一多个单元中的一个或多个预先指定的单元的装置,其中所述第二时间处的所述设计布局工作空间包括第二多个单元,所述第二多个单元包括所述第一多个单元的子集;
用于标识所剩余的多个单元中的一个或多个有问题的单元并且用于在第三时间从所述设计布局空间有条件地移除所述一个或多个有问题的单元从而所述第三时间处的所述设计布局空间包括所述多个经指定的单元的装置,其中所述一个或多个有问题的单元中的每一个有问题的单元通过具有违反一个或多个单元放置规则的相关联的大小和位置数据来表征。
5. 如权利要求1所述的DRC工具,
其中所述相关联的多个单元中的每一个单元通过相关联的位置数据来表征,所述相关联的位置数据标识所述每一个单元在所述早期阶段IC布局设计中的相对X-Y位置,并且
其中所述DRC工具进一步包括用于在所述规则检查过程终止时生成所述错误信息的装置,所述错误信息包括图形错误数据,所述图形错误数据通过对应点指示具有至少一个所述规则违反的每个经指定的单元,每个所述点相对定位在与所述对应的经指定的单元的相对X-Y位置相对应的X-Y位置。
6. 一种设计规则检查DRC工具,包括:
用于生成设计布局工作空间的装置,所述设计布局工作空间包括多个经指定的单元,所述多个经指定的单元共同限定早期阶段集成电路IC布局设计;以及
用于执行多个规则检查过程的装置,每个规则检查过程包括:使用多个规则中的顺序选择的当前规则来分析所述设计布局工作空间中的所述多个经指定的单元中的选择的当前单元;
当所述选择的当前单元违反所述选择的当前规则时记录相关联的规则违反,其中执行所述多个规则检查过程包括:从所述多个规则顺序地选择所述当前规则,使得对所述设计布局工作空间中的至少一些单元执行使用所述多个规则中的第一规则作为选择的第一所述规则的第一所述规则检查过程,并且然后使用所述多个规则中的第二规则作为选择的第二所述当前规则来执行第二规则检查过程,
其中所述用于执行多个规则检查过程的装置包括:用于当所述选择的第一当前规则的第一规则违反率超过预定的最大错误率值时终止所述第一规则检查过程并且用于在使用所述选择的第一当前规则来检查所述设计布局工作空间中的单元中的至少一些所述单元之前,发起使用所述选择的第二当前规则的所述第二规则检查过程的装置,
其中所述的DRC工具进一步包括:用于在所述多个规则检查过程终止时生成错误信息使得所述错误信息包括标识终止的第一规则检查过程的数据的装置,
其中所述相关联的多个单元中的每一个单元通过相关联的位置数据来表征,所述相关联的位置数据标识所述多个单元中的每一个单元的相对X-Y位置,并且
其中所述用于生成所述错误信息的装置进一步包括:用于生成图形错误数据的装置,所述图形错误数据通过对应点来描绘具有至少一个所述规则违反的每个经指定的单元,每个所述对应点相对定位在与所述对应的经指定的单元的所述相对X-Y位置相对应的X-Y位置。
7.如权利要求6所述的设计规则检查DRC工具,进一步包括:用于在所述第二规则检查过程期间产生的第二规则违反率超过所述预定的最大错误率值时标识有问题的布局区域并且用于将所述多个单元中与所述有问题的布局区域相关联的单元的群组从随后的规则检查处理悬置的装置。
8.如权利要求6所述的设计规则检查DRC工具,进一步包括:用于通过自动地将评级值分配给所述多个规则中的每个规则来生成规则检查运行集顺序的装置,
其中所述用于执行多个规则检查过程的装置进一步包括:用于基于所述规则运行集顺序来顺序选择所述第一当前规则和所述第二当前规则的装置。
9.如权利要求8所述的设计规则检查DRC工具,其特征在于,所述用于生成规则检查运行集顺序的装置包括:用于预期所述多个规则中的每个规则的相关预期规则执行持续时间并且用于基于所述预期执行持续时间来建立所述规则检查运行集顺序的装置,其中建立所述规则检查运行集顺序使得具有相对短的预期规则执行持续时间的第一所述规则被分配高评级值,并且具有相对长的预期规则执行持续时间的第二规则被分配低评级值,由此将所述第一规则排在所述规则检查运行集顺序中的所述第二规则之前。
10.如权利要求8所述的设计规则检查DRC工具,其特征在于,所述用于生成规则检查运行集顺序的装置包括:用于标识所述多个规则中的至少一些规则中一个或多个耗时操作的存在并且用于建立所述规则检查运行集顺序的装置,其中建立所述规则检查运行集顺序使得省略所述一个或多个耗时操作的第一所述规则被分配高评级值,并且包括所述一个或多个耗时操作的第二规则被分配低评级值,由此所述第一规则被排在所述规则检查运行集顺序中的所述第二规则之前。
11.如权利要求8所述的设计规则检查DRC工具,进一步包括:用于当在以下情况之一时终止所述多个规则检查处理的装置:(a)总DRC处理时间超过预定的最大处理时间段;以及(b)所述规则违反的总数超过预定的最大错误极限值。
12.如权利要求6所述的设计规则检查DRC工具,其特征在于,所述用于生成所述设计布局工作空间的装置包括:
用于在第一时间将第一多个单元传送到所述设计布局工作空间中的装置,所述第一多个单元在所述第一时间共同限定所述IC布局设计的至少一部分;
用于在第二时间从所述设计布局工作空间标识和删除所述第一多个单元中的一个或多个预先指定的单元的装置,从而所述第二时间处的所述设计布局工作空间包括第二多个单元,所述第二多个单元包括所述第一多个单元的子集;以及
用于标识所剩余的多个单元中的一个或多个有问题的单元并且用于在第三时间从所述设计布局空间有条件地移除所述一个或多个有问题的单元从而所述第三时间处的所述设计布局空间包括所述多个经指定的单元的装置,所述一个或多个有问题的单元中的每一个有问题的单元通过具有违反一个或多个单元放置规则的相关联的大小和位置数据来表征。
13.如权利要求12所述的设计规则检查DRC工具,其特征在于,所述用于从所述设计布局工作空间标识和删除一个或多个预先指定的单元的装置包括用于删除已知良好的单元或伪单元的装置。
14. 一种设计规则检查DRC方法,包括:
生成设计布局工作空间,所述设计布局工作空间包括多个经指定的单元,所述多个经指定的单元共同限定早期阶段集成电路IC;以及
执行多个规则检查过程,每个规则检查过程包括:使用多个规则中的顺序选择的当前规则来分析所述设计布局工作空间中的所述多个经指定的单元中的选择的当前单元;以及当所述选择的当前单元违反所述选择的当前规则时记录相关联的规则违反,其中执行所述多个规则检查过程包括:从所述多个规则顺序地选择所述当前规则,使得对所述设计布局工作空间中的至少一些单元执行使用所述多个规则中的第一规则作为选择的第一所述规则的第一所述规则检查过程,并且然后使用所述多个规则中的第二规则作为选择的第二所述当前规则来执行第二规则检查过程,
其中执行所述多个规则检查过程包括:当所述选择的第一当前规则的第一规则违反率超过预定的最大错误率值时终止所述第一规则检查过程并且用于在使用所述选择的第一当前规则来检查所述设计布局工作空间中的单元中的至少一些所述单元之前,发起使用所述选择的第二当前规则的所述第二规则检查过程,
其中所述DRC方法进一步包括:用于在所述多个规则检查过程终止时生成所述错误信息使得所述错误信息包括标识所述终止的第一规则检查过程的数据,
其中所述相关联的多个单元中的每一个单元通过相关联的位置数据来表征,所述相关联的位置数据标识所述多个单元中的每一个单元的相对X-Y位置,并且
其中生成所述错误信息进一步包括:生成图形错误数据,所述图形错误数据通过对应点来描绘具有至少一个所述规则违反的每个经指定的单元,每个所述对应点相对定位在与所述对应的经指定的单元的所述相对X-Y位置相对应的X-Y位置。
15.如权利要求14所述的设计规则检查DRC方法,进一步包括:在所述第二规则检查过程期间生成的第二规则违反率超过所述预定的最大错误率值时标识有问题的布局区域并且将所述多个单元中与所述有问题的布局区域相关联的单元的群组从随后的规则检查处理悬置。
16.如权利要求14所述的设计规则检查DRC方法,进一步包括:通过自动地将评级值分配给所述多个规则中的每个规则来生成规则检查运行集顺序,
其中执行所述多个规则检查过程进一步包括:基于所述规则运行集顺序来顺序选择所述第一当前规则和所述第二当前规则。
17.如权利要求16所述的设计规则检查DRC方法,其特征在于,生成所述规则检查运行集顺序包括:用于预期所述多个规则中的每个规则的相关预期规则执行持续时间并且用于基于所述预期执行持续时间来建立所述规则检查运行集顺序,其中建立所述规则检查运行集顺序使得具有相对短的预期规则执行持续时间的第一所述规则被分配高评级值,并且具有相对长的预期规则执行持续时间的第二规则被分配低评级值,由此将所述第一规则排在所述规则检查运行集顺序中的所述第二规则之前。
18.如权利要求16所述的设计规则检查DRC方法,其特征在于,生成所述规则检查运行集顺序包括:标识所述多个规则中的至少一些规则中一个或多个耗时操作的存在并且用于建立所述规则检查运行集顺序,其中建立所述规则检查运行集顺序使得省略所述一个或多个耗时操作的第一所述规则被分配高评级值,并且包括所述一个或多个耗时操作的第二规则被分配低评级值,由此所述第一规则被排在所述规则检查运行集顺序中的所述第二规则之前。
19.如权利要求16所述的设计规则检查DRC方法,进一步包括:当在以下情况时终止所述多个规则检查处理:(a)总DRC处理时间超过预定的最大处理时间段;或(b)所述规则违反的总数超过预定的最大错误极限值。
20.如权利要求14所述的设计规则检查DRC方法,其特征在于,生成所述设计布局工作空间包括:
在第一时间将第一多个单元传送到所述设计布局工作空间中,所述第一多个单元在所述第一时间共同限定所述IC布局设计的至少一部分;
在第二时间从所述设计布局工作空间标识和删除所述第一多个单元中的一个或多个预先指定的单元,从而所述第二时间处的所述设计布局工作空间包括第二多个单元,所述第二多个单元包括所述第一多个单元的子集;以及
标识所剩余的多个单元中的一个或多个有问题的单元并且用于在第三时间从所述设计布局空间有条件地移除所述一个或多个有问题的单元从而所述第三时间处的所述设计布局空间包括所述多个经指定的单元,所述一个或多个有问题的单元中的每一个有问题的单元通过具有违反一个或多个单元放置规则的相关联的大小和位置数据来表征。
21.如权利要求20所述的设计规则检查DRC方法,其特征在于,从所述设计布局工作空间标识和删除一个或多个预先指定的单元包括标识和删除已知良好的单元或伪单元。
22. 一种用于设计规则检查的系统,包括:
存储器,存储有指令;以及
处理器,所述处理器与所述存储器耦合并执行所述指令,所述指令在被执行时,使所述处理器包括以下各项的操作:
生成设计布局工作空间,所述设计布局工作空间包括多个经指定的单元,所述多个经指定的单元共同限定早期阶段IC布局设计;以及
执行多个规则检查过程,每个规则检查过程包括:使用所述多个规则中的顺序选择的当前规则来分析所述设计布局工作空间中的所述多个经指定的单元中的选择的当前单元;以及当所述选择的当前单元违反所述选择的当前规则时记录相关联的规则违反,其中所述执行操作包括:从所述多个规则顺序地选择所述当前规则,使得对所述设计布局工作空间中的至少一些单元执行使用所述多个规则中的第一规则作为选择的第一所述当前规则的第一所述规则检查过程,并且然后使用所述多个规则中的第二规则作为选择的第二所述当前规则来执行第二规则检查过程,
其中所述执行操作进一步包括:当所述选择的第一当前规则的第一规则违反率超过预定的最大错误率值时终止所述第一规则检查过程并且在使用所述选择的第一当前规则来检查所述设计布局工作空间中的单元中的至少一些所述单元之前,发起使用所述选择的第二当前规则的所述第二规则检查过程;
在所述多个规则检查过程终止时生成错误信息使得所述错误信息包括标识所述终止的第一规则检查过程的数据,
其中所述相关联的多个单元中的每一个单元通过相关联的位置数据来表征,所述相关联的位置数据标识所述多个单元中的每一个单元的相对X-Y位置,并且
其中所述生成错误信息操作进一步包括:生成图形错误数据,所述图形错误数据通过对应点来描绘具有至少一个所述规则违反的每个经指定的单元,每个所述对应点相对定位在与所述对应的经指定的单元的所述相对X-Y位置相对应的X-Y位置。
23. 如权利要求22所述的系统,其特征在于,所述指令使所述处理器执行进一步操作,包括在所述第二规则检查过程期间生成的第二规则违反率超过所述预定的最大错误率值时标识有问题的布局区域并且将所述多个单元中与所述有问题的布局区域相关联的单元的群组从随后的规则检查处理悬置。
24.如权利要求22所述的系统,其特征在于,所述指令使所述处理器执行进一步操作,包括通过自动地将评级值分配给所述多个规则中的每个规则来生成规则检查运行集顺序,并且
其中所述执行操作进一步包括基于所述规则运行集顺序来顺序选择所述第一当前规则和所述第二当前规则。
25.如权利要求24所述的系统,其特征在于,所述生成操作包括:预期所述多个规则中的每个规则的相关预期规则执行持续时间并且基于所述预期规则执行持续时间来建立所述规则检查运行集顺序,其中建立所述规则检查运行集顺序使得具有相对短的预期规则执行持续时间的第一所述规则被分配高评级值,并且具有相对长的预期规则执行持续时间的第二规则被分配低评级值,由此将所述第一规则排在所述规则检查运行集顺序中的所述第二规则之前。
26. 一种用于设计规则检查的系统,包括:
存储器;以及
处理器,所述处理器与所述存储器耦合,以执行包括以下各项的操作:
生成设计布局工作空间,所述设计布局工作空间包括多个经指定的单元,所述多个经指定的单元共同限定早期阶段集成电路布局设计;以及
执行多个规则检查过程,每个规则检查过程包括:使用多个规则中的顺序选择的当前规则来分析所述设计布局工作空间中的所述多个经指定的单元中的选择的当前单元;以及当所述选择的当前单元违反所述选择的当前规则时记录相关联的规则违反,其中执行所述多个规则检查过程包括:从所述多个规则顺序地选择所述当前规则,使得对所述设计布局工作空间中的至少一些单元执行使用所述多个规则中的第一规则作为选择的第一所述规则的第一所述规则检查过程,并且然后使用所述多个规则中的第二规则作为选择的第二所述当前规则来执行第二规则检查过程;
当在所述规则检查过程期间所述规则违反的总数超过预定的最大错误极限值时终止所述规则检查处理;以及
在所述多个规则检查过程终止时生成所述错误信息使得所述错误信息包括图形错误数据,所述图形错误数据通过对应点来描绘具有至少一个所述规则违反的每个经指定的单元,每个所述对应点相对地定位在与所述相对应的经指定的单元的所述相对XY位置相对应的X-Y位置处。
27.如权利要求26所述的系统,其特征在于,生成所述错误信息包括:通过使至少一个所显示的点包括在所述选择的层中的包括至少一个规则违反的每个区域中来限制针对选择的层显示的点的数量。
28. 如权利要求26所述的系统,其特征在于,产生所述错误信息的装置包括: 通过选择性地省略点,使得所显示的点均匀地分布在所述图形错误数据显示上来限制针对选择的层显示的点的数量。
29.如权利要求26所述的系统,进一步包括:在所述第一规则检查过程之前执行的层次处理部分期间,从所述设计布局工作空间中标识和移除所述多个指定单元中的一个或多个有问题的单元,每个所述有问题的单元通过具有违反一个或多个单元放置规则的相关联的尺寸和位置数据来表征,从而所述设计布局工作空间包括:在移除所述一个或多个有问题的单元后的剩余多个单元,其中生成错误信息进一步被配置为使得在所述图形错误数据中描绘每个所述有问题的单元的相对X-Y位置。
30.如权利要求29所述的系统,其特征在于,生成所述错误信息进一步被配置为使得每个所述有问题的单元在所述图形错误数据中由相关联的所述点和块中的至少一个来描绘。
31.如权利要求29所述的系统,其特征在于,生成错误信息进一步被配置为使得每个所述描绘的有问题的单元包括至相关联的错误数据的软链接。
32.如权利要求26所述的系统,其特征在于,生成错误信息进一步包括将所述图形错误数据作为热图形图形呈现来生成。
33. 一种设计规则检查DRC方法,包括:
生成设计布局工作空间,所述设计布局工作空间包括多个经指定的单元,所述多个经指定的单元共同限定早期阶段集成电路布局设计;以及
执行多个规则检查过程,每个规则检查过程包括:使用多个规则中的顺序选择的当前规则来分析所述设计布局工作空间中的所述多个经指定的单元中的选择的当前单元;以及当所述选择的当前单元违反所述选择的当前规则时记录相关联的规则违反,其中执行所述多个规则检查过程包括:从所述多个规则顺序地选择所述当前规则,使得对所述设计布局工作空间中的至少一些单元执行使用所述多个规则中的第一规则作为选择的第一所述规则的第一所述规则检查过程,并且然后使用所述多个规则中的第二规则作为选择的第二所述当前规则来执行第二规则检查过程,
当在所述规则检查过程期间所述规则违反的总数超过预定的最大错误极限值时终止所述规则检查处理,并且
在所述多个规则检查过程终止时生成所述错误信息使得所述错误信息包括图形错误数据,所述图形错误数据通过对应点来描绘具有至少一个所述规则违反的选择的经指定单元,每个所述对应点相对地定位在与所述相对应的选择的经指定的单元的所述相对XY位置相对应的X-Y位置处。
34.如权利要求33所述的设计规则检查DRC方法,其特征在于,生成所述错误信息包括:通过使至少一个所显示的点包括在所述选择的层中的包括至少一个规则违反的每个区域中来限制针对选择的层显示的点的数量。
35.如权利要求33所述的设计规则检查DRC方法,其特征在于,生成所述错误信息包括:通过选择性地省略点,使得所显示的点均匀地分布在所述图形错误数据显示上来限制针对选择的层显示的点的数量。
36.如权利要求33所述的设计规则检查DRC方法,进一步包括:在所述第一规则检查过程之前执行的层次处理部分期间,从所述设计布局工作空间中标识和移除所述多个指定单元中的一个或多个有问题的单元,每个所述有问题的单元通过具有违反一个或多个单元放置规则的相关联的尺寸和位置数据来表征,从而所述设计布局工作空间包括:在移除所述一个或多个有问题的单元后的剩余多个单元,其中生成错误信息进一步被配置成使得在所述图形错误数据中描绘每个所述有问题的单元的相对X-Y位置。
37.如权利要求36所述的设计规则检查DRC方法,其特征在于,生成所述错误信息进一步被配置为使得每个所述有问题的单元在所述图形错误数据中由相关联的所述点和块中的至少一个来描绘。
38.如权利要求33所述的设计规则检查DRC方法,其特征在于,生成错误信息进一步被配置为使得每个所述描绘的有问题的单元包括至相关联的错误数据的软链接。
39.如权利要求33所述的设计规则检查DRC方法,其特征在于,生成错误信息进一步包括将所述图形错误数据作为热图形图形呈现来生成。
40.一种非瞬态计算机可读介质,包括指令,当由处理器执行时,所述指令使所述处理器执行包括以下各项的操作:
将早期阶段集成电路IC布局设计写入设计规则检查DRC工作空间中,所述早期阶段布局设计对应于集成电路IC设备且每个包括多个层,每个所述层包括多个单元,其中所述多个单元和多个层限定所述早期阶段IC布局设计;
标识和标记所述多个层中的选择的层中的先前分析的单元使得所述选择的层中的先前未分析的单元保持未标记;以及
对所述选择的层执行DRC处理使得仅对所述未标记的单元执行所述DRC处理,其中执行所述DRC处理包括:执行多个规则检查过程,每个规则检查过程包括:使用多个规则中的顺序选择的当前规则来分析所述DRC工作空间中的所述多个未标记单元中的选择的当前单元;以及当所述选择的当前单元违反所述选择的当前规则时记录相关联的规则违反,其中执行所述多个规则检查过程包括:从所述多个规则顺序地选择所述当前规则,使得对所述设计布局工作空间中的至少一些单元执行使用所述多个规则中的第一规则作为选择的第一所述当前规则的第一所述规则检查过程,并且然后使用所述多个规则中的第二规则作为选择的第二所述当前规则来执行第二规则检查过程;
当在所述DRC处理期间所述规则违反的总数超过预定的最大错误极限值时终止所述DRC处理;以及
生成错误信息包括:图形错误数据通过对应点来描绘每个未标记单元,每个所述对应点相对定位在与所述对应的未标记单元的所述相对X-Y位置相对应的X-Y位置。
41.如权利要求40所述的非瞬态计算机可读介质,其特征在于:
其中生成所述错误信息包括标识在所述DRC处理期间未通过至少一个规则检查的至少一个所述未标记单元。
42.如权利要求41所述的非瞬态计算机可读介质,其特征在于,生成所述图形错误数据包括用相对应的所述点描绘具有至少一个所述规则违反的每个未标记单元。
43.如权利要求42所述的非瞬态计算机可读介质,其特征在于,生成所述错误信息包括:通过使至少一个所显示的点包括在所述选择的层中的包括至少一个规则违反的每个区域中来限制针对选择的层显示的点的数量。
44.如权利要求42所述的非瞬态计算机可读介质,其特征在于,生成所述错误信息包括:通过选择性地省略点,使得所显示的点均匀地分布在所述图形错误数据显示上来限制针对选择的层显示的点的数量。
45.如权利要求42所述的非瞬态计算机可读介质,其特征在于,所述操作进一步包括:在所述第一规则检查过程之前执行的层次处理部分期间,从所述DRC工作空间中标识和移除所述多个未标记单元中的一个或多个有问题的单元,每个所述有问题的单元通过具有违反一个或多个单元放置规则的相关联的尺寸和位置数据来表征,从而所述DRC工作空间包括:在移除所述一个或多个有问题的单元后的剩余的多个未标记单元,其中生成所述错误信息进一步被配置成使得在所述图形错误数据中描绘每个所述有问题的单元的相对X-Y位置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662415404P | 2016-10-31 | 2016-10-31 | |
US62/415,404 | 2016-10-31 | ||
US15/795,633 | 2017-10-27 | ||
US15/795,633 US10783311B2 (en) | 2016-10-31 | 2017-10-27 | DRC processing tool for early stage IC layout designs |
PCT/US2017/058913 WO2018081667A1 (en) | 2016-10-31 | 2017-10-28 | Drc processing tool for early stage ic layout designs |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109923542A CN109923542A (zh) | 2019-06-21 |
CN109923542B true CN109923542B (zh) | 2023-11-03 |
Family
ID=62021591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067711.2A Active CN109923542B (zh) | 2016-10-31 | 2017-10-28 | 用于早期阶段ic布局设计的drc处理工具 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10783311B2 (zh) |
KR (1) | KR102412480B1 (zh) |
CN (1) | CN109923542B (zh) |
TW (1) | TWI746678B (zh) |
WO (1) | WO2018081667A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783311B2 (en) * | 2016-10-31 | 2020-09-22 | Synopsys, Inc. | DRC processing tool for early stage IC layout designs |
CN107480369B (zh) * | 2017-08-10 | 2020-08-25 | 苏州浪潮智能科技有限公司 | 一种pcb设计中分类显示drc的设计、操作方法 |
JP2019036199A (ja) * | 2017-08-18 | 2019-03-07 | 富士通株式会社 | 情報処理装置、タイミングエラー解析プログラム及びタイミングエラー解析方法 |
US10579774B2 (en) * | 2018-06-14 | 2020-03-03 | Marvell International Ltd. | Integrated circuit (IC) design systems and methods using single-pin imaginary devices |
CN109086481B (zh) * | 2018-06-28 | 2024-04-23 | 厦门市三安集成电路有限公司 | 一种提高集成电路设计版图drc审查效率的方法 |
US10796068B2 (en) * | 2018-09-11 | 2020-10-06 | Samsung Electronics Co., Ltd. | Standard cell design system, standard cell design optimization method thereof, and semiconductor design system |
DE102019124928A1 (de) * | 2018-09-28 | 2020-04-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integriertes schaltungsdesign unter verwendung von fuzzy-maschinenlernen |
US10943049B2 (en) * | 2018-09-28 | 2021-03-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Rule check violation prediction systems and methods |
US11392748B2 (en) * | 2018-09-28 | 2022-07-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit design using fuzzy machine learning |
DE102019112439A1 (de) | 2018-09-28 | 2020-04-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systeme und Verfahren zur Verletzungsprädiktion bei einer Entwurfsregelprüfung |
US11093683B2 (en) * | 2018-10-31 | 2021-08-17 | Taiwan Semiconductor Manufacturing Co., Ltd. | Test pattern generation systems and methods |
US10810344B1 (en) * | 2019-03-29 | 2020-10-20 | Hongchang Liang | Multi-instantiation time budgeting for integrated circuit design and manufacturing |
US10922468B1 (en) * | 2019-08-26 | 2021-02-16 | Mentor Graphics Corporation | Genealogy driven IC layout generator and classification method |
US11010529B2 (en) * | 2019-09-16 | 2021-05-18 | Taiwan Semiconductor Manufacturing Company Limited | Integrated circuit layout validation using machine learning |
US20230153512A1 (en) * | 2020-03-25 | 2023-05-18 | Cady Solutions Ltd. | Electrical circuit design inspection system and method |
EP3951636A4 (en) | 2020-06-09 | 2022-07-06 | Changxin Memory Technologies, Inc. | INTEGRATED CIRCUIT LAYOUT DESIGN RULES SERIES VERIFICATION TOOL AND VERIFICATION METHOD |
US11972192B2 (en) * | 2020-08-03 | 2024-04-30 | Synopsys, Inc. | Superseding design rule check (DRC) rules in a DRC-correct interactive router |
US12008303B2 (en) * | 2020-08-28 | 2024-06-11 | Synopsys, Inc. | Cell overlap violation diagnostics with machine learning |
US11443097B2 (en) * | 2020-11-24 | 2022-09-13 | Taiwan Semiconductor Manufacturing Company Limited | System and method for diagnosing design rule check violations |
US11847398B2 (en) * | 2021-05-21 | 2023-12-19 | International Business Machines Corporation | Automatic generation of ground rule verification macros |
CN113312896B (zh) * | 2021-06-23 | 2023-11-21 | 哈尔滨工程大学 | 一种硬件描述语言vhdl规范检查系统 |
CN113642286B (zh) * | 2021-08-12 | 2023-10-24 | 长鑫存储技术有限公司 | 测试图形的验证方法、装置、设备及存储介质 |
CN115705462A (zh) * | 2021-08-13 | 2023-02-17 | 长鑫存储技术有限公司 | Drc测试图形生成方法、装置、电子设备及存储介质 |
JP2023127997A (ja) * | 2022-03-02 | 2023-09-14 | 株式会社日立製作所 | 作業記録抽出装置、作業記録抽出システム |
CN114548610B (zh) * | 2022-04-27 | 2022-07-08 | 季华实验室 | 发动机盖外板冲压工艺的自动排布方法及装置 |
US20240111622A1 (en) * | 2022-09-30 | 2024-04-04 | Advanced Micro Devices, Inc | Apparatus, system, and method for detecting physical infrastructure constraint violations |
CN117744579A (zh) * | 2023-12-08 | 2024-03-22 | 沐曦科技(成都)有限公司 | 豁免文件生成方法、芯片检查方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6637013B1 (en) * | 2000-06-07 | 2003-10-21 | Sun Microsystems, Inc. | Method and system for automating design rule check error correction in a CAD environment |
CN101789033A (zh) * | 2009-01-26 | 2010-07-28 | 新思科技有限公司 | 用于在物理验证期间管理违例和错误分类的方法和设备 |
CN104903896A (zh) * | 2012-10-31 | 2015-09-09 | Np康普利特科技有限公司 | 设计规则检查 |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3896482A (en) * | 1972-06-30 | 1975-07-22 | Ibm | Dynamic mosfet layout technique |
US5050091A (en) * | 1985-02-28 | 1991-09-17 | Electric Editor, Inc. | Integrated electric design system with automatic constraint satisfaction |
US5175696A (en) * | 1986-09-12 | 1992-12-29 | Digital Equipment Corporation | Rule structure in a procedure for synthesis of logic circuits |
WO1993024896A1 (en) * | 1992-06-02 | 1993-12-09 | Hewlett-Packard Company | Computer-aided design methods and apparatus for multilevel interconnect technologies |
US6091846A (en) * | 1996-05-31 | 2000-07-18 | Texas Instruments Incorporated | Method and system for anomaly detection |
US5920486A (en) * | 1996-08-16 | 1999-07-06 | International Business Machines Corporation | Parameterized cells for generating dense layouts of VLSI circuits |
US6122443A (en) * | 1997-07-28 | 2000-09-19 | Kabushiki Kaisha Toshiba | Wire length minimization apparatus and method |
US6011911A (en) | 1997-09-30 | 2000-01-04 | Synopsys, Inc. | Layout overlap detection with selective flattening in computer implemented integrated circuit design |
US6378110B1 (en) | 1998-03-31 | 2002-04-23 | Synopsys, Inc. | Layer-based rule checking for an integrated circuit layout |
US6606735B1 (en) | 1999-10-14 | 2003-08-12 | Synopsys, Inc. | Method and system for using error and filter layers in each DRC rule |
US6611946B1 (en) | 1999-10-14 | 2003-08-26 | Synopsys, Inc. | Method and system for automatic generation of DRC rules with just in time definition of derived layers |
JP3811649B2 (ja) * | 1999-11-18 | 2006-08-23 | ピー・デイ・エフ ソリユーシヨンズ インコーポレイテツド | 論理特徴付けビヒクルを使用した製品歩留り予測のためのシステムおよび方法 |
US7117430B2 (en) * | 2001-02-27 | 2006-10-03 | Microsoft Corporation | Spreadsheet error checker |
US6594599B1 (en) * | 2001-05-09 | 2003-07-15 | Alcatel | System, work station and method for testing a product and generating a statistical model that predicts the processibility of making like products |
JP4149715B2 (ja) * | 2002-02-28 | 2008-09-17 | 富士通株式会社 | パターン作成方法及びフォトマスク |
US6745372B2 (en) * | 2002-04-05 | 2004-06-01 | Numerical Technologies, Inc. | Method and apparatus for facilitating process-compliant layout optimization |
US6769099B2 (en) * | 2002-04-12 | 2004-07-27 | Sun Microsystems, Inc. | Method to simplify and speed up design rule/electrical rule checks |
US6807657B2 (en) * | 2002-07-19 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Inter-signal proximity verification in an integrated circuit |
US20040225459A1 (en) * | 2003-02-14 | 2004-11-11 | Advantest Corporation | Method and structure to develop a test program for semiconductor integrated circuits |
US7240319B2 (en) * | 2003-02-19 | 2007-07-03 | Diversified Systems, Inc. | Apparatus, system, method, and program for facilitating the design of bare circuit boards |
JP2005202928A (ja) * | 2003-12-19 | 2005-07-28 | Fujitsu Ltd | レイアウト処理装置、レイアウト処理方法、及びプログラム |
US20050210429A1 (en) | 2004-03-18 | 2005-09-22 | Keller S B | System and method to limit runtime of VLSI circuit analysis tools for complex electronic circuits |
US7536664B2 (en) * | 2004-08-12 | 2009-05-19 | International Business Machines Corporation | Physical design system and method |
US7529760B2 (en) * | 2004-12-08 | 2009-05-05 | International Business Machines Corporation | Use of positive and negative filtering with flexible comparison operations |
US7617464B2 (en) * | 2005-05-20 | 2009-11-10 | Synopsys, Inc. | Verifying an IC layout in individual regions and combining results |
WO2006127485A2 (en) * | 2005-05-20 | 2006-11-30 | Cadence Design Systems, Inc. | Method and system for incorporation of patterns and design rule checking |
US8032855B1 (en) * | 2005-12-06 | 2011-10-04 | Altera Corporation | Method and apparatus for performing incremental placement on a structured application specific integrated circuit |
JP5092752B2 (ja) * | 2005-12-22 | 2012-12-05 | 富士通株式会社 | ノイズチェック方法および装置並びにノイズチェックプログラムを記録したコンピュータ読取可能な記録媒体 |
JP4908995B2 (ja) * | 2006-09-27 | 2012-04-04 | 株式会社日立ハイテクノロジーズ | 欠陥分類方法及びその装置並びに欠陥検査装置 |
US7761836B1 (en) * | 2006-10-11 | 2010-07-20 | Cadence Design Systems, Inc. | Circuit autorouter with object oriented constraints |
US8612919B2 (en) * | 2006-11-20 | 2013-12-17 | Mentor Graphics Corporation | Model-based design verification |
JP4745256B2 (ja) | 2007-01-26 | 2011-08-10 | 株式会社東芝 | パターン作成方法、パターン作成・検証プログラム、および半導体装置の製造方法 |
US7904844B2 (en) * | 2007-03-30 | 2011-03-08 | Taiwan Semiconductor Manufacturing Company, Ltd. | System, method, and computer program product for matching cell layout of an integrated circuit design |
US7886243B1 (en) | 2007-12-27 | 2011-02-08 | Cadence Design Systems, Inc. | System and method for using rules-based analysis to enhance models-based analysis |
US8086981B2 (en) * | 2008-09-10 | 2011-12-27 | Cadence Design Systems, Inc. | Method and system for design rule checking enhanced with pattern matching |
US8516399B2 (en) * | 2009-02-18 | 2013-08-20 | Mentor Graphics Corporation | Collaborative environment for physical verification of microdevice designs |
JP5251639B2 (ja) * | 2009-03-16 | 2013-07-31 | 富士通セミコンダクター株式会社 | 半導体装置の設計検証装置 |
US20100306720A1 (en) * | 2009-05-28 | 2010-12-02 | Pikus F G | Programmable Electrical Rule Checking |
US8745565B2 (en) * | 2009-08-31 | 2014-06-03 | Synopsys, Inc. | Satisfying routing rules during circuit design |
US8762912B2 (en) * | 2009-10-30 | 2014-06-24 | Synopsys, Inc. | Tiered schematic-driven layout synchronization in electronic design automation |
US8312413B2 (en) * | 2010-01-22 | 2012-11-13 | International Business Machines Corporation | Navigating analytical tools using layout software |
US8775979B2 (en) | 2010-01-30 | 2014-07-08 | Synopsys. Inc. | Failure analysis using design rules |
FR2960992B1 (fr) * | 2010-06-02 | 2013-05-10 | St Microelectronics Rousset | Procede de conception de masques pour la formation de composants electroniques |
US9305115B1 (en) * | 2010-10-04 | 2016-04-05 | Broadcom Corporation | Method and apparatus for reducing power consumption during rule searches in a content search system |
US8677297B2 (en) | 2010-12-03 | 2014-03-18 | Synopsys, Inc. | Low-overhead multi-patterning design rule check |
US8352887B2 (en) | 2010-12-03 | 2013-01-08 | Synopsys, Inc. | High performance design rule checking technique |
US8448097B2 (en) | 2010-12-03 | 2013-05-21 | Synopsys, Inc. | High performance DRC checking algorithm for derived layer based rules |
US8949203B1 (en) * | 2012-01-11 | 2015-02-03 | Cadence Design Systems, Inc. | Verification of design libraries and databases |
US8627240B1 (en) * | 2012-06-28 | 2014-01-07 | International Business Machines Corporation | Integrated design environment for nanophotonics |
US8775999B2 (en) * | 2012-11-08 | 2014-07-08 | Advanced Micro Devices, Inc. | Standard cell placement method to exercise placement permutations of standard cell libraries |
KR102020021B1 (ko) * | 2013-03-04 | 2019-09-10 | 케이엘에이 코포레이션 | 계측 타겟의 식별, 디자인 및 검증 |
US8806417B1 (en) * | 2013-03-13 | 2014-08-12 | Taiwan Semiconductor Manufacturing Co., Ltd. | Rule coverage rate auto-extraction and rule number auto-mark |
US9262570B2 (en) * | 2013-03-15 | 2016-02-16 | Taiwan Semiconductor Manufacturing Co., Ltd. | Layout boundary method |
US9141743B1 (en) * | 2013-03-15 | 2015-09-22 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for providing evolving information in generating a physical design with custom connectivity using force models and design space decomposition |
CN104636379B (zh) * | 2013-11-12 | 2019-03-26 | 吴伟 | 链接数据和位置的虚拟工作台方法和系统 |
US9659137B2 (en) * | 2014-02-18 | 2017-05-23 | Samsung Electronics Co., Ltd. | Method of verifying layout of mask ROM |
US9405879B2 (en) * | 2014-04-01 | 2016-08-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Cell boundary layout |
US9292652B2 (en) * | 2014-05-06 | 2016-03-22 | International Business Machines Corporation | Generic design rule checking (DRC) test case extraction |
US9594867B2 (en) | 2014-10-30 | 2017-03-14 | Synopsys, Inc. | DRC-based hotspot detection considering edge tolerance and incomplete specification |
US9934349B2 (en) * | 2015-03-26 | 2018-04-03 | Nxp Usa, Inc. | Method for verifying design rule checks |
WO2017024075A1 (en) * | 2015-08-03 | 2017-02-09 | Synopsys, Inc. | Pre-silicon design rule evaluation |
US10078723B1 (en) * | 2016-09-30 | 2018-09-18 | Cadence Design Systems, Inc. | Method and apparatus for design rules driven interactive violation display |
US10783311B2 (en) * | 2016-10-31 | 2020-09-22 | Synopsys, Inc. | DRC processing tool for early stage IC layout designs |
-
2017
- 2017-10-27 US US15/795,633 patent/US10783311B2/en active Active
- 2017-10-28 CN CN201780067711.2A patent/CN109923542B/zh active Active
- 2017-10-28 WO PCT/US2017/058913 patent/WO2018081667A1/en active Application Filing
- 2017-10-28 KR KR1020197015379A patent/KR102412480B1/ko active IP Right Grant
- 2017-10-30 TW TW106137416A patent/TWI746678B/zh active
-
2020
- 2020-09-04 US US17/013,122 patent/US11132491B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6637013B1 (en) * | 2000-06-07 | 2003-10-21 | Sun Microsystems, Inc. | Method and system for automating design rule check error correction in a CAD environment |
CN101789033A (zh) * | 2009-01-26 | 2010-07-28 | 新思科技有限公司 | 用于在物理验证期间管理违例和错误分类的方法和设备 |
CN104903896A (zh) * | 2012-10-31 | 2015-09-09 | Np康普利特科技有限公司 | 设计规则检查 |
Also Published As
Publication number | Publication date |
---|---|
KR20190072624A (ko) | 2019-06-25 |
US10783311B2 (en) | 2020-09-22 |
CN109923542A (zh) | 2019-06-21 |
TW201833801A (zh) | 2018-09-16 |
KR102412480B1 (ko) | 2022-06-22 |
WO2018081667A1 (en) | 2018-05-03 |
US20200401755A1 (en) | 2020-12-24 |
TWI746678B (zh) | 2021-11-21 |
US11132491B2 (en) | 2021-09-28 |
US20180121594A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109923542B (zh) | 用于早期阶段ic布局设计的drc处理工具 | |
US8037428B2 (en) | Method and system for post-routing lithography-hotspot correction of a layout | |
US8578313B2 (en) | Pattern-clip-based hotspot database system for layout verification | |
US9594867B2 (en) | DRC-based hotspot detection considering edge tolerance and incomplete specification | |
US8302052B2 (en) | Methods, systems, and computer program product for implementing hotspot detection, repair, and optimization of an electronic circuit design | |
US20110041104A1 (en) | Semiconductor circuit pattern design method for manufacturing semiconductor device or liquid crystal display device | |
US20100192113A1 (en) | Method and apparatus for managing violations and error classifications during physical verification | |
CN101669121B (zh) | 增量式布局分析 | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
KR20090077789A (ko) | 생산성 공정을 위한 폐루프 설계 | |
Roseboom et al. | Automated full-chip hotspot detection and removal flow for interconnect layers of cell-based designs | |
US8954915B2 (en) | Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit | |
US20090268958A1 (en) | dual-purpose perturbation engine for automatically processing pattern-clip-based manufacturing hotspots | |
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 | |
JP2010257164A (ja) | 半導体集積回路装置の設計方法およびプログラム | |
US11763059B2 (en) | Net-based wafer inspection | |
US7721235B1 (en) | Method and system for implementing edge optimization on an integrated circuit design | |
US8132141B2 (en) | Method and apparatus for generating a centerline connectivity representation | |
US11334697B1 (en) | Methods, systems, and computer program product for characterizing an electronic design with efficient cell cloning | |
Wang et al. | Layout resynthesis by applying design-for-manufacturability guidelines to avoid low-coverage areas of a cell-based design | |
US20200142950A1 (en) | Method and system of developing statistical model | |
CN115879410A (zh) | 一种掩模版图违例自动修复方法、数据库训练方法、系统及计算机设备 | |
Braasch et al. | Model-based verification and analysis for 65/45nm physical design |
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 |