增量式布局分析的制作方法

文档序号:6476993阅读:169来源:国知局
专利名称:增量式布局分析的制作方法
技术领域
本发明用于布局设计数据的增量式分析。本发明的各方面特别 有益于基于前次分析的结果,例如设计规则检查分析或设计可制造 性分析的结果来分析布局设计数据中的修改。
背景技术
电子电路,例如集成微电路,被使用到汽车、微波、个人计算 机等各种产品中。典型的从设计到制造微电路器件过程包括众人所 知的"设计流程"的很多步骤。设计流程的特定步骤通常取决于微电 路的种类、其复杂性、设计团队和制造微电路的微电路制造商或厂 商。通常,软件和硬件"工具"在设计流程的各个步骤,通过运行软 件仿真器和/或硬件仿真器,对设计进行验证,并更正设计中的错误 或改进设计。
一些步骤在大多数设计流程中是常见的。在初始阶段, 一个新 电路的技术要求被转换为逻辑设计,有时又称作电路的寄存器传输 级(RTL)描述。使用逻辑设计,电路被描述成硬件寄存器之间的信 号交换以及对这些信号的逻辑操作。逻辑设计通常利用硬件描述语 言(HDL),例如高速集成电路硬件描述语言(VHDL)。然后分析 电路的逻辑以确定其将正确执行该电路所期望的功能。这 一 分析有
5时被称作"功能验证"。
在确认逻辑设计的正确性后,通过综合软件将逻辑设计转换为 器件设计。器件设计通常用原理图或网表的形式来描述电路中使用 的特定电子器件(例如晶体管、电阻器和电容器)以及它们之间的 互连。器件设计通常相当于常规电路图显示的代表层次。在这一阶 段,使用每个器件假设的速度特性,可对部分电路进行初步的时序 估算。另外,分析电子器件间的关系以确定器件设计所描述的电路 会正确执行所期望的功能。这一分析有时被称作"形式验证"。
当建立电路器件之间的关系后,设计被再次转换为描述特定几 何元素的物理设计。这种类型的设计通常被称作"布局"设计。几何 元素通常为多边形,其限定将在各种材料中创建的结构以便制造电 路。通常,设计者将选择若干组代表电路器件元件(如接触件、栅 等)的几何元素并^巴它们放置在设计区域中。这些几何元素组可以 是定制设计的、从以前创建的设计库中选择的、或二者的某种组合。 然后在几何元素间走线,这些线组成了用于互连电子器件的布线。
布局工具(通常称作"布局布线"工具),如Mentor Graphics的IC Station或Cadence的Virtuoso,经常用于执行这些任务。
对于一个布局设计,电路的每个物理层在设计中均有对应的层 表示,层表示中描述的几何元素限定将组成电路器件的电路器件元 件的相对位置。因此,注入层表示中的几何元素限定将发生(不发 生)掺杂的区域,金属层表示中的几何元素限定在金属层中连接电 路器件的导线将形成的位置。
进一步地,可以修改布局设计以利用 一个或更多分辨率增强技 术(RET)。这些技术改善光刻制造工艺中根据布局设计创建的光罩 /掩膜的可用分辨率。 一种此类的修改工艺,有时称作光学邻近修正 (OPC)工艺,可将诸如衬线或印压之类的特性加入到已有的布局 设计数据中,以便改善根据修改后的布局设计数据生成的掩膜的分 辨率。例如,光学邻近修正工艺可修改矩形多边形,从而包括"锤头" 外形以在多边形拐角处降低光刻图像的圆形程度。通常设计者会在布局设计数据被定稿以创建光刻掩膜前执行一 个或更多过程以对其进行分析。例如,分析布局设计数据以确认其 准确地代表电路器件,并且它们之间的关系正如器件设计中所描述 的。这种类型的分析通常称为"布局经原理图检查"。分析布局设计 数据还可确认其遵从各种设计要求,例如,在几何元素间提供最小 间距。这类分析一般称为"设计规则检查"。进一步地,分析布局设 计可识别一些可行的修改,以补偿制造过程的局限。例如,使用者 可分析布局设计数据以确定是否可移动或更改一个或更多几何元素 从而改善其可制造性,或是否可为在制造过程期间有较高可能产生 故障的几何元素添加冗余几何元素到设计中作为备^f分。这类分析一 般称作"设计可制造性检查"或"光刻友好设计检查"。类似地,在光学 邻近修正工艺之后,设计者可分析布局设计数据以确定任何进一 步 的增强修改是否必要。
取决于分析过程的结果,设计者可进一步修改布局设计数据。 例如,如果设计规则检查分析过程识别出两个几何元素放置得过近, 则设计者可通过移动几何元素增加间距来更改布局设计数据。类似 地,如果设计可制造性分析过程识别出可复制以增加冗余度的几何 元素(例如,对过孔),则设计者可在设计中添加一个或更多复制 的几何元素。在对布局设计数据修改之后,设计中可重复进行一个 或更多期望的分析过程以确保更改没有产生任何新问题。这种修改 和分析的周期可重复多次,直到设计者对布局设计数据分析的结果 感到满意。
在布局设计定稿后,其被转换成掩膜或光罩写入工具可利用的 格式,从而创建掩膜或光罩以用于光刻制造过程。掩膜和光罩通常 通过使用电子或激光束(或电子束或激光束阵列)曝光空白的掩膜 或光罩衬底的工具来制造。然而大部分掩膜写入工具只能够"写"某 种类型的多边形,例如右三角形、矩形或其它不规则四边形。此外, 工具的可用最大束(或束阵列)的尺寸在物理上限制了多边形的尺 寸。因此,布局设计中较大的几何元素,或非右三角形、非矩形或非不规则四边形的几何元素(这些通常是布局设计中主要的几何元 素)必须"分块"成掩膜或光罩写入工具能够写的较小的、更基本的 多边形。这一过程有时称作"掩膜数据准备"。
在布局设计分小块之后,分块的布局设计数据可转换成掩膜或
光罩写入工具兼容的格式。这些格式的例子有Applied Materials Company旗下ETEC制造的光栅扫描机所支持的MEBES、用于 Nuflare, JEOL和东芝机器的各种向量扫描格式,如VSB11或VSB12 等。写后的掩膜或光罩继而可被用于光刻过程,通过用光线或其它 放射线曝光晶片的选定区域以在晶片上生产所期望的集成电路器 件。
如上所述,布局设计者可以重复分析和修改周期多次。然而多 次分析过程耗费时间并需要大量的处理资源。即使使用了分布式计 算系统,例如,在先进的微处理器设计上运行一次设计规则检查过 程的迭代也需要几个小时。此外,使用常规设计规则检查技术,设 计者需要运行设计规则检查过程10到15次直至设计满意为止。进 一步地,设计者预期未来微电路设计和分析这些设计的标准将继续 变得更为复杂。

