一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

识别集成电路缺陷的系统和方法以及计算机可读存储介质与流程

2021-10-20 00:32:00 来源:中国专利 TAG:集成电路 缺陷 识别 可读 实施


1.本发明的实施例涉及识别集成电路缺陷检的系统和方法以及计算机可读存储介质。


背景技术:

2.广泛的故障模型已经被用于生成检测诸如卡住、桥接、单元间断路和转换故障等集成电路中的故障或缺陷的测试图案。这些故障模型同时有以下假定:仅诸如(例如)在库单元的端口处的库单元实例之间、库单元外部的互连线等之间出现故障。现今的自动测试模式生成(atpg)工具应用了这些标准故障模型,要么假定库单元内没有故障,要么仅考虑到基于atpg使用的门模型的库单元内部的那些故障。这些门模型可用于在单元端口(例如,输入/输出端)处或供atpg使用的原始单元结构(例如,在电路设计的相对高级)处注入故障,但不适用于库单元内部的以真实布局为基础建模的缺陷。因此,常规的故障检测技术并不完全令人满意。


技术实现要素:

3.根据本发明实施例的一个方面,提供了一种识别集成电路的缺陷的方法,包括:获得集成电路的电路设计,电路设计包括彼此通信连接的一个或多个单元的相应网表;识别与一个或多个单元中的一个对应的网表,单元包括一个或多个输入端、一个或多个输出端以及经由单元内的相应的一个或多个互连件而彼此通信连接的多个电路元件;将缺陷注入多个电路元件中的一个以及一个或多个互连件;通过向单元的一个或多个输入端施加多个激励来获取被注入缺陷的单元的位置处的第一电流波形;通过向单元的一个或多个输入端施加相同激励来在未注入缺陷的情况下获取单元的位置处的第二电流波形;以及基于第一电流波形和第二电流波形用缺陷来选择性地注释单元的输入/输出表。
4.根据本发明实施例的另一个方面,提供了一种识别集成电路缺陷的系统,包括一个或多个处理器,一个或多个处理器被配置为:识别与彼此通信连接以形成集成电路的多个单元中的单元对应的网表;向单元内的位置注入缺陷;通过向单元的一个或多个输入端施加多个激励来获取被注入缺陷的单元的一个或多个输出端处的第一电压波形;通过向单元的一个或多个输入端施加相同激励来获取未被注入缺陷的单元的一个或多个输出端处的第二电压波形;将第一电压波形与第二电压波形进行比较;响应于确定第一电压波形与第二电压波形之间的差异满足第一阈值来用第一类型的缺陷注释单元的输入/输出表;响应于确定在注入了缺陷的情况下第一电压波形与第二电压波形之间的差异不满足第一阈值,通过向单元的一个或多个输入端施加相同激励来获取单元内的位置处的第一电流波形;通过向单元的一个或多个输入端施加相同激励来在未注入缺陷的情况下获取单元内的位置处的第二电流波形;以及
5.响应于确定第一电压波形与第二电压波形之间的差异满足第二阈值来用第二类型的缺陷注释单元的输入/输出表。
6.根据本发明实施例的又一个方面,提供了一种计算机可读存储介质,其上面具有存储的指令,当由计算机执行时指令使得计算机执行方法,方法包括:识别与彼此通信连接以形成集成电路的多个单元中的单元对应的网表;从网表识别单元的一个或多个输入端、单元的一个或多个输出端以及经由单元内的一个或多个相应互连件彼此通信连接的多个电路元件;将缺陷注入多个电路元件中的一个以及一个或多个互连件;模拟具有注入的缺陷的单元,以获取单元内的注入缺陷的位置处的第一电流波形;模拟不具有注入的缺陷的单元,以获取单元内的注入缺陷的位置处的第二电流波形;以及基于第一电流波形与第二电流波形的比较来用电流类型的缺陷选择性地注释单元的输入/输出表。
附图说明
7.当结合附图进行阅读时,从以下详细描述可最佳理解本发明的各方面。应该注意,根据工业中的标准实践,各个部件未按比例绘制。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。
8.图1图示了按照一些实施例的缺陷检测系统的示例框图。
9.图2图示了按照一些实施例的用于检测单元内部缺陷的方法的流程图。
10.图3图示了按照一些实施例的将由图1的检测缺陷系统检验的示例单元的晶体管级网表的示意图。
11.图4图示了按照一些实施例的将由图1的缺陷检测系统注释的单元的示例输入/输出表。
12.图5是按照一些实施例的示例信息处理系统(ihs)的框图。
具体实施方式
13.以下公开内容提供了许多用于实现所提供主题的不同特征的不同实施例或实例。下面描述了组件和布置的具体实例以简化本发明。当然,这些仅仅是实例,而不旨在限制本发明。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可在各个实例中重复参考标号和/或字符。该重复是为了简单和清楚的目的,并且其本身不指示所讨论的各个实施例和/或配置之间的关系。
14.而且,为了便于描述,在此可以使用诸如“在

之下”、“在

下方”、“下部”、“在

