测试或分析集成电路的方法和系统的制作方法

文档序号:6117459阅读:104来源:国知局
专利名称:测试或分析集成电路的方法和系统的制作方法
技术领域
本发明一般涉及集成电路,特别涉及相依矩阵和使用相依矩阵来测试或分析集成电路的方法。
背景技术
测试或分析传统的大规模集成电路是复杂的,因为大量的组件状态(例如,锁存器状态)需要被测试或分析。进而,对于这样的传统系统,如果在小窗口上,单循环状态空间是时间的函数(例如,多循环状态空间),则多循环状态空间变得非常大。因此,需要用于测试或分析集成电路的改进的方法和装置。

发明内容
在本发明的第一方面中,提供了一种测试或分析集成电路(IC)的方法。该方法包括以下步骤(1)根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的组件有关的信息的各部分;以及(b)除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。
在本发明的第二方面中,提供了一种改进处理的方法。该方法包括以下步骤(1)生成与所述处理的子处理之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的子处理有关的信息的各部分;以及(b)除去与不依赖于所述处理的其他子处理的至少第一子处理有关的信息的部分。
在本发明的第三方面中,提供了一种改进结构的方法。该方法包括以下步骤(1)生成与所述结构的组件之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的组件有关的信息的各部分;以及(b)除去与不依赖于所述结构的其他组件的至少第一组件有关的信息的部分。
在本发明的第四方面中,提供了用于测试或分析集成电路的第一装置。所述第一装置是具有连接到存储器的处理器的相依性信息生成工具。所述相依性信息生成工具适于根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息。
在本发明的第五方面中,提供了用于测试或分析集成电路的第二装置。所述第二装置是具有连接到存储器的处理器的相依性信息简化工具。所述相依性信息简化工具适于(1)接收根据描述所述集成电路的网表生成的与所述集成电路的组件之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的组件有关的信息的各部分;以及(b)除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。
在本发明的第六方面中,提供了用于测试或分析集成电路(IC)的第一系统。该系统包括(1)相依性信息生成工具;以及(2)连接到所述相依性信息生成工具的相依性信息简化工具。所述相依性信息生成工具适于根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息。所述相依性信息简化工具适于通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的组件有关的信息的各部分;以及(b)除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。
在本发明的第七方面中,提供了第一计算机程序产品。所述第一计算机程序产品包括计算机可读介质,所述计算机可读介质具有适于根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息的计算机程序代码。
在本发明的第八方面中,提供了第二计算机程序产品。所述第二计算机程序产品包括计算机可读介质,所述计算机可读介质具有适于执行以下步骤的计算机程序代码(1)接收根据描述所述集成电路的网表生成的与所述集成电路的组件之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的组件有关的信息的各部分;以及(b)除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。根据本发明的这些和其他方面提供了大量其他方面。本文描述的每个计算机程序产品都可以由计算机可读介质(例如,载波信号、软盘、压缩盘、DVD、硬盘、随机存取存储器等)承载。
从以下的详细说明、附加的权利要求和附图,本发明的其他特征和方面将变得更加显而易见。


