用于测试集成电路的方法和设备与流程

文档序号:12359370阅读:247来源:国知局
用于测试集成电路的方法和设备与流程

本发明总体上涉及包括内部存储器的集成电路,更具体地,涉及测试集成电路的方法和电路。



背景技术:

为了确保集成电路存储器例如SRAM存储器的操作,执行存储器的测试是已知的。测试可以是内置自测试。

通过执行扫描测试来测试集成电路的某些或潜在的所有元件的操作也是已知的。在扫描测试中集成电路的触发器(flip-flops)用于形成一个或多个串行扫描链,数据加载进串行扫描链中以初始化集成电路的元件到已知状态。然后,在集成电路操作一定时间后,扫描链被用来存储这些元件的状态,表示状态的数据被从扫描链卸载以用于与期望状态比较。

然而,由于集成电路变得载来越大,测试也变得更加复杂和耗时。此外,越来越期望在这种集成电路的测试上执行更多控制。

附图说明

本发明,连同其目的和优点,可参考下面优选实施例及其附图的描述而更好地理解,其中:

图1是示出了根据本发明实施例的方法的流程图;

图2是根据本发明实施例的集成电路的示例性方框图;

图3是根据本发明实施例的集成电路的另一个示例性方框图;以及

图4是根据本发明实施例的保持测试结构和控制单元的示例性方框图。

具体实施方式

下面提出的详细说明连同附图意于作为本发明优选实施例的说明,而不意于表示本发明中可能实施的仅有形式。应该理解的是相同或等价功能可由不同实施例实施,这些实施例意于包含在本发明的实质和范围内。在附图中,类似的标记用于表示类似的元件。此外,术语“包括”,“包含”或任何其他变化, 意于覆盖非排他内含物,这样包括一系列元件或步骤的模块,电路,装置元件,结构和方法步骤不仅仅包括这些元件但是可包括没有明显列出的或对这些模块、电路、装置元件或步骤固有的其他元件或步骤。在没有更多约束的情况下,通过“包括:一个......”引入的元件或步骤,并不排除包括该元件或步骤的额外的相同元件或步骤的存在。

在一个实施例中,本发明提供一种集成电路,用于可配置地测试集成电路的存储器和至少部分并行地测试集成电路的其他元件。存储器的测试的配置通过测试接口来提供,从而允许在存储器的测试上控制。此外,可以减少集成电路的测试时间。

在其他实施例中,本发明提供了测试具有存储器的集成电路的方法,该方法包括通过测试接口接收表示存储器测试的配置的测试数据,其中存储器至少部分与扫描测试并行的被测试,扫描测试是采用由串联连接的触发器形成的一个或多扫描链执行的。接收的测试数据可以表示存储器测试的结果。测试数据可以表示测试通过、测试失败和诊断数据中的一个或多个。

参见图1,示出了根据本发明实施例的测试集成电路的方法100的流程图。集成电路可以是片上系统(Soc)。集成电路包括存储器,例如SRAM,用于可操作地存储数据。集成电路可以如下面参照图2所描述的。应当认识到集成电路可包括多于一个存储器。测试可以做为生产测试执行来测试集成电路的操作以便检测生产缺陷。

方法100包括进入110第一测试模式的步骤,在第一测试模式中集成电路的存储器被测试。存储器可被测试以检测生产缺陷。存储器至少部分并行地,即同时地与用于测试集成电路的元件的集成电路的一个或多个扫描链被测试。第一测试模式也可称作scan_MBIST(扫描_存储器内置自测试)模式,但是应认识到这仅仅是例举的。在第一测试模式中,存储器内置自测试(MBIST)单元和测试接口单元被从通过串联连接的触发器形成在集成电路内的一个或多个扫描链排除。

在步骤120,表示在第一模式中要执行的集成电路的测试的配置的测试数据在集成电路处被接收。测试数据包括第一部分和第二部分,其中第一部分配置存储器测试,而第二部分包括用于配置在第一测试模式中要执行的扫描测试的扫描控制数据。配置存储器测试的测试数据可称作MBIST配置数据并且 用于配置MBIST单元。MBIST配置数据可包括限定或选择一个或多个用于存储器测试的算法以及存储器测试的持续时间的数据。例如,持续时间可限定存储器被测试以在其内保持数据的一段时间。MBIST配置数据可包括表示MBIST操作的数据,例如一个或多个MBIST调用,mbist选择,MBIST数据背景,MBIST重置,或掉电。应当认识到的是也可以在配置数据中限定其他MBIST操作。