之上”、“上部”等空间相对术语,以描述如图所示的一个元件或部件与另一个(或另一些)元件或部件的关系。除了图中所示的方位外,空间相对术语旨在包括器件在使用或操作中的不同方位。器件可以以其他方式定向(旋转90度或在其他方位上),而本文使用的空间相对描述符可以同样地作出相应的解释。
15.为了关注单元内部缺陷,已经提出了一些技术。例如,n检测、嵌入式多重检测(emd)和门穷举测试(gate

exhaustive testing)已表现出检测(或“覆盖”)先前一些未建模缺陷的成功。然而,这些技术对于真实世界的设计而言可能太复杂,或者仅以概率的方式提高检测单元内部缺陷的可能性,而不是以确定性的方式针对单元内部的缺陷。在n检测测试中,通过在不同条件下针对同一故障多次来改善检测的机会。然而,这通常使图案数量增
加n倍,因此使测试成本很高。基于emd的方法通过利用现有atpg模式中未使用过的位,增加了可以检测到的不同缺陷的数量(有时被称为缺陷“覆盖率”)。与基于n检测的方法不同,基于emd的方法不需要附加测试模式。但是,仅这两种技术的实际缺陷存在概率关系。因此,难以量化这些技术相对于常规技术所提供的附加的缺陷覆盖率,并且难以预测所得的未来设计的益处。虽然门穷举测试方法可能能够覆盖单元内缺陷,但该方法还往往会产生非常大量的附加模式并导致高昂的测试成本。
16.本发明提供了可以检测、监视或以其它方式识别集成电路的单元内部缺陷的缺陷检测系统的各种实施例。通常,集成电路的电路设计(例如,网表)可以由彼此通信连接的多个单元(或标准单元)来表示。单元中的每个可以对应网表。如本文公开的,缺陷检测系统可以通过分别地比较当单元包括一个或多个故障/缺陷(有时被称为“故障单元”)时的相应单元行为与当单元没有包括任何故障/缺陷(有时被称为“无故障单元”)时的相应单元行为来识别各单元内的一个或多个缺陷。
17.在各个实施例中,缺陷检测系统可以通过为单元提供至少一个周期的输入激励来在一定时域范围内获得故障单元和无故障单元的各种类型的波形,然后将故障单元和无故障单元的同一类型的波形进行比较。如果在第一类型的波形(例如,电压波形)中识别到足够大的差异,则检测系统可以将对应的缺陷归类为与第一类型的波形对应的第一类型的缺陷。另一方面,如果在比较第一类型的波形时没有识别到如此足够大的差异,则检测系统可以前进,以比较故障单元和无故障的第二类型波形(例如,电流波形)。如果在第二类型的波形中识别到足够大的差异,则检测系统可以将对应的缺陷归类为与第二类型的波形对应的第二类型的缺陷。以这种方式,可以通过使用如本文公开的缺陷检测系统检测单元内部缺陷来解决以上识别的技术问题。例如,通过比较与故障单元和无故障单元对应的第一类型的波形然后比较与故障单元和无故障单元对应的第二类型的波形,缺陷检测系统可以以相对于现有的单元内部缺陷检测技术以相对更确定的方式来检测单元内部缺陷。如此,可以显著提高检测单元内部的单元内部缺陷的覆盖范围和可靠性。
18.参考图1,描绘了按照各种实施例的用于识别相互通信连接以形成集成电路的多个单元中的每个内的一个或多个缺陷(有时被称为“内部单元缺陷”)的检测缺陷系统100的示例框图。如所示出的,缺陷检测系统100可以包括布局数据库102、网表提取器104、晶体管级网表数据库106、缺陷提取器108、所关注缺陷数据库110、模拟仿真器120、缺陷模型合成器122、单元感知检测模型数据库124、单元感知模式生成器126和测试模式数据库128。注意的是,为了图示的目的简化了图1的框图,因此,缺陷检测系统100可以包括任何合适的同时保持在本发明的范围内的用于检测单元内部缺陷的组件或元件。在一些实施例中,布局数据库102、网表提取器104、晶体管级网表数据库106、缺陷提取器108、所关注缺陷数据库110、模拟仿真器120、缺陷模型合成器122、单元感知检测模型数据库124、单元感知模式生成器126和测试模式数据库128中的每一个彼此通信连接或合并,以识别一个或多个单元内部缺陷,以下应当对其进行详细的讨论。
19.在一个或多个实施例中,以上提到的元件或实体中的每个是用硬件、或硬件与软件的组合来实现的。可以使用以上结合图5详述的硬件或硬件或软件的组合来实现缺陷检测系统100的各元件。例如,图1中示出的元件或实体中的每个可以包括任何应用、程序、库、脚本、任务、服务、过程或在硬件(例如,缺陷模型合成器122)上执行的任何类型和形式的可
执行指令。在一个或多个实施例中,硬件包括诸如一个或多个处理器这样的电路。
20.布局数据库102可以存储多个集成电路的相应布局设计。按照各种实施例,集成电路可以包括彼此通信连接以执行所期望功能的多个部件(例如,电子电路)。这种集成电路的示例可以从相对简单的单功能ic(例如,几千个门)到相对复杂的数百万个门上系统(soc)。对应的布局设计可以包括凭借平面几何形状进行的集成电路的表示,该平面几何形状对应于例如构成集成电路的组件的金属、氧化物和/或半导体层的相应图案。布局设计可以采用诸如(例如)由半导体设备和材料国际组织(semi)提出的图形数据系统ii(gdsii)数据格式或开放艺术品系统交换标准(oasis)数据格式这样的任何所期望的格式。其它格式包括名为open access的开源格式、synopsys有限公司的milkyway以及mentor graphics有限公司的eddm。
21.在一般的半导体设计中,标准单元方法是一种设计具有大部分数字逻辑部件的专用集成电路(asic)的方法。标准单元方法是设计抽象的一个示例,借此布局设计被封装在抽象逻辑表示中。在一些实施例中,存储在布局数据库102中的布局设计可以包括彼此通信连接的一个或多个单元(或者由其表示)。各单元可以包括提供布尔逻辑功能(例如,与(and)逻辑门、或(or)逻辑门、反相器等)或存储功能(触发器、锁存器等)的一组晶体管和互连件。
22.网表提取器104可以提取、获得或以其它方式识别集成电路的布局设计的各单元的网表(或示意图)。在一些实施例中,网表可以是基于实例的网表,例如,晶体管级网表。网表提取器104可以从布局设计中识别任何其它类型的同时仍在本发明的范围内的网表(例如,基于网的网表)。
23.单元的晶体管级网表是电路元件、它们彼此的连接(例如,互连件)以及它们通向外部环境(例如,集成电路的一个或多个其它单元)的端子(例如,输入端、输出端)的节点描述。在一些实施例中,网表提取器104可以通过以下步骤中的至少一个来识别单元中的第一个单元的网表:定位与单元中的至少第二个单元通信连接的第一个单元的一个或多个输入端,或者定位与单元中的至少第三个单元通信连接的第一个单元的一个或多个输出端。
24.所识别的网表的电路元件可以被分组为两类:有源电路元件和无源电路元件。有源电路元件的示例可以包括各种形式的晶体管(例如,金属氧化物半导体场效应晶体管(mosfet)、双极结型晶体管(bjt)、高电子迁移率晶体管(hemt)等)中的任一种。无源电路元件的示例可以包括各种形式的电阻器、电感器和/或电容器。可以使用为这种网表生成过程提供图形用户界面(gui)的多种不同的计算机辅助设计(cad)或电子设计自动化(eda)程序来生成示意图。
25.在各个实施例中,网表提取器104可以与布局数据库102通信或以其它方式交互,以获得包括多个通信连接单元的集成电路(例如,103)的布局设计。响应于获得该布局设计,网表提取器104可以针对各单元(例如,105

1、105

2、105

3等)提取晶体管级网表,并且将晶体管级网表(例如,统称为晶体管级网表105)存储在晶体管级网表数据库106中。在一些其它实施例中,晶体管级网表数据库106可以存储未从布局设计中提取的晶体管级网表。例如,这样的晶体管级网表可以由缺陷检测系统100的用户直接或间接地提供。
26.缺陷提取器108可以提取、假设或以其它方式识别存储在晶体管级网表数据库106中的各晶体管级网表(例如,105

1)中的所关注的一个或多个缺陷。此外,缺陷提取器108可
以提取或以其它方式确定相对于示例晶体管级网表105

