集成电路中的桥接缺陷的详尽诊断的制作方法

文档序号:6454930阅读:358来源:国知局
专利名称:集成电路中的桥接缺陷的详尽诊断的制作方法
技术领域
本发明一般涉及诊断集成电路中的故障,更特别地是涉及诊断集
成电路中的桥接缺陷(bridging defect)。
背景技术
作为集成电路(IC)设计中的节点之间的无意电连接或"短路" 的桥接缺陷的逻辑和电行为长期以来是测试界中的研究主题。桥接缺 陷是IC制造产量损失的主要原因,因此减少它们的数量对于IC制造 商具有显著的财政益处。桥接缺陷,特别是高电阻桥(bridge),也 可躲过制造测试中的检测。具有未检测到的桥的IC由此可被错误地 装运到客户,在客户那里它会立即或在延长的使用时段之后发生故障。
预见和适应桥接缺陷的变化行为的能力在目标是确定缺陷的物理 位置的故障诊断中比在其它领域中对于成功更重要。根据对影响桥行 为的所有已知情节(scenario)和物理因素进行模拟的复杂性和费用, 已进行了许多创造性工作以找到使用简单的逻辑故障模型来诊断桥接 缺陷的方式。但是,由两个或更多个节点之间的短路导致的逻辑行为 依赖于诸如驱动被桥接节点的晶体管的相对驱动强度、桥下游的门 (gate)的输入逻辑阈值和桥本身的电阻的物理细节。桥将反馈路径 引入电路中或表现出"Byzantine Generals"行为(其中,不是缺陷点
逻辑值)的可能性示出了用简单的逻辑模型捕获桥接缺陷的复杂I的 困难。出于这些原因,依赖于逻辑故障模型的诊断方法必须容忍不被 所述模型预见的缺陷电路行为。该容忍可导致较不精确的诊断或错误 缺陷的诊断。
作为逻辑故障模型的替代方案,使用静态电源电流(IDDQ)桥故障模型以诊断桥接缺陷。IDDQ桥故障模型通过完全忽略逻辑行为而避
免预测桥的逻辑行为所固有的问题。作为替代,该模型仅预测IC在
静态状态中时将由于桥接缺陷的存在而吸取附加的电流("缺陷电流")
的情况。对于处于等待(standby)或静态状态中的典型的互补金属氧 化物半导体(CMOS)集成电路(IC) , 1oDQ主要包含泄漏/背景电流。
两个节点之间的桥接缺陷可显著升高IDDQ,使得lDDQ的值可指示是否 存在桥接缺陷。基于IoDQ桥故障模型的诊断方法使观察到的lDDQ值与 两个节点的逻辑状态相一致,以确定这两个节点是否被桥接。
使用IDDQ桥故障模型的诊断方法的基本问题是在诊断中被考虑的
一组候选桥接故障。即使包含例如一百万个电路节点的相对小的IC
也具有超过五千亿对节点,其中的任一个在理论上都可通过桥接缺陷
被连接。对于大的工业设计,考虑所有这些节点对(详尽的(exhaustive) 两节点桥诊断)一般被认为在计算上是难处理的。
同样地,大多数基于IDD(J的桥诊断方法共有的属性是对于一组所
谓的"实际(realistic)"桥接故障的依赖。在诊断之前通过检查例如 布局提取的物理布局确定一组实际桥。物理检查的目的是识别其物理 接近度使得它们更可能通过桥接缺陷被连接的节点对。布局提取一般 产生其数量为所有可能的两节点桥的小部分的候选桥故障的列表。因 此,仅考虑实际桥显著减少诊断所需要的CPU资源。
不幸的是,至少两个因素限制了依赖于一组实际桥的任何诊断方 法的适用性。首先是提取和存储实际桥的费用。就CPU资源而言,布 局提取一般是昂贵的。对于愿意对其进行许多诊断的被大量生产的IC 设计来说,在一次的基础上该费用是可接受的。但是,对于每年制备 数百个不同的ASIC设计的IC制造商来说,布局提取显然变为麻烦的 诊断先决条件。
但是,将诊断限于一组实际故障的更明显的缺点是,在布局提取 中用于确定哪些桥是"实际的"的规则基于可能不总是有效的假设。 为了减少运行时间和存储空间,例如,即使在不同的处理层中连接节 点的垂直桥的出现被较好地证实,布局提取一般也仅识别位于相同的般地,半导体制造线产生"未预料的" 桥接缺陷的能力是相当大的。诊断事先不知道预料的桥接缺陷的能力 是仅考虑实际桥的方法不能实现的优点。
Chakravarty和Suresh的IDDQ Measurement Based Diagnosis of Bridging Faults in Full Scan Circuits, 7th International Conference on VLSI Design (l994年1月)提出使用IuDQ执行详尽的两节点桥接故障 诊断的方法。Chakravarty和Suresh依赖于使用"序偶集组(set of ordered pairs of sets) (SOPS)"的所有可能的两节点桥的隐含表示。 但是,由于考虑每一测试矢量并再分每一 SOPS,因此该方法需要的 存储器的数量可指数增加并可能超过计算机的容量。另外,仅对于一 组小的基准电路公布了 Chakravarty和Suresh方法的结果,并且,即 使这些结果也包含几乎需要一小时的CPU时间的测试情况。由此,即 使对于其尺寸超过基准电路尺寸100倍或更多的中等尺寸的工业电 路,Chakravarty和Suresh方法的应用也不是可行的替代方案。
基于以上情况,在本领域中需要可以以有效的方式考虑IC芯片 中的所有节点对之间的桥接缺陷的诊断方法。对于该需求,本领域技 术的当前状态没有提供令人满意的解决方案。除了其它问题以外,本 发明解决该问题。

发明内容
公开了用于诊断包含多个节点的集成电路中的桥接缺陷的方法、 系统和计算机程序产品。在多个测试矢量下测量集成电路(IC)的静 态电源电流(lDDQ)。还在所述多个测试矢量下获得IC上的节点的逻 辑状态。所述节点基于它们在低电流测试矢量下的逻辑状态被划分成 组。基于节点在高电流测试矢量下的逻辑状态,大的组进一步被分为 子组("状态计数子组(state-count subset)")。对于大的组,仅
对于属于具有互补状态计数的子组的节点对执行lDDQ桥故障模型下的
明确评价,以节省系统计算资源。由于系统资源的节省,因此可以实
现考虑IC上的所有节点对的详尽诊断。本发明的第一方面针对一种用于诊断包含多个节点的集成电路中
的桥接缺陷的方法,该方法包括在多个测试矢量下获得所述集成电 路的静态电源电流(IDDQ)测量结果(measurement);将获得的IDDQ 测量结果中的每一个分类为缺陷值和非缺陷值中的一个;在所述多个 测试矢量中的每一个下获得所述多个节点中的每一个的逻辑状态;确 定所述多个节点中的两个是否构成互补节点对;以及诊断是否在确定 的互补节点对之间存在桥接缺陷。
本发明的第二方面针对一种用于诊断包含多个节点的集成电路中 的桥接缺陷的系统,该系统包括用于在多个测试矢量下测量所述集 成电路的静态电源电流(IDDQ)的装置;用于将获得的Iddq測量結果 中的每一个分类为缺陷值和非缺陷值中的一个的装置;用于在所述多 个测试矢量中的每一个下获得所述多个节点中的每一个的逻辑状态的 装置;用于确定所述多个节点中的两个是否构成互补节点对的装置; 以及用于诊断是否在确定的互补节点对之间存在桥接缺陷的装置。
本发明的第三方面针对一种用于诊断包含多个节点的集成电路中 的桥接缺陷的计算机程序产品,该计算机程序产品包括被配置为完 成以下步骤的计算机可用程序代码在多个测试矢量下获得所述集成 电路的静态电源电流(IDDQ)测量结果;将获得的Iddq測量結果中的 每一个分类为缺陷值和非缺陷值中的一个;在所述多个测试矢量中的 每一个下获得所述多个节点中的每一个的逻辑状态;确定所迷多个节 点中的两个是否构成互补节点对;以及诊断是否在确定的互补节点对 之间存在桥接缺陷。
本发明的第四方面针对一种产生用于诊断包含多个节点的集成电 路中的桥接缺陷的系统的方法,该方法包括提供可操作为完成以下 步骤的计算机基础结构在多个测试矢量下获得所述集成电路的静态 电源电流(IDDQ)测量结果;将获得的lDDQ测量结果中的每一个分类 为缺陷值和非缺陷值中的一个;在所述多个测试矢量中的每一个下获 得所述多个节点中的每一个的逻辑状态;确定所述多个节点中的两个 是否构成互补节点对;以及诊断是否在确定的互补节点对之间存在桥接缺陷。
结合附图阅读本发明的以下非限制性详细说明,仅由权利要求限 定的本发明的其它方面和特征将对于本领域普通技术人员变得显而易 见。


将参照以下的附图详细说明本发明的实施例,其中,类似的标记
表示类似的要素,并且其中
图1示出根据本发明一个实施例的桥接缺陷诊断系统的示意图。 图2示出根据本发明 一个实施例的解释性计算机系统的框图。 图3示出根据本发明一个实施例的桥接缺陷诊断系统的操作的流程图。
图4示出根据本发明一个实施例的处于各种测试矢量之下的静态 电源电流和集成电路节点逻辑状态的数据表的解释性例子。
图5示出根据本发明一个实施例的具有分类的Iddq的困4的数据表。
图6示出根据本发明一个实施例的处于低电流矢量下的节点组的 二叉树(binary tree )的解释性例子。
图7示出根据本发明一个实施例的通过使用状态计数子组而不是 节点对的明确评价来确定没有桥接缺陷涉及恒定状态节点的解释性例 子。
图8示出根据本发明一个实施例的使用状态计数子组以迅速减少 需要明确评价的节点对的数量的解释性例子。
注意,本发明的附图不是按比例的。附图意图仅在于示出本发明 的典型方面,因此不应被视为限制本发明的范围。在附图中,类似的 编号始终表示类似的要素。
具体实施例方式
对于实施例的以下详细说明参照示出本发明的具体实施例的附图。具有不同的结构和操作的其它实施例不背离本发明的范围。 实施本发明的最佳方式
参照图1,示出解释性的桥接缺陷诊断系统(诊断系统)10的示 意图。根据一个实施例,诊断系统10包括包含应被意识到的多个节 点的集成电路(IC) 20;包含测试矢量产生器32和测试器34的测试 矢量源30; Iddq測量器40;逻辑状态检测器50;和桥接缺陷诊断器 60。集成电路(IC) 20可被耦接在正电源(VDD) 22和地24之间。 在操作中,测试矢量产生器32产生测试矢量,并且测试器34将产生 的测试矢量输入IC20中,其将IC20上的节点驱动/设置为不同的逻
辑状态。在每一测试矢量下,iddq测量器40测量IC20的iddq,并且
逻辑状态检测器50检测/获得IC 20上的节点的逻辑状态。测量的IDDq 和获得的逻辑状态可被馈入桥接缺陷诊断器60以进行处理。
应当理解,IC20上的节点的逻辑状态不限于状态"0"和"1"。 例如,在IC 20的晶体管或开关级表示中,处于一些测试矢量下的某 些节点将与Vdd22和GND24两者电隔离,即,"浮动,,。并且,一 些节点的逻辑状态可能不是在所有的矢量上是已知的(这些未知的状 态通常在模拟中被称为逻辑"X"状态)。所有这些情况均处于本发 明的范围内。但是,在以下的说明中,出于解释性目的,使用测试矢 量下的节点逻辑状态"1"和"0"作为例子。
应当理解,诊断系统10的部件可位于分开的物理位置上或位于单 一的物理位置上。另外,诊断系统10的部件可被实施为实际的机构或 者可通过模拟被实施。例如,测试矢量产生器32可以是在计算机系统 中存储和实施的自动测试模式产生(ATPG)软件,并且测试器34可 以是例如自动测试设备(ATE )的基于硬件的装置。测试器34也可以 是将由IC设计人员设计的测试模式馈送到IC20的物理机构。另夕卜, IC20的节点的逻辑状态可以在产生的测试矢量下被实际测量,或者, 可以使用例如IC设计的算法说明的IC设计数据在测试矢量下被模 拟。应当理解,实施诊断系统10的所有可能的实施例包含在本发明中。
根据一个实施例,可通过存储在计算机系统100中的计算机软件产品来实施桥接缺陷诊断器60。以下将说明计算机系统100的细节。 参照图2,示出根据本发明一个实施例的解释性计算机系统100 的框图。在一个实施例中,计算机系统100包含存储器120、处理单 元(PU) 122、输入/输出装置(I/O) 124和总线126。也可设置数据 库128用于存储关于处理任务的数据。存储器120包含当被PU 122 执行时包含以下进一步详细说明的各种功能能力的程序产品130。存 储器120 (和数据库128)可包含任何已知类型的数据存储系统和/或 传送介质,包括磁介质、光介质、随机存取存储器(RAM)、只读存 储器(ROM)、数据对象(data object)等。并且,存储器120 (和 数据库128)可位于包含一种或更多种类型的数据存储的单一物理位 置处,或分布在多个物理系统中。PU122可同样包含单一处理单元或 分布在一个或更多个位置中的多个处理单元。I/O 124可包含任何已知 类型的输入/输出装置,包括网络系统、调制解调器、键盘、鼠标、扫 描仪、声音识别系统、CRT、打印机、盘驱动器等。诸如高速緩冲存 储器、通信系统、系统软件等的附加部件也可被加入计算机系统100 中。
如图2所示,程序产品130可包含可实施图1的桥接缺陷诊断器 60的桥接缺陷诊断系统132。桥接缺陷诊断系统132可包括数据收 集器140;操作控制器141; Iddq分矣器142;节点划分器144、包含 状态计数子组构建器146和恒定状态节点过滤器148的互补对识别器 145;节点对评价器150;和其它的系统部件154。其它的系统部件154 可包含这里没有单独描绘但本领域技术人员理解的计算机系统100的 任何现在已知或以后开发的部件。
对于计算机系统100的输入包含IDDQ输入160、节点逻辑输入162 和操作员输入164。 IoDQ输入160可包含由Iddq測量器40 (图1)收 集的数据。节点逻辑输入162可包含由逻辑状态检测器50 (图1)收 集的数据。操作员输入164可包含计算机系统100的操作员关于桥接 缺陷诊断系统132等的操作的指令。例如,如将在后面说明的那样,
操作员可关于用于将获得的IDDQ (例如,来自lDDQ输入160)分割/分类的阈值来指示lDDQ分类器142。这些输入可通过I/O 124被传送 给计算机系统100,并可被存储在数据库128中。在桥接缺陷诊断系 统132的操作中,输入的数据可被数据收集器140收集。计算机系统 100的输出包含被传送给为服务付费以相应地行动的用户或客户等的 诊断输出166。例如,如果在IC设计中发现桥接缺陷,那么IC设计 人员可修改IC制造过程或开发用于克服桥接缺陷的方法。以下将详 细说明桥接缺陷诊断系统132的操作。
桥接缺陷诊断系统132 —般用于诊断是否在IC芯片上的两个节 点之间存在桥接缺陷。诊断基于由Iddq測量器40和节点逻辑状态检 测器50 (图1)收集的数据。图3示出桥接缺陷诊断系统132的操作 的一个实施例。现在参照图2-3,首先,在步骤S1中,数据收集器 140收集并组织数据以便于数据的进一步的分析。收集的数据包含Im)Q 输入160、节点逻辑输入162和操作员输入164。在收集数据之后,数 据收集器140组织数据以便于将在后面说明的进一步的分析。任何现
中:例i:可以在图4所示的表中排列k于各种测试矢量下的Iddq和 节点逻辑状态的数据。如图4所示,在列中列出具体测试矢量下的IDDq 值(In)和节点(示出两个节点A和B)的逻辑状态,其便于分析测
试矢量下的节点和有关的lDD(J测量结果之间和之中的关系。另外,例
如为了在数据指示几个电流电平时集中分析特定电流电平的原因,或 者只是要排除可能难以在步骤S2中准确地分类的数据,数据收集器 140可滤除一些测试矢量的数据。
然后,在步骤S2中,I卯Q分类器142确定将获得的IC20 (图1) 的Iddq测量结果中的每一个分类为缺陷值和非缺陷值中的一个的准 则。 一般地,每当两个被桥接的节点被驱动为相反的逻辑状态,那么
缺陷电流将流动,其对测量的lDDQ有贡献。同样,(IDDQ)的缺陷值
将被用于表示可能包含缺陷电流的贡献的被测量的lm)Q的值;并且,
非缺陷值将被用于表示不包含缺陷电流的贡献的被测量的Iddq的但。
另外,产生loDQ的缺陷值的测试矢量将被称为高电流矢量;并且,产生lDDQ的非缺陷值的测试矢量将被称为低电流矢量。应当理解,术语 "高电流矢量"和"低电流矢量"的使用是出于方便和解释性的目的, 并且不一定意味着例如在指定为"高电流矢量"的给定矢量上测量的 lDDQ的实际值必须比在给定的"低电流矢量"上测量的高。还应理解, 任何现在可用和以后开发的区分"高电流"矢量和"低电流,,矢量的
方法/标准可被101)(3分类器142使用,并且均包含于本发明内。例如,
可以产生从最小到最大将测量的IDDQ的值排序的测量的IDDQ的电流标
志(signature)。如果在电流标志的图中存在跳跃,那么跳跃点周围
的lDDQ的值可被选为用于区分高电流矢量和低电流矢量的阈值。对于 另一例子,"高电流"值可处于测量的lDDQ的范围内,并且,具有超 出该范围(更高或更低)的lDDQ值的矢量可被视为低电流矢量。图5
示出具有分类的Iddq的数据表,其中,标记"H"和"L"分别表示 高电流矢量和低电流矢量。在以下的说明(包含图5)中,假定Iddq
分类器142确定用于将lDDQ测量结果分为高电流矢量(在该高电流矢
量上缺陷是"起作用的(active)"并使缺陷电流对 总Iddq 有贡献)
和低电流矢量(在该低电流矢量上缺陷是"不起作用的"并导致ic 不吸取额外的电流)的阈值。
如上所述,确定用于将获得的lDDQ分类的准则可能是不容易的。 为了解决该问题,根据一个实施例,可以基于用于将lDDQ值分类的不
同标准/准则来重复(iterate)分类被测量的100<3并分析被分类的IDDQ
等的处理。应当理解,IoDQ值的不同分类可带来桥接缺陷诊断的不同
结果。这些不同的结果可均被用于IC的进一步的检查中以诊断桥接
缺陷,例如物理评价。可由用户通过检查例如Ij)DQ标志图来确定、或
者可基于分配给IC的具体诊断任务的系统资源来确定重复的总数。 将在后面进一步说明重复的细节。
然后,在步骤S3中,节点划分器144在低电流矢量下基于节点的 逻辑状态将IC上的节点划分成组。具体地,节点划分器144对于(优 选所有的)低电流矢量确定节点中的两个是否处于相同的逻辑状态。 如果不是,那么这两个节点将被放入不同的组中。划分的一个目的/用途是将大的节点组分成多个比原始的大组需要较少的时间用于处理 的较小的节点组(集合)。划分的基础是,如果处于逻辑"1"的节点 和处于逻辑"0"的另一节点之间存在桥接缺陷,那么桥将测量的lDDQ 升高到缺陷值,例如高电流。同样,如果在低电流矢量下两个节点处 于不同的逻辑状态,那么这两个节点没有被桥接。换句话说,只有在 低电流矢量下处于相同的逻辑状态的节点才可能在它们之中和之间具 有桥。同样,在低电流矢量下,IC上的节点将基于它们的逻辑状态被 划分为两个组。
使用其它的低电流矢量,该划分操作可被递归应用于在先前的低 电流矢量下基于节点逻辑状态产生的每一组。该处理可构建其高度为 被考虑的低电流矢量的数量的二叉树。 一旦完成该处理,电路中的节 点就可被划分到许多的组(树的树叶)中。 一个组中的节点不能被桥 接到另一组中的节点。作为结果,该划分操作减少诊断桥接缺陷所需
要的系统资源量。图6示出低电流矢量下的节点组的二叉树的解释性 例子。
在图6所示的具体例子中,每一圆表示一组节点,每一圆内的数 字表示该组内的节点的数量。标有"评价剩余"的值的列表示在节点 被划入左边紧挨着示出的组中之后仍然必须被视为可能被桥接的节点 对的数量;"预计CPU时间"下面的值表示以每秒5.5百万个节点对 的速度明确评价节点对所需要的时间。如图所示,通过划分处理,CPU 处理时间大大减少。根据一个实施例,将仅在二叉树的底部的每一组 内执行桥接缺陷诊断系统132的进一步的操作。例如,关于图6的二 叉树,将仅在树级别26的每一组内执行进一步的分析。
应当理解,虽然步骤S3是优选的步骤,但它不是必需的。可以执 行图3中的随后的步骤而不首先完成步骤S3。另外,可能不必对于所 有的低电流矢量执行步骤S3的划分操作,并且,可对于任何数量的低 电流矢量执行步骤S3的划分操作,它们均包含于本发明中。
然后,在步骤S4中,操作控制器141选择在步骤S3中产生的组 中的一个用于进一步的分析。如果该组包含相对较少的节点,例如少于预定的阈值,例如含有14个或更少节点的图6中二叉树的级别26 处所示的组中的任一个,那么操作控制器141可跳过步骤S5并将节点 组的分析引到步骤S6,在该步骤S6中,节点对评价器150通过在产
生缺陷值的lDDQ测量结果的测试矢量中的每一个下确定该组内的两个
节点的逻辑状态是否彼此相反,诊断是否在所述两个节点之间存在桥 接缺陷。但是,如果该组是大的,那么操作控制器141将处理引向下 一步骤S5。
在步骤S5中,互补对识别器145确定组中的节点中的两个是否构 成互补的节点对。如果关于被考虑的所有高电流矢量一个节点的逻辑 状态"1"的数量等于另一节点的逻辑状态"0"的数量,那么两个节 点构成互补对。步骤S5可包含子步骤S5-1至S5-3。请注意,可关于 被考虑的任何数量的高电流矢量进行步骤S5,并且均包含于本发明 内。在以下的说明中,使用对所有高电流矢量的考虑作为解释性例子, 其不限制本发明的范围。
在步骤S5-l中,状态计数子组构建器146基于其上每一节点被驱 动为与逻辑T相对的逻辑'0,的高电流矢量的数量将该组分为子 组。状态计数构建操作是基于只有两个节点的逻辑状态彼此相反时所 述两个节点之间的桥才可产生升高的IoDQ值的观察。即,在所有的高 电流矢量下,每当一个节点处于逻辑"0",另一个必须处于逻辑"1"。 这意味着,如果总共存在i个高电流矢量并且节点A在所述i个高电 流矢量中的j个上处于逻辑"0",那么只有节点B在j个高电流矢量 上处于逻辑'T,时节点B才需要被视为节点A的可能的桥配对方 (partner),这被称为"互补状态计数"。同样,节点A和节点B 构成互补的节点对。请注意,在状态计数子组构建中仅考虑其上节点 被驱动为每一逻辑状态的矢量的数量,而不是其上给定的节点被驱动 为特定状态的特定矢量。因此, 一般地,确定两个节点分别是具有"互 补"状态计数的子组的成员不足以断定所述两个节点被桥接;仍必须 考虑每一矢量下的逻辑状态的一一对应关系。但是,状态计数组构建 操作迅速从考虑中排除不可能匹配IDDQ桥故障模型的许多节点对。关于恒定状态节点,可出现状态计数处理的特殊情况。恒定状态 节点指的是对于所有的高电流矢量都处于一个逻辑状态的节点。在这
种情况下,可以立即观察到任何恒定逻辑'0,节点当与恒定逻辑T
的节点配对时必须满足lDDQ桥故障模型的要求。因此,根据一个实施
例,在任选的步骤S5-2中,恒定状态节点过滤器148考虑"恒定状态" 子组中的节点,并立即报告匹配IDDQ桥故障模型的任何对而不进行附 加的分析,并且/或者,如果不存在互补的一个,那么滤除恒定状态子 组。
图7示出对于在步骤S3中产生的组(如图6中所示)中的两个操 作步骤S5-2的解释性例子。请注意,在图7所示的例子中,对于在步 骤S3中确定的两个最大的组执行步骤S5-2,这两个组包含对于所有 的低电流矢量保持在单一逻辑状态的那些节点。如图7所示,在最左 边的组的994380个节点中,870963个处于恒定状态"0",并且没有 一个处于恒定状态"1"。在这种情况下,所有的870963个恒定状态 "0"节点可被滤除,因为它们不可能与任何其它的节点桥接。作为结 果,在最左边的组中仅留下123417个节点。类似地,可滤除最右边的 组的242894个恒定状态"1"节点,因为在该组中不存在与它们桥接 的恒定状态"0"节点,这导致在最右边的组中留下64431个节点。对 于该具体的例子,步骤S5-2将预计用于明确评价剩余节点对的CPU 时间从约27个小时减少到仅超过半个小时。
由于一般在所有的测试矢量中保持在一个逻辑状态的大量节点, 恒定状态节点过滤当被应用于这些节点组时在减少CPU时间方面具 有最大的效果。如图7所示并根据替代性实施例,步骤S5-2仅可被应 用于对于所有的矢量(不管是低电流还是高电沐)具有相同的逻辑状 态的节点。
在步骤S5-3中,互补对识别器145用互补状态计数从子组确定互 补节点对。图8示出对在步骤S5-2中操作的最左边的组操作步骤S5-3 的解释性例子。对于图8所示的例子,总共存在23个高电流矢量。同 样,存在24个状态计数子组(其中的几个是空的),并由此存在其成员具有互补状态计数的12对子组。例如,仅需要针对在逻辑"0"上 22次并在逻辑"1"上一次("22/1")的节点的子组的成员评价在所 述23个高电流矢量上在逻辑"0"上一次并在逻辑"1"上22次(在 图中用"1/22"表示)的节点的子组中的任何节点。虽然后一子组包 含88538个节点,但是前一子组是空的;由此可以从考虑中排除后一 子组中的所有节点而不进行进一步的分析。如图8的例子所示,除了 各仅包含单一节点的子组11/12和12//11以外,具有互补状态计数的 各对子组中的至少一个是空的。由此,在该组中的123417个节点中, 只存在一个互补节点对。所有其它的节点可被滤除,这大大节省计算 资源。
如前面说明的那样,节点逻辑状态不限于两进制值"0"和"1", 而是可包含诸如浮动状态或未知状态(逻辑"X")的其它状态。互 补对识别器145仍可基本上如上面说明的那样起作用,但需要采取额 外的措施以容納非二进制状态。例如,由于当一个或两个节点处于浮
动状态时两个节点之间的桥将不导致额外的Iddq,因此互补对识别器
145可舍弃发现在高电流矢量下处于浮动状态的任何节点,而不是将 其分配给状态计数子组。逻辑"X"可被作为逻辑"0"或"1"对待 以支持互补对的构造。应当理解,本发明不被用于容纳非二进制节点 状态的具体方法限制。
然后,在步骤S6中,节点对评价器150确定在确定的互补节点对 之间是否存在桥接缺陷。根据图8的例子,在该组中的123417个节点 中,节点对评价器150仅需要考虑单一的互补节点对。对于在步骤S3 中产生的每个节点组执行从步骤S4开始的上述处理。
在进行步骤S6的确定时可以使用任何现在可用或将来开发的方 法,并且均包含于本发明中。由于步骤S3和S5仅产生相对小数量的 要在步骤S6中操作的节点对,因此,即使使用当前可用的Iddq模型 诊断,系统资源的消耗也大大降低。另外,步骤S6还可包含通过例如
IC芯片的物理检查来确定满足lDDQ桥故障模型的两个节点是否在物
理上相互接近,这可进一步减少被诊断的节点的数量。在物理检查中可以使用任何现在可用或将来开发的方法,并且均包含于本发明中。
例如,节点对评价器150可指示用户执行物理检查。另外,节点对评 价器150可控制自动机构以获得IC的图像,并检查被确定为满足IDDQ 桥故障模型的两个节点是否在物理上相互接近。另外,在所有的节点
组都被处理之后,桥接缺陷诊断系统132的操作可返回步骤S2,以如
上面说明的那祥基于用于将IDDQ分类的另一阈值重复所述处理。
虽然这里被表示和描述为用于诊断集成电路中的桥接缺陷的方法 和系统,但应理解,本发明还提供各种替代性实施例。例如,在一个 实施例中,本发明提供存储在计算机可读介质上的程序产品,该程序 产品当被执行时使得计算机基础结构能够诊断集成电路中的桥接缺 陷。这样,计算机可读介质包含实施这里说明的处理的诸如桥接缺陷 诊断系统132 (图2)的程序代码。应当理解,术语"计算机可读介质" 包含程序代码的任何类型的物理实施例中的一个或更多个。特别地, 计算机可读介质可包含在制造的一个或更多个便携式存储物品(例如, 光盘(compact disk)、磁盘、磁带等)上、在诸如存储器120 (图2 ) 和/或数据库128 (图2)的计算装置的一个或更多个数据存储部分上、 和/或作为在网络上漫游(例如,在程序产品的有线/无线电子分布中) 的数据信号被实施的程序代码。
在另一实施例中,本发明提供产生用于诊断集成电路中的桥接缺 陷的系统的方法。在这种情况下,可以获得(例如,产生、维持、使 得可用等)诸如计算机系统100 (图2)的计算机基础结构,并且,可 以获得(例如,产生、购买、使用、修改等)用于执行这里说明的处 理的一个或更多个系统并将其配置到计算机基础结构上。这样,每一 系统的配置可包含以下方面中的一个或更多个(1)在诸如计算机系 统100(图2)的计算装置上安装来自计算机可读介质的程序代码;(2) 将一个或更多个计算装置添加到计算机基础结构上;和(3)加入和/ 或修改计算机基础结构的一个或更多个现有的系统,以使得计算机基 础结构能够执行本发明的处理步骤。
在另一实施例中,本发明提供在认购(subscription)、广告支持和/或费用的基础上执行这里所说明的处理的商业方法。即,服务提供 商可提供这里说明的集成电路中的桥接缺陷的诊断。在这种情况下, 服务提供商可为一个或更多个客户管理(例如,产生、维持、支持等)
执行这里说明的处理的诸如计算机系统100(图2)的计算机基础结构, 并将结果传送给所述的一个或更多个客户。作为回报,服务提供商可 根据认购和/或费用协议从客户那里接收付款,并且/或者,服务提供 商可从对于一个或更多个第三方的广告的销售接收付款。
如这里使用的那样,应当理解,术语"程序代码"和"计算机程 序代码"是同义的,并且在任何语言、代码或符号中意味着这样一组 指令的任何表述,该组指令导致具有信息处理能力的计算装置直接地 或在以下步骤的任何组合之后执行特定的功能(a)转换成另一语言、 代码或符号;(b)以不同的材料形式再现;和/或(c)解压缩。这样, 程序代码可体现为 一种或更多种类型的程序产品,诸如应用/软件程 序、组件软件(component software) /功能库、操作系统、用于特定 计算和/或1/0装置的基本1/0系统/驱动器等。并且,应当理解,术语 "组件"和"系统,,在这里使用时是同义的,并表示能够执行一些功 能的硬件和/或软件的任何组合。
附图中的流程图和框图解释根据本发明的各种实施例的系统、方 法和计算机程序产品的可能实施的架构、功能性和操作。在这一方面, 流程图或框图中的各个框可代表包含用于实施规定的逻辑功能的一个 或更多个可执行指令的模块、段或代码部分。还应注意,在一些替代 性实施中,在框中标出的功能的出现可不按图中标出的次序。例如, 连续表示的两个框实际上可基本上被同时执行,或者,取决于所涉及 的功能性,所述框有时可以以相反的次序被执行。还应注意,可以通 过执行规定功能或动作的基于特定用途硬件的系统、或特定用途硬件 和计算机指令的组合,实施框图和/或流程图的每一框、以及框图和/ 或流程图中的框的组合。
这里使用的术语仅是出于说明特定实施例的目的,其意图不在于 限制本发明。如这里使用的那样,除非上下文另外明确指出,否则单数形式"一个"和"该"意图在于同样包含复数形式。还应理解,当 在本说明书中使用时,术语"包含"和/或"包括"规定被陈述的特征、 整数、步骤、操作、元件和/或组件的存在,但不排除一个或更多个其 它的特征、整数、步骤、操作、元件、组件和/或它们的组的存在或添 加。
虽然这里已解释和说明了具体实施例,但本领域普通技术人员理 解,被计算为实现相同目的的任何配置可替代示出的具体实施例,并 且,本发明在其它的环境中具有其它的应用。本申请意图在于涵盖本 发明的任何调整或变化。以下的权利要求意图决不在于将本发明的范 围限于这里说明的具体实施例。
权利要求
1. 一种用于诊断包含多个节点的集成电路中的桥接缺陷的方法,该方法包括在多个测试矢量下获得所述集成电路的静态电源电流(IDDQ)测量结果;将获得的IDDQ测量结果中的每一个分类为缺陷值和非缺陷值中的一个;在所述多个测试矢量中的每一个下获得所述多个节点中的每一个的逻辑状态;确定所述多个节点中的两个是否构成互补节点对;和诊断是否在确定的互补节点对之间存在桥接缺陷。
2. 根据权利要求l的方法,还包括确定所述多个节点中的两个是否在产生所述非缺陷值的lDDQ测量结果的测试矢量下处于相同的逻辑状态。
3. 根据权利要求2的方法,其中,仅对于在产生所述非缺陷值的lDD(j测量结果的所有测试矢量下处于相同的逻辑状态的节点执行互补 对确定。
4. 根据权利要求l的方法,其中,互补对确定首先对于在产生所述缺陷值的IDDQ测量结果的所有测试矢量下处于相同的逻辑状态的节点确定互补对。
5. 根据权利要求1的方法,还包括基于在产生所述非缺陷值的lDDQ测量结果的测试矢量下获得的所述多个节点的逻辑状态将所述多 个节点划分为子组。
6. 根据权利要求l的方法,其中,所述诊断包含确定互补对的两个节点的逻辑状态在产生所述缺陷值的lDDQ测量结果的测试矢量中的 每一个下是否彼此相反。
7. 根据权利要求l的方法,其中,所述诊断包含确定互补对的两 个节点是否在物理上相互接近。
8. —种用于诊断包含多个节点的集成电路中的桥接缺陷的系统, 该系统包括用于在多个测试矢量下测量所述集成电路的静态电源电流(IDDQ)的装置;用于将获得的lDD(j测量结果中的每一个分类为缺陷值和非缺陷值中的一个的装置;用于在所述多个测试矢量中的每一个下获得所述多个节点中的每一个的逻辑状态的装置;用于确定所述多个节点中的两个是否构成互补节点对的装置;和 用于诊断是否在确定的互补节点对之间存在桥接缺陷的装置。
9. 根据权利要求8的系统,还包括用于确定所述多个节点中的两个是否在产生所述非缺陷值的lDDQ测量结果的测试矢量下处于相同的逻辑状态的装置。
10. 根据权利要求9的系统,其中,互补对确定装置仅在在产生所述非缺陷值的lDDQ测量结果的所有测试矢量下处于相同的逻辑状态的节点中确定互补对。
11. 根据权利要求8的系统,其中,互补对确定装置对于在产生所述缺陷值的lDDQ测量结果的所有测试矢量下处于相同的逻辑状态的节点确定互补对。
12. 根据权利要求8的系统,还包括用于基于在产生所述非缺陷值的lDD(J测量结果的测试矢量下获得的所述多个节点的逻辑状态将所述多个节点划分为子组的装置。
13. 根据权利要求8的系统,其中,诊断装置确定互补对的两个节点的逻辑状态在产生所述缺陷值的lDDQ测量结果的测试矢量中的每一个下是否彼此相反。
14. 根据权利要求8的系统,其中,诊断装置对确定互补对的两个节点是否在物理上相互接近进行控制。
15. —种用于诊断包含多个节点的集成电路中的桥接缺陷的计算 机程序产品,该计算机程序产品包括被配置为完成以下步骤的计算机可用程序代码 在多个测试矢量下获得所述集成电路的静态电源电流(IDDQ)测 量结果;将获得的lDD(j测量结果中的每一个分类为缺陷值和非缺陷值中的—个;在所述多个测试矢量中的每一个下获得所述多个节点中的每一个的逻辑状态;确定所述多个节点中的两个是否构成互补节点对;和 诊断是否在确定的互补节点对之间存在桥接缺陷。
16. 根据权利要求15的程序产品,其中,程序代码进一步被配置为确定所述多个节点中的两个是否在产生所述非缺陷值的lDDQ测量结果的测试矢量下处于相同的逻辑状态。
17. 根据权利要求16的程序产品,其中,程序代码进一步被配置为仅在在产生所述非缺陷值的lDDQ测量结果的所有测试矢量下处于相同的逻辑状态的节点中确定互补对。
18. 根据权利要求15的程序产品,其中,程序代码进一步被配置为在确定其它节点的互补对之前对于在产生所述缺陷值的lDDQ测量结果的所有测试矢量下处于相同的逻辑状态的节点确定互补对。
19. 根据权利要求15的程序产品,其中,程序代码进一步被配置为基于在产生所述非缺陷值的lDDQ测量结果的测试矢量下获得的所述多个节点的逻辑状态将所述多个节点划分为子组。
20. 根据权利要求15的程序产品,其中,程序代码进一步被配置为确定互补对的两个节点的逻辑状态在产生所述缺陷值的lDDQ测量结果的测试矢量中的每一个下是否彼此相反。
21. 根据权利要求15的程序产品,其中,程序代码进一步被配置为对确定互补对的两个节点是否在物理上相互接近进行控制。
22. —种产生用于诊断包含多个节点的集成电路中的桥接缺陷的 系统的方法,该方法包括提供可操作为完成以下步骤的计算机基础 结构在多个测试矢量下获得所述集成电路的静态电源电流(IDDQ)测量结果;将获得的lDDQ测量结果中的每一个分类为缺陷值和非缺陷值中的一个;在所述多个测试矢量中的每一个下获得所述多个节点中的每一个的逻辑状态;确定所述多个节点中的两个是否构成互补节点对;和诊断是否在确定的互补节点对之间存在桥接缺陷。
23. 根据权利要求22的方法,其中,所述计算机基础结构进一步可操作为确定所述多个节点中的两个是否在产生所述非缺陷值的IDDQ测量结果的测试矢量下处于相同的逻辑状态。
24. 根据权利要求23的方法,其中,所述计算机基础结构进一步可操作为仅在在产生所述非缺陷值的lDDQ测量结果的所有测试矢量下处于相同的逻辑状态的节点中确定互补对。
25. 根据权利要求22的方法,其中,所述计算机基础结构进一步可操作为在确定其它节点的互补对之前对于在产生所述缺陷值的IDDQ测量结果的所有测试矢量下处于相同的逻辑状态的节点确定互补对。
26. 根据权利要求22的方法,其中,所述计算机基础结构进一步可操作为基于在产生所述非缺陷值的Im)Q测量结果的测试矢量下获得的所述多个节点的逻辑状态将所述多个节点划分为子组。
27. 根据权利要求22的方法,其中,所述计算机基础结构进一步可操作为确定互补对的两个节点的逻辑状态在产生所述缺陷值的IDDq测量结果的测试矢量中的每一个下是否彼此相反。
28. 根据权利要求22的方法,其中,所述计算机基础结构进一步可操作为对确定互补对的两个节点是否在物理上相互接近进行控制。
全文摘要
公开了用于诊断包含多个节点的集成电路(20)中的桥接缺陷的方法、系统和计算机程序产品。在多个测试矢量(30)下测量(40)集成电路(IC)的静态电源电流(I<sub>DDQ</sub>)。还在所述多个测试矢量(30)下获得IC(20)上的节点的逻辑状态。节点基于它们在低电流测试矢量下的逻辑状态被划分(S3)为组。基于节点在高电流测试矢量下的逻辑状态,大的组进一步被分为子组(“状态计数子组”)(S5-1)。对于大的组,仅对于属于具有互补状态计数的子组的节点对执行I<sub>DDQ</sub>桥故障模型下的明确评价(S5-2,S5-3),以节省系统计算资源。由于系统资源的节省,因此能够实现考虑IC上的所有节点对的详尽诊断。
文档编号G06F17/50GK101460951SQ200780018965
公开日2009年6月17日 申请日期2007年6月13日 优先权日2006年6月13日
发明者D·C·希伯林 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1