图1是根据本发明的实施例的用于测试或分析集成电路(IC)的系统的方块图;图2是示出根据本发明的实施例的测试或分析集成电路的示例性方法的处理流程的示意图;图3是根据本发明的实施例的要测试或分析的示例性集成电路的方块图;图4是根据本发明的实施例的在测试或分析集成电路的示例性方法期间产生的相关阵列的方块图;图5示出了根据本发明的实施例的在测试或分析集成电路的示例性方法期间生成的示例性相依性信息;以及图6示出了根据本发明的实施例的相依性信息的示例性简化。
具体实施例方式
本发明提供了改进结构的处理和/或性能的方法和装置。在一个实施例中,所述方法和装置可用于改进大规模集成电路(IC)的检验。在此类实施例中,本发明可以提供确定大规模集成电路的功能相依性的有效方法。例如,本发明可以生成一个或多个描述集成电路的各组件如何相关的矩阵。可以使用算法来简化一个或多个此类矩阵,以便仅分别包括与两个或更多相关组件有关的信息。这种矩阵可用于降低集成电路测试或集成电路分析的复杂性。
更一般地,本发明可以提供用于生成与处理的子处理的相依性有关的信息的方法和装置。所生成的信息可以有效地描述处理的子处理(例如,减少用于描述子处理的数据量)。例如,所述信息可以包括一个或多个矩阵,每个矩阵可以描述所述处理的两个或更多相关(例如,相依)子处理之间的关系。备选地,本发明可以提供用于生成与结构的各组件的相依性有关的信息的方法和装置。所生成的信息可以有效地描述结构的组件(例如,减少了用于描述所述组件的数据量)。例如,所述信息可以包括一个或多个矩阵,每个矩阵可以描述所述结构的两个或更多相关组件之间的关系。
此类信息可用于通过共同测试或分析相关的子处理来改进处理的测试(例如,模拟测试)或分析,或者通过共同测试或分析相关组件来改进装置的测试或分析。例如,通过共同测试或分析处理(或结构的组件)的相关子处理,可以减少测试或分析处理(或结构)所需的总体检验量。此类改进的测试或分析的结果可用于改进结构的处理或性能。以这种方式,本发明提供了改进结构的处理和/或性能的方法和装置。
图1是根据本发明的实施例的用于测试或分析集成电路(IC)的系统的方块图。参考图1,用于测试或分析集成电路的系统100可以是计算机或类似物。系统100可以包括适于执行指令(例如、代码)的处理器102。处理器102可以连接到适于存储数据的存储器104。进而,系统100可以包括连接到处理器102的相依性信息生成工具106。相依性信息生成工具106可以适于根据描述集成电路的网表来生成与集成电路的组件(或通过其执行的功能)之间的相依性有关的信息。系统100可以包括连接到所述处理器的相依性信息简化工具108。相依性信息简化工具108可以适于接收生成的与集成电路的组件(或功能)之间的相依性有关的信息并简化该信息。相依性信息简化工具108可以采用算法来简化所生成的信息。如下所述,简化后的信息可用于测试和分析所述集成电路。简化后的信息可以减少测试或分析集成电路所需的测试或分析的总体数量。
在一些实施例中,相依性信息生成工具106和/或相依性信息简化工具108可以是由处理器102执行的软件。备选地,相依性信息生成工具106和/或相依性信息简化工具108可以是硬件或计算机程序产品。
图2是示出根据本发明的实施例的测试或分析集成电路的示例性方法200的处理流程的示意图。参考图2,在测试或分析集成电路的示例性方法200中,相依性信息生成工具106可以接收描述集成电路的网表(例如techvim)202。下面参考图3描述了示例性集成电路。设计集成电路所使用(例如,通过电路设计人员)的代码可以被合成或汇编以形成网表202。以这种方式,网表202可以借助分辨率(resolution)来描述集成电路的各组件(例如,向下到晶体管级或向下到逻辑门级)。
相依性信息生成工具106可以采用网表202来确定集成电路组件(或由其执行的功能)之间的相依性并输出描述所述相依性的信息。此类与集成电路组件之间的相依性有关的信息可以输出为相依性矩阵。下面参考图4描述示例性的相依性矩阵204。例如,相依性信息生成工具106可以解析网表202来产生相依性矩阵204。
相依性信息简化工具108可以适于接收相依性信息(例如,矩阵204)作为输入并在可能时简化相依性信息。例如,相依性信息简化工具108可以合并与具有公共相依性的组件有关的相依性信息部分。此类组件可以共同分组成更大的功能组件。备选地或另外地,相依性信息简化工具108可以除去与不依赖于包括在集成电路中的其他组件的至少第一组件有关的信息。相依性信息简化工具108可以输出此类简化的信息(例如,以简化的矩阵206的形式)。
简化的矩阵206可以用于改进集成电路的测试或分析。例如,简化的矩阵206可以改进测试用例生成,模拟环境设计和/或断言生成。模拟环境可以指在测试或分析下的单元以及一个或多个可以与所述在测试或分析下的单元通信的块的模型。测试或分析用例可以描述一个或多个块的模型如何运行。断言生成可以是模拟的一部分并用于在遇到不真实条件时提供失败条件。通过在集成电路测试或分析期间使用简化的矩阵,可以无需使用集成电路的其余组件来测试或分析集成电路的独立组件执行的功能。以这种方式,可以减少测试或分析集成电路所需的测试或分析的总体数量,由此改进了测试和分析效率。
图3是根据本发明的实施例的要测试或分析的示例性集成电路的方块图。参考图3,示例性集成电路300可以包括第一输入管脚In_a,其可以提供连接到集成电路300的第一锁存器L1的第一信号sig_a。同样,示例性集成电路300可以包括第二输入管脚In_b,其可以提供连接到集成电路300的第二锁存器L2的第二信号sig_b。所述第一和第二锁存器L1、L2可以连接到第一逻辑门(例如,“或”门OR1)。
另外,第一锁存器L1(其可以提供信号sig_c)可以连接到第三锁存器L3。同样,第二锁存器L2(其可以提供信号sig_d)可以连接到第二逻辑门(例如,“与”门AND1)。第一逻辑门OR1(其可以提供信号sig_e)可以连接到集成电路300的第四锁存器L4。第三锁存器L3(其可以提供信号sig_f)可以连接到第三逻辑门(例如,适于保持信号极性和/或增加较大负载或较长网络的驱动力的重供电(repowering)缓冲器B1)和第四锁存器L4(其可以提供信号sig_g)可以连接到第二逻辑门AND1。第三逻辑门B1(其可以提供信号sig_h)可以连接到集成电路300的第五锁存器L5,并且第二逻辑门AND1(其可以提供信号sig_i)可以连接到集成电路300的第六锁存器L6。第五锁存器L5(其可以提供信号sig_j)可以连接到集成电路300的第一输出管脚Out_a。同样,第六锁存器L6(其可以提供信号sig_k)可以连接到集成电路300的第二输出管脚Out_b。集成电路300的设计是示例性的,并且因此集成电路300可以包括更多或更少数量的组件和/或不同的组件,它们可以以不同的方式连接。
图4是根据本发明的实施例的在测试集成电路的示例性方法200期间产生的相关阵列400的方块图。如所述的生成与集成电路(图3中的300)的组件有关的相依性信息(例如,以相依性矩阵204的形式),相依性信息生成工具(图1中的106)可以解析组件(例如逻辑元件,如反相器、缓冲器及类似元件)的实例的网表(例如tech vim)202。相依性信息生成工具106可以假定随机逻辑宏(RLMS)是平坦的。以这种方式,包括在集成电路300中的锁存器元件在网表中可见(除了阵列和/或SRAM中的锁存器元件)。但是,相依性信息生成工具106可以使用不同的分辨率(例如,由用户提供)来生成相依性信息。例如,可以提供分辨率以便可以由相依性信息生成工具106生成锁存器相依性信息、信号相依性信息、I/O相依性信息或类似信息。
参考图4,当生成与集成电路300的组件有关的相依性信息时,相依性信息生成工具106可以产生相关阵列400。互联信号可以储存在根据信号名称索引的相关阵列400中。例如,相关阵列400可以存储提供相应信号的组件(例如,框)的名称。这些信号的名称可以用作对相关阵列400的相应索引402。相关阵列400的结构可以使得相依性信息生成工具106能够在生成与集成电路300的组件有关的相依性信息时,快速和容易地从给定起点(如输入管脚In_a、In_b)到终点(如输出管脚Out_a、Out_b(例如IO)或者相反)遍历集成电路300的逻辑路径(例如,通过逻辑的锥面(cone))。以这种方式,相依性信息生成工具106可以递归地追踪包括在集成电路300中的组件(如锁存器L1-L6)的逻辑路径(如锥面)。例如,当递归地追踪集成电路300的选定起始组件的路径时,相依性信息生成工具106可以沿着路径在踪迹遇到其他组件(如锁存器)时在相依性矩阵400的表项中放置校验标记(例如,可以设置位),以指示刚发现的组件与起始组件具有相依性。递归的踪迹可以继续遍历逻辑路径,直到发现期望的终点。
下面的伪代码可以描述在生成相依性信息时,相依性信息生成工具106用于遍历集成电路300的逻辑路径的追踪算法。
void TraceOnSourceBook(sourcebookname)
{For Every Input on sourcebookname{signal=GetNextInputSignalName;nextsourcebook=AssociativeArray[signal];If nextsourcebook=Latch{add_dependency_to_matrix(sourcebookname,nextsourcebook);}if nextsourcebook!=IO{TraceOnSourceBook(nextsourcebook);}}}上述伪代码是示例性的,并且因此可以使用更多或更少数量和/或不同的伪代码。
当追踪集成电路300的逻辑路径时,相依性信息生成工具106应避免陷入逻辑路径的循环,这会导致通过逻辑路径落入该循环。因此,在一些实施例中,相依性信息生成工具106可以维护指示信号的相应路径已被遍历的信号表。可以在选择了从其开始追踪的新源锁存器时重置所述信号表。可以修改以上示出的伪代码以防止通过逻辑落入循环。例如,可以修改伪代码以跟踪已用于防止将多个表项置于循环中的信号。以这种方式,当遍历集成电路的逻辑路径以获得源卷(book)、网和目的卷信息的表时,同一路径仅被遍历一次,这样所述表可以包括源卷、目标卷以及卷之间网的名称。对于每一个网源-网-汇点(例如,目标)组合,仅在表项尚未存在时才将表项添加到所述表,否则逻辑电路处于循环中,并且因此逻辑继续移动到要处理的下一项。
以这种方式,相依性信息生成工具106可以生成与集成电路300的组件(例如,锁存器L1-L6)有关的相依性信息(例如,相依性矩阵204)。将在下面参考图5描述示例性的相依性信息的细节。
图5示出了根据本发明的实施例的在测试或分析集成电路的示例性方法200期间生成的示例性相依性信息。参考图5,在测试或分析集成电路300的示例性方法200期间生成的与集成电路300的组件有关的相依性信息500可以包括在矩阵502中。矩阵502的列504可以与提供信号的集成电路300的组件对应。例如,矩阵502的列504可以与提供信号的锁存器L1-L6对应。此类列可以代表相关变量(例如、组件)。矩阵502的行506可以与源组件依赖于其的组件对应。因此,此类行可以代表独立变量(例如,组件)。在列504和行506的交叉点的断言位指示与列504对应的组件依赖于与行506对应的组件。备选地,在列504和行506的交叉点的取消断言的位指示与列504对应的组件不依赖于与行506对应的组件。例如,在与第三锁存器L3对应的列和与第一锁存器L1对应的行中的高状态信号(例如,逻辑“1”)可以指示集成电路300的第三锁存器L3依赖于集成电路300的第一锁存器L1。因此,相依性信息500指示(1)第六锁存器L6依赖于第一、第二和第四锁存器L1、L2、L4;(2)第五锁存器L5依赖于第一和第三锁存器L1、L3;(3)第四锁存器L4依赖于第一和第二锁存器L1、L2;(4)第三锁存器L3依赖于第一锁存器L1;以及第一和第二锁存器L1、L2不依赖于集成电路300的其他锁存器。
与集成电路300的组件之间的相依性有关的信息500可以被提供给相依性信息简化工具108,其可以减少信息500的数量。减少的信息可用于改进集成电路300的测试或分析。更具体地说,简化的信息可以减少测试或分析集成电路300所需的测试或分析的总体数量,由此提高测试或分析效率。相依性信息简化工具108可使用算法来简化生成的信息500。下面将参考图6描述相依性信息简化工具108用于简化生成信息的示例性算法。
图6示出了根据本发明的实施例的相依性信息的示例性简化600。参考图6,相依性信息简化工具108可以使用算法来减少生成的信息。例如,相依性信息简化工具108可以通过合并与具有公共相依性的组件有关的信息的各部分和/或通过消除与不依赖于集成电路300的其他组件的至少第一组件有关的信息来简化所述信息。相依性信息简化工具108可以扩展(例如,添加)或复制生成的信息的部分,如果此类扩展(信息的添加)或复制可以随后减少生成的信息量的话。例如,假设生成的信息是相依性矩阵,相依性信息简化工具108用于简化生成信息的算法可以包括以下一个或多个步骤(1)列或行减少;(2)列或行扩展;以及(3)列或行消除。
但是,该算法可以包括更多或更少数量和/或不同的步骤。相依性信息简化工具108可以搜索生成的信息的具有类似相依性的部分。例如,相依性信息简化工具108可以搜索生成的信息的列504,列504的相应部分具有公共相依性。列504可以对应于提供信号的相应集成电路组件。此类列504的各部分可以合并到列504之一,并且可以更改列名称以指示代表集成电路组件的功能组件。进而,与相应组件对应的完全相同的列504可以简化为单个列504且更改名称以表示包括所述相应组件的功能组件。可以为列或行简化步骤分配比所述算法的其余步骤更高的优先极。因此,相依性信息简化工具108可以在执行以下步骤之前尝试减少相依性矩阵的列504和/或行506。
另外,相依性信息简化工具108可以判定生成信息的各部分是否可以扩展或复制。如果这种信息的扩展和复制可以允许随后简化生成的信息,则可以扩展和复制生成信息的各部分。例如,相依性信息简化工具108可以扩展(例如,添加信息)或复制生成信息的列504,如果该列504的子集可以与其他列合并并且由此被简化的话。以这种方式,这些步骤的实际结果是生成的信息(例如,相依性矩阵)可以保持相同的大小或变得更小。相依性信息生成工具108可以在剩余列504或行506具有公共子集之前尝试扩展或复制具有最大公共子集数的列504或行506。
相依性信息简化工具108可以简化与不依赖于集成电路300的其他组件的至少第一组件(例如,原始组件或功能组件)对应的生成信息的各部分。例如,由于相依性信息简化工具108执行相依性矩阵500的简化和可能的扩展,所以对应于组件的列504可以在不依赖于其余组件的情况下结束。因此,相依性信息简化工具108可以从相依性矩阵移除此类列504。相依性信息简化工具108可以适于跟踪与已消除的列504或行506对应的原始组件或功能组件,因为这些组件或功能组件可以暗示与集成电路300的其余组件完全无关。因此,需要独立地测试,验证或分析此类原始组件或功能组件。通过使用上述的矩阵简化技术,相依性矩阵可以简化为不仅显示位相依性,而且显示更高级别的功能相依性。应当指出,如果两个组件(或由此执行的功能)是独立的,则本方法和装置可以假定不需要相关地验证它们。
相依性信息简化工具108可以使用上述算法来简化由相依性信息生成工具106生成的与集成电路300的组件有关的相依性信息(例如,矩阵)500。例如,相依性信息简化工具108可以从矩阵500中移除列L1和L2,因为组件L1和L2不依赖于集成电路300中的其他锁存器,由此形成第一中间矩阵604。
具有公共相依性的列L4和L6的部分可以合并成与功能组件F1对应的列,其可以表示组件L4和L6的合并。因此,列F1可以指示组件L4和L6对组件L1和L2的相依性。进而,列L6的其余部分可以置于表示功能组件F2的列中。列F2可以指示组件L6对组件L4的相依性。以这种方式,可以形成第二中间矩阵606。
具有公共相依性的列L3和L5的部分可以合并成代表功能组件F3的列,其可以代表组件L3和L5的合并。列F3可以指示组件L3和L5对组件L1的相依性。进而,列L5的其余部分可以置于功能组件F4的列中。列F4可以指示组件L5对组件L3的相依性。以这种方式,可以形成第三中间矩阵608。
具有公共相依性的列F1和F3的部分可以合并成功能组件F5的列,其代表功能组件F1和F3的合并。列F5可以指示组件L4和L6对组件L1和L2的相依性并且可以指示组件L3和L5对组件L1的相依性。进而,列F1的其余部分可以置于表示功能组件F6的列中。列F6可以指示组件F1对组件L2的相依性,即组件L4和L6对组件L2的相依性。以这种方式,可以形成简化后的矩阵602。
简化后的矩阵602可用于(例如、通过系统100)改进集成电路300的测试和分析。例如,简化的矩阵602可以减少完整地测试或分析集成电路300所需的测试或分析的总体数量,由此提高测试或分析效率。例如,在没有简化的矩阵602的情况下,需要大量的测试或分析来完整地测试或分析集成电路300中的全部组件(例如,锁存器L1-L6)。更具体地说,测试或分析集成电路300的六个锁存器L1-L6中的每个锁存器的“开”和“关”状态需要执行4096(212)次测试或分析。相比之下,使用简化的矩阵602,需要两次测试或分析来测试或分析组件L1,需要两次测试或分析来测试或分析组件L2,需要四(22)次测试或分析来测试或分析功能组件F2,需要四(22)次测试或分析来测试或分析功能组件F4,需要六十四(26)次测试或分析来测试或分析功能组件F5,以及需要八(23)次测试或分析来测试或分析功能组件F6。更具体地说,可以独立地测试和分析L1和L2(例如,在集成电路300的其余组件L3-L6的测试和分析之外优化)。结果,简化的矩阵602使得能够使用八十四次测试或分析来测试或分析集成电路300,这将完整地测试或分析集成电路300所需的测试或分析数减少了98%。以这种方式,在相依性矩阵500中产生简化矩阵602的(上述)简化可以导致32次测试或分析的状态空间,而不是完整电路所需的144次测试或分析。测试或分析数可以基于每个位与每个其他位的结合。以这种方式,本发明提供了使用上述相依性矩阵和简化技术来确定大规模集成芯片上组件的功能相依性的高效方法。
因此,本方法和装置避免了传统系统(例如,测试或分析集成电路)的缺点。更具体地说,随着芯片组件(例如,锁存器元件)数量的增加,使用此类传统系统检验大规模集成芯片变得非常复杂。例如,具有1000个锁存器的芯片上的总体单循环状态空间有21000≈1.0715E301个状态,每个状态都在芯片测试或分析期间被检验。进而,对于此类传统系统,如果采用单循环状态空间并使其为时间的函数(例如,多循环状态空间),则在小窗口上,多循环状态空间将变得非常大。例如,在上述示例性传统系统中,在15次循环上,状态空间变为至少≈(1.0715E301)15个状态。结果,在15次循环的窗口上,即使对于此类简单的1000个锁存器的示例性传统系统设计,使用测试或分析总体多循环状态空间的传统方法也是不现实的和不可能的。相比之下,本发明可以使用网表202的连接性信息来获知哪些组件(或由其执行的功能或功能组)需要与其他组件(或功能)组一起被测试或分析。例如,本发明可以使用网表202来正式地确定组件(或由其执行的功能或功能组)之间的相依性并生成描述该相依性的简化矩阵602。
简化的矩阵602然后可以用于减少总体状态空间,并且因此可以改进发现集成电路设计的问题(例如,其中的缺陷)所需的时间。例如,本方法和装置可以降低不必要的测试或产生的开销。进而,本方法和装置可以提供更清晰的测试或分析用例和/或模拟环境。以这种方式,本发明可以提供集成电路设计的功能相依性(例如,逻辑器件、晶体管、布线和/或类似物之类的组件)的彻底(例如,完全)视图。没有此类视图,集成电路设计人员、检验工程师或类似人员只能根据个人对设计的理解来推测此类相依性。本方法和装置生成的相依性信息可用作模拟环境的反馈,使得设计人员、工程师或类似人员能够判定是否应对给定的集成电路设计做出更改。一旦使用本方法和装置建立了相依性矩阵502,重新生成新的相依性矩阵(例如,根据对先前集成电路设计的修正)的时间就可以随着到达最终集成电路设计(例如,硬件不变)呈指数地减少,因为对所述设计的更改越来越少。以这种方式,可以减少测试或分析此类修正后的集成电路设计所需的时间。结果,随着集成电路设计接近结束,上述的相依性矩阵502、602变得越来越有价值。
上述测试或分析的集成电路组件的分辨率(例如,为其生成相依性信息)是锁存器L1-L6。但是,可以使用更细或更粗的分辨率。例如,测试或分析的集成电路组件的分辨率可以是晶体管,并且因此可以生成与集成电路300的晶体管有关的相依性信息。
上述说明只是公开了本发明的示例性实施例。落入本发明的范围的对以上公开的装置和方法的修改将对本领域的技术人员显而易见。例如,参考要测试或分析的集成电路300在以上描述了本方法和装置。但是,在第一更广的方面中,本发明可以包括用于通过以下步骤来改进处理的方法和装置(1)生成与所述处理的子处理之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的子处理有关的信息的各部分;以及(b)除去与不依赖于所述处理的其他子处理的至少第一子处理有关的信息的部分。简化后的信息可用于测试或分析所述处理。备选地或另外地,在第二更广的方面中,本发明可以包括用于通过以下步骤来改进结构的方法和装置(1)生成与所述结构的组件之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的组件有关的信息的各部分;以及(b)除去与不依赖于所述结构的其他组件的至少第一组件有关的信息的部分。所简化的信息可用于测试或分析所述结构。
因此,虽然结合本发明的示例性实施例公开了本发明,但是应当理解,其他实施例将落入如以下权利要求限定的本发明的精神和范围之内。
权利要求
1.一种测试或分析集成电路IC的方法,所述方法包括根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息;以及通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的组件有关的信息的各部分;以及除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。
2.如权利要求1的方法,还包括使用所述简化的信息来测试或分析所述集成电路。
3.如权利要求2的方法,其中使用所述简化的信息来测试或分析所述集成电路包括减少用于测试或分析所述集成电路的测试或分析的数量。
4.如权利要求1的方法,其中根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息包括根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息的矩阵;以及简化所生成的信息包括通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的组件有关的信息的行或列;除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的行或列;以及将附加信息添加到所生成的信息以便允许进一步简化所生成的信息和复制所生成的信息的一部分以便允许进一步简化所生成的信息中的至少一个步骤。
5.如权利要求4的方法,其中将附加信息添加到所生成的信息以便允许进一步简化所生成的信息包括将附加信息添加到所生成的信息,以便可以将所述附加信息的一个或多个部分与所生成的信息的部分合并;以及复制所生成的信息的一部分以便允许进一步简化所生成的信息包括复制所生成的信息的一部分,以便可以将所述复制的信息的一个或多个部分与所生成的信息的部分合并。
6.一种用于测试或分析集成电路IC的装置,所述装置包括具有连接到存储器的处理器的相依性信息生成工具;其中所述相依性信息生成工具适于根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息的矩阵。
7.如权利要求6的装置,其中所述矩阵的列与所述集成电路中提供信号的组件对应;以及所述矩阵的行表示所述集成电路的提供所述信号的所述组件依赖于其的组件。
8.如权利要求6的装置,其中所述集成电路的组件包括所述集成电路的晶体管或逻辑门。
9.一种用于测试或分析集成电路IC的装置,所述装置包括具有连接到存储器的处理器的相依性信息简化工具;其中所述相依性信息简化工具适于接收根据描述所述集成电路的网表生成的与所述集成电路的组件之间的相依性有关的信息;以及通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的组件有关的信息的各部分;以及除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。
10.如权利要求9的装置,其中所生成的信息包括根据描述所述集成电路的网表的与所述集成电路组件之间的相依性有关的信息的矩阵;以及所述相依性信息简化工具还适于通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的组件有关的信息的行或列;除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的行或列;以及将附加信息添加到所生成的信息以便允许进一步简化所生成的信息和复制所生成的信息的一部分以便允许进一步简化所生成的信息中的至少一个步骤。
11.如权利要求10的装置,其中所述相依性信息简化工具还适于将附加信息添加到所生成的信息,以便可以将所述附加信息的一个或多个部分与所生成的信息的部分合并;以及复制所生成的信息的一部分,以便可以将所述复制的信息的一个或多个部分与所生成的信息的部分合并。
12.一种用于测试或分析集成电路IC的系统,所述系统包括相依性信息生成工具;以及连接到所述相依性信息生成工具的相依性信息简化工具;其中所述相依性信息生成工具适于根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息;以及其中所述相依性信息简化工具适于通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的组件有关的信息的各部分;以及除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。
13.如权利要求12的系统,其中所述系统适于使用所述简化的信息来测试或分析所述集成电路。
14.如权利要求12的系统,其中所述系统适于减少用于测试或分析所述集成电路的测试或分析的数量。
15.如权利要求12的系统,其中所述相依性信息生成工具还适于根据描述所述集成电路的网表来生成与所述集成电路组件之间的相依性有关的信息的矩阵;以及所述相依性信息简化工具还适于通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的组件有关的信息的行或列;除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的行或列。
16.如权利要求15的系统,其中所述相依性信息简化工具还适于通过将附加信息添加到所生成的信息以便可以将所述附加信息的一个或多个部分与所生成的信息的部分合并,将所述附加信息添加到所生成的信息以便允许进一步简化所生成的信息;以及通过复制所生成的信息的一部分以便可以将所述复制的信息的一个或多个部分与所生成的信息的部分合并,复制所生成的信息的一部分以便允许进一步简化所生成的信息。
17.一种改进处理的方法,所述方法包括生成与所述处理的子处理之间的相依性有关的信息;以及通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的子处理有关的信息的各部分;以及除去与不依赖于所述处理的其他子处理的至少第一子处理有关的信息的部分。
18.如权利要求17的方法,还包括使用所述简化的信息来测试或分析所述处理。
19.一种改进结构的方法,所述方法包括生成与所述结构的组件之间的相依性有关的信息;以及通过以下步骤中的至少一个步骤来简化所生成的信息合并与具有公共相依性的组件有关的信息的各部分;以及除去与不依赖于所述结构的其他组件的至少第一组件有关的信息的部分。
20.如权利要求19的方法,还包括使用所述简化的信息来测试或分析所述结构。
全文摘要
在第一方面中,提供了一种测试或分析集成电路(IC)的方法。该方法包括以下步骤(1)根据描述所述集成电路的网表来生成与所述集成电路的组件之间的相依性有关的信息;以及(2)通过以下步骤中的至少一个步骤来简化所生成的信息(a)合并与具有公共相依性的组件有关的信息的各部分;以及(b)除去与不依赖于所述集成电路的其他组件的至少第一组件有关的信息的部分。还提供了许多其他方面。
文档编号G01R31/303GK1979206SQ200610168919
公开日2007年6月13日 申请日期2006年11月14日 优先权日2005年12月8日
发明者C·B·麦克布莱德, K·H·哈塞尔霍斯特, L·E·格罗斯巴赫, Q·G·施麦尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1