1中的组件/元件的各所关注缺陷的一种或多种特性(例如,位置、缺陷类型、与设计意图相异的值)。如此,缺陷可以随后被注入、插入、合并或以其它方式更新到晶体管级网表中。应当如下地讨论缺陷的各种代表性示例。提供以下示例是出于例示的目的,因此,要理解,缺陷提取器108可以从示例晶体管级网表105

1中提取各种其它类型的同时仍在本发明的范围内的缺陷中的任一个。
27.在一些实施例中,基于从晶体管级网表数据库106获取的晶体管级网表105,缺陷提取器108可以通过有意地断开晶体管级网表(例如,105

1)中包括的至少一个有源电路元件(例如,晶体管)的多个端子中的两个来识别各晶体管级网表105

1中所关注的一个或多个缺陷。例如,缺陷提取器108可以断开假定彼此电连接的晶体管的源极和栅极端子、晶体管的源极和漏极端子和/或晶体管的漏极和栅极端子。
28.在一些实施例中,基于从晶体管级网表数据库106获取的晶体管级网表105,缺陷提取器108可以通过有意地短接晶体管级网表(例如,105

1)中包括的至少一个有源电路元件(例如,晶体管)的多个端子中的两个来识别各晶体管级网表105

1中所关注的一个或多个缺陷。例如,缺陷提取器108可以短接假定彼此电隔离的晶体管的源极和栅极端子、晶体管的源极和漏极端子和/或晶体管的漏极和栅极端子。
29.在一些实施例中,基于从晶体管级网表数据库106获取的晶体管级网表105,缺陷提取器108可以通过有意地断开晶体管级网表(例如,105

1)中包括的两个或更多个电路元件来识别各晶体管级网表105

1中所关注的一个或多个缺陷。例如,缺陷提取器108可以断开连接以下中的至少两个或更多个的互连件:晶体管、电阻器、电容器或电感器。在另一示例中,缺陷提取器108可以断开将晶体管级网表105

1中的电路元件之一连接到电源(例如,vdd、vss等)的互连件。
30.在一些实施例中,基于从晶体管级网表数据库106获取的晶体管级网表105,缺陷提取器108可以通过有意地改变晶体管级网表(例如,105

1)中包括的有源电路元件的设计意图值来识别各晶体管级网表105

1中所关注的一个或多个缺陷。例如,缺陷提取器108可以在一定范围内(例如,显著大于和/或小于网表105

1中指定的设计值)变化电阻器的设计值。
31.在一些实施例中,基于从布局数据库102获取的布局设计,缺陷提取器108可以将各晶体管级网表105中所关注的一个或多个缺陷识别为与布局设计中的几何元素的集合或几何元素的位置数据关联的寄生特征。另外,由于网表提取器104可以通过与晶体管级网表数据库106交互而从布局设计生成晶体管级网表(例如,105

1),因此缺陷提取器108可以将网表中的组件与布局设计中的几何元素相关。
32.在一些实施例中,在识别到各网表105中的一个或多个缺陷之后,缺陷提取器108可以将所识别的缺陷存储在所关注缺陷数据库110中。缺陷提取器108可以将识别到的各缺陷的特性(例如,位置、缺陷类型、与设计意图相异的值)存储在所关注缺陷数据库110中。例如,响应于将缺陷识别为跨连接网表105

