切割诊断(cid)—提高成品率陡升工艺的产量的方法

文档序号:6527098阅读:315来源:国知局
切割诊断(cid)—提高成品率陡升工艺的产量的方法
【专利摘要】公开了用于产生集成电路(IC)中的候选者故障电路系统的方法。方法包括从集成电路的至少一个失败输出向后跟踪,以使用从IC的设计的无故障模拟获得的模拟值来确定每个失败输出的对应的扇入锥。方法进一步包括,确定每个失败输出的怀疑故障候选者的第一集合,其中每个怀疑故障候选者潜在与IC中有故障的元件相对应。方法接下来包括从第一集合中的每个怀疑故障候选者向前跟踪,以确定怀疑故障候选者的第二集合,其是第一集合的窄子集。最后,方法包括从IC设计识别失败块,其中失败块包括来自第二集合的怀疑故障候选者,并且可以独立于整个设计来模拟失败块。
【专利说明】切割诊断(CID) —提高成品率陡升工艺的产量的方法

【技术领域】
[0001]根据本发明的实施例总体上涉及半导体电路(IC)生产,更具体地涉及用于在IC生产期间提高成品率陆升(yield ramp up)工艺的速度的方法和系统。

【背景技术】
[0002]半导体IC生产本身是一个复杂的流程,开始于新的芯片的设计、通过严格的制造工艺并结束于产品测试和分布。监控和增加成品率所需的数据分析是巨大的挑战,特别是由于伴随采用不断缩小的技术节点的同时数据量变大和多样化。特定产品设计工艺测试方法论具有更复杂的根本原因诊断的路径,使得工程师对于成品率限制的本质的清晰理解更加困难,从而降低了成品率陡升工艺的速度。
[0003]在半导体行业中,成品率陡升工艺的速度对于上市时间指标至关重要。确定IC中的失败的行为的根本原因是成品率陡升工艺中至关重要的任务。基于根本原因方法论的常规软件对于大多数设计例如中央处理器单元(CPU)或者图像处理单元(GPU)往往非常慢并且是资源密集型的。举例来说,可能用两天时间在具有256千兆字节(GB)存储器的系统上来为一个失败的GPU芯片确定失败的根本原因。因此,如果包括100个芯片的晶片具有50个失败的芯片,那么可能用100天的时间来为所有芯片确定失败的根本原因。这种级别的延迟是不可接受的。
[0004]采购数个高容量的测试器系统并且将其并行运行并没提供胜任的解决方案。具有高于256GB存储器的高容量的机器是昂贵的,并且获得数个这样的机器使其并行运行所需的资本经费是显著的。另外,因为基于根本原因过程的软件使用由可测试性设计(DFT)工程师所提供的测试图案来在这些测试器系统上模拟芯片的整个设计,所以是非常慢的。慢的一个原因在于,当造成失败的缺陷可能只构成整个芯片的极小一部分时对于整个设计的不必要的模拟。举例来说,在包括1.5亿个单元的GPU中,可能只有一个单元影响到缺陷。或者,举例来说具体缺陷可能仅影响芯片区域的大约I微米平方,而整个芯片可能大于500毫米平方。常规模拟软件为了实施缺陷位置的根本原因分析,将模拟整个设计甚至不顾诊断和模拟可以只需要针对单元的较小集。


【发明内容】

[0005]因此,所需要的是用于实施失败的芯片的根本原因分析的有效的、快速的和便宜的系统和方法,其在如果造成失败的缺陷位于芯片的相对小的面积上时,省却对整个芯片的设计进行模拟的需要。
[0006]本发明的实施例提供对于加速成品率陡升工艺中的固有挑战的解决方案。在本发明的一个实施例从芯片的整个设计中智能地确定并切割出由缺陷所影响的逻辑,并且创建更小的设计。随后,基于模拟的软件在更小的设计上运行以提供在对缺陷位置进行隔离所使用的候选电路系统。由本发明教导的该方法可以称为“切割诊断(cutter indiagnosis),,(CID)0
[0007]在一个实施例中,公开了用于产生集成电路(IC)中的候选者故障电路系统的方法。方法包括从集成电路的至少一个失败输出向后跟踪,以使用从IC的设计的无故障模拟获得的模拟值来确定每个失败输出的对应的扇入锥(fan-1n cone)。方法进一步包括,确定每个失败输出的怀疑故障候选者的第一集合,其中每个怀疑故障候选者潜在与IC中有故障的元件相对应。方法接下来包括从第一集合中的每个怀疑故障候选者向前跟踪,以确定怀疑故障候选者的第二集合,其是第一集合的窄子集。最后方法包括从IC设计识别失败块,其中失败块包括来自第二集合的怀疑故障候选者,并且可以独立于整个设计来模拟失败块。
[0008]在另一个实施例中,公开了一种计算机可执行指令存储于其上的计算机可读存储介质,如果指令由计算机系统执行,使得计算机系统实施用于产生集成电路中的候选者故障电路系统的方法。方法包括从IC的至少一个失败输出向后跟踪,以使用从IC的设计的无故障模拟获得的模拟值来确定每个失败输出的对应的扇入锥。进一步,方法包括确定每个失败输出的怀疑故障候选者的第一集合,其中每个怀疑故障候选者潜在与IC中的有缺陷的元件相对应。接下来,方法包括从第一集合中的每个怀疑故障候选者向前跟踪,以确定怀疑故障候选者的第二集合,其是第一集合的窄子集。最后,方法包括从IC设计识别失败块,其中失败块包括来自第二集合的怀疑故障候选者,并且可以独立于整个设计来模拟失败块。
[0009]在不同的实施例中,公开了用于测试器系统。存储器系统包括用于在测试记录中读取的输入接口,其中测试记录包括与在硬件测试和裸片(die)的探查期间所记录的、多个失败输出处的所观察的响应相关的信息。系统还包括存储器,用于存储与裸片相对应的集成电路的设计和从集成电路的设计的模拟所生成的模拟值。进一步还包括处理器,器配置为:(a)从与集成电路的设计相关联的多个失败输出向后跟踪,以使用从集成电路的设计的无故障模拟获得的模拟值来确定每个失败输出的对应的扇入锥;(b)确定每个失败输出的怀疑故障候选者的第一集合,其中每个怀疑故障候选者潜在与对于在对应的失败输出处产生失败结果负有责任的集成电路中的缺陷相对应;(C)从第一集合中的每个怀疑故障候选者向前跟踪,以确定怀疑故障候选者的第二集合,其中第二集合是第一集合的窄子集,并且其中与第一集合中的每个怀疑故障候选者相比,第二集合中的每个怀疑故障候选者具有更高的可能性与集成电路中的缺陷相对应;(d)从集成电路的设计识别失败块,其中失败块包括来自第二集合的怀疑故障候选者,并且其中可以独立于设计来模拟失败块。
[0010]以下结合附图更详细的描述将提供对本发明的本质和优点的更好的理解。