测试数据在集成电路的测试接口单元处被接收。测试数据可从与测试接口单元通信耦接的其他计算装置例如用于测试集成电路的装置接收。测试接口单元可以符合定义用于通常称作JTAG端口的测试访问端口和边界扫描结构的标准的IEEE标准1149.1。步骤120可包括测试数据从测试接口单元转移到集成电路的MBIST单元,这样存储器测试可以在MBIST单元的控制下独立地执行。

在步骤130,第一测试模式在集成电路的测试前被初始化。初始化被执行以便初始化MBIST单元和一个或多个扫描链的状态。然而初始化不重置在步骤120中接收的测试配置数据,也就是说,这种数据会在初始化期间保持。在某些实施例中,集成电路的重置结构被划分,从而允许执行MBIST单元和集成电路的包括一个或多个扫描链的部分的独立重置。也就是说,集成电路的MBIST单元可独立于一个或多个扫描链被重置和初始化。

在步骤140,执行集成电路的测试。执行测试可包括步骤130的重置状态退出并且启用(enable)存储器测试的起始信号。步骤140中的测试至少部分并行地执行存储器的测试和采用一个或多个扫描链的扫描测试。即,使用一个或多个扫描链来测试集成电路的元件,而大体同时地测试集成电路的一个或多个存储器。

在一个实施例中,存储器测试可包括保持测试。保持测试可包括根据预定模式在存储器中存储数据,模式可以是棋盘模式,但是应当认识到也可使用其他模式。存储在存储器中的数据可通过MBIST单元确定并且可以是5555或AAAA,但是应当认识到也可以考虑其他数据。数据存储在存储器中并且然后在一定时间周期后从存储器读取。在某些实施例中,时间周期可由经由测试接口接收的限定了存储器测试的持续时间的数据限定。时间周期可限定存储器保持测试的保持时间。在时间周期后从存储器读取的数据与初始存储在存储器 中的数据做一致性检查以确定保持测试的结果。

扫描测试包括给一个或多个扫描链加载数据。数据被串行加载进每个扫描链的输入。数据可以是被配置为检测预定故障的数据,例如固定故障(stuck-at fault)(其中节点固定在一电压电平)或跳变故障(transition fault)(其中一节点处的逻辑跳变无法达到另一个节点例如触发器或集成电路时钟周期内的输出)。扫描链内的数据然后提供给集成电路的其他元件,例如集成电路的组合逻辑,用作输入。在集成电路的操作一段时间后,一个或多个扫描链存储集成电路的元件的状态。存储在一个或多个扫描链内的状态信息然后从每个扫描链的输出串行地读出并且用于确定集成电路的校正操作。在本发明的实施例中,存储器测试和扫描测试至少部分同时地执行,这减少了集成电路的测试操作的时间。

在步骤150中,确定存储器测试和扫描测试是否已经完成。应当认识到一个测试可以在另一个之前完成。例如,取决于具体的保持测试时间,保持测试可以比扫描测试花费更长时间。因此在步骤150中,确定两个测试是否已经全部完成。如果没有,方法转回到步骤140。换句话说,方法在步骤150等待直到两个测试已经完成。一旦完成,方法移动到步骤160。在步骤160中,输出测试结果数据。表示一个或多个测试的结果的数据可通过用于接收测试数据的测试接口输出。测试结果数据可对应于存储器测试。在某些实施例中,表示存储器测试的结果的数据从MBIST单元发送到测试接口单元并且然后从测试接口单元输出到通信耦接的装置。测试结果数据可以包括用于有故障的存储器测试的诊断信息,其中诊断信息表示有故障的存储器测试的一个或多个原因。

步骤170和180是可选的。此外,步骤170和180可仅在一段时间周期后跟随之前的步骤,在两者之间可以执行集成电路的其他操作。

步骤170包括进入第二测试模式的步骤,在第二测试模式中MBIST单元和/或测试接口单元的至少一些触发器形成一个或多个扫描链。一个或多个扫描链用于测试集成电路的元件。具体地,MBIST单元和测试接口单元的一个或多个扫描链被配置为分别测试MBIST单元和测试接口单元的元件。以MBIST单元和/或测试接口单元的触发器形成的一个或多个扫描链连同由MBIST单元和/或测试接口单元外部的集成电路内的触发器形成的一个或多个扫描链一起使用。