1的两个电路元件的互连件的开路,缺陷提取器108可以将可以出现缺陷的位置存储在所关注缺陷数据库110中。在一些其它实施例中,缺陷提取器108可以直接与模拟仿真器120通信或以其它方式交互,以提供识别到的各缺陷的这些特性来比较分别作为故障单元和无故障单元的各单元的单元行为,如下应当对此进行讨论。
33.按照本公开的各种实施例,模拟仿真器120可以模拟、计算或以其它方式获得分别作为故障单元和无故障单元的布局设计103的各单元的单元行为。通过与晶体管级网表数据库106交互,模拟仿真器120可以获得布局设计103的各单元的网表(例如,105

1)。基于网表,模拟仿真器120可以使用电路仿真器(例如,以集成电路为重心的模拟程序(spice))获得单元的单元行为。在一些实施例中,纯粹基于对应网表的设计意图参数(例如,未注入缺陷)模拟的单元的单元行为有时可以被称为无故障单元的行为。
34.当获得无故障单元行为时,模拟仿真器120可以以各种方式呈现、输出或以其它方式提供无故障单元行为。例如,模拟仿真器120可以在单元(网表)的输出端处在一定时间范围内将无故障单元行为作为一个或多个电压波形呈现。该时间范围可以在一个周期内扩展,在该周期中,所有可能的激励中的每个被一次施加到单元(网表)的输入端,例如,分别施加到单元的输入端的逻辑状态的组合。时间范围可以在多个这样的同时仍在本发明的范围内的周期内扩展。在一个实施例中,各逻辑状态可以被作为静态值(例如,稳定的逻辑高或低)应用。在另一个实施例中,各逻辑状态可以被作为过渡值(例如,从逻辑高到低的过渡或从逻辑低到高的过渡)应用。在又一个实施例中,逻辑状态中的一些可以各自被作为静态值应用,而逻辑状态中的一些可以各自被作为过渡值应用。在另一个示例中,模拟仿真器120可以在将注入一个或多个缺陷的单元(网表)的相应位置处在同一时间范围内将无故障单元行为作为一个或多个电流波形呈现,以下应当对此进行讨论。在一些实施例中,可选地或另外地,模拟仿真器120可以在连接有一个或多个电源的单元(网表)的相应位置处在同一时间范围内将无故障单元行为作为一个或多个电流波形呈现。
35.通过与所关注缺陷数据库110交互,模拟仿真器120可以获得与各网表(例如,105

1)关联的所关注的一个或多个缺陷的特性。基于与网表关联的所关注缺陷的相应特性,模拟仿真器120可以将所关注缺陷注入、插入或以其它方式合并到网表中,并且使用电路仿真器(例如,以集成电路为重心的模拟程序(spice))获得单元的单元行为。在一些实施例中,纯粹基于注入有缺陷的对应网表模拟的单元的单元行为有时可以被称为故障单元的行为。
36.当通过注入缺陷而获得故障单元行为时,模拟仿真器120可以以一种或多种方式呈现、输出或以其它方式提供故障单元行为。例如,模拟仿真器120可以在单元(网表)的输出端处在同一时间范围内将故障单元行为作为一个或多个电压波形呈现。在另一个示例中,模拟仿真器120可以在注入了一个或多个缺陷的单元(网表)的相应位置处在同一时间范围内将故障单元行为作为一个或多个电流波形呈现。在一些实施例中,可选地或另外地,模拟仿真器120可以在连接有一个或多个电源的单元(网表)的相应位置处在同一时间范围内将故障单元行为作为一个或多个电流波形呈现。
37.缺陷模型合成器122可以基于比较单元的无故障单元行为与故障单元行为来注释、更新或以其它方式生成使用一个或多个缺陷的单元的输入/输出表。这样的输入/输出表的示例可以包括随后可以被更新(注释)为单元测试模型(ctm)的布尔代数结合的单元的静态或过渡真值表。通常,真值表包括代表输入逻辑状态的所有可能组合的第一列以及代表单元可以提供的所有可能输出逻辑状态的第二列。真值表中的每行都包含输入逻辑状态(静态逻辑状态、过渡逻辑状态或其组合)和与那些输入逻辑状态对应的输出逻辑状态的一种可能组合。
38.为了注释真值表,缺陷模型合成器122可以与模拟仿真器120交互,以确定应当用
缺陷注释真值表中的哪些行。例如,响应于模拟仿真器120获得注入和未注入缺陷之一的单元的电压和电流值,缺陷模型合成器122可以与模拟仿真器120交互,以首先比较(注入和未注入缺陷之一的)单元的电压波形。如果确定了这两个电压波形之间的差异满足电压阈值(例如,大于电压阈值),则缺陷模型合成器122可以识别与这样的差异的发生对应的时间戳。缺陷模型合成器122可以确定输入逻辑状态的组合中的哪一个(真值表中的哪一行)对应于时间戳,使得缺陷模型合成器122可以用该缺陷来注释该行。另一方面,如果确定这两个电压波形之间的差异不满足电压阈值(例如,小于电压阈值),则缺陷模型合成器122还可以比较(注入和未注入缺陷之一的)单元的电流波形。如果确定了这两个电流波形之间的差异满足电流阈值(例如,大于电流阈值),则缺陷模型合成器122可以识别与这样的差异的发生对应的时间戳。缺陷模型合成器122可以确定输入逻辑状态的组合中的哪一个(真值表中的哪一行)对应于时间戳,使得缺陷模型合成器122可以用该缺陷来注释该行。另一方面,如果确定这两个电流波形之间的差异不满足电流阈值(例如,小于电流阈值),则缺陷模型合成器122可以迭代地执行类似操作,以确定是否要用其余缺陷中的每个注释真值表。
39.缺陷模型合成器122可以将各单元的带注释的真值表存储在单元感知缺陷模型数据库124中。然后,单元感知模式生成器126可以使用带注释的真值表来生成相应单元的测试模式。单元感知模式生成器126可以将测试模式存储在测试模式数据库128中。本领域中已知的各种单元感知atpg(ca

atpg)工具可以被用于生成测试模式。如此,应当省略对应的描述。
40.参考图2,描绘了用于检测单元内的缺陷的方法200的流程图。可以使用本文结合图1详述的部件中的一个或多个来实现或者由其来执行方法200的操作。因此,应当结合图1进行以下对图2的讨论。方法200的所图示实施例仅是示例。因此,要理解,可以省略、重新排序和/或添加各种的同时仍在本发明的范围内的操作中的任一个。
41.通过简要概述,在操作202中,缺陷检测系统可以识别单元的网表。在操作204中,缺陷检测系统可以获得分别注入缺陷和未注入缺陷的单元的电压波形。在操作206中,缺陷检测系统可以估计电压波形之间的差异。在操作208中,缺陷检测系统可以确定该差异是否满足电压阈值。如果满足,则在操作210中,缺陷检测系统可以用第一类型的缺陷注释单元的输入/输出表。如果不满足,则在操作212中,缺陷检测系统可以获得分别注入缺陷和未注入缺陷的单元的电流波形。接下来,在操作214中,缺陷检测系统可以估计电流波形之间的差异214。在操作216中,缺陷检测系统可以确定该差异是否满足电流阈值。如果满足,则在操作218中,缺陷检测系统可以用第二类型的缺陷注释单元的输入/输出表。如果不满足,则在操作220中,缺陷检测系统可以确定该缺陷是否是最后一个缺陷。如果不是,则方法200可以再次进行到操作204,以检测单元的下一个缺陷。另一方面,如果是,则方法200可以再次进行到操作202,以检测下一个单元内的缺陷。
42.仍参考图2,并且更详细地,缺陷检测系统(例如,图1中的1001)可以在操作202中识别代表集成电路的多个单元中的第一个单元的网表。例如,该网表可以是晶体管级网表。在一些实施例中,缺陷检测系统100可以通过以下步骤中的至少一个来识别第一个单元的网表:定位与单元中的至少第二个单元通信连接的第一个单元的一个或多个输入端,或者定位与单元中的至少第三个单元通信连接的第一个单元的一个或多个输出端。
43.参考图3,示出了单元300的晶体管级网表的示意图。要注意,仅出于例示目的,提
供单元300作为示例,因此,如下应当简要描述单元300。如图3中所示,单元300包括输入端“a”和“b”和输出端“z”。缺陷检测系统100可以通过定位与一个或多个其它单元或一条或多条输入信号线连接的输入端a和b并且定位与一个或多个其它单元或一条或多条输出信号线连接的输出端z来从集成电路的多个单元中识别单元300。在图3中示出的示例网表,单元300包括六个晶体管:m1、m2、m3、m4、m5和m6以及两个电阻:r1和r2。应当理解,单元300可以包括同时仍在本发明的范围内的各种其它电路组件中的任一个以及任何所期望数量的晶体管和电阻器。
44.例如,在图3中,晶体管m1