发明内容
本发明的各方面涉及增量式分析布局设计数据的技术。本发明 的某些实现特别适用于在启动了常规分析过程之后,即在使用 一套 初始分析标准分析了整个布局设计数据之后。使用本发明的各种实 施例,随后可仅对布局设计数据的一部分、使用分析标准的子集、 或二者的某个组合来执行增量分析。例如,使用本发明的一些实现,
分析可限于初始(或其它前次)分析过程中识别的错误、初始(或 其它前次)分析过程后做出的布局设计数据中的修改、设计者指定 的特别区域、或其某种组合。进一步地,本发明的一些实现可以仅 使用相关于所分析的部分设计数据的初始分析标准的子集、设计数 据在初始(或其它前次)分析过程中没有通过的初始分析标准的子集、设计者选择的初始分析标准的子集、或其某种组合来执行分析 过程。
使用本发明的各种实施例,增量分析过程(也就是,仅使用初 始布局设计数据的选定部分、使用初始分析标准的子集、或使用二 者的分析过程)可在初始(或其它前次)分析过程结束前启动。例 如,设计者可在提供实时分析结果的初始分析过程仍在继续时利用 它。当识别出布局设计数据中的错误时,设计者可修改设计以纠正 错误。然后设计者可启动增量设计过程以确认错误被纠正,并且/或 此修改没有产生新的错误,即便初始分析过程仍然在继续分析布局 设计数据。
具体实施方式
有局设^/"^^W逸欢
如这里所用,术语"设计"的意思包括描述整个微器件的数据,例
如集成电路器件或微机电系统(MEMS)器件。不过,这个术语的 意思还包括描述整个微电路中一个或更多个组成部分的较小组数 据,例如集成电路器件的层,或甚至是集成电路器件的层的一部分。 进一步地,术语"设计"的意思还包括描述多个微器件的数据,例如 将用于创建掩膜或光罩的数据,以便在单个衬底上同时形成多个微 型器件。布局设计数据可以是任何期望的格式,例如,图形数据系 统II (GDSII)数据格式或由国际半导体设备与材料(SEMI)提议 的开放式工艺图系统交换标准(OASIS)数据格式。其它格式包括 Open Access开源格式、Synopsys公司的Milky way 、 和Mentor Graphics公司的EDDM。
新集成电路设计可包含在逻辑电路、存储电路、可编程现场阵 列和其它电路器件中百万量级的晶体管、电阻器、电容器或其它电 子结构之间的互连。为了允许计算机更容易地创建和分析这些大型 数据结构(并允许人类使用者更好地理解这些数据结构),它们经 常被层次化地组织成通常称为"单元"的较小结构。因此,对于微处
9理器或闪存设计,构成存储电路中用于存储单个比特的所有晶体管 可被分类为单个"比特存储"单元。不用单独列举每个晶体管,构成 单比特存储电路的一组晶体管可作为一个独体而被集体引用和操 作。类似地,描述一个相对较大的16比特存储寄存器电路的设计数 据可被分类为一个单独单元。这个高层次"寄存器单元"继而可包含 16个比特存储单元和描述其它各类电路的设计数据,如用于传输数 据进出每个比特存储单元的输入/输出电路的设计数据。类似地,描
述一个128KB存储阵列的设计数据可简明地描述为仅64000个寄存 器单元的组合,并包含描述其自身各类电路的设计数据,如传输数 据进出每个寄存器单元的输入/输出电路的设计数据。
通过把微电路设计数据分类成层次化单元,可以对大型数据结 构进行更加快速有效的处理。例如,电路设计者通常分析设计,以 确定设计中描述的每个电路特性都遵从将要把设计制造成微电路的 厂商指定的设计规则。针对上面这个例子,不必分析整个128KB存 储阵列的每个特性,设计规则检查过程可分析单个比特单元的特性。 检查的结果将适用于所有的单个比特单元。 一旦证实单个比特单元 的一个实例遵从设计规则,则设计规则检查过程可简单地通过分析 寄存器单元的额外各种电路(这些电路也可能由一个或更多层次单 元构成)的特性从而完成对该寄存器单元的分析。这个检查的结果 将适用于所有的寄存器单元。 一旦证实寄存器单元的一个实例遵从 设计规则,则设计规则检查软件应用可简单地通过分析128KB存储 阵列中额外各种电路的特性从而完成对整个存储阵列的分析。因此, 大型数据结构的分析可精简成对相对较少数目的构成数据结构的单 元的分并斤。
使用本发明的各种实施例,布局设计数据将包含两种不同类型 的数据"绘图层"设计数据和"导出层"设计数据.绘图层数据描述用 来组成材料层中的结构以产生集成电路的几何特征。绘图层数据通 常包含用于构成金属层、扩散层和多晶硅层中的结构的多边形。导 出层包含由绘图层数据和其它导出层数据的组合组成的特征。例如,对于上面描述的晶体管栅,描述栅的导出层设计数据将从多晶硅材
料层中的多边形与扩散材料层中的多边形的交接处导出。
例如,由设计规则检查模块执行的设计规则检查过程通常执行
两种操作确认设计数据值是否遵从指定参数的"检查"操作和创建
导出层数据的"导出"操作。晶体管栅设计数据因此可通过下面所示
的导出操作来创建
栅=扩散层 AND 多晶硅层 这一操作的结果将是识别扩散层多边形与多晶硅层多边形的所有交 接处的"层"数据。同样地,通过在扩散层中掺杂n型材料而形成的 p型晶体管栅可通过下面所示的导出操作来识别
p型栅=n型井 AND 栅 这一操作的结果将是识别扩散层中的多边形被n型材料掺杂的所有 晶体管栅(也就是,扩散层多边形和多晶硅层多边形的交接处)的 另一"层"数据。
由设计规则检查模块执行的检查操作将为数据设计值限定参数 或参数范围。例如,使用者可能希望确保没有任何金属连接线与另 一个连接线的距离小于一个微米。这类分析可通过下面所示的检查 操作来执行
外部金属 < 1
这一操作的结果将识别金属层设计数据中与同层另 一多边形间距小 于一个微米的每个多边形。
尽管上述操作利用绘图层数据,但是对导出层数据同样也可执 行检查操作。例如,如果使用者希望确认没有晶体管栅与另一个栅 之间的距离在一微米之内,则设计规则检查过程可包含下面的检查 操作
外部栅 < 1
这一操作的结果将识别代表了被放置在与另 一栅间距小于一个微米 位置的栅的所有栅设计数据。然而,应注意到只有在从绘图层设计 数据中识别栅的导出操作被执行后,这个检查操作才可执行。
ii凝转裙
本公j
组合方式描述的系统和方法实施例的所有新颖的和非显而易见的特 性和特征。公开实施例的特性和特征可以单独方式或相互之间的各 种新颖和非显而易见的组合与子组合方式使用。
尽管本公开方法的操作以 一 种特定次序的方式进行说明以方便 展示,但是应当理解这种说明方式包含了次序的重新调整,除非下 面的特定语言详细解释要求某种特定次序。例如,以顺序的方式说 明的操作在一些情况下可调整次序或并行执行。此外,为了简单起 见,公开的流程图和框图通常不显示某些特定的方法可以和另外方 法一起使用的各种途径。另外,详细说明有时使用词语如"确定"来 说明本公开的方法。这些词语是对执行的实际操作的高度概括。相 对于这些术语的实际操作基于特定的实现而不同,并可很容易地被 所属领域的技术人员所辨别。
这里说明的方法可使用存储在计算机可读介质并由计算机执行
的软件来实现。例如, 一些公开的方法可作为电子设计自动化(EDA ) 工具的一部分来实现。这些方法可在单独的计算机或联网计算机上 执行。为清楚起见,只说明与这些公开技术有关的软件部分;省略 了所属领域已知的产品细节。
过一个或更多可编程计算设备执行的计算机可执行软件指令来实 现。因为本发明的这些实施例可使用软件指令来执行,因此将首先 描述可利用本发明各种实施例的通用可编程计算机系统的组件和操 作。此外,由于一些电子设计自动化过程的复杂性和许多电路设计 的巨大规模,各种电子设计自动化工具被配置运行在可同时运行多 处理线程的计算机系统上。将参照图l描述包含主计算机及一个或多 个远程或从属计算机的计算机网络的组件和操作。然而这个操作环 境只是适用操作环境的 一 个例子,并不用来限制本发明使用或功能的范围。