【专利附图】

【附图说明】
[0011]在附图的图中以示例而非限制的方式对本发明的实施例进行说明,其中同样的参考数字指代类似元件。
[0012]图1是能够实现本公开的实施例的、计算系统的示例的框图。
[0013]图2是用于测试半导体IC芯片的自动化测试设备装置的示意框图。
[0014]图3示出了显示金属上的示例性开口缺陷的电子显微镜图像。
[0015]图4示出了根据本发明一个实施例的、包括可以使用CID工具切割出的由缺陷所影响的逻辑的芯片设计中的示例性失败块。
[0016]图5A是示出了根据本发明一个实施例的、用于用来挑选怀疑故障列表以确定芯片设计中的失败块的通用诊断过程的示例性过程的框图。
[0017]图5B是示出了根据本发明的一个实施例的、用于确定与失败输出比特相关联的失败块的诊断的分区的框图。
[0018]图6是示出了根据本发明一个实施例的、用于使用CID工具来检修缺陷的1C、确定失败的根本原因以及提高成品率的示例性处理流程的框图。
[0019]图7描绘了根据本发明一个实施例的、使用CID过程识别候选者故障电路系统的示例性过程的流程图640。

【具体实施方式】
[0020]现在将对本公开的各实施例加以详细参考,其示例在附图中示出。在结合这些实施例进行描述的同时,应理解它们并不意图将本公开限定于这些实施例。相反,本公开意在涵盖可以被包括在由所附权利要求所定义的本公开的精神和范围内的替代、修改或等同物。此外,在下面本公开的详细描述中,将阐述大量具体细节以提供对本公开更彻底的理解。然而,应理解本公开可以在没有这些具体细节的情况下被实施。在其他示例中,未详细描述公知的方法、算法、部件和电路以避免对本公开的各方面内容造成不必要的混淆。
[0021]接下来的部分详细描述以算法、逻辑框、处理以及对计算机存储器内数据比特进行操作其他象征性表示来提出。这些描述和表示是由数据处理领域技术人员所使用的手段,以向本领域的其他技术人员最有效地传达他们工作的实质。在本应用中,算法、逻辑框、处理等等,被设想为得出期望结果的步骤或指令的自洽序列。步骤利用物理量的物理操纵。通常,尽管不是必要地,这些量采用能在计算机系统中被存储、转移、组合、对比和另外操纵的电或磁信号的形式。已经证明,主要是出于共同使用的原因,将这些信号称为事务处理、比特、值、元素、符号、字符、样本、像素等等有时是方便的。
[0022]然而应该牢记,所有这些类似的术语是与合适的物理量相关联的,并且仅仅是附属于这些量的方便的标签。除非特别的声明否则如从以下所述所明确的,应该理解,贯穿本公开利用诸如“确定”、“模拟”、“跟踪”、“提取”等等术语的描述,是指计算机系统,或类似电子计算设备,或处理器(例如图1的系统110)的动作和过程(例如图640的流程图7)。计算机系统或类似电子计算设备对计算机系统存储器、寄存器或其他这样的信息存储、传送或显示设备中的表示物理量(电的)的数据进行操作和变化。
[0023]本文描述的实施例可一般围绕着存在于某一形式的计算机可读存储介质上的计算机可执行指令加以讨论,诸如由一台或多台计算机或其他设备执行的程序模块。以示例的方式但非限制,计算机可读存储介质可以包括非暂时性计算机可读存储介质和通信介质;非暂时性计算机可读介质包括除了暂时性传播信号之外所有的计算机可读介质。通常,程序模块包括例程、程序、对象、部件、数据结构等等,其执行特定任务或实现特定的抽象数据类型。程序模块的功能可以在各种实施例按照期望加以组合或分配。
[0024]计算机存储介质包括易失性和非易失性、可移动的和不可移动的以任何方法或技术实现的介质,用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程ROM(EEPR0M)、闪速存储器或其他存储器技术、压缩光盘ROM (⑶-ROM)、数字多用盘(DVD)或其他光学存储、盒式磁带、磁带、磁盘存储或其他磁性存储设备、或任何其他可用来存储期望信息并可访问以重新得到这些信息的介质。
[0025]通信介质可体现计算机可执行指令、数据结构及程序模块,并包括任何信息递送介质。以示例的方式但非限制于,通信介质包括有线介质诸如有线网络或直接有线连接,以及无线介质诸如声频、射频(RF)、红外线及其他无线介质。以上的任意组合也可包括在计算机可读介质范围内。
[0026]图1是能够实现本公开的切割诊断工具的、计算系统110的示例的框图。计算系统110宽泛地代表任何能够执行计算机可读指令的单或者多处理器计算设备或系统。计算机系统110的示例包括但不限于,工作台、笔记本电脑、客户侧终端、服务器、分布式计算系统、手持设备或任何其他计算系统或设备。在其大多数基本配置中,计算系统110可以包括至少一个处理器114和系统存储器116。
[0027]处理器114通常代表任何类型或形式的、能处理数据或解释并执行指令的处理单元。在某些实施例中,处理器114可以从软件应用或模块接收指令。这些指令可以使处理器114实施一个或多个本文描述和/或示出的示范性实施例的功能。
[0028]系统存储器116通常代表任何类型或形式的、能存储数据和/或其他计算机可读指令的易失性或非易失性存储设备或介质。系统存储器116的示例包括但不限于,RAM、ROM、闪速存储器或任何其他适合的存储器设备。虽然不加以要求,但在某些实施例中计算系统110可以包括易失性存储器单元(诸如,系统存储器116)和非易失性存储设备(诸如,主存储设备132)这两者。
[0029]计算系统110除处理器114和系统存储器116外还可以包括一个或多个部件或元件。例如,在图1的实施例中,计算系统I1包括存储器控制器118、输入/输出(I/O)控制器120以及通信接口 122,它们每个都可以经由通信基础设施112互相连接。通信基础设施112通常代表任何类型或形式的、能促进计算设备中一个或多个组件之间通信的基础设施。通信基础设施112的示例包括但不限于,通信总线(诸如工业标准架构(ISA)、外围部件互连(PCI)、PCI Express (PCIe)或类似总线)和网络。
[0030]存储器控制器118通常代表任何类型或形式的、能处理存储器或数据或者能控制计算系统110的一个或多个部件间通信的设备。举例来说,存储器控制器118可以经由通信基础设施112来控制处理器114、系统存储器116及I/O控制器120之间的通信。
[0031 ] I/O控制器120通常代表任何类型或形式的、能协调和/或控制计算设备的输入输出功能的模块。举例来说,I/o控制器120可以控制或促进计算系统110的一个或多个元件之间的数据的转移,诸如处理器114、系统存储器116、通信接口 122、显示适配器126、输入接口 130以及存储接口 134。
[0032]通信接口 122宽泛地代表任何类型或形式的、能促进示范性计算系统110和一个或多个附加设备之间通信的通信设备或适配器。举例来说,通信接口 122可以促进计算系统110和包括附加计算系统的私人或公共网络之间的通信。通信接口 122的示例包括但不限于,有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器以及任何其他适合的接口。在一个实施例中,通信接口 122经由至诸如因特网的网络的直接链路提供了到远程服务器的直接连接。通信接口 122也可以通过任何其他适合的连接来间接提供这种连接。
[0033]通信接口 122也可以代表主机适配器,配置为经由外部总线或通信通道来促进计算系统110与一个或多个附加网络或存储设备之间的通信。主机适配器的示例包括但不限于,小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE (电气与电子工程师协会)1394主机适配器、串行高级技术附件(SATA)和外部SATA (eSATA)主机适配器、高级技术附件(ATA)和并行ATA (PATA)主机适配器、光纤通道接口适配器、以太网适配器等等。通信接口 122也可以允许计算系统110参与分布式或远程计算。例如,通信接口 122可以从远程设备接收指令,或向远程设备发送指令用于执行。
[0034]如图1所示,计算系统110还可以包括至少一个经由显示适配器126耦合到通信基础设施112的显示设备124。显示设备124通常代表任何类型或形式的、能视觉显示由显示适配器126所转发的信息的设备。类似地,显示适配器126通常代表任何类型或形式的、配置为转发图形、文本和其他数据用于在显示设备124上显示的设备。
[0035]如图1所示,计算系统110也可包括至少一个经由输入接口 130耦合到通信基础设施112的输入设备128。输入设备128通常代表任何类型或形式的、能向计算系统110提供计算机生成或人工生成的输入的输入设备。输入设备128的示例包括但不限于,键盘、定位设备、语音识别设备、控制杆、触摸屏、扩音器或任何其他输入设备。
[0036]如图1所示,计算系统110也可包括主存储设备132和经由存储接口 134耦合到通信基础设施112的可选备用存储设备133。存储设备132和133通常代表任何类型或形式的、能存储数据和/或其他计算机可读指令的存储设备或介质。举例来说,存储设备132和133可以是磁盘驱动器(例如,所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪盘驱动器等等。存储接口 134通常代表任何类型或形式的、用来在存储设备132和133与计算系统110的其他部件之间转移数据的接口或设备。
[0037]在一个示例中,数据库140可存储在主存储设备132内。数据库140可代表单个数据库或计算设备的一部分,或者它可代表多个数据库或计算设备。举例来说,数据库140可代表(存储于)计算系统110的一部分,和/或图2 (下文)中示范性网络架构200的一部分。或者,数据库140可代表(存储于)一个或多个能被诸如计算系统110和/或部分网络架构200所访问的物理上单独的设备。
[0038]继续参考图1,存储设备132和133可配置为,对配置为存储计算机软件、数据或其他计算机可读信息的可移动存储单元进行读取和/或写入。适合的可移动存储单元的示例包括但不限于,软盘、盒式磁带、光盘、闪速存储器设备等等。存储设备132和133还可包括其他类似结构或设备,以允许计算机软件、数据或其他计算机可读指令载入计算系统110。举例来说,存储设备132和133可配置为读取和写入软件、数据或其他计算机可读信息。存储设备132和133还可以是计算系统110的一部分,或可以是通过其他接口系统访问的单独的设备。
[0039]许多其他设备或者子系统可以连接到计算系统110。相反,无需提供图1所示出的所有部件和设备以施行本文所述的实施例。以上所引用的设备和子系统还可以按照不同于图1所示的方式来互连。计算系统110还可以采用任何数目的软件、固件和/或硬件配置。以举例来说,本文公开的示范性实施例可在计算机可读介质上编码为计算机程序(也称作计算机软件、软件应用、计算机可读指令或计算机控制逻辑)。
[0040]包含计算机程序的计算机可读介质可载入计算系统110。存储于计算机可读介质上的全部或部分计算机程序随后可存储于系统存储器116和/或存储设备132和133的各部分中。当由处理器114执行时,载入计算系统110中的计算机程序可使处理器114实施和/或作为实施本文描述和/或示出的示范性实施例的功能的手段。附加地或替代地,本文描述和/或示出的示范性实施例可在固件和/或硬件中实现。
[0041]举例来说,用于实现CID解决方案的计算机程序可以存储在计算机可读介质上并且随后存储在系统存储器116和/或存储设备132和133的不同部分。当计算机程序由处理器114执行时,使得处理器114执行和/或是用于实施实行以下进一步详细描述的CID过程所需的功能的手段。
[0042]切割诊断(CID) —提高成品率陆升工艺的产量(throughput)的方法
[0043]失败的IC器件的诊断对于提供有关制造工艺期间发生在IC中的缺陷的位置和类型的有价值的信息是至关重要的。使用诊断数据来实行统计成品率分析,以高效识别IC中的主导缺陷图案并因此提高成品率陡升工艺。
[0044]如上所述,在半导体行业中成品率陡升工艺的速度对于上市时间标准至关重要。确定IC中的失败的行为的根本原因是成品率陡升工艺中的关键任务。然而,基于根本原因方法论的常规软件对于大规模设计往往非常慢并且是资源密集型的。举例来说,对于具有数百万门的大规模设计,诊断工具可能要求达数百千兆比的存储器。
[0045]此外,随着每芯片门数的继续增加,常规根本原因方法论由于模拟具有高的门数的大规模设计所需的显著处理和存储器资源因此变得越来越不切实际。举例来说,在诸如铸造车间的任何制造环境中,存在需要在几天内采用有限的计算资源来诊断的数千个失败的器件。假设计算和时间有限,常规的根本原因技术越来越不能支持这样高容量失败的器件的诊断。实际上由于当前运行时间限制,IC开发者典型仅通过基于根本原因诊断过程的软件运行挑选的芯片。这增加了在一些缺陷分布上遗漏的可能性。
[0046]因此本发明的实施例提供对加速成品率陡升工艺中的固有挑战的解决方案。本发明的一个实施例从芯片的整个设计智能确定和切割由缺陷所影响的逻辑(本文称之为“失败块”)并且创建较小的设计。随后,基于模拟的软件在更小的设计上运行以隔离缺陷位置。由本发明教导的该方法可以称为“切割诊断”(CID)。CID过程通过增加在给定时间期间可以测试的有缺陷的裸片的数目,来增加诊断的产量。此外,CID过程相对于常规根本原因方法使用明显较少的处理和存储器资源。因此,CID工具通过使用非常少的资源实施有缺陷的裸片的模拟和诊断来加速成品率陡升工艺。
[0047]图2是用于测试半导体IC芯片的自动化测试设备(ATE)装置的示意框图。ATE装置200可以用于例如在铸造车间的制造工艺期间最初确定哪个器件是失败的。在一个实施例中,系统控制器201包括一个或多个链接的计算机。在其他实施例中,计算系统控制器可以只包括单个计算机。计算系统控制器201是总体系统控制单元,并且运行ATE的软件,其负责完成所有用户级测试任务,包括运行用户的主测试程序。测试程序可以包括验证所连接的被测器件(DUT)所需的功能和其他必要的测试。在一个实施例中,DUT可以是半导体IC器件。
[0048]通信器总线215提供系统控制器和测试器硬件之间的高速电子通信信道。通讯器总线还可以称为背板、模块连接使能器或者系统总线。物理上,通信器总线215是可能是电的或光的等高速、高带宽多路连接总线。系统控制器201通过经通信器总线215发送命令来编程测试器硬件,以设置用于测试DUT211-214的条件。
[0049]测试器硬件202包括提供测试刺激源(测试矢量)给被测器件(DUT) 211-214并测量DUT对刺激源的反应,并且将其与预计反应进行比较所需的电子和电气部件和连接器的复杂集。
[0050]在由ATE装置200实施探查测试之后,所测试的IC的失败输出被确定。随后可以在软件中运行诊断过程以查找失败的行为的根本原因。
[0051]图3示出了显示金属上的示例性开口缺陷的电子显微镜图像。开口缺陷是导致失败的行为的一种制造缺陷类型的示例,其可以在使用本发明的CID过程软件中查找根本原因。由于在制造过程期间线310意外破裂,因此如图3所示存在线310上的开口缺陷。除开口电路(破裂)之外的可能导致失败的行为的其他类型的制造缺陷是短路(桥)或通孔堵塞(via-block)。在本发明的一个实施例中,使用CID工具将包括由任何这样的缺陷所影响的逻辑门和网的关键区域或失败块从整个设计中切割出,并且在所切割出的设计部分上而非整个设计上运行诊断过程,以尝试隔离缺陷位置。
[0052]图4示出了根据本发明一个实施例的、包括可以使用CID工具切割出的由缺陷所影响的逻辑的、芯片设计中的示例性失败块。举例来说,如图4所示,芯片设计400可以包括ARM核心模块450、两个处理器数据路径模块430和440、数字逻辑块模块420、I/O模块470、视频DAC模块497、WiFi模块495、音频模块496、USB模块460、PLL模块480和DDRSDRM接口模块490。
[0053]在本发明的一个实施例中,代替模拟整个芯片设计400,在诊断过程期间CID过程用作映射器并提取与软件中的缺陷相关联的失败块410。随后其模拟与失败的410相关联的较小的设计。然而,在失败块410的提取之前,CID工具首先需要确定与包括失败块410的缺陷相关联的怀疑故障候选者集。换言之,在从设计中将失败块提取并将其模拟为分立的模块之前,CID工具首先需要确定包括失败块的逻辑门和网。
[0054]图5A是示出了根据本发明一个实施例的、用于用来挑选候选怀疑者列表以确定芯片设计中的失败块的通用诊断过程的示例性过程的框图。开始于制造过程之后通过探查IC芯片的输出所观察的失败的主输出,在框501CID过程贯穿在软件中所表示的电路来使用关键路径跟踪或者“向后跟踪”,以识别可能潜在导致所观察到的IC的有故障的行为的怀疑故障候选者集。如果其变化造成任何失败的观察点的输出改变的路径被认为是关键的。在框502,关键路径跟踪包括模拟无故障电路并且使用计算的信号值来跟踪从所观察到的失败的主输出向供应那些输出的主要输入的路径,以确定用于所检测的故障的怀疑故障候选者的主要列表。
[0055]在框503,使用向前路径跟踪来更进一步挑选怀疑者列表并缩小由CID工具所使用的失败块的大小。在一个实施例中,在框502出所确定的最初的怀疑候选者可以注入各种输入刺激源并且向前跟踪到输出,以确定在失败的观察点处的行为是否复制在IC的探查期间所观察到的行为。举例来说,可以将已知在失败的主输出处产生失败结果的输入图案注入怀疑候选者。将在模拟期间的失败输出的响应与在有缺陷的裸片的探查期间所观察到的在失败输出处的响应进行匹配。如果响应不匹配,那么怀疑候选者可以从所怀疑的故障候选者列表中移除。类似,可以将已知在失败的主输出处产生通过结果的输入图案注入怀疑候选者。如果怀疑候选者在用于该输入图案的模拟期间产生失败结果,那么也可以将其从怀疑候选者列表中挑选出。这样在框504,向前跟踪可以用于确定较窄的第二 (次级)怀疑错误列表,从而使得CID工具能够获得较好的准确度和结果。关键路径或者向后跟踪和向前跟踪一起减小了搜索空间并且使得CID工具能够提取比原始设计更小的设计空间来模拟。
[0056]第二怀疑故障列表随后用于对失败块进行模拟以确定与缺陷对应的候选者故障电路系统。候选者故障电路系统可以随后发送到锻造车间,在此与IC设计相关联的物理裸片可以在与候选者故障电路对应的位置处进行物理检查,以隔离缺陷的根本原因。一旦缺陷被隔离,随后在制造工艺中付诸工艺改变以解决缺陷。通过能够快速提供针对缺陷的候选者列表,发现缺陷的时间减少并且在所分配的时间周期内可以检测到的缺陷的数目增力口。因此,成品率提高并且成品率陡升工艺的速度显著增加。
[0057]最初实施上述非故障电路的初始模拟并实行向后和向前跟踪的处理和存储器需求可能是高的。然而,本发明的CID工具的优点在于,其没有与在诊断期间模拟整个电路或者保存诸如与失败的根本原因无关的电路中的所有节点的模拟状态相关联的大量处理或存储器需求。因为模拟和诊断整个设计要求在存储器中同时维护数百万个门和网的状态,所以根本原因的常规方法相对地非常慢。
[0058]因此,使用CID工具极大增强用于诊断较大规模设计的产量。举例来说,在某些情况,使用CID工具可以导致基于根本原因技术的软件的周转时间提高超过70,000倍(70,OOOx)。此外,随着器件尺寸保持增大,提高的幅度将只会增加。由颗粒缺陷所影响的区域的数目保持恒定,但由于缩小技术节点因此由颗粒所影响的单元的数目可能增加。但是该增加预计非常小。因此,CID需要切割出的逻辑的数量将缓慢增加,典型地将不超过整个设计大小的1%。因此,相对常规根本原因软件(其模拟整个设计),甚至对于将来的设计大小使用CID工具导致巨大的性能提升。
[0059]本发明的较快的模拟时间和小的设计的另一个优点在于,之前被认为由于设计大小而难以运行的其他数个基于根本原因方法的软件可以结合本发明来使用。如果有更有效的可用的缺陷隔离,那么成品率陡升工艺将因此更准确。
[0060]最后,由于常规诊断方法的处理和存储器限制,只有选择的芯片通过基于根本原因过程的软件来运行。这增加了忽略一些缺陷机制的可能性。采用本发明的CID方法,芯片开发者或制造者将可以通过根本原因软件运行所有失败的芯片,并在启动阶段和规模生产两者中拦截更多的失败的机制。
[0061]图5B是示出了根据本发明的一个实施例的、用于确定与失败输出相关联的失败块的诊断分区的框图。IC500包括输入540A-540N和输出530A-530E。在制造工艺之后开始进行的探查过程期间,可能已经发现IC500包括两个失败输出530B和530C。
[0062]在通过探查识别失败输出530B和530C之后,本发明的基于根本原因方法的软件可以用于向后跟踪,以识别包括可能潜在导致所观察到的IC的有故障的行为的门和网的怀疑故障候选者集。怀疑故障候选者集最终包括由本发明的CID工具操作的失败块。
[0063]使用向后跟踪,每个失败输出530B和530C的第一扇入锥可以被确定。典型,任何给定失败输出的扇入锥包括可以结构上到达失败输出的逻辑路径。用于失败输出530B的扇入锥由区域580代表,并且用于失败输出530C的扇入锥由区域590代表。确定扇入锥的向后跟踪使得本发明的CID过程能够确定故障候选者的初始列表。可以预计缺陷位于由扇入锥580和590的组合联合所覆盖的区域范围内的某处。
[0064]接下来的向前跟踪用于进一步缩小可能的怀疑者的列表。在一个实施例中,扇入锥580和590中的一个或多个怀疑候选者可以首先注入已知在失败的主输出530B或者530C的一个处产生失败结果的输入图案。如果导致的响应与所观察的响应不匹配,那么如上所述可以从怀疑者列表移除怀疑候选者。随后,一个或多个怀疑候选者还可以注入已知在失败的主输出的一个处产生通过结果的输入图案。如果在针对该输入图案的模拟期间怀疑候选者产生失败结果,那么其可以从怀疑候选者列表中挑选出。在一个实施例中,在向前跟踪过程期间可以在失败的输入图案之前运行合格的输入图案。
[0065]向后和向前跟踪的结果是一个或多个失败块505和510,其可以由CID根据提取并独立于整个芯片的设计来进行模拟。
[0066]如上所述,失败块可以被模拟以确定与缺陷对应的候选者故障电路系统。候选者故障电路系统随后可以发送到铸造车间,在此与IC设计相关联的物理裸片可以在与候选者电路系统对应的位置处进行物理检查以隔离缺陷的根本原因。
[0067]在一个实施例中,通过还在附加的通过主输出处观察,可以提高CID工具的分辨率。举例来说,如果仅观察输出530B和530C,那么扇入锥580中的怀疑者可以通过向前跟踪过程的合格的输入图案测试和失败的输入图案测试两者。然而,相同的怀疑者可能产生在输出530A处的失败结果。因此,在一个实施例中在分析中还可以包括通过主输出530A的扇入锥以进一步减小怀疑者列表,从而提高分辨率。然而,这将增加失败块的大小并且因此要求更多个的处理和存储器资源。因此存在用于确定怀疑者列表的观察的节点的数目和导致的失败块的大小之间的权衡。
[0068]在另一个实施例中,可以设定独立于更广泛的电路来模拟的失败块的大小。举例来说,CID工具可以设定失败块的上线为原始电路的总体门的10%。如果使用向后和向前跟踪技术所确定的失败块的大小最终会是10%以上,那么CID工具将降低与主通过输出相关联的扇入锥直到失败块的大小下降到10%以下。类似,如果失败块的大小最终会远低于10%,那么CID工具可以添加附加的观察点到分区以提高分辨率。
[0069]图6是示出了根据本发明一个实施例的、用于使用CID工具来检修缺陷的1C、确定失败的根本原因以及提高成品率的示例性处理流程的框图。
[0070]框610表示在铸造车间的制造工艺之后将被测试的裸片。在框620,类似于图2的测试器200的测试器可以用于探查裸片以确定失败的主输出。在框630生成测试逻辑,其包括关于所预计的输出和测试裸片610导致的实际的输出的信息。在一个实施例中,只有失败的比特记录在测试记录文件中,使得可以容易地确定失败的比特(或失败输出)。测试记录可以由芯片的设计者使用以使用根本原因软件方法论来检修芯片中的错误。
[0071]在框640,包括本发明的CID工具的诊断程序如上述用于识别针对裸片中的缺陷的怀疑故障候选者。
[0072]如上所述,首先使用向后和向前跟踪,并且随后与故障候选者相关联的所怀疑的失败块被识别。该失败块明显小于原始设计并且可以采用相当少的资源来模拟和诊断。失败块的模拟的结果提供造成器件失败的所怀疑的逻辑单元。如图6所示,在给定的批次中为包括相同的设计的所有裸片重复该过程。
[0073]将候选者故障电路系统提供回到器件610的制造者,使得可以检查与所怀疑的逻辑单元对应的物理位置的任何材料缺陷,例如在框660处的桥故障。如图所示,为所有的裸片开始进行物理检查以确定裸片中的缺陷位置。
[0074]在一个实施例中,在框670可以使用故障直方图以确定在制造工艺中的最常发生和有问题的缺陷。
[0075]在框680,可以调整制造工艺以消除缺陷。结果,在框690成品率可以提高。另外,由于模拟所识别的失败块所需的短的模拟时间,成品率陡升时间减小。
[0076]图7描绘了根据本发明一个实施例的、使用CID过程识别候选者故障电路系统的示例性过程的流程图640。流程图640提供图6的框640处的在软件中如何识别造成失败的所怀疑的逻辑单元的更详细的描述。然而本发明不限于由流程图640所提供的描述。当然,相关领域技术人员应该理解,从本文所提供的教导其他功能流程在本发明的范围和精神内。将继续参考上述示例性实施例来描述流程图640,虽然方法不限于那些实施例。
[0077]在框702,从铸造车间接收来自对物理裸片进行探查的失败的主输出。所上所述,从探查所生成的测试记录文件包括实际的和预计的输出的列表,其可以由本发明的根本原因软件使用以在失败的主输出列表中读取。
[0078]在块704,包括CID工具的根本原因软件可以预处理阶段期间在软件中模拟电路的无故障原始设计。在该预处理阶段所提取的模拟值稍后用于由根据本发明的实施例的CID工具实施的向后和向前跟踪。虽然该模拟可能是耗时和资源密集型的,但是与对可能与在成品率陡升工艺期间正模拟的设计相关联的数千个或者更多个裸片进行诊断相比,成本是可忽略的。
[0079]在块706,CID过程使用关键路径跟踪或者“向后跟踪”,以使用从无故障电路模拟所确定的信号值来识别与每个失败的主输出相关联的扇入锥。在框708,CID过程使用扇入锥可以随后确定可能潜在导致所观察的IC的有故障的行为的怀疑故障候选者的初始列表。
[0080]在框710,CID过程使用向前路径跟踪以甚至进一步挑选候选者列表。如上所述,向前路径跟踪可以涉及将合格的和失败的输入刺激源两者注入怀疑候选者,并确定失败输出的行为是否与在探查过程期间所观察到的相同的输出一致。
[0081]在框712,一旦确定怀疑候选者的第二列表,则失败块通过使用CID过程被识别并且独立于原始设计来模拟以确定潜在地与裸片中的缺陷相关联的怀疑者的最终列表。这些是随后发送回铸造车间并用于诊断裸片中的缺陷位置的候选者。
[0082]同时,前述公开阐述了使用特定框图、流程图和示例的各种实施例,每个框图部件、流程图步骤、操作和/或本文描述和/或示出的部件均可单独地和/或共同地,通过使用各种不同的硬件、软件或固件(或其任意组合)配置来实现。另外,对包含在其他部件内的部件的任何公开均应视为示例,因为可实现许多其他架构来达到相同的功能。
[0083]本文描述和/或示出的工艺参数和步骤序列仅以示例方式给出。举例来说,虽然本文示出和/或描述的步骤可能以特定的顺序显示或论述,但这些步骤不是必须按所示出或论述的顺序来实施。本文描述和/或示出的各种示范性方法也可以省略一个或多个本文描述或示出的步骤,或包括附加步骤作为那些所公开步骤的补充。
[0084]虽然本文已围绕全功能计算系统描述和/或示出了各种实施例,但这些示范性实施例中的一个或多个可分配为各种各样的形式的程序产品,而与用来实际执行分配的计算机可读介质的特定类型无关。本文公开的实施例也可以使用实施某些任务的软件模块来实现。这些软件模块可包括脚本、批处理或其他可被存储在计算机可读存储介质上或计算系统内的可执行文件。这些软件模块可以配置计算系统来实施一个或多个本文公开的示范性实施例。本文公开的软件模块中的一个或多个可在云计算环境中实现。云计算环境可经由因特网提供各种服务和应用。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等等)可通过Web浏览器或其他远程接口访问。本文描述的各种功能可通过远程桌面环境或任何其他基于云计算的环境提供。
[0085]前述的描述,出于解释的目的,已参考特定实施例进行了描述。然而,上述说明性的论述不旨在穷举或将本发明限制在所公开的明确形式上。鉴于以上教导,许多修改和变形是可能的。实施例被选择和描述以最好地解释本发明的原理及其实际应用,从而使其他的本领域技术人员采用各种适用于特定预期用途的修改来最好地利用本发明和各种实施例。
[0086]根据本发明的实施例因此被描述。虽然本公开已在特定实施例中加以描述,但应理解本发明不应被解释为限于这些实施例,而应根据以下的权利要求来进行解释。
【权利要求】
1.一种用于产生集成电路中的候选者故障电路系统的方法,所述方法包括: 从所述集成电路的至少一个失败输出向后跟踪,以使用从所述集成电路的设计的无故障模拟获得的模拟值来确定每个失败输出的对应的扇入锥; 确定所述每个失败输出的怀疑故障候选者的第一集合,其中每个怀疑故障候选者潜在地与所述集成电路中的对于在对应的失败输出处产生失败结果负有责任的缺陷相对应; 从所述第一集合中的每个怀疑故障候选者向前跟踪,以确定怀疑故障候选者的第二集合,其中所述第二集合是所述第一集合的窄子集,并且其中,与所述第一集合中的每个怀疑故障候选者相比,所述第二集合中的每个怀疑故障候选者具有更高的可能性与所述集成电路中的缺陷相对应;以及 从所述集成电路的所述设计识别失败块,其中所述失败块包括来自所述第二集合的怀疑故障候选者,并且其中可以独立于所述设计来模拟所述失败块。
2.根据权利要求1所述的方法,进一步包括模拟所述失败块以确定怀疑故障候选者的第三集合,其中所述第三集合是所述第二集合的窄子集,其中,与所述第二集合中的每个怀疑故障候选者相比,所述第三集合中的每个怀疑对象候选者具有更高的可能性与所述集成电路中的缺陷相对应。
3.根据权利要求1所述的方法,其中所述集成电路中的缺陷的类型可以从包括桥、破裂和通孔堵塞的组中选择。
4.根据权利要求1所述的方法,其中所述向前跟踪进一步包括: 使输入刺激源进入所述第一集合中的每个怀疑故障候选者并监控对所述刺激源的响应; 将所述响应和与所述集成电路相关联的裸片对所述输入刺激源的所观察的响应进行比较,其中所述所观察的响应在硬件测试和所述裸片的探查期间记录;以及 响应于确定所述响应与来自所述硬件测试的所述所观察的响应不匹配,从所述第二集合排除怀疑故障候选者。
5.根据权利要求4所述的方法,其中所述向前跟踪进一步包括: 响应于确定所述响应与来自所述硬件测试的所述所观察的响应匹配,将怀疑故障候选者包括在所述第二集合中。
6.根据权利要求4所述的方法,其中所述输入刺激源是失败的图案,其中所述失败的图案在对应的失败输出处产生失败的响应。
7.根据权利要求4所述的方法,其中所述输入刺激源是合格的图案,其中所述合格的图案在对应的失败输出处产生合格的响应。
8.根据权利要求1所述的方法,其中所述识别进一步包括: 将来自合格的主输出的扇入锥的怀疑故障候选者结合到所述失败块中。
9.根据权利要求1所述的方法,其中所述失败块受大小限制,其中所述大小限制表示为所述集成电路的所述设计的大小的百分比。
10.一种计算机可读存储介质,其具有存储于其上的计算机可执行指令,当所述指令由计算机系统执行时,使得所述计算机系统实施用于产生集成电路中的候选者故障电路系统的方法,所述方法包括: 从所述集成电路的至少一个失败输出向后跟踪,以使用从所述集成电路的设计的无故障模拟获得的模拟值来确定每个失败输出的对应的扇入锥; 确定所述每个失败输出的怀疑故障候选者的第一集合,其中每个怀疑故障候选者潜在地与所述集成电路中的对于在对应的失败输出处产生失败结果负有责任的缺陷相对应; 从所述第一集合中的每个怀疑故障候选者向前跟踪,以确定怀疑故障候选者的第二集合,其中所述第二集合是所述第一集合的窄子集,并且其中,与所述第一集合中的每个怀疑故障候选者相比,所述第二集合中的每个怀疑故障候选者具有更高的可能性与所述集成电路中的缺陷相对应;以及 从所述集成电路的所述设计识别失败块,其中所述失败块包括来自所述第二集合的怀疑故障候选者,并且其中可以独立于所述设计来模拟所述失败块。
11.根据权利要求10所述的计算机可读介质,其中所述方法进一步包括,模拟所述失败块以确定怀疑故障候选者的第三集合,其中所述第三集合是所述第二集合的窄子集,其中,与所述第二集合中的每个怀疑故障候选者相比,所述第三集合中的每个怀疑对象候选者具有更高的可能性与所述集成电路中的缺陷相对应。
12.根据权利要求10所述的计算机可读介质,其中所述集成电路中的缺陷的类型可以从包括桥、破裂和通孔堵塞的组中选择。
13.根据权利要求10所述的计算机可读介质,其中所述向前跟踪进一步包括: 使输入刺激源进入所述第一集合中的每个怀疑故障候选者并监控对所述刺激源的响应; 将所述响应和与所述集成电路相关联的裸片对所述输入刺激源的所观察的响应进行比较,其中所述所观察的响应在硬件测试和所述裸片的探查期间记录;以及 响应于确定所述响应与来自所述硬件测试的所述所观察的响应不匹配,从所述第二集合排除怀疑故障候选者。
14.根据权利要求13所述的计算机可读介质,其中所述向前跟踪进一步包括: 响应于确定所述响应与来自所述硬件测试的所述所观察的响应匹配,将怀疑故障候选者包括在所述第二集合中。
15.根据权利要求13所述的计算机可读介质,其中所述输入刺激源是失败的图案,其中所述失败的图案在对应的失败输出处产生失败的响应。
16.根据权利要求13所述的计算机可读介质,其中所述输入刺激源是合格的图案,其中所述合格的图案在对应的失败输出处产生合格的响应。
17.根据权利要求10所述的计算机可读介质,其中所述识别进一步包括: 将来自合格的主输出的扇入锥的怀疑故障候选者结合到所述失败块中。
18.根据权利要求10所述的计算机可读介质,其中所述失败块受大小限制,其中所述大小限制表示为所述集成电路的所述设计的大小的百分比。
19.一种测试器系统,包括: 用于在测试记录中读取的输入接口,其中所述测试记录包括与在硬件测试和裸片的探查期间在多个失败输出处所记录的所观察的响应相关的信息; 存储器,用于存储与所述裸片相对应的集成电路的设计和从所述集成电路的所述设计的模拟所生成的模拟值;以及处理器,配置为:从与所述集成电路的所述设计相关联的所述多个失败输出向后跟踪,以使用从所述集成电路的所述设计的无故障模拟获得的模拟值来确定每个失败输出的对应的扇入锥; 确定所述每个失败输出的怀疑故障候选者的第一集合,其中每个怀疑故障候选者潜在地与所述集成电路中的对于在对应的失败输出处产生失败结果负有责任的缺陷相对应; 从所述第一集合中的每个怀疑故障候选者向前跟踪,以确定怀疑故障候选者的第二集合,其中所述第二集合是所 述第一集合的窄子集,并且其中,与所述第一集合中的每个怀疑故障候选者相比,所述第二集合中的每个怀疑故障候选者具有更高的可能性与所述集成电路中的缺陷相对应;以及 从所述集成电路的所述设计识别失败块,其中所述失败块包括来自所述第二集合的怀疑故障候选者,并且其中,可以独立于所述设计来模拟所述失败块。
20.根据权利要求19所述的测试器系统,其中所述处理器进一步配置为,模拟所述失败块以确定怀疑故障候选者的第三集合,其中所述第三集合是所述第二集合的窄子集,其中,与所述第二集合中的每个怀疑故障候选者相比,所述第三集合中的每个怀疑对象候选者具有更高的可能性与所述集成电路中的缺陷相对应。
【文档编号】G06F17/50GK104050308SQ201310753176
【公开日】2014年9月17日 申请日期:2013年12月31日 优先权日:2013年3月14日
【发明者】维沙·梅塔, 布鲁斯·科里 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1