m3各自包括p型mosfet,并且晶体管m4

m6各自包括n型mosfet,而晶体管m1

m6中的每个可以包括其它类型的晶体管中的任一个。具体地,晶体管m1和m4的相应栅极被配置为(或连接到)输入端a。晶体管m2和m5的相应栅极被配置为(或连接到)输入端b。电阻器r1的端子之一、电阻器r2的端子之一和晶体管m6的漏极被配置为(或连接到)输出端z。另外,电路元件、晶体管m1

m6和电阻器r1

r2中的每个通过相应的互连件而连接到一个或多个其它电路元件或电源。例如,晶体管m1的源极、晶体管m2的源极和晶体管m3的源极各自连接到vdd,而晶体管m1

m3的相应漏极各自通过互连件而连接到至少另一个晶体管。在另一个示例中,晶体管m5的源极和晶体管m6的源极各自连接到vss,而晶体管m5

m6的相应漏极各自通过互连件而连接到至少另一个晶体管。
45.响应于获得单元300的网表,缺陷检测系统100可以基于网表和/或从中提取了单元300的网表的对应布局设计来识别待注入的一个或多个可能的缺陷。例如,在图3中,图示了多个可能的缺陷。出于例示目的,图3中示出的缺陷仅仅被提供为示例。因此,要理解,单元300可以包括各种其它类型的同时仍在本发明的范围内的缺陷中的任一个。如所示出的,缺陷检测系统100可以识别单元300中的以下示例缺陷(和对应的特性):第一缺陷d1,其短接假定彼此电隔离的晶体管m1的栅极和漏极;第二缺陷d2,其短接假定彼此电隔离的晶体管m4的漏极和源极;第三缺陷d3,其断开假定电连接晶体管m1

