专利名称:单元意识错误模型创建和模式生成的制作方法
技术领域:
本发明目的在于集成电路(IC)的测试。本发明的各种方面可能特别用于模型化缺陷并生成高质量测试模式,以测试IC来探测在制造过程期间或之后出现的缺陷。
背景技术:
各种各样的错误模型被用于生成测试模式,其用于探测集成电路中的错误,例如固定型(stuck-at)、桥接、单元内部开路和过渡错误,等等。这些错误模型都是基于错误只出现在库单元的端口处的库单元实例之间和库单元的外部的互连线之间的假设。现今的自动测试模式生成(ATPG)工具应用这些标准错误模型,并假定在库单元内没有错误,或基于 ATPG所使用的门极模型只考虑库单元内部的这些错误。这些门极模型对将错误加在单元端口处或在ATPG所使用的基本单元结构处是有用的,但不适合于模型化库单元内部的基于布局的缺陷。提出了特别以单元内缺陷为目标的技术。例如,N-探测、嵌入式多探测(EMD)和门极穷尽测试在探测(或“覆盖”)一些以前未模型化的缺陷中显示相当大的成功。然而, 这些最新发展的技术可能对真实世界设计太复杂,或它们只提高以概率性方式探测单元内缺陷的可能性,而不是以确定性方式以它们为目标的可能性。在N-探测测试中,通过在不同的条件下多次以同一错误为目标来提高探测的机会。这一般将模式的数量增加了 N倍, 然而,并因此使测试变得昂贵。基于EMD的方法增加了可通过采用现有ATPG模式中未使用的比特来探测到(有时被称为缺陷“覆盖”)的不同缺陷的数量。与基于N-探测的方法不同,对于基于EMD的方法不需要额外的测试模式。不过,对这两种技术只存在与实际缺陷的概率关系。因此,很难量化相对于常规技术由这些技术提供的额外的缺陷覆盖,并预测对未来设计的由此得到的益处。虽然门极穷尽测试方法能够覆盖单元内部缺陷,但该方法也往往生成非常大量的额外模式并导致高测试成本。
发明内容
本发明的方面涉及单元意识模式生成和错误模型创建以,测试IC来找到在制造过程期间或之后出现的缺陷。在本发明的各种实施例中,基于从库单元的布局图提取的晶体管级网表来创建单元意识错误模型。单元意识错误模型可用于生成具有高缺陷覆盖的测试多维立方体(cube)和模式。根据本发明的例子,测试模式可首先通过标准ATPG过程来生成。单元意识错误模型可接着被应用来将额外的分配值(例如,额外的测试多维立方体) 嵌入所生成的测试模式中,从而允许缺陷覆盖增加,而不增加测试模式的数量。
图1示出可与本发明的各种实施例一起被利用的可编程计算机系统,。图2示出根据本发明的各种实施例的用于生成单元意识错误模型和测试模式的工具的例子。图3示出根据本发明的一些实施例的单元意识错误模型创建的过程。图如示出标准模型ATPG的例子;图4b示出单元意识ATPG的例子。图5示出根据本发明的一些实施例的用于生成单元意识测试多维立方体的过程。图6示出根据本发明的一些实施例的完整的单元意识ATPG过程。图7示出根据本发明的一些实施例的嵌入式单元意识ATPG过程。
具体实施例方式本发明的各种方面涉及,用于生成单元意识错误模型和测试模式,以测试IC来找到在制造过程期间或之后出现的缺陷的技术。在下面的描述中,为了解释的目的阐述了很多细节。然而,本领域的普通技术人员将认识到,可在不使用这些特定细节的情况下实现本发明。在其它情况下,没有详细描述公知的特征,从而避免混淆本发明。可以用存储在计算机可读介质上的软件指令、在计算机上执行的软件指令或两者的某种组合来实现本文描述的一些技术。一些所公开的技术例如可被实现为电子设计自动化(EDA)工具的部分。这样的方法可在单个计算机或联网计算机上被执行。虽然为了方便陈述,以特定的顺序描述所公开的方法的操作,但应理解,这种描述方式包括重新排列次序,除非下面所阐述的特定语言需要特定的排序。例如,顺序地描述的操作在一些情况下可被重排或同时执行。此外,详细描述有时使用术语如“确定”和“生成” 来描述所公开的方法。这样的术语是所执行的实际操作的高级抽象。相应于这些术语的实际操作将根据特定的实现而变化,并容易由本领域的普通技术人员辨别。操作环境通过计算设备例如可编程计算机执行软件指令,可实现本发明的各种实施例。此外,本发明的各种实施例可由执行用于实施本发明的功能的各种软件指令的计算机或由用于实施本发明的功能的存储在计算机可读介质上的软件指令来实现。因此,图1示出计算设备1的例证性例子。如在该图中看到的,计算设备101包括具有处理单元105和系统存储器107的计算单元103。处理单元105可以是用于执行软件指令的任何类型的可编程电子设备,但将通常是微处理器。系统存储器107可包括只读存储器(ROM) 109和随机存取存储器(RAM) 111。如本领域的普通技术人员将认识到的,只读存储器(ROM) 109和随机存取存储器(RAM) 111都可存储用于由处理单元105执行的软件指令。处理单元105和系统存储器107通过总线113或可替换的通信结构直接或间接地连接到一个或多个外围设备。例如,处理单元105或系统存储器107可直接或间接地连接到一个或多个额外的存储器储存设备,例如“硬”磁盘驱动器115、可移动磁盘驱动器117、 光盘驱动器119或闪存卡121。处理单元105和系统存储器107也可直接或间接地连接到一个或多个输入设备123和一个或多个输出设备125。输入设备123可包括例如键盘、指示设备(例如,鼠标、触摸板、手写笔、跟踪器或操纵杆)、扫描仪、摄像机和麦克风。输出设
10备125可包括例如监视显示器、打印机和扬声器。在计算机101的各种例子中,外围设备 115-125中的一个或多个可与计算单元103—起内置。可替换地,外围设备115-125中的一个或多个可以设置在计算单元103的壳体的外部,并通过例如通用串行总线(USB)连接来连接到总线113。在一些实施方式中,计算单元103可被直接或间接地连接到一个或多个网络接口 127,用于与构成网络的其它设备进行通信。网络接口 127根据一个或多个通信协议例如传输控制协议(TCP)和互联网协议(IP)将数据和控制信号从计算单元103转换成网络消息。 此外,接口 127可利用用于连接到网络的任何适当的连接代理(或代理的组合),包括例如无线收发机、调制解调器或以太网连接。这样的网络接口和协议在本领域中是已知的,因此将不在这里更详细地讨论。应认识到,计算机101仅作为例子被示出,且它没有被规定为限制性的。本发明的各种实施例可由使用包括图1所示的计算机101的部件的一个或多个计算设备来实现,所述计算设备只包括图1所示的部件的子集,或包括部件的可替换的组合,包括图1中未示出的部件。例如,本发明的各种实施例可使用多处理器计算机、布置到网络中的多个单和/或多处理器计算机、或两者的某个组合来实现。单元意识错误模型和测试模式生成工具图2示出根据本发明的各种实施例的用于生成单元意识错误模型和测试模式的工具的例子。如在图中看到的,工具具有两个主要模块单元意识错误模型创建模块200和单元意识模式生成模块210。单元意识错误模型创建模块200基于单元的布局数据和晶体管级网表来创建库的单元的错误模型。单元意识模式生成模块210接着使用所创建的错误模型来生成测试模式,所述测试模式与使用常规错误模型生成的测试模式相比具有大的缺陷覆盖。所产生的单元意识测试模式可存储在数据库215中。单元意识错误模型创建模块200可如图2所示包括四个子模块(布局提取模块 202、缺陷提取模块204、模拟仿真模块206和错误模型合成模块208)以及四个数据库(布局数据库201、晶体管级网表数据库203、所关注的缺陷的数据库205和单元意识错误模型数据库209)。如将在下面更详细地讨论的,布局提取模块202从布局数据库201接收单元的布局数据。布局数据可以是例如GDS2格式。模块202接着执行提取过程以从布局数据生成晶体管级网表。各种常规技术可用于执行提取过程,例如使用从俄勒冈州的Wilsonville 的明导公司(Mentor Graphics Corporation)可获得的CALIBRE 系列物理验证软件工具提供的CALIBRE 布局对原理图(LVQ工具。晶体管级网表可存储在晶体管级网表数据库 203中,用于随后的操作。所提取的网表可以是例如SPICE格式。缺陷提取模块204基于存储在数据库201中的布局数据和存储在数据库203中的晶体管级网表来确定单元的所关注的缺陷的列表。各种常规工具可用于提取过程,例如使用从俄勒冈州的Wilsonville的明导公司(Mentor Graphics Corporation)可获得的 CALIBRE 系列物理验证软件工具提供的CALIBRE xRC 寄生提取工具。如从下面的讨论将认识到的,单元意识错误模型创建模块200可为各种不同的缺陷生成错误模型和相应的测试模式。因此,在本发明的各种例子中,缺陷提取模块204可配置成提取一个或多个特定的用户所关注的任何期望缺陷。被提取的所关注的缺陷列表可存储在所关注的缺陷的数据库205中。模拟仿真模块206加入从存储在所关注的缺陷的数据库205中的缺陷列表选择的缺陷,并接着执行模拟仿真来确定是否该缺陷是可探测到的。如果它确定该缺陷是可探测到的,则模拟仿真模块206进一步确定用于探测缺陷的探测条件。该探测条件可接着由错误模型合成模块208使用来产生单元意识错误模型,其被存储在单元意识错误模型数据库 209 中。如前面提到的,本发明的各种实施例可由计算系统,例如图1所示的计算系统,来实施。因此,单元意识错误模型创建模块200的每个子模块(模块202、204、206和208)和单元意识模式生成模块210的一个或多个部件可使用计算系统中的一个或多个处理器来实现。应认识到,虽然布局提取模块202、缺陷提取模块204、模拟仿真模块206、错误模型合成模块208和单元意识模式生成模块210在图2中被示为单独的单元,但是可使用单个计算机(或计算系统中的单个过程)在不同的时间实现这些模块中的两个或多个模块。同样, 本发明的各种例子可由存储在计算机可读介质上的软件可执行指令来实施,所述指令用于指示计算系统实现布局提取模块202、缺陷提取模块204、模拟仿真模块206、错误模型合成模块208以及单元意识模式生成模块210中的每个模块的一个或多个部件。此外,虽然布局数据库201、晶体管级网表数据库203、所关注的缺陷的数据库205和单元意识错误模型数据库209在图2中被示为单独的单元,但是可使用单个计算机在不同的时间实现这些数据库中的两个或多个数据库。应认识到,虽然单元意识错误模型创建模块200在图2中包括四个子模块(布局提取模块202、缺陷提取模块204、模拟仿真模块206、错误模型合成模块208),它可只包括这些子模块的子集。例如,如果晶体管级网表和错误信息可从其它来源得到,则布局提取模块可被移除。单元意识错误模型创建现在,关于图3所示的流程图,将讨论根据本发明的实施例的错误模型创建和测试模式生成的各种方法。虽然将参考图2所示的单元意识错误模型和测试模式生成工具来描述图3所示的操作,但应认识到,图3所示的操作可被根据本发明的各种实施例的单元意识错误模型和测试模式生成工具的其它实施方式使用。同样,应认识到,图2所示的单元意识错误和测试模式生成工具可使用图3所示的操作之外的用于创建错误模型或生成测试模式的技术。图3所示的流程以布局提取操作320开始,后面是探测提取操作340,然后是模拟错误仿真操作360,且最后是合成操作380,以创建单元意识错误模型。下面将更详细地讨论这些操作。在布局提取操作320中,布局提取模块202从库单元的布局设计(或布局数据) 提取晶体管级网表。如本领域的普通技术人员将认识到的,布局设计代表使用几何元素的电路的特征。几何元素又相应于在光刻工艺期间将在衬底上形成以产生电路的物理结构。 布局设计可以是任何期望的数据格式。可提供以很多不同的格式的用于IC布局描述的数据。图形数据系统II(GDSII)格式是用于传递和存档2D图形IC布局数据的普遍格式。除了其它特征以外,它还包含结构的层级,每个结构布局元素(例如,多边形、路径或多段线、 圆和文本框)。元素位于层上。其它格式包括被称为开放存取的开放源格式、新思科技公司(Synopsys, Inc.)的 Milkyway、明导公司(Mentor Graphics, Inc.)的 EDDM 以及最近的由国际半导体设备和材料(SEMI)提出的开放式系统交互标准(OASIS)。如本领域的普通技术人员还将认识到的,晶体管级网表是在电路及其附件中所关注的重要部件的列表(例如,基于文本的列表)。例如,网表可以列出晶体管、电容器、电阻器、二极管及其连接。网表也可以是任何期望的数据格式,例如,SPICE数据格式。在本发明的各种例子中,布局提取模块202可使用能用于从电路的布局设计提取晶体管级网表的任何适当的电子设计自动化(EDA)布局提取工具(或可替换地,由电子设计自动化(EDA)布局提取工具实现)。例如,本发明的一些实施方式可使用在从俄勒网州的Wilsonville的明导公司(Mentor Graphics Corporation)可获得的CALIBRE 系列电子设计自动化物理验证软件工具中包括的CALIBRE 布局对示意图(LVQ工具。如本领域的普通技术人员将认识到的,通过从布局设计提取晶体管级网表,这种类型的布局提取工具可使布局设计中的几何元素与晶体管级网表中的部件关联。在缺陷提取操作340中,缺陷提取模块204从布局设计提取所关注的缺陷。所关注的缺陷可以例如是内部网络之间的桥接、电力线或地线(即,Vdd/Vss)的桥接、丢失接触 (即,断开)、或不同缺陷的某个组合。如本领域的普通技术人员将认识到的,存在可由本发明的各种实施例使用来从布局设计提取所关注的缺陷的各种电子设计自动化工具。例如, 本发明的一些实施方式可使用寄生提取工具,例如在从俄勒冈州的Wilsonville的明导公司(Mentor Graphics Corporation)可获得的CALIBRE 系列电子设计自动化物理验证软件工具中包括的一个或多个CALIBRE xRC 寄生提取工具。如本领域的普通技术人员将认识到的,寄生提取工具(如CALIBRE xRC 工具)分析布局设计中的几何元素,以识别将在从布局设计制造的电路中产生的寄生特征,例如电容和电感特征。如本领域的普通技术人员将认识到的,这些工具可提供作为与布局设计中的几何元素的集合或几何元素的位置数据相关的寄生特征的所关注的缺陷。而且,因为布局提取操作320产生晶体管级网表,使得网表中的几何元素可与布局设计中的几何元素关联,网表也可与所关注的缺陷包括的几何元素关联。以这种方式,可确定所关注的缺陷相对于晶体管级网表中的部件的位置,且缺陷可随后被包括在晶体管级网表中。接着,模拟仿真模块206对包括所关注的缺陷的被提取的网表执行模拟错误仿真操作360。在本发明的一些实施例中,模拟仿真模块206将对每个库单元执行很多模拟仿真。当只有一个循环测试模式(非连续)被分析时,必须执行的模拟仿真的总数可以是η = 2m · (d+1),其中m和d分别表示库单元的输入的数量和所考虑的缺陷的数量,并且操作数 “+1”与无错误仿真相关。库单元输入的数量一般在1到8的范围内,而缺陷的数量可以是几百。使用现今的模拟仿真器和计算机硬件,可对完整的单元库在几天的运行时间内完成这些仿真。在本发明的各种实施方式中,模拟仿真模块206可使用从俄勒R州的Wilsonville 的Mentor Graphics Corporation可获导的ELDO 系列仿真工具(或由ELDO 系列仿真工具实现)。在连续模式的模拟错误仿真的情况下,例如为了分析断开是否被探测到,可不同地处理鲁棒和非鲁棒错误仿真。对于鲁棒仿真,只允许一个单元输入将其状态从一个循环改变到另一循环。对于非鲁棒仿真,多个输入可将其状态从一个循环改变到下一循环。对于鲁棒的连续测试,对具有3次循环(S卩,最初和最后的循环)的连续分析的模拟仿真的总数是N2(鲁棒)=2m · m · (d+Ι)。对于非鲁棒的连续测试,对具有3次循环(S卩,最初和最后的循环)的连续分析的模拟仿真的总数是N2(非鲁棒)=2m · (2m-l) · (d+1)。通过修改晶体管级网表或网表对象值(例如,电阻器值),可引入缺陷。例如,如果桥接是候选缺陷,则电阻器插在相应的两个网络之间。对于开路错误,相应的电气对象 (例如,晶体管栅极、电阻器、电容器或电线)在模拟仿真期间被断开(或包括有非常高的电阻)。在特定的缺陷被引入之后,完备的一组(或在鲁棒连续测试的情况下是减少的一组)数字输入模式可根据本发明的一些实施例在修改的网表上被仿真。此外,每个单元可在没有缺陷的情况下被仿真,以便对每个单元输入组合确定在单元输出处的金电压(即, 预期电压)。仿真是模拟DC分析仿真,其可确定单元输出的稳态电压。对于连续的模式,执行瞬时分析。根据本发明的一些实施例,如果至少对于一个输入组合(或分配),单元的输出端口中的一个或多个产生作为金电压的倒数的电压,且所产生的有缺陷电压必须在电源电压的80 % -100 %的范围内,或产生金电压的仅仅0 %到20 %的电压,则模拟仿真模块206可考虑可探测到的缺陷。当然,在本发明的其他一些实施方式中,偏差阈值也可由用户指定。 仿真可由现有技术的模拟仿真器周围的一组脚本自动化。在本发明的一些实施例中,模拟错误仿真操作340的输出可以是探测矩阵。探测矩阵的行和列分别指输入组合和缺陷。在单元意识合成操作380中,错误模型合成模块208合成单元意识库视图(或单元意识库模型)。根据本发明的一些实施例,这个合成操作将提取对每个错误的一组必要的输入分配,以缓和未来的模式生成过程。下面是可用于实现单元意识合成操作380的算法的例子从真值表产生F:
权利要求
1.一种单元意识错误模型生成的方法,包括基于单元的布局数据和所述单元的晶体管级网表来确定所述单元的所关注的缺陷; 对所述晶体管级网表执行模拟错误仿真,以确定来自所关注的缺陷的可探测的缺陷和所述可探测的缺陷的探测条件;基于所述探测条件来生成所述可探测的缺陷的单元意识错误模型;以及将所述单元意识错误模型存储在处理器可读介质中。
2.如权利要求1所述的方法,其中所述单元的所述晶体管级网表从所述单元的所述布局数据提取。
3.如权利要求1所述的方法,其中确定所述单元的所关注的缺陷包括 从一个或多个用户接收关于所关注的缺陷的信息;以及基于所述单元的布局数据、所述单元的晶体管级网表和从一个或多个用户接收的关于所关注的缺陷的信息来确定所述单元的所关注的缺陷。
4.如权利要求1所述的方法,其中所述可探测的缺陷是在被单独地加到所述单元的所述晶体管级网表之后的缺陷,使所述单元产生对于所述单元的输入组合满足所述单元的输出端口上的条件的电压。
5.如权利要求1所述的方法,其中所述执行模拟错误仿真包括 从所关注的缺陷中选择缺陷;根据所述缺陷修改所述晶体管级网表,以生成经修改的晶体管级网表;以及对所述经修改的晶体管级网表执行模拟仿真,以确定所述缺陷是否是可探测的,以及如果所述缺陷是可探测的,确定所述缺陷的探测条件。
6.如权利要求5所述的方法,其中所述执行模拟错误仿真还包括 确定所有所述可探测的缺陷的探测条件;基于所有所述可探测的缺陷的所述探测条件生成探测矩阵;以及存储所述探测矩阵。
7.如权利要求1所述的方法,其中生成单元意识错误模型包括通过基于探测信息确定必要的输入组合来生成素数多维立方体,所述必要的输入组合是探测没有不关心的缺陷所需的输入组合;以及将所述素数多维立方体与相应的输出组合合并。
8.如权利要求7所述的方法,其中所述生成单元意识错误模型还包括压缩相同的素数多维立方体以生成一组经压缩的素数多维立方体和一组缺陷列表,每个缺陷列表表示能够由经压缩的素数多维立方体探测的缺陷。
9.一种单元意识模式生成的方法,包括 选择用于电路中的单元的缺陷;基于与所述缺陷相关的单元意识错误模型来将所述缺陷加在所述单元的的一个或多个输出端口上;为所述单元意识错误模型所提供的缺陷,从一组必要的输入组合中选择一个必要的输入组合;将该个必要的输入组合加在所述单元的输入端口上;以及传播所述缺陷并调整该个必要的输入组合。
10.如权利要求9所述的方法,还包括如果对于该组必要的输入组合中的每一个的所述传播操作失败或所述调整操作失败, 则表示所述缺陷是不可探测的。
11.如权利要求9所述的方法,还包括如果所述传播操作成功但所述调整操作失败,则从该组必要的输入组合中选择另一必要的输入组合;将所述另一必要的输入组合加在所述单元的输入端口上; 调整所述另一必要的输入组合;重复上面的三个操作,直到一个必要的输入组合能够被成功地调整;以及基于成功的调整操作来生成测试多维立方体。
12.—种单元意识模式生成的方法,包括 接收一组缺陷;通过使用所述单元意识错误模型来生成缺陷的测试多维立方体,所述缺陷从该组缺陷中选择;通过使用所述单元意识错误模型来将该组缺陷中的其它缺陷嵌入该测试多维立方体探测中,以获得嵌入的测试多维立方体和能够由所述嵌入的测试多维立方体探测到的缺陷列表;将补白应用于该嵌入的测试多维立方体以生成测试模式; 对所述测试模式进行错误仿真以更新所述缺陷列表;以及将所述测试模式和所述缺陷列表存储在有形处理器可读介质中。
13.—种单元意识模式生成的方法,其中所述单元意识模式生成由计算机的至少一个处理器执行,包括接收一组标准模型缺陷和一组单元意识缺陷,该组单元意识缺陷只使用单元意识错误模型可探测;通过使用标准错误模型来生成标准模型缺陷的测试多维立方体,所述标准模型缺陷从该组标准模型缺陷中选择;通过使用所述标准错误模型来将该组标准模型缺陷中的其它标准模型缺陷嵌入该测试多维立方体探测中,以获得所嵌入的测试多维立方体和能够由所述嵌入的测试多维立方体探测到的标准模型缺陷列表;通过使用所述单元意识错误模型来将该组单元意识缺陷中的单元意识缺陷嵌入该测试多维立方体探测中,以获得进一步嵌入的测试多维立方体和能够由所述进一步嵌入的测试多维立方体探测到的单元意识缺陷列表;通过将所述标准模型缺陷列表与所述单元意识缺陷列表合并来编译由所述进一步嵌入的测试多维立方体可探测的缺陷列表;将补白应用于所述进一步嵌入的测试多维立方体以生成测试模式; 对所述测试模式进行错误仿真以更新所述缺陷列表;以及将所述测试模式和所述缺陷列表存储在有形处理器可读介质中。
14.如权利要求13所述的方法,其中所述标准模型缺陷包括固定缺陷,并且所述标准错误模型包括固定错误模型。
15.一种用于单元意识错误模型生成的系统,包括 布局提取模块,其从单元的布局数据提取晶体管级网表;缺陷提取模块,其基于所述布局数据和所述晶体管级网表来确定所关注的缺陷; 模拟仿真模块,其对所述晶体管级网表执行模拟错误仿真以确定来自所关注的缺陷的可探测的缺陷和所述可探测的缺陷的探测条件;以及错误模型合成模块,其基于所述探测条件来生成所述可探测的缺陷的所述单元意识错误模型。
16.一种存储处理器可执行指令的处理器可读介质,所述处理器可执行指令用于使一个或多个处理器执行单元意识错误模型生成的方法,所述单元意识错误模型生成的方法包括基于单元的布局数据和所述单元的晶体管级网表来确定所述单元的所关注的缺陷; 对所述晶体管级网表执行模拟错误仿真以确定来自所关注的缺陷的可探测的缺陷和所述可探测的缺陷的探测条件;基于所述探测条件来生成所述可探测的缺陷的所述单元意识错误模型;以及将所述单元意识错误模型存储在所述处理器可读介质中。
17.如权利要求16所述的处理器可读介质,其中所述单元的所述晶体管级网表从所述单元的所述布局数据提取。
18.如权利要求16所述的处理器可读介质,其中确定所述单元的所关注的缺陷包括 从一个或多个用户接收关于所关注的缺陷的信息;以及基于所述单元的布局数据、所述单元的晶体管级网表和从一个或多个用户接收的关于所关注的缺陷的信息来确定所述单元的所关注的缺陷。
19.如权利要求16所述的处理器可读介质,其中所述可探测的缺陷是在被单独地加到所述单元的所述晶体管级网表之后的缺陷,使所述单元产生对所述单元的输入组合满足所述单元的输出端口上的条件的电压。
20.如权利要求16所述的处理器可读介质,其中执行模拟错误仿真包括 从所关注的缺陷中选择缺陷;根据所述缺陷修改所述晶体管级网表以生成经修改的晶体管级网表;以及对所述经修改的晶体管级网表执行模拟仿真,以确定所述缺陷是否是可探测的,以及如果所述缺陷是可探测的,确定所述缺陷的探测条件。
21.如权利要求20所述的处理器可读介质,其中执行模拟错误仿真包括 确定所有所述可探测的缺陷的探测条件;基于所有所述可探测的缺陷的所述探测条件来生成探测矩阵;以及存储所述探测矩阵。
22.如权利要求16所述的处理器可读介质,其中生成单元意识错误模型包括通过基于探测信息确定必要的输入组合来生成素数多维立方体,所述必要的输入组合是探测没有不关心的缺陷所需的输入组合;以及将所述素数多维立方体与相应的输出组合合并。
23.如权利要求22所述的处理器可读介质,其中生成单元意识错误模型还包括压缩相同的素数多维立方体,以生成一组经压缩的素数多维立方体和一组缺陷列表,每个所述缺陷列表表示能够由经压缩的素数多维立方体探测的缺陷。
24.一种存储处理器可执行指令的处理器可读介质,所述处理器可执行指令用于使一个或多个处理器执行单元意识模式生成的方法,所述单元意识模式生成的方法包括选择用于电路中的单元的缺陷;基于与所述缺陷相关的单元意识错误模型来将所述缺陷加在所述单元的的一个或多个输出端口上;为所述单元意识错误模型所提供的缺陷,从一组必要的输入组合中选择一个必要的输入组合;将该个必要的输入组合加在所述单元的输入端口上;以及传播所述缺陷并调整该个必要的输入组合。
25.如权利要求M所述的处理器可读介质,其中所述单元意识模式生成的方法还包括如果对于该组必要的输入组合中的每一个的所述传播操作失败或所述调整操作失败, 则表示所述缺陷是不可探测的。
26.如权利要求M所述的处理器可读介质,其中所述单元意识模式生成的方法还包括如果所述传播操作成功但所述调整操作失败,则从该组必要的输入组合选择另一必要的输入组合;将所述另一必要的输入组合加在所述单元的输入端口上; 调整所述另一必要的输入组合;重复上面的三个操作,直到一个必要的输入组合能够被成功地调整;以及基于成功的所述调整操作来生成测试多维立方体。
27.一种存储处理器可执行指令的处理器可读介质,所述处理器可执行指令用于使一个或多个处理器执行单元意识模式生成的方法,所述单元意识模式生成的方法包括接收一组缺陷;通过使用单元意识错误模型来生成缺陷的测试多维立方体,所述缺陷从该组缺陷中选择;通过使用所述单元意识错误模型来将该组缺陷中的其它缺陷嵌入测试多维立方体探测中,以获得嵌入的测试多维立方体和能够由所述嵌入的测试多维立方体探测到的缺陷列表;将补白应用于该嵌入的测试多维立方体以生成测试模式; 对所述测试模式进行错误仿真以更新所述缺陷列表;以及将所述测试模式和所述缺陷列表存储在有形处理器可读介质中。
28.一种存储处理器可执行指令的处理器可读介质,所述处理器可执行指令用于使一个或多个处理器执行单元意识模式生成的方法,所述单元意识模式生成的方法包括接收一组标准模型缺陷和一组单元意识缺陷,该组单元意识缺陷只使用单元意识错误模型可探测;通过使用标准错误模型来生成标准模型缺陷的测试多维立方体,所述标准模型缺陷从该组标准模型缺陷中选择;通过使用所述标准错误模型来将该组标准模型缺陷中的其它标准模型缺陷嵌入测试多维立方体探测中,以获得嵌入的测试多维立方体和能够由所述嵌入的测试多维立方体探测到的标准模型缺陷列表;通过使用所述单元意识错误模型来将该组单元意识缺陷中的所述单元意识缺陷嵌入测试多维立方体探测中,以获得进一步嵌入的测试多维立方体和能够由所述进一步嵌入的测试多维立方体探测到的单元意识缺陷列表;通过将所述标准模型缺陷列表与所述单元意识缺陷列表合并来编译由所述进一步嵌入的测试多维立方体可探测的缺陷列表;将补白应用于所述进一步嵌入的测试多维立方体以生成测试模式; 对所述测试模式进行错误仿真以更新所述缺陷列表;以及将所述测试模式和所述缺陷列表存储在有形处理器可读介质中。
29.如权利要求洲所述的处理器可读介质,其中所述标准模型缺陷包括固定缺陷,并且所述标准错误模型包括固定错误模型。
30.一种包括一个或多个处理器的系统,所述一个或多个处理器被编程来执行单元意识错误模型生成的方法,所述单元意识错误模型生成的方法包括基于单元的布局数据和所述单元的晶体管级网表来确定所述单元的所关注的缺陷; 对所述晶体管级网表执行模拟错误仿真以确定来自所关注的缺陷的可探测的缺陷和所述可探测的缺陷的探测条件;基于所述探测条件来生成所述可探测的缺陷的单元意识错误模型;以及将所述单元意识错误模型存储在处理器可读介质中。
31.如权利要求30所述的系统,其中所述单元的所述晶体管级网表从所述单元的所述布局数据提取。
32.如权利要求30所述的系统,其中确定单元的所关注的缺陷包括 从一个或多个用户接收关于所关注的缺陷的信息;以及基于所述单元的布局数据、所述单元的晶体管级网表和从一个或多个用户接收的关于所关注的缺陷的信息来确定所述单元的所关注的缺陷。
33.如权利要求30所述的系统,其中所述可探测的缺陷是在被单独地加到所述单元的所述晶体管级网表之后的缺陷,使所述单元产生对所述单元的输入组合满足所述单元的输出端口上的条件的电压。
34.如权利要求30所述的系统,其中所述执行模拟错误仿真包括 从所关注的缺陷中选择缺陷;根据所述缺陷修改所述晶体管级网表以生成经修改的晶体管级网表;以及对所述经修改的晶体管级网表执行模拟仿真,以确定所述缺陷是否是可探测的,以及如果所述缺陷是可探测的,确定所述缺陷的探测条件。
35.如权利要求34所述的系统,其中执行模拟错误仿真包括 确定所有所述可探测的缺陷的探测条件;基于所有所述可探测的缺陷的所述探测条件来生成探测矩阵;以及存储所述探测矩阵。
36.如权利要求30所述的系统,其中生成单元意识错误模型包括通过基于探测信息确定必要的输入组合来生成素数多维立方体,所述必要的输入组合是探测没有不关心的缺陷所需的输入组合;以及将所述素数多维立方体与相应的输出组合合并。
37.如权利要求36所述的系统,其中生成单元意识错误模型还包括压缩相同的素数多维立方体以生成一组经压缩的素数多维立方体和一组缺陷列表,每个缺陷列表表示能够由经压缩的素数多维立方体探测的缺陷。
38.一种包括一个或多个处理器的系统,所述一个或多个处理器被编程来执行单元意识模式生成的方法,所述单元意识模式生成的方法包括选择用于电路中的单元的缺陷;基于与所述缺陷相关的单元意识错误模型来将所述缺陷加在所述单元的的一个或多个输出端口上;对所述单元意识错误模型所提供的缺陷从一组必要的输入组合中选择一个必要的输入组合;将该个必要的输入组合加在所述单元的输入端口上;以及传播所述缺陷并调整所述必要的输入组合。
39.如权利要求38所述的系统,其中单元意识模式生成的方法还包括如果对于该组必要的输入组合的所述传播操作失败或所述调整操作失败,则表示所述缺陷是不可探测的。
40.如权利要求38所述的系统,其中所述单元意识模式生成的方法还包括如果所述传播操作成功但所述调整操作失败,则从该组必要的输入组合选择另一必要的输入组合;将所述另一必要的输入组合加在所述单元的输入端口上; 调整所述另一必要的输入组合;重复上面的三个操作,直到一个必要的输入组合能够被成功地调整;以及基于成功的所述调整操作来生成测试多维立方体。
41.一种包括一个或多个处理器的系统,所述一个或多个处理器被编程来执行单元意识模式生成的方法,所述单元意识模式生成的方法包括接收一组缺陷;通过使用单元意识错误模型来生成缺陷的测试多维立方体,所述缺陷从该组缺陷中选择;通过使用所述单元意识错误模型来将该组缺陷中的其它缺陷嵌入测试多维立方体探测中,以获得嵌入的测试多维立方体和能够由所述嵌入的测试多维立方体探测到的缺陷列表;将补白应用于该嵌入的测试多维立方体以生成测试模式; 对所述测试模式进行错误仿真以更新所述缺陷列表;以及将所述测试模式和所述缺陷列表存储在有形处理器可读介质中。
42.一种包括一个或多个处理器的系统,所述一个或多个处理器被编程来执行单元意识模式生成的方法,所述单元意识模式生成的方法包括接收一组标准模型缺陷和一组单元意识缺陷,该组单元意识缺陷只使用单元意识错误模型可探测;通过使用标准错误模型来生成标准模型缺陷的测试多维立方体,所述标准模型缺陷从该组标准模型缺陷中选择;通过使用所述标准错误模型来将该组标准模型缺陷中的其它标准模型缺陷嵌入测试多维立方体探测中,以获得嵌入的测试多维立方体和能够由所述嵌入的测试多维立方体探测到的标准模型缺陷列表;通过使用所述单元意识错误模型来将该组单元意识缺陷中的单元意识缺陷嵌入测试多维立方体探测中,以获得进一步嵌入的测试多维立方体和能够由所述进一步嵌入的测试多维立方体探测到的单元意识缺陷列表;通过将所述标准模型缺陷列表与所述单元意识缺陷列表合并来编译由所述进一步嵌入的测试多维立方体可探测的缺陷列表;将补白应用于所述进一步嵌入的测试多维立方体以生成测试模式; 对所述测试模式进行错误仿真以更新所述缺陷列表;以及将所述测试模式和所述缺陷列表存储在有形处理器可读介质中。
43.如权利要求42所述的系统,其中所述标准模型缺陷包括固定缺陷,并且所述标准错误模型包括固定错误模型。
全文摘要
单元意识错误模型直接处理基于布局的单元内部缺陷。它们通过对库单元的晶体管级网表执行模拟仿真并接着通过库视图合成来创建。单元意识错误模型可用于生成单元意识测试模式,其通常具有比常规ATPG技术所产生的缺陷覆盖更高的缺陷覆盖。单元意识错误模型还可以用于提高常规ATPG技术所产生的一组测试模式的缺陷覆盖。
文档编号G01R31/3183GK102439469SQ201080019820
公开日2012年5月2日 申请日期2010年3月5日 优先权日2009年3月5日
发明者于尔根·施洛埃菲尔, W.·许霍尔迈尔 克里斯多夫·, 安德里亚斯·格洛沃茨, 弗里德里希·哈普克, 彼得·维塞尔洛, 迈克尔·威特基, 雷内·克伦兹-巴斯, ·卡萨布 马克·A. 申请人:明导公司