图2是根据本发明实施例的集成电路200的原理框图。集成电路200包括MBIST单元210和测试接口单元220。尽管在图2中没有示出,集成电路200进一步包括用于存储数据的存储器,其中存储器可以是SRAM存储器。应当认识到集成电路可包括不止一个存储器。同样应当认识到集成电路200包括另外的单元,其中至少某些单元包括多个触发器。集成电路200可被配置为执行上面联系附图1描述的方法。

MBIST单元210包括MBIST引擎(engine)211和保持测试结构及控制(RTCC)单元212。MBIST引擎211被配置为控制MBIST单元210。MBIST引擎211被配置为接收表示要执行的存储器测试的配置的测试数据以及输出表示存储器测试的结果的测试结果数据。测试数据和测试结果数据可以由MBIST引擎211从测试接口单元220接收或由MBIST引擎211输出到测试接口单元220。MBIST引擎211为RTCC单元212提供一个或多个控制信号。第一控制信号(start_ret)表示保持测试的开始。MBIST引擎211还可从RTCC单元212接受一个或多个信号,例如表示测试的完成的信号,诸如表示保持测试的完成(bist_resume)。MBIST引擎211和RTCC单元212可被配置为接收MBIST重置信号(mbist_reset_b)以便重置MBIST单元210。如上面所讨论的,MBIST单元210可独立于由集成电路200的触发器形成的一个或多个扫描链而重置。在图2所示出的实施例中,到MBIST引擎211和RTCC单元212的重置输入响应于表示第一测试模式(即scan_mbist模式)中MBIST单元210的功能性重置的信号mbist_reset_reg和表示第二测试模式中MBIST单元210的触发器的重置的信号lpg_async_reset_b,从多路复用器213输出。多路复用器213的输出可通过表示在第一测试模式(第一测试模式即如上面提到的,也可称作为scan_mbist模式)中操作的集成电路的信号选择。

测试接口单元220被配置为接收测试数据。测试数据可从用于测试集成电路200的装置接收。测试接口单元220可以符合IEEE标准1149.1,该IEEE标准1149.1定义用于通常称作JTAG端口的测试访问端口和边界扫描结构的标准。因此在某些实施例中测试接口单元220可以是JTAG单元。测试接口单元220可包括用来将测试数据传送到/传送出所述装置以测试集成电路200的测试访问端口(TAP)221。TAP221可与该装置通过JTAG接口通信,如图2所示。图2中示出的测试接口单元220包括MBIST控制寄存器222,保持配置寄存器 223,MBIST算法选择寄存器224和MBIST状态寄存器225的每一个中的一个或多个。一个或多个MBIST控制寄存器222被配置为存储MBIST单元210的控制位。控制位可包括MBIST调用位,MBIST重置位,MBIST选择位,MBIST掉电位中的一个或多个。控制位可包括用来控制和配置MBIST单元210的其他控制位以用于存储器测试。一个或多个保持配置寄存器223被配置为存储用于控制存储器测试的持续时间的计数器,例如保持测试的持续时间。计数器的值被提供给MBIST单元210用来控制存储器测试的持续时间。一个或多个MBIST算法选择寄存器224被配置为接收表示MBIST单元210所使用的存储器测试算法的数据。一个或多个MBIST状态寄存器225被配置为从MBIST单元210(特别地从MBIST引擎211)接收状态数据,表示存储器测试的结果。状态数据可包括如上所讨论的用于故障存储器测试的诊断信息。

使用寄存器来配置MBIST单元210以及允许MBIST单元210报告与测试接口单元220通信连接的存储器测试的结果,使得MBIST单元210的操作独立于集成电路200的扫描测试,使得扫描测试和存储器测试可以同时地执行。

一个或多个MBIST控制寄存器222可以被用来启用(enable)或禁用(disable)MBIST单元210。MBIST控制寄存器222中的MBIST调用位可用于开始或发起存储器测试。使用中的一个或多个算法选择寄存器接收并且存储用于选择存储器测试算法的算法选择位。存储器测试算法可选择的算法可以包括但不限于:addressdecoder_bg0,bit_write和retention_checkerboard算法。

如在上面结合图1中示出的方法的步骤140和150提到的,在本发明的实施例中,在第一模式中,MBIST引擎211被配置为与集成电路200的部分的扫描测试至少部分并行地(即同时地)执行存储器测试。