m2的相应漏极的互连件;第四缺陷d4,其寄生耦接到电连接晶体管m2的源极与vdd的互连件;以及第五缺陷d5,其对应于相对于网表所指定的设计意图值偏移的电阻器r2的值。
46.在识别到单元300的可能缺陷(和相应的特性)之后,缺陷检测系统100可以基于相应的特性将缺陷逐一注入单元300的网表中,并且获得分别注入和未注入缺陷的单元300的电压波形(操作204)。基于单元300的网表,缺陷检测系统100可以使用电路仿真器(例如,spice)获得在单元300的输出端z处的第一电压波形,而不用将任何缺陷注入网表中。在一些实施例中,缺陷检测系统100可以通过以至少输入逻辑状态的所有可能组合的周期(通过spice)激励单元300来获得第一电压波形。
47.例如,通过spice,缺陷检测系统100可以用相应的静态逻辑状态00、01、10和11顺序地激励输入端a和b,这可以造成单元300在输出端z处生成对应的第一电压波形。在另一个示例中,缺陷检测系统100可以用相应的静态和/或过渡逻辑状态0r、0f、f1和fr(与从逻辑低过渡到高的上升沿对应的“r”;以及与从逻辑高过渡到低的下降沿对应的“f”)顺序地激励输入端a和b,这可以造成单元300在输出端z处生成对应的第一电压波形。然后,基于所识别的曲线(和对应的特性),缺陷检测系统100可以将缺陷之一(例如,缺陷d1)注入单元300的网表中。按照被识别为跨晶体管m1的栅极和漏极的短路的缺陷d1的特性,缺陷检测系统100可以将具有对应缺陷类型(短路)的这样的缺陷注入单元(网表)内的对应位置中。在
将缺陷d1注入单元300的网表中后,例如,缺陷检测系统100可以通过spice使用相同的激励获得在单元300的输出端z处的第二电压波形。
48.响应于获得了第一电压波形和第二电压波形,缺陷检测系统100可以比较第一电压波形与第二电压波形,以估计在它们之间呈现的差异(操作206)。在一些实施例中,为了估计在第一电压波形与第二电压波形之间呈现的差异,缺陷检测系统100可以通过对准这两个电压波形的时域来使第一电压波形与第二电压波形重叠。通过以四种逻辑状态(00、01、10和11)的一个周期激励单元300的输入端a和b,第一电压波形和第二电压波形可以各自包括输出端z处呈现的四个对应的电压值。缺陷检测系统100可以比较与同一时域参数(例如,时间戳)对应的第一电压波形和第二电压波形相应的电压值。具体地,缺陷检测系统100可以估计与四种逻辑状态(00、01、10和11)中的每种对应的第一电压波形和第二电压波形的电压值之间的电压差。
49.响应于估计了该电压差,缺陷检测系统100可以确定电压差中的任一个是否满足电压阈值(操作208)。在一些实施例中,缺陷检测系统100可以将各电压差与电压阈值进行比较。基于该比较,如果电压差大于或等于电压阈值,则缺陷检测系统100可以用对应的缺陷注释单元300的输入/输出表(操作210);以及如果电压差小于电压阈值,则缺陷检测系统100可以分别获得注入和未注入缺陷的单元300的电流波形(操作212)。
50.图4描绘了将由缺陷检测系统100注释的单元300的示例输入/输出表400。如所示出的,输入/输出表400包括列401、403和405以及行407、409、411和413。列401对应于用其激发单元300的所有可能的输入逻辑状态;列403对应于单元300可以提供的所有可能的输出逻辑转改;并且列405对应于缺陷检测系统100确定要插入输入/输出表400中的所有缺陷。行407对应于输入逻辑状态(例如,00)、对应于那些输入逻辑状态的输出逻辑状态(例如,0)以及一个或多个选择性插入的缺陷的一种可能的组合;行409对应于输入逻辑状态(例如,01)、对应于那些输入逻辑状态的输出逻辑状态(例如,0)以及一个或多个选择性插入的缺陷的一种可能的组合;行411对应于输入逻辑状态(例如,10)、对应于那些输入逻辑状态的输出逻辑状态(例如,0)以及一个或多个选择性插入的缺陷的一种可能的组合;以及行413对应于输入逻辑状态(例如,11)、对应于那些输入逻辑状态的输出逻辑状态(例如,1)以及一个或多个选择性插入的缺陷的一种可能的组合。
51.使用其中正在检测(检查)缺陷d1的以上示例,缺陷检测系统100可以通过用输入逻辑状态(00、01、10和11)的至少一个周期的组合分别激励单元300来获得未注入缺陷d1的输出端z(图3)处的电压波形和注入缺陷d1的输出端z处的电压波形。然后,缺陷检测系统100在与输入逻辑状态(00、01、10和11)的四个组合对应的相应时间戳处比较两个电压波形之间的电压差。基于该比较,缺陷检测系统100可以确定输入逻辑状态的任何组合是否可以对应于(或间接引起)满足电压阈值的电压差。例如,响应于在应用输入逻辑状态(00)的组合时识别到存在足够大的电压差,缺陷检测系统100可以通过将缺陷d1插入列405与行407的交点中来注释输入/输出表400,如图4的示例中所示。在一些实施例中,当通过比较电压波形来识别(或检测)缺陷d1时,缺陷检测系统100还可以通过将缺陷d1标记为d
v1
来进一步注释输入/输出表400。遵循类似的过程,缺陷检测系统100可以通过将缺陷d2(d
v2
)和缺陷d3(d3)插入列405与行413的交点中来注释输入/输出表400,如图4的示例中所示。
52.再次参考图2的方法200,参照图2,响应于确定电压差均不满足电压阈值,缺陷检
测系统100可以分别获得注入和未注入缺陷的单元300的电流波形(操作212)。与获得单元300的输出端z处的电压波形不同的是,缺陷检测系统100可以通过使用未注入任何缺陷的单元300的网表上的电路仿真器(例如,spice)来获得在其处缺陷将被注入单元300的位置处的第一电流波形。缺陷检测系统100可以通过用与用于(通过spice)获得电压波形相同的输入逻辑状态的组合激励单元300来获得第一电流波形。然后,缺陷检测系统100可以通过使用注入缺陷的单元300的网表上的电路模拟器(例如,spice)获得在缺陷被注入单元300的位置处的第二电流波形。缺陷检测系统100可以通过用与正用于获得电压波形(通过spice)相同的输入逻辑状态的组合激励单元300来获得第二电流波形。
53.响应于获得了第一电流波形和第二电流波形,缺陷检测系统100可以比较第一电压波形与第二电压波形,以估计它们之间呈现的差异(操作214)。在一些实施例中,缺陷检测系统100可以通过对准这两个电流波形的时域来使第一电流波形与第二电流波形重叠。通过以四种逻辑状态(00、01、10和11)的一个周期激励单元300的输入端a和b,第一电流波形和第二电流波形可以各自包括在(将要)注入缺陷中的每个的位置处存在的四个对应的电流值。缺陷检测系统100可以比较第一电流波形和第二电流波形的相应电流值。具体地,缺陷检测系统100可以估计与四种逻辑状态(00、01、10和11)中的每种对应的第一电压波形和第二电压波形的电流值之间的电流差。
54.响应于估计了该电流差,缺陷检测系统100可以确定电流差中的任一个是否满足电流阈值(操作216)。在一些实施例中,缺陷检测系统100可以将各电流差与电流阈值进行比较。基于该比较,如果电流差大于或等于电流阈值,则缺陷检测系统100可以用对应的缺陷注释单元300(例如,图4中示出的400)的输入/输出表(操作218);并且如果电流差小于电流阈值,则缺陷检测系统100可以确定当前正检查的缺陷是否是单元300的所有可能缺陷中的最后一个(操作220)。如果是,则缺陷检测系统100可以检测下一个单元的单元内部缺陷(例如,通过再次进行到操作202);如果不是,则缺陷检测系统100可以检查当前单元的下一个缺陷(例如,通过再次进行到操作204)。如此,缺陷检测系统100可以按照各种实施例迭代地执行方法200的至少一些操作(例如,从操作204开始,经过操作206、208、212、214、218和220,回到操作204)。
55.在正检测(或检查)缺陷d5的示例中,响应于确定了缺陷d5没有造成任何大于或等于电压阈值的电压差(图2的操作208),缺陷检测系统100可以获得在将要注入缺陷d5的位置处(实际上缺陷d5没有被注入单元300的网表中)的第一电流波形并且获得在缺陷d5实际注入网表中的相同位置处的第二电流波形。在图图3的示例单元300中,缺陷检测系统100可以通过以四种逻辑状态(00、01、10和11)的至少一个周期激励单元300的输入端a和b来获得电阻器r2的两个端子中的任一个处的这样的两个电流波形。在一些实施例中,当通过比较电流波形来识别(或检测)缺陷d5时,缺陷检测系统100还可以通过将缺陷d5标记为d
i5
来进一步注释输入/输出表400。遵循类似的过程,缺陷检测系统100可以通过将缺陷d4(d
i4
)插入列405与行409的交点中来注释输入/输出表400,如图4的示例中所示。
56.现参考图5,按照本发明的一些实施例,提供了信息处理系统(ihs)500的框图。ihs 500可以是用于实施本文讨论的用于设计集成电路的任何或所有过程的计算机平台。ihs 500可以包括诸如台式计算机、工作站、膝上型计算机或针对特定应用定制的专用单元这样的处理单元510。ihs 500可以配备有显示器514以及诸如鼠标、键盘或打印机这样的一个或
多个输入/输出(i/o)组件512。处理单元510可以包括连接到总线530的中央处理单元(cpu)520、存储器522、大容量存储器件524、视频适配器526和i/o接口528。
57.总线530可以是包括任何类型的存储器总线或存储器控制器、外围总线或视频总线的几种总线架构中的一种或多种。cpu 520可以包括任何类型的电子数据处理器,并且存储器522可以包括诸如静态随机存取存储器(sram)、动态随机存取存储器(dram)或只读存储器(rom)这样的任何类型的系统存储器。
58.大容量存储器件524可以包括被配置为存储数据、程序和其它信息并且使数据、程序和其它信息经由总线530可访问的任何类型的存储器件。大容量存储器件524可以包括例如硬盘驱动器、磁盘驱动器、光盘驱动器等中的一个或多个。
59.视频适配器526和i/o接口528提供了用于将外部输入和输出设备耦接到处理单元510的接口。如图5中图示的,输入和输出设备的示例包括耦接到视频适配器526的显示器514和耦接到i/o接口528的诸如鼠标、键盘、打印机等这样的i/o组件512。其它设备可以耦接到处理单元510,并且可以使用附加或更少的接口卡。例如,可以使用串行接口卡(未示出)为打印机提供串行接口。处理单元510还可以包括网络接口540,网络接口540可以是通向局域网(lan)或广域网(wan)516的有线链路和/或可以是无线链路。
60.应该注意,ihs 500可以包括其它组件/设备。例如,ihs 500可以包括电源、电缆、母板、可移除存储介质、壳体等。这些其它组件/设备(尽管未示出)被视为ihs 500的部分。
61.在本发明的一方面,提供了一种识别集成电路的缺陷的方法。该方法包括获得集成电路的电路设计,该电路设计包括彼此通信连接的一个或多个单元的相应网表。该方法包括识别与一个或多个单元中的一个对应的网表,该单元包括一个或多个输入端、一个或多个输出端以及经由单元内的一个或多个相应的互连件而彼此通信连接的多个电路元件。该方法包括将缺陷注入多个电路元件之一以及一个或多个互连件。该方法包括通过向单元的一个或多个输入端施加多个激励来获取单元的被注入缺陷的位置处第一电流波形。该方法包括通过向单元的一个或多个输入端施加相同激励来在未注入缺陷的情况下获取单元的位置处的第二电流波形。该方法包括基于第一电流波形和第二电流波形来选择性用缺陷注释单元的输入/输出表。
62.在上述方法中,识别单元的网表还包括:定位与一个或多个单元中的至少第二个连接的单元的一个或多个输入;以及定位与一个或多个单元中的至少第三个连接的单元的一个或多个输入。
63.在上述方法中,多个电路元件包括至少一个有源电路元件,注入缺陷还包括:断开至少一个有源电路元件的多个端子中的两个。
64.在上述方法中,多个电路元件包括至少一个有源电路元件,注入缺陷还包括:短接至少一个有源电路元件的多个端子中的两个。
65.在上述方法中,多个电路元件包括无源电路元件,注入缺陷还包括:在一定范围内变化无源电路元件的设计意图值。
66.在上述方法中,注入缺陷还包括:断开一个或多个互连件中的至少一个。
67.在上述方法中,还包括:通过向单元的一个或多个输入端施加相同激励来在注入缺陷的情况下获取单元的一个或多个输出端处的第一电压波形;通过向单元的一个或多个输入端施加相同激励来在未注入缺陷的情况下获取单元的一个或多个输出端处的第二电
压波形;将第一电压波形与第二电压波形进行比较;以及响应于确定第一电压波形与第二电压波形之间的差异满足第一阈值,将缺陷识别为第一类型的缺陷。
68.在上述方法中,还包括:响应于确定第一电压波形与第二电压波形之间的差异满足第一阈值,识别激励中的哪一个对应于所确定的差异;以及通过关联所识别的激励与缺陷来注释单元的输入/输出表。
69.在上述方法中,还包括:响应于确定第一电压波形与第二电压波形之间的差异不满足第一阈值,将第一电流波形与第二电流波形进行比较;确定第一电流波形与第二电流波形之间的差异满足第二阈值;以及将缺陷识别为第二类型的缺陷。
70.在上述方法中,还包括:响应于确定第一电流波形与第二电流波形之间的差异满足第二阈值,识别激励中的哪一个对应于所确定的差异;以及通过将所识别的激励与缺陷关联来注释单元的输入/输出表。
71.在本发明的另一方面,提供了一种识别集成电路的缺陷的系统。该系统包括一个或多个处理器。该一个或多个处理器被配置为识别与彼此通信连接以形成集成电路的多个单元中的单元对应的网表。该一个或多个处理器被配置为将缺陷注入单元内的位置。该一个或多个处理器被配置为通过向单元的一个或多个输入端施加多个激励来在被注入缺陷的单元的一个或多个输出端处获取第一电压波形。该一个或多个处理器被配置为通过向单元的一个或多个输入端施加相同激励来在未被注入缺陷的单元的一个或多个输出端处获取第二电压波形。
72.该一个或多个处理器被配置为比较第一电压波形和第二电压波形。该一个或多个处理器被配置为响应于确定第一电压波形与第二电压波形之间的差异满足第一阈值来用第一类型的缺陷注释单元的输入/输出表。该一个或多个处理器被配置为响应于确定了在注入了缺陷的情况下第一电压波形与第二电压波形之间的差异不满足第一阈值,通过向单元的一个或多个输入端施加相同的激励来获取单元内的位置处的第一电流波形。该一个或多个处理器被配置为通过向单元的一个或多个输入端施加相同激励来在未注入缺陷的情况下获取单元的位置处的第二电流波形。该一个或多个处理器被配置为响应于确定了第一电流波形与第二电流波形之间的差异满足第二阈值来用第二类型的缺陷注释单元的输入/输出表。
73.在上述系统中,一个或多个处理器还被配置为通过短接单元的多个有源电路元件中的两个而将缺陷注入位置。
74.在上述系统中,一个或多个处理器还被配置为通过断开单元的有源电路元件的多个端子中的两个来将缺陷注入位置。
75.在上述系统中,一个或多个处理器还被配置为通过在一定范围内变化单元的无源电路元件的设计意图值来将缺陷注入位置。
76.在上述系统中,一个或多个处理器还被配置为通过断开单元内的一个互连件来将缺陷注入位置。
77.在上述系统中,一个或多个处理器还被配置为通过关联所识别的激励中的一个与缺陷来用第一类型的缺陷注释单元的输入/输出表,第一类型是电压类型。
78.在上述系统中,一个或多个处理器还被配置为通过关联所识别的激励中的一个与缺陷来用第二类型的缺陷注释单元的输入/输出表,第二类型是电流类型。
79.在本公开的又一方面,一种计算机可读存储介质,该计算机可读存储介质上面存储有当由计算机执行时致使计算机执行方法的指令。该方法包括识别与彼此通信连接以形成集成电路的多个单元中的单元对应的网表。该方法包括从网表识别单元的一个或多个输入端、单元的一个或多个输出端以及经由单元内的一个或多个相应互连件彼此通信连接的多个电路元件。该方法包括将缺陷注入多个电路元件之一以及一个或多个互连件。该方法包括模拟注入了缺陷的单元,以获取单元内的注入缺陷的位置处的第一电流波形。该方法包括模拟未注入缺陷的单元,以获取单元内的注入缺陷的位置处的第二电流波形。该方法包括基于第一电流波形与第二电流波形的比较来选择性用电流类型的缺陷注释单元的输入/输出表。
80.上述方法还包括:估计第一电流波形与第二电流波形之间的差异;以及确定差异超过预定电流阈值,以用缺陷注释单元的输入/输出表。
81.上述方法还包括:模拟注入了缺陷的单元,以获取单元接收电源的位置处的第三电流波形;模拟未注入缺陷的单元,以获取单元接收电源的位置处的第四电流波形;以及基于第三电流波形与第四电流波形的比较来用电流类型的缺陷选择性地注释单元的输入/输出表。
82.上述内容概述了几个实施例的特征,使得本领域的普通技术人员可以更好地理解本发明的各方面。本领域普通技术人员应该理解,可以很容易地使用本公开作为基础来设计或更改其它用于达到与这里所介绍实施例相同的目的和/或实现相同优点的工艺和结构。本领域普通技术人员也应该意识到,这种等效构造并不背离本公开的精神和范围,并且在不背离本公开的精神和范围的情况下,可以进行多种变化、替换以及改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