图1中,计算机网络101包括主计算机103。在所显示的例子中,
主计算机103是多处理器计算机,其包括多个输入和输出设备105以 及存储设备107。输入和输出设备105可包括用于从使用者处接收输 入数据或提供输出数据给使用者的任何设备。输入设备可包括,例 如,键盘、麦克风、扫描仪或指点设备以接收使用者的输入。输出 设备可包括显示器、扬声器、打印机或触觉反馈设备。这些设备及 其连接在业界已为所知,因此这里不作详述。
存储设备107可类似地使用主计算机103可存取的计算机可读介 质的任何组合来实现。计算机可读介质可包括,例如,微电路存储 设备如读写存储器(RAM)、只读存储器(ROM)、电可擦可编程 只读存储器(EEPROM)或闪存存储微电路设备、CD-ROM光盘、 数字视频光盘(DVD)或其它光存储设备。计算机可读介质还可包 括磁碟、磁带、磁盘或其他磁性存储设备、打孔介质、全息存储设 备或任何其它可用于存储期望信息的介质。
如同以下将要具体讨论的,主计算机103运行软件应用程序,该 程序执行基于本发明各种实施例的一个或多个操作。相应地,存储 设备107存储软件指令109A,当这些指令被执行时,其执行软件应用 程序以完成一个或多个操作。存储设备107还存储与软件应用程序一 起使用的数据109B。在所显示的实施例中,数据109B包含过程数据, 软件应用程序使用该过程数据来执行一些操作,这些操作的至少一 部分可以是并行的。
主计算机103还包括多个处理器单元111和一个接口设备113。处 理器单元111可以是能够被编程以执行软件指令109A的任何种类的 处理器设备,不过传统上是微处理器设备。例如, 一个或多个处理 器单元111可以是商用通用可编程微处理器,如lntel⑧Pentium⑧或 XeonTM孩i处理器、Advanced Micro Devices Athlon 樣t处理器或 Motorola 68K/Coldfire 微处理器。可选地或附加地, 一个或多个 处理器单元111可以是定制制造的处理器,如被设计成可优化执行指定类型的数学运算的微处理器。接口设备113、处理器单元lll、存
储设备107和输入输出设备105通过总线115连接在一起。
使用本发明的一些实现,主计算设备103可利用一个或多个含有 多于一个处理器内核的处理器单元lll。相应地,图2显示了可用于 本发明各种实施例的多核处理器lll的例子。如图所示,处理器单元 111包括多个处理器内核201。每个处理器内核201包括计算引擎203 和高速存储緩存205。如所属领域普通技术人员所知,计算引擎包含 用于执行各种计算功能的逻辑器件,例如提取软件指令和执行所提 取指令中指定的动作。这些动作可包括,例如,执行加法、减法、 乘法和算术比较,执行逻辑操作如与、或、非或和异或,和提取数
据。每个计算引擎203可使用其相应的高速存储緩存205来快速存储 和提取数据和/或用于执行的指令。
每个处理器内核201连接到互连207。根据处理器内核201的体系 结构,互连207可有不同的构造。对于一些处理器内核201,例如Sony 公司、Toshiba公司和IBM公司生产的Cell微处理器,互连207可以实 现为互连总线。然而对于其它的处理器内核201,例如位于加利福利 亚州Sunnyval的Advanced Micro Devices才是供的OpteronTM和AthlonTM 双核处理器,互连207可以实现为系统请求接口设备。对于任何一种 情况,处理器内核201通过互连207来与输入输出接口209和存储控制 器210通信。输入输出接口 209在处理器单元201和总线115之间提供 通信接口。类似地,存储控制器210控制处理器单元201和系统存储 设备107之间的信息交换。在本发明的一些实现中,处理器单元201 可包含额外部件,例如处理器内核201可存取共享的高端高速緩冲存 储设备。
尽管图2显示了本发明一些实施例可利用的处理器单元201的一 种图解,但是应当理解该图解只是一个代表,不应当作为限定。例 如,本发明一些实施例可利用具有一个或多个Cell处理器的主计算机 103。 Cell处理器利用多个输入输出接口209和多个存储控制器210。 并且,Cell处理器含有9个不同类型的处理器内核201。特别地,其含
14有6个或更多协同处理器部件(SPE )和一个动力处理器部件(PPE )。 每个协同处理器部件包括一个含有428x428比特寄存器的向量类计 算引擎203、 4个单精度浮点运算单元、4个整数运算单元、和存储指 令与数据的556KB本地存储器。动力处理器部件继而控制协同处理 器部件执行的任务。由于这种配置,Cell处理器可执行一些数学操作, 例如其快速傅里叶变换(FFT)的计算速度可远远超过许多常规的处 理器。
还应当理解,在一些实现中,多核处理器单元lll可用来代替多 个分离的处理器单元lll。例如,不使用6个分离的处理器单元111, 本发明的备选实现可利用单个含有6个内核的处理器单元111、每个 处理器2个含有3个内核的多内核处理器单元、 一个含有4个内核的多 内核处理器单元U1加上2个分离的单内核处理器单元111,等等。
现在返回图1 ,接口设备l 13允许主计算机103通过通信接口与从 属计算机117A、 117B、 117C.,.117x通信。通信接口可以是任何可用 类型的接口,例如包括,常规有线网络连接或光缆传输有线网络连 接。通信接口还可以是无线连接,如无线光学连接、射频连接、红 外连接或甚至是声学连接。接口设备113根据一个或多个通信协议, 如传输控制协议(TCP )、用户数据报协议(UDP )和互联网协议(IP ), 把来自主计算机103和每个从属计算机117的数据和控制信号翻译成 网络消息。这些以及其它常规通信协议在所属领域是公知的,因此 在这里不再详述。
每个从属计算机117可包含由系统总线127连接在一起的存储设 备119、处理器单元121、接口设备123,和可选的输入输出设备125。 如同主计算机103—样,从属计算机117的可选输入输出设备125可包 括任何常规输入或输出设备,例如键盘、指点设备、麦克风、显示 器、扬声器和打印机。类似地,处理器单元121可以是任何类型的常 规或定制制造的可编程处理器设备。例如, 一个或多个处理器单元 121可以是商用通用可编程微处理器,如lntel⑧Pentium⑧或XeonTM微68K/Coldfire⑧微处理器。或者, 一个或多个处理器单元121可以是定 制制造的处理器,如被设计成可优化执行指定类型的数学运算的微 处理器。进一步地, 一个或多个处理器单元121可包含多个内核,如 同上面参考图2的描述。例如,在本发明的一些实现中, 一个或多个 处理器单元121可以是Cell处理器。存储设备119可使用上述计算机可 读介质的任何组合来实现。与接口设备113类似,接口设备123容许 从属计算机117通过通信接口与主计算机103通信。
在所显示的例子中,主计算机103是含有多个处理器单元111的 多处理器单元计算机,每个从属计算机117含有单个处理器单元121。 然而请注意,本发明的备选实现可以使用含有单个处理器单元lll的 主计算机。进一步地,如同前面的说明,根据一个或多个从属计算 机117的使用需要,它们可包含多个处理器单元121。同时,尽管主 计算机103和从属计算机只显示了单个接口设备113或123,但是应当 注意在本发明的备选实施例中,计算机103、 一个或多个从属计算机 117、或它们的一些组合均可以使用两个或更多的不同接口设备113 或123来通过多个通信接口进行通信。
在本发明的各种例子中,主计算机103可连接到一个或多个外部 数据存储设备。这些外部数据存储设备可通过使用主计算机103可存 取的计算机可读介质的任何组合来实现。计算机可读介质可以包括, 例如,微电路存储设备如读写存储器(RAM)、只读存储器(ROM)、 电可擦可编程只读存储器(EEPROM)或闪存存储微电路设备、 CD-ROM光盘、数字视频光盘(DVD)或其它光存储设备。计算机 可读介质可还包括磁碟、磁带、磁盘或其他磁性存储设备、打孔介 质、全息存储设备或任何其它可用于存储期望信息的介质。根据本 发明的一些实现, 一个或多个从属计算机117可以有选择地或额外地 连接到一个或多个外部数据存储设备上。通常,这些外部数据存储 设备包括还连接到主计算机l03的数据存储设备,但它们也可不同于 主计算机103所使用的任何数据存储设备。
还应当理解,图1和图2显示的计算机网络说明只是提供一 个例
16子,并不用来限制本发明可选择实施例的使用或功能的范围。 增量》浙工^
图3显示了根据本发明的各种实施例可实现的增量分析工具301
的例子。增量分析工具301包括用户界面模块303、布局设计数据选 择模块305、分析标准选择模块307、和分析过程模块309。如图所示, 增量分析工具301可与布局设计数据存储装置3U和分析标准存储装 置313协同运作。
用户界面模块303为使用者提供一个或多个用户界面以用于控 制布局设计数据选择模块305、分析标准选择模块307和分析过程模 块309的操作。如同在此所用,词语"使用者"是指使用增量分析工具 301来分析和修改微电路设计的任何单个人或多人。使用者可以是, 例如,微电路设计的原始设计者,或是厂商里例如在4巴设计制造成 微电路前试图修改已有微电路设计的使用者。如同下面将要详细讨 论的, 一个或多个用户界面容许使用者指示布局设计数据选择模块 305以确定将在增量分析过程中进行分析的布局设计数据。类似地, 一个或多个用户界面容许使用者指示分析标准选择模块307以确定 在增量分析过程中用于分析选择的布局设计数据的分析标准。
响应于使用者的指示,布局设计数据选择模块305从布局设计数 据存储装置311中选择布局设计数据,然后将其提供给分析过程模块 309。类似地,响应于使用者的指示,分析标准选择模块307从分析 标准存储装置313中选择分析标准,然后将其提供给分析过程模块 309。使用所选择的分析标准,分析过程模块309分析所选择的布局 设计数据。增量分析工具3 01的操作将结合图4所示的流程图进行具 体的讨论。
为、#弄戎_/£之#
在步骤401,对布局设计数据进行第一次电子设计自动化分析过 程。分析过程可以是任何类型的已知电子设计自动化分析过程,例如布局经原理图检查过程、设计规则检查过程、设计可制造性过程、 或光学邻近修正验证过程。使用本发明的各种实施例,该第一次分 析过程可由增量分析工具3 01来执行。然而使用本发明的另外 一 些实
施例,第一次分析过程可由增量分析工具301之外的其它一些分析工
具来执行。
如同前面提到的,在某些例子中第 一次分析过程将对布局设计 数据进行"完整"分析,也就是分析过程将分析布局设计的所有或主 要部分(例如一个整层)。对于完整分析,分析过程通常使用大量 分析标准来分析布局设计数据。例如,如果分析过程是设计规则检
查过程,则完整分析可使用相对较大的列表或"一组"规则,布局设 计数据必须遵从该规则才能通过分析。设计规则检查过程的 一 组规 则可包括如下规则,诸如金属层金属线的最小间距、多晶硅层相邻 平行线的最大长度、另一金属层中结构的最小密度,等等。这些规 则组收集自设计者的经验和工业界的知识,并且通常是谨慎保管的 私有秘密。
分析过程将识别布局设计数据中检测到的需要纠正的错误。例 如,常规分析过程的分析结果可包括带有错误标记的设计映射表以 显示每个检测到的错误的位置。另外,分析结果可识别布局设计数 据违反并产生了错误的分析标准(例如,设计规则)。因此,如果 布局设计中两条线违反了最小间距规则,则分析结果可包括标示出 违规线的错误标记和说明所违反的最小间距规则的文本注释。如果
由增量分析工具301来执行分析过程,那么增量分析工具301可存储 第一次分析过程的结果。如果分析过程由增量分析工具301之外的不 同工具来执行,那么分析过程的结果可提供给增量分析工具301以作 后用。
接下来在步骤403中,设计者修改布局设计数据以纠正第一次分 析过程识别的一个或多个错误。使用本发明的各种实施例,设计者 使用增量分析工具301来修改布局设计数据。例如,用户界面模块303 可提供给设计者权限以使用一个或多个布局设计数据编辑工具,如位于俄勒冈州Wilsonville的Mentor Graphics公司提供的Calibre RVE 和Calibrelnteractive软件工具。可选地,设计者可利用增量分析工具 301之外的一个或多个分离的布局设计数据编辑工具来修改布局设 计数据。如果增量分析工具301之外的布局设计数据编辑工具被用来 修改布局设计数据,那么布局设计数据的修改版本可提供给增量分 析工具301以作后用。
有乃设^炎凝^^举
在步骤405,使用者选择增量分析过程将要进行第二次分析的布 局设计数据。特别地,使用者利用用户界面模块303提供的一个或多 个用户界面来指示布局设计数据选择模块305选择将要分析的布局 设计数据。请注意如同在这里所用,术语"选择"包括使用者指示的 选择,和使用者确定不作指示选择,而是允许增量分析工具301执行 默认的选择。如同此前所述,本发明各种实施例容许使用者根据不 同的特征来选择布局设计数据。
更改后的布局设计数据
本发明的一些实施例例如可以容许使用者选择自上一次版本更 改后的布局设计数据的 一部分。当使用者不是很容易地知道布局设 计数据中所做的更改时,这种选择方法特别有用。例如,如果另一 设计者使用与增量分析工具301不同的布局设计数据编辑工具在步 骤403中修改了布局设计数据,则使用者可能不知道例如在第 一次分 析过程后,布局设计数据所做的更改。通过指示布局设计数据选择 模块305来识别对布局设计数据早期版本的更改,使用者能够保证在 第二次分析过程中会对布局设计数据所做的任何更改进行分析。
使用本发明的各种实施例,布局设计数据选择模块305能够使用 各种技术来识别布局设计数据中的更改。如果是使用增量分析工具 301进行的更改,那么布局设计数据选择模块305 (或增量分析工具 301的其它模块)可简单地在进行每个更改时把它记录下来。布局设计数据选择模块305可以例如将更改存储到查找表中。本发明的另外
一些实施例还可以对布局设计数据的当前版本和布局设计数据的早 期版本执行逻辑异或操作。如本领域的技术人员所知,这种逻辑操 作将识别布局设计数据的两个版本之间的差别。
如果布局设计数据特别复杂或使用层次结构,则一些实现可利 用哈希表来更快地识别布局设计数据两个版本之间的差别。如同以 上详细讨论的,布局设计数据经常层次化地组织成单元。每个单元
包含两种不同类型的设计组件中的一个其它单元和几何元素(以 及与这些元素相联系的各种数据,如文本数据)。为了确保布局设 计数据不同版本中的两个单元实际上是相同的,单元的内容必须被 检验以确认它们是相同的。然而4巴 一 个单元中的几何元素和另外一 个单元中的每个几何元素进行比较直至找到一个匹配(或者直到确 定第二个单元不包含匹配的几何元素)是非常耗时的,并且随着要
比较的几何元素数量的增加所需时间以指数增长。类似地,把一个 单元中的单元实例和另外一个单元中的每个单元实例进行比较直至 找到一个匹配(或者直到确定第二个单元不包含匹配)也是非常耗 时的,并随着要比较的实例数量的增加所需时间以指数增长。
为了减少把一个单元的内容和另外一个单元的内容进行比较所 需的时间和计算资源,本发明的各种实施例将利用哈希操作以在比 较前对两个单元中的设计组件进行分类。例如,本发明的一些实施
它们将创建用于对单元中每个单元实例进行分类的另 一哈希表。一 旦单元的内容被组织成这些哈希表,增量分析工具301就只需要把第 一个单元的哈希表的一个"篮子"中的内容(也就是,含有一个索引 值)和为潜在匹配的第二个单元创建的哈希表的相应"篮子"中的内 容进行比较。
例如,增量分析工具3 01的 一 些实现将识别单元中的未处理的几 何元素。然后,增量分析工具301将选择该几何元素的一些特征,这 些特征可用来通过哈希功能对几何元素进行分类。例如,使用本发明的一些实现,增量分析工具301将在几何元素周围创建一个包围 盒。如同所属领域的技术人员所了解的,包围盒的使用容许增量分
析工具301甚至为不规则形状的几何元素建立容易比较的特征。然后 增量分析工具301将选择包围盒上某个唯一点,例如左下角,并对该 点的坐标值应用口合希功能。例如,本发明的一些实施例将通过组合 几何元素包围盒左下角的x坐标和y坐标的绝对值来创建一个64比特 数字或"哈希值",然后对该哈希值应用哈希功能。
哈希功能。然而本发明的一些实施例可以基于单元中需要分类的几 何元素的数量来选择哈希功能。例如,如果一个单元有N个几何元素, 则本发明的一些实施例将对哈希值除以数字S,S是不超过N的最接近 N的质数。因此,如果单元有100个几何元素(即,N=100),则本 发明的各种实施例将确定值S二97。然后增量分析工具301将对几何元 素的哈希值除以S,并指定除法结果的模为该几何元素的索引值。重 复这些步骤直到单元中的每个几何元素都被处理,并且将几何元素 的唯一信息作为一个或多个键值加到哈希表中。然后,针对与第一
个单元进行比较的第二个单元重复这些步骤的每一步,并使用相同 的S值。
一旦针对每个单元中的几何元素建立了哈希表,每个单元中具 有相同"篮子,,或索引值的几何元素就可以进行比较。例如,第一个 单元的哈希表有2个几何元素被赋索引值"3",而第二个单元的哈希 表有3个几何元素被赋索引值"3"。第一个哈希表中的第一个几何元 素只需要与第二个哈希表中的3个几何元素的每一个进行比较,直到 找到(或未找到)匹配。类似地,第一个哈希表中的第二个几何元 素只需要与第二个哈希表中的3个几何元素的每一个进行比较,直到 找到(或未找到)匹配。如果第一个哈希表中的第一个几何元素与 第二个哈希表中的第 一个几何元素匹配,并且第 一个哈希表中的第 二个几何元素与第二个哈希表中的第二个几何元素匹配,那么第二 个哈希表中的第三个几何元素可被识别为新的几何元素。使用本发
21明的各种实施例,可通过使用哈希表中含有唯一标示其相应几何元 素的信息的一个或多个键值来比较几何元素。
本发明的各种实施例可以利用任何唯一 的特征来比较共享同一 个索引值的几何元素。例如,本发明的一些实现可以比较几何元素 每个拐角的坐标值来确认它们是否事实上相同。首先,如果坐标值 的数量不同(例如一个几何元素有6个拐角,而另外一个几何元素有
8个拐角),那么这两个几何元素可以立即-陂识别是不同的。在一些
例子中,即便两个几何元素是相同的,它们的坐标值排列顺序会不 同。例如, 一个几何元素的拐角坐标值可以以顺时针方式排列,而 另一个几何元素的拐角坐标值以逆时针方式排列。因此,本发明的 各种例子可以用相同排列方式开始比较坐标值(例如,比较一个几 何元素第一个拐角的坐标值和另外一个几何元素第一个拐角的坐标
值)。如果坐标值不匹配,那么增量分析工具301将颠倒坐标值的比 较顺序(例如,比较一个几何元素第一个拐角的坐标值和另外一个 几何元素最后一个拐角的坐标值,比较一个几何元素第二个拐角的 坐标值和另外一个几何元素倒数第二个拐角的坐标值,等等)。使 用这种方法,可对几何元素的坐标值进行快速比较,而不需要使用 需要更多计算的比较算法。
使用本发明的各种实施例,可使用针对几何元素的相同方法对 两个单元中的单元实例进行分类和比较。然而由于单元实例包括用 于放置单元的特定坐标位置,因此可以省略使用包围盒来确定哈希 值的过程。代替地,可以使用单元放置位置的坐标值,而不是上面 所述的包围盒左下角的坐标值。 一旦两个单元的单元实例和几何元 素被分类和比较,第 一个单元中不匹配的单元实例就可被识别为删 除的单元实例,而第二个单元中不匹配的单元实例可被识别为增加 的单元实例。类似地,第一个单元中不匹配的几何元素可被识别为 删除的几何元素,而第二个单元中不匹配的几何元素可被识别为增 加的几何元素。 -使用这种方法,可以快速有效地识别两个不同版本 的布局设计数据中所做的修改。请注意,尽管基于哈希的比较技术的各种实现可用来执行此处 所讨论的增量式分析,这些实现还可以用在布局设计数据的不同版 本需要比较的任何操作或处理中。例如,基于哈希的比较技术的一 些实现可用来在大型布局设计数据组中识别特定的部分(例如独有 的电路设计)。
布局设计数据中的错误
有通过前次分析过程的部分。因此,如果第一次分析过程的结果可 提供给增量分析工具301使用,那么使用者可以指示布局设计数据选
择模块305来选择前次结果中识别的一个或多个错误。如同前面所述 的,分析过程的结果通常包含标示设计中的错误的错误标记(即布 局设计数据中没有通过一个或多个分析标准的部分)。如果这些错 误标记可提供给增量分析工具301使用,那么布局设计数据选择模块 305能够使用这些标记来选择由这些标记所标示的部分布局设计数 据。
使用本发明的一些实施例,使用者可以选择在布局设计数据中 所识别的每个错误。也就是说,使用者可以利用用户界面来指示布 局设计数据选择模块305识别布局设计数据中被错误标记标示的每 个位置。然而,在本发明的另外一些实施例中,使用者可以可选地 或额外地被容许仅选择特定类型的错误。例如,使用者可以指示布 局设计数据选择模块305只识别违反最小金属层间距规则的那些错 误。在一些实现中,使用者可以通过从前次分析过程结果中选择某 个类型的错误来选择特定的错误类型。然后布局设计数据选择模块 3 0 5在布局设计数据中识别这种错误类型的实例。
本发明的另外一些实施例可以有选择地或额外地允许使用者在 布局设计数据中只选择"已更正"的那些错误(也就是,布局设计数 据中被识别的错误已经被修正或被删除)。特别地, 一些布局设计 数据编辑工具可以把"已更正"的错误和"未更正"的错误区分开来。这些布局设计数据编辑工具例如在设计者指示错误已经被更正时,更 改与错误标记相关联的标志值,在查找表中存储已更正的错误的位 置,等等。布局设计数据选择模块305能够使用这一信息来识别并选 择这些据称已经更正的错误。这一 功能在使用者不用花费大量的时 间去分析布局设计数据的其它部分,而只是希望确认特定错误已经 被删除时很有用,特别是如果使用者知道很多错误还没有被更正。
通常在设计者知道纠正或"更正"错误所做的更改对标示错误的 错误标记来说是本地的时候,基于前次识别的错误来选择布局设计 数据可能很有用。如果对错误标记来说更改是本地的,那么分析被 错误标记标示的布局设计数据通常会保证这些更改也会被分析。
使用者定义的布局设计数据
本发明的 一 些实施例可以有选择地或额外地允许使用者人工指 定第二次增量分析过程所要分析的布局设计数据的一个或多个部
分。例如,用户界面模块303可为使用者提供设计图,使用者可以在 图中选择设计中要分析的位置。作为响应,布局设计数据选择模块 305将选择布局设计数据中相应于使用者所选位置的部分。例如,如 图5所示,使用者可利用用户界面模块303提供的用户界面来指定布 局设计数据中 一 个区域的坐标。布局设计数据选择模块3 05然后会选 择该指定区域内的布局设计数据。
光环
使用本发明的各种实施例,布局设计数据选择模块305会在所选 择的布局设计数据周围创建一个"光环,,区域。在光环区域内的布局 设计数据然后被添加到所选择的布局设计数据以便由增量分析过程 进行分析。使用本发明的一些实施例,布局设计数据选择模块305会 在所选布局设计周围创建一个包围盒。布局设计数据选择模块305然 后会根据包围盒的周边指明 一个光环区域。
例如,图6A显示了布局设计中的 一 对错误标记601 。错误标记601可以指示,例如,2个相邻线的间距小于最小间距宽度。如同此前所 述,所选择的布局设计数据可以是错误标记如错误标记601标示的数
据。如图6B所示,响应于对错误标记601所标示的错误的选择,布局 设计数据选择模块305将创建包围盒603以包围错误标记601 。下一 步,如图6C所示,布局设计数据选择模块305将基于包围盒603的周 边创建光环区域605。在所显示的例子中,布局设计数据选择模块305 创建的包围盒603为1000 pmx 1 pm。下一步,布局设计数据选择模 块305将指定光环区域为包围盒603的长度和宽度中较大一个(即 1000 |Lim)的某个倍数。使用所显示的本发明实现方法,布局设计数 据选择模块305指定光环区域每边为包围盒603的长度的三倍,即 3000 pm x 3000 pm。当然,本发明的另外一些实现可以用包围盒最 长边的不同倍数,或者使用其它算法一起来确定光环区域。
本发明的各种实施例可以有选择地或额外地允许使用者选择光 环区域的尺寸和/或形状。这对于例如阻止增量分析过程探测虚假错 误很有用。例如,图7A显示错误标记701在第一个几何元素703和第 二个几何元素705之间,这两个几何元素都与第三个几何元素707相 邻。如图7B所示,如果布局设计数据选择模块305创建光环区域709, 那么光环区域709可能会无意地包围太少的几何元素703至707。由此 的结果是,尽管每个几何元素703至707实际上遵从最小宽度要求, 但是下一次增量分析过程可能记录违反最小宽度要求的错误(如图 7C中,错误标记711至715所指示的)。通过指定一个较大的光环区 域(如图7D所示),使用者能够保证随后的增量分析过程不会记录不 准确的最小宽度要求违规。
组合及其它选择标准
尽管上面说明了为增量分析选择布局设计数据的特定单独技
的组合来选择布局设计数据。特别地,本发明的一些实现可以容许 使用者选择由任何两个或更多这些技术指定的一组布局设计数据
25(如同使用逻辑或操作)、容许使用者只选择由任何两个或更多这 些技术指定的布局设计数据的重叠部分(如同使用逻辑与操作)、 或者两者的组合。例如,本发明的一些实施例可以容许使用者首先 选择早期分析过程所识别的错误,然后进一 步选择这些区域中被使 用者定义的区域包围的子集。另外一些实现可以有选择地或额外地 允许使用者既选择早期分析过程所识别的错误又选择自早期版本后 布局设计数据中的更改。
还要注意的是,除了上面说明的选择技术,本发明的各种实施 例可以容许使用者使用其它技术来选择数据。例如,增量分析工具
301的一些实施例可以容许使用者通过如下方式进行选择选择只在
布局设计数据一个特定层中发生的错误或更改、选择特定设计者所 做的更改、选择分析过程中一个指定重复中所识别的错误、或任何 其它可用于增量分析中辨别布局设计数据各部分的技术。
为N^f标雀^遞脊
现在回到图4,在步骤407中使用者选择将用于第二次增量分析 过程的分析标准。如此前所述,本发明的各种实现将有选择地或额 外地允许使用者选择在增量分析过程中将用于分析布局设计数据的 分析标准。例如,使用本发明的一些实现,使用者能够利用用户界 面模块303提供的一个或多个用户界面来选择用于分析所选择的布 局设计数据的分析标准。然后分析标准选择模块307将为增量分析过 程执行使用者的选择。
本发明的各种实现可以在使用者对整个布局设计数据执行了 "完 整"分析之后使用。此完整分析通常使用大量的分析标准来分析布局 设计数据。例如,设计规则检查分析过程中的一个规则组可以包含 上百个规则,需要大量的计算机处理时间和资源来执行。本发明的 各种实现将容许使用者指定一整套分析标准,诸如把前次对布局设 计数据进行"完整"分析的标准使用到随后的增量分析过程中。本发 明的一些实现还容许使用者从一个较大组的可用分析标准中选择一个子集以用于增量分析过程。
例如,本发明的 一些实现容许使用者指定增量分析过程只使用对在增量分析过程中被分析的布局设计数据适用的分析标准。因此,如果被分析的布局设计数据只包含设计中特定金属层的数据(例如,金属层l),那么分析标准选择模块307将只选择适用于该数据的分
析标准。分析标准选择模块307将不会选择,例如,与设计中多晶硅层布局设计数据相关的分析标准。使用本发明的一些实现,分析标准选择模块307甚至不会选择与布局设计中其它金属层相关的分析标准(例如金属层l,填充层l,等等)。
本发明的 一些实现可以有选择地或额外地允许使用者指定增量分析过程只使用前次分析过程没有通过的分析标准。例如,如果增量分析正在分析前次分析过程生成的结果,该结果可以通过每个被识别的错误来指出没有通过的分析标准。作为响应,分析标准选择模块307可以识别为增量分析选择的特定错误,确定与每个选择的错误相关联的分析标准,以及选择这些分析标准以供增量分析使用。使用这一功能,使用者能够避免让增量分析过程执行可能不需要的评估。
进一步地,本发明的一些实现可以容许使用者从一个较大的分析标准组中人工选择一个子集。本发明的这些实现可以积极地要求使用者选择哪些特定的标准将用于增量分析过程,被动地应用分析标准组中没有被使用者特别放弃的每个标准,或者两者的某个组合。
请注意本发明的一些实施例可以自动限制一些分析标准被运用到增量分析过程中。例如,如果增量分析过程是设计规则检查分析过程,则分析标准选择模块307可以阻止增量分析过程使用连接性检查。因为增量分析过程可能只分析整个布局设计数据的一部分,被分析的部分不太可能包含足够的数据来精确地执行这类检查。就是说,被分析的部分不太可能包含在目标器件和电源或地连接点之间建立连续的连接所需的所有几何元素。类似地,分析标准选择模块307可以自动地排除需要布局设计数据相当的一部分才能准确评估
27的其它"片级"分析标准,诸如填充密度检查。
如同布局设计数据的选择一样,本发明的各种实现可以容许使用者组合两种或更多的选择技术来选择分析标准。例如,分析标准
选择模块307的一些实施例可以容许使用者选择在选定布局设计数
据中的错误没有通过的分析标准和使用者人工指定的额外分析标准。本发明的另外一些例子可以有选择地或额外地允许使用者只选择适用于所选择的布局设计数据的分析标准,然后进一 步在此有限的分析标准中人工选择 一 个特定的子集。
增量为、浙
在使用者选择了用于增量分析过程的布局设计数据和/或分析标
准之后,分析过程模块309使用这些输入在步骤409中执行增量分析过程。然后在步骤411,分析过程模块309输出增量分析过程的结果给使用者。结果可以是任何期望的格式。
如同此前所述,根据本发明各种例子的增量分析过程可以简单地是4艮多分析过程中的一次迭代。相应地,步骤403-409中的每一步可以重复一到多次,直到对布局设计数据感到满意为止。进一步地,如果期望,可以省略分析前修改布局设计数据的步骤403。例如,使用者可能希望根据第一组分析标准来检查布局设计数据的一部分,然后在更改任何布局设计数据前根据第二组分析标准来检查布局设计数据的另一部分。
一些实现可以容许使用者在前次增量分析过程完成其分析之前重复步骤403-409中的一个或多个。例如,分析过程模块309的一些实施例可以在增量分析过程完成其分析之前开始返回分析结果给使用者。作为响应,使用者可以,例如,纠正增量分析过程中识别的一个或多个错误,并且启动第二次增量分析过程以确认错误被更正。如同上面所详细讨论的,使用者可以使用用户界面来只选择所报告错误中特定的实例以供第二次增量分析过程分析、只选择所报告错误中没有通过的分析标准以供第二次增量分析过程使用、或者两者的组合(包括只选择选定报告的错误没有通过的分析标准的组合)。通过这种方式,使用者能够有效地使用计算系统,例如分布式计算系统,甚至在更长、更耗时的分析过程完成前确认检测到的错误被纠正。
还请注意的是,本发明的 一 些实现可以省略布局设计数据选择
模块305,而本发明的另外一些实现可以省略分析标准选择模块307。也就是说,本发明的一些实现可以容许使用者选择分析标准以用于增量分析过程,但是不选择布局设计数据。另一方面,本发明的一些实现可以容许使用者选择增量分析过程中要使用的布局设计数据而不选择分析标准。
初始流程选择用户界面
例。从图中可以看到,用户界面801提供增量分析过程控制按钮803,其容许使用者选择对布局设计数据执行增量分析过程。(在所显示的实施例中,分析过程是设计规则检查。)用户界面801还包括"Complete Flow"(完整流程)控制按钮805、 "Design Delta"(设计差分)控制按钮807、和"Previous Result Flow"(前次结果流程)控制按钮809。使用本发明所显示的例子,这些控制的每一个都是互斥的(即,选择一个控制将自动取消选定其它两个控制)。
如果使用者选择"Complete Flow"控制按钮805,那么如同上面所详细讨论的,分析过程模块309将对布局设计数据执行"完整"的分析过程。(本发明的 一 些实现可以提供进 一 步的用户界面或控制以容许使用者选择要分析的布局设计数据。)然而,如果使用者选择"Design Delta"控制按钮807,那么用户界面模块303激活"File"(文件)区域控制811和"Cell"(单元)区域控制813 。如同上面所详细讨论的,使用这些区域控制,使用者指定包含布局设计数据的文件和将要使用增量分析过程进行分析的布局设计数据的单元。特别地,分析过程模块309将对指定布局设计中基于指定布局设计数据的早期版本的已修改数据执行增量分析过程。
可选地,如果使用者选择"Previous Result Flow"控制按钮809,则用户界面模块303将类似地激活文件区域控制815和"Previous Run"(前次运行)控制按钮817。用户界面模块303还将激活"fixedonly"(只有已更正的)控制按钮819、 "not waived"(没有放弃的)控制按钮821、和"all results"(所有结果)控制按钮823。 使用者能够使用文件区域控制815来指定包含前次分析过程的结果的文件。或者,如果使用者仅仅希望分析刚由分析过程模块309提供的结果,则使用者能够选择"previous run"控制按钮817。如同上面所详细讨论的,一旦指定了结果的来源,使用者就能够使用控制按钮819-823来指定哪些结果将要分析。特别地,如果使用者希望分析在前次增量分析过程中产生结果的所有布局设计数据,那么使用者选择"all results"控制按钮823 。如果使用者只希望分析自获得结果以来那些据称已更正的错误,那么使用者选择"fixedonly,,控制按钮819。如果使用者只希望分析在前次增量分析过程中产生结果的布局设计数据的特定部分,那么使用者能够放弃不希望分析的任何布局设计部分,并选择"not waived"控制按4丑821 。
验i正运行用户界面
根据通过用户界面801提交的选择, 一旦使用者启动增量分析过程,本发明的各种实施例可以为使用者提供第二个用户界面以显示正在进行的(增量或完整)分析过程的实时结果。例如,本发明的一些实施例可以为使用者提供如图9所示的用户界面901。从图中可见,用户界面901包括结果显示部分903和分析过程状态显示部分
而产生的结果907。从图中可见,结果907显示没有通过相应分析标准的部分布局设计数据的数量。
如同上面所详细讨论的,使用者可以利用用户界面901针对与一
30个或多个结果907相关的部分布局设计数据启动增量分析过程,即便前次的分析过程仍在进行中。例如,使用者可以修改布局设计数据中与一个或多个结果907 (例如结果907A)相关的部分。如果使用者希望对这个结果相关的区域执行增量分析,那么使用者可以选择"incremental area"(增量区域)控制按钮911。
使用本发明的各种例子,用户界面模块303将提供用户界面(例如像图5所示的用户界面)以容许使用者指定用于随后增量分析的布局设计数据的 一 个或多个所期望的部分。然而,如果使用者希望对与结果907A相关的部分布局设计数据重复增量分析过程,那么使用者可以选择该结果,然后启动"start validation run"(开始验证运行)控制按钮909。
响应于"start validation run"控制按钮909的启动,增量分析工具
程。进一步地,用户界面901可以更新结果显示部分903以显示新增量分析过程提供的新结果。如图9B所示,本发明的一些实现可以额外地容许使用者查看与特定分析标准相联系的每个新结果。本发明的各种实现能够提供所需的新结果。例如,如果随后增量分析过程对其布局设计数据的相应部分仍在进行操作,则本发明的 一 些实现
可以用黄色高亮显示结果,如果布局设计数据的这部分已经通过随后增量分析过程的分析标准,结果会以绿色高亮显示,如果布局设计数据的这部分再次没有通过随后增量分析过程的分析标准,结果会以红色高亮显示,如果随后增量分析过程为布局设计数据的这部分返回新的结果,结果会以橙色高亮显示。
当然,可以理解其它类型的用户界面可用于实现此前详细讨论的本发明的各种实施例。
潜论
尽管前面详细显示并说明了本发明的特定实施例以展示本发明的原理,但是应当理解本发明可以以其他方式实现而不偏离本发明。因此,尽管使用包括执行本发明目前首选模式的特定例子来说明本发明,但是所属领域的技术人员都理解以上说明的系统和技术有许 多变化和组合,它们均落入权利要求书详细说明的本发明的精神和 范围之内。
权利要求
1.一种纠正布局设计数据的方法,其包括对布局设计数据执行第一分析过程;识别所述布局设计数据的一部分;以及对所述布局设计数据的被识别部分执行第二分析过程。
2. 如权利要求l所述的方法,其中识别所述布局设计数据的一 部分包括识别由纠正信息修改的数据。
3. 如权利要求2所述的方法,其中识别由纠正信息修改的数据包括使用哈希表来比较包含所述布局设计数据的初始版本的第一数 据库和包含布局修订版本的第二数据库,其中该布局修订版本包括 所述纠正信息中提供的新数据。
4. 如^又利要求1所述的方法析。
5. 如权利要求1所述的方法析。
6. 如权利要求1所述的方法 标准的子集。
7. 如^=又利要求1所述的方法 在对布局设计的第二部分继续执行时,对布局设计中已识别部分启 动第二错误分析。
8. 如权利要求1所述的方法,其进一步包括识别所述布局设计数据的第二部分,所述第二部分包括在纠正信 息中提供的新数据;以及对所述布局设计数据的已识别第二部分执行第三错误分析。
9. 如权利要求8所述的方法,其进一步包括在第二错误分析仍 在对布局设计的已识别第 一 部分继续执行以及第 一 错误分析仍在对 布局设计的第三部分继续执行的同时,对布局设计的已识别第二部,其中错误分析是设计规则检查分 ,其中错误分析是设计可制造性分 ,其中第二组分析标准是第一组分析 ,其进一步包括在第一错误分析仍分启动第三错误分析。
10. —种计算机可读介质,其上存储有计算机可读指令,该指令执行如权利要求1至9中任一权利要求所述的步骤。
11. 一种纠正布局设计数据的方法,其包括使用第 一组分析标准对布局设计数据执行第 一 分析过程; 选择与所述第 一组分析标准不同的第二组分析标准; 使用所述第二组分析标准对所述布局设计数据的已识别部分执 行第二分析过程。
12. 如权利要求11所述的方法,其中所述第二组分析标准与所 述第一组分析标准不完全重叠。
13. 如权利要求11所述的方法,其进一步包括 识别所述布局设计数据的一个或多个部分;以及只对所述布局设计数据的已识别部分执行第二分析过程。
14. 一种计算机可读介质,其上存储有计算机可读指令,该指 令执行如权利要求11至13中任一权利要求所述的步骤。
15. —种用户界面系统,其包括第一显示部分,用于显示正在进行的布局设计数据分析过程的状 态;以及第二显示部分,用于显示在所述正在进行的布局设计数据分析完 成前所述正在进行的布局设计数据分析过程的结果。
16. 如权利要求15所述的用户界面系统,其进一步包括 一个 或多个控制,所述控制容许使用者对在所述第二显示部分中显示的 一个或多个结果所对应的布局设计数据启动第二布局设计数据分析 过程。
17. 如权利要求15所述的用户界面系统,其包括一个或多个控 制,所述控制容许使用者在第一布局设计数据分析过程完成前,对 在所述第二显示部分显示的一个或多个结果所对应的布局设计数据 启动第二布局设计数据分析过程。
18. —种计算机可读介质,其上存储有计算机可读指令,该指令执行如权利要求15至17中任一权利要求所述的步骤。
19. 一种增量式布局设计数据分析工具,其包括 布局设计数据选择模块,其被配置以确定一组布局设计数据中将要在增量分析过程中分析的部分;分析过程模块,其被配置以对所述布局设计数据选择模块所确定 的该组布局设计数据的所述部分执行分析过程;以及用户界面模块,其被配置以向使用者提供一个或多个用户界面, 以用于控制所述布局设计数据选择模块的操作。
20. 如权利要求19所述的装置,其进一步包括分析标准选择模 块,其被配置以确定可用分析标准的子集,所述子集将由所述分析 过程模块用来在所述增量分析过程中分析被选择的布局设计数据。
21. —种增量式布局设计数据分析工具,其包括 分析标准选择模块,其被配置以确定将在增量分析过程中使用的可用分析标准的子集;分析过程模块,其被配置以使用由所述分析标准选择模块所确定 的分析标准来对布局设计数据执行分析过程;以及用户界面模块,其被配置以向使用者提供一个或多个用户界面, 以用于控制所述分析标准选择模块的操作。
22. —种比较布局设计数据的方法,其包括 识别第 一 组布局设计数据的设计组件;为所述第 一组布局设计数据中被识别的每个设计组件使用哈希 功能来创建索引值;识别第二组布局设计数据的设计组件;为所述第二组布局设计数据中被识别的每个设计组件使用哈希功能来创建索引值;以及比较共享相同索引值的所述第 一组布局设计数据中被识别的设计组件和所述第二组布局设计数据中被识另'J的设计组件。
23. —种计算机可读介质,其上存储有计算机可读指令,该指 令执行如权利要求22所述的步骤。
全文摘要
公开了的用于增量式分析布局设计数据的技术。通过各种实现方法,可以只针对部分布局设计数据、使用可用分析标准的子集、或二者的某种组合来进行随后的增量式分析。例如,分析可限定在前次分析过程中识别的错误、前次分析过程后布局设计数据中的修改部分、设计者指定的特定区域、或它们的某种组合。进一步地,执行分析过程时,可只使用相关于正被分析的设计数据部分的分析标准的子集、前次分析过程中设计数据没有通过的初始分析标准的子集、设计者选择的初始分析标准的子集、或它们的某种组合。此外,这种增量式分析过程可在前次分析过程完成前启动。
文档编号G06F17/50GK101669121SQ200880013643
公开日2010年3月10日 申请日期2008年3月9日 优先权日2007年3月9日
发明者B·玛歇尔, J·G·菲尔格森, J·M·帕里斯 申请人:明导公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1