参见图3,示出了集成电路的扫描链。图3是集成电路200的原理框图,其包括之前参照图2描述的MBIST单元210和测试接口单元220。MBIST单元210和测试接口单元220包括被配置为形成关于上面图1中的步骤170描述的第二测试模式中的一个或多个串行扫描链215,225的触发器。在第一测试模式中,MBIST单元210和测试接口单元220的触发器被禁用于形成扫描链的部分。集成电路200的其他单元240包括被配置为在第一测试模式中形成一个或多个串行扫描链241,242,...,24n的触发器,其中如上面描述的步骤140 中那样,扫描测试与存储器测试同时地执行,并且用于结合由MBIST单元210和/或测试接口单元220的触发器所形成的一个或多个扫描链在步骤170中的第二测试模式中执行扫描测试。

如图3所示,集成电路200的扫描链包括扫描输入251,数据经由扫描输入251在第一和第二模式中串行加载进形成在测试接口单元210和MBIST单元220外部的扫描链241,242,...,24n,并且还在步骤170中的第二测试模式中加载进测试接口单元210和MBIST单元220的扫描链215,225。类似地,提供扫描输出252用于从扫描链215,225,241,242,...,24n输出数据。

测试接口单元210和MBIST单元220的扫描链215,225相对于集成电路200的其他单元的扫描链241,242,...,24n分开地启用。集成电路200包括扫描启用输入261,其直接连接到MBIST单元210和测试接口单元220及MBIST单元220(即集成电路200的其他单元的)的外部的扫描链241,242,...,24n。扫描启用输入261在步骤1400中或170中启用扫描测试模式。提供scan_mbist_mode输入262指示第一测试模式。在一个实施例中,scan_mbist_mode输入262连同扫描启用输入261被提供到与门263。提供与门的输出以便仅在步骤170的第二测试模式中启用MBIST单元210和测试接口单元220的扫描链215,225。

如图3所示,集成电路200包括被配置为产生扫描时钟231、MBIST时钟232和测试接口时钟tclk233的时钟产生器模块230。扫描时钟231提供到形成一个或多个扫描链241,242,...,24n的触发器(其不是MBIST单元210或测试接口单元220的一部分)。MBIST时钟232提供到MBIST单元210。测试接口时钟tclk233提供到测试接口单元220。有利地,提供分离的时钟允许不同的操作速度。例如一个单元或扫描链可在功能或测试模式下以各自的时钟频率操作。

图4是根据本发明实施例MBIST单元210的RTCC单元212的示例性方框图。如上所述,RTCC单元212被配置为产生表示保持时间的完成的信号,其可以是继续信号(bist_resume)。RTCC单元212包括继续信号产生逻辑270。在保持测试中,预定的第一数据,例如5555,被写入存储器。然后保持时间开始。保持时间是存储器被测试以保持数据的时间。在保持时间期满后,继续信号被断言(assert)以表示保持时间已过。MBIST单元210然后从存储器 中读出数据以便检查与原始写入数据的正确性或一致性。在某些实施例中,预定的第二数据,例如第一数据的补码(complement),例如AAAA,然后写入存储器以便重复保持测试。在检查第一和第二数据两者的保持后,保持测试结束。

在第一测试模式scan_mbist_mode中,MBIST单元210被配置为从保持配置寄存器223加载计数器值(retention_config_reg)以设置保持计数器271的最大计数器值。基于计数器值和时钟频率,能够确定存储器测试持续时间,例如保持测试的持续时间。在存储器测试持续之后,完成信号bist_resume被断言并且被提供到同步逻辑272。同步逻辑272包括多个触发器,如图4所示。同步逻辑272被配置为产生同步信号mbist_resume_sync_9,其被反向并与mbist_resume_sync信号提供到与门273以通过逻辑273产生mbist_resume_pulse信号。同步逻辑272可包括两个或更多个触发器。多路复用器274用于选择来自存储器MBIST测试和老化MBIST测试之间的bist_resume的输入值,其中老化MBIST测试是环路测试模式以加速集成电路的老化。

应当认识到的是本发明的实施例提供了测试集成电路的装置和方法。本发明的实施例可提供集成电路的更方便的测试。本发明的实施例可提供集成电路更快速的测试。

本发明优选实施例的描述已经以示意和说明的目的呈现,但不是意于穷尽或限制本发明到已经公开的形式。本领域技术人员会认识到可以对上面描述的实施例作出改变而不离开由此的广义创造性概念。应该理解的是,本发明不限制于已公开的特定实施例,而是覆盖随附权利要求所限定的本发明实质和范围内的各种修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1