背景技术
为了减小电子器件的总测试成本,许多系统和/或集成电路使用内建自测试(BIST)电路来制作。这种电路视为是“内建”的,这是因为这种电路形成为系统本身的一部分,或者包含在集成电路的基板内。BIST电路可以产生和/或评估施加/接收至该集成电路或系统的一部分上的测试信号。BIST可以减小测试时间,这是因为板上BIST电路通常比独立测试器更快地施加或评估测试信号。
尽管BIST电路可以测试集成电路器件的各种特征,但可受益于BIST电路的一个特征为用于在系统的器件或部分之间传输信号的接口电路。一种特殊类型的接口为源同步并行接口。源同步并行接口可以并行地传输数据,且这些信号的时序可以是基于该并行数据的传输源。
期望的是,为集成电路的输入和/或输出路径提供自测试能力。这种测试能力可以帮助判定数据传输路径是否正将错误引入数据信号。为了更好理解本发明的各个方面,现在将描述源同步并行接口的BIST方法。并行I/O BIST布置示于图5,并用普通参考字符500表示。测试系统500可包括发送器部分502和接收器部分504。发送器部分502可包括从器件的其他部分(例如,非测试部分)提供的功能数据输入线506,以及产生测试数据值的BIST发送器508。多路复用器510可以选择性地在正常(例如,非测试)工作模式下输出功能数据(func_data[0]至func_data[N])或者在测试工作模式下输出BIST测试数据(test_data[0]至test_data[N])。数据可以通过并行链路接口512从发送器部分502传输到接收器部分504。
接收器部分504可包括可以处理从发送器部分502接收的功能(非测试)数据的功能逻辑514,以及可以处理测试数据的BIST接收器516,由此测试数据是否正在通过该接口正确地传输。
期望的是,BIST发送器508和BIST接收器516能够检测包括固定型故障(stuck-at fault)和耦合故障的普通并行接口类型错误。并行链路接口512中的固定型故障会导致“1”或“0”的固定输出模式。一条线上的数据值对另一条线上的数据值产生负面影响,这会引起耦合故障。例如,通过传输伪随机比特序列(PRBS)可以测试耦合故障。
图6示出与图5中部件508相似的常规BIST发送器608以及与图5中部件516相似的常规BIST接收器616。
常规BIST发送器部分608可包括固定比特值源650、PRBS发生器652、以及选择多路复用器(选择MUX)(654-0至654-N)。固定比特值源650可提供固定二进制值至选择MUX(654-0至654-N)。PRBS发生器652可以以翻转和非翻转形式产生比特值的伪随机序列,并将这些值提供至选择MUX(654-0至654-N)。每个选择MUX(654-0至654-N)可以根据相应模式选择信号(pattern_select_0[0:1]至pattern_select_N[0:1])来输出固定比特值(0或1)之一或伪随机发生比特(或其翻转)。
常规BIST接收器部分616可以提供多个测试以检测从BIST发送器608传输的数据中的错误。接收器部分616可包括PRBS模式检查电路656、固定0测试电路658、固定1测试电路660、以及合格/不合格逻辑662。
当传输的所有信号为逻辑低(0)时,固定0测试电路658可以测试数据。因此,该电路可以对所有这些值进行逻辑或(OR),并通过输出高值ZERO_RES而标识错误。相反,当传输的所有信号为逻辑高(1)时,固定1测试电路660可以测试数据,且因此可以对所有这些值进行逻辑与非(NAND)。如果检测到“0”,则存在错误,且测试电路660可以输出高的结果值ONE_RES。
模式检查电路656可以检查PRBS比特序列中的错误。在所示的常规例中,模式检查电路656可包括与每个传输的数据位相对应的PRBS检查器(656-0至656-N)。每个PRBS检查器(656-0至656-N)可以提供结果信号(RES[0]至RES[N]),当接收的数据值不匹配预期数据值时该结果信号转变为逻辑高。结果信号在模式结果电路657中被逻辑组合(ORed)。因此,如果PRBS检查器(656-0至656-N)判定任意位具有错误,则模式结果电路657将输出高结果PRBS_RES。
来自固定0测试电路658、固定1测试电路660和模式结果电路657的结果可以在合格/不合格结果电路662中被逻辑ORed,以提供整体测试结果合格/不合格状态。
几乎总是期望降低集成电路的整体尺寸,因为尺寸减小可以转化为成本降低。因此,期望以某种方式提供一种用于并行接口的BIST布置,其提供了比诸如图6的常规布置更紧凑的电路。
具体实施方式
图1示出根据本发明第一实施例的并行数据传输测试电路。测试电路可包括接收器部分100,该接收器部分100接收在并行传输线102上传输的测试数据(test_data[0]至test_data[N]),并基于接收的测试值(test_data[0]至test_data[N])提供模式结果值PAT_RES。
根据第一实施例的接收器部分100可包括与每个并行传输线102相对应的输入选择器电路104-0至104-N和相位校正器电路(phasealigner circuit)106-0至106-N。接收器部分100还可包括结果组合电路108和模式序列测试电路110。每个输入选择器电路(140-0至104-N)可以根据相应输入选择器值SEL0至SELN而在一个或多个选择器输出上提供接收测试数据值。在所示示例中,每个输入选择器电路(104-0至104-N)可包括逻辑变更输出(112-0至112-N)以及其他测试输出(114-0至114-N)。逻辑变更输出可以提供预期互不相同(例如,翻转)的测试数据值。其他测试输出可提供用于不同测试类型的测试数据。
逻辑调整电路(106-0至106-N)可以选择性地变更输入数据值,以响应于相位校正控制信号PSEL0至PSELN来“逻辑校正”多个输入测试值。也就是说,接收的并行测试数据值相互之间可具有预期的、故意引入的逻辑差异(例如,翻转)。逻辑调整电路(106-0至106-N)可以除去这些相位差异,以提供一致的输出数据值test_out[0]至test_out[N],假设这些数据值在传输时没有引入任何错误。在优选实施例中,校正控制信号PSEL0至PSELN可以是输入选择器值SEL0至SELN的子集。
结果组合电路108可以逻辑组合来自逻辑调整电路(106-0至106-N)的输出数据值。该组合RES_OUT的结果可以应用于模式序列测试电路110。模式序列测试电路110可以比较来自结果组合电路108的接收的数据值模式,并判定这些值是否匹配预期的数据值模式。
优选地,接收器部分100可以是合并在接收器件内的内建自测试(BIST)电路。作为一个示例,接收器部分100可形成于集成电路器件的基板内,该集成电路器件具有许多可能示例,例如但不限于内容可寻址存储器(CAM)器件、随机存取存储器(RAM)器件、包括闪存EEPROM的电可擦除可编程只读存储器(EEPROM)。
如此,接收器部分100可包括用于多个测试输入值的单个模式序列测试电路110,这与例如图6的常规布置相反,该常规布置包括用于每个N+1测试输入值的模式检查电路。因此,类似图1的实施例与常规情形相比可以实现更紧凑的测试电路尺寸。
第二实施例测试系统示于图2,并使用普通参考字符200表示。测试系统200可包括接收器部分201和发送器部分250。接收器部分201可包括一些与图1接收器部分相同的一般元件。因此,相同元件使用相同参考字符表示,仅仅将第一位由“1”替换为“2”。
在图2的特定接收器部分201中,每个输入选择器电路(204-0至204-N)可包括多路分解器(de-MUX),该多路分解器可以基于相应的两位模式选择值(pattern_select_0[1:0]至pattern_select_N[1:0])将数据值输出到四个输出之一。测试输出(214-0至214-N)可包括固定0输出和固定1输出。逻辑变更输出可包括非翻转模式输出和翻转模式输出。
图2还示出逻辑调整电路(206-0至206-N)的具体示例。每个逻辑调整电路(206-0至206-N)可包括翻转器(207-0至207-N)和多路复用器(MUX)。每个这种翻转器(207-0至207-N)可从翻转模式输出接收测试数据,翻转这些值,并将它们提供至相应MUX的输入。MUX的其它输入可从de-MUX的非翻转模式输出接收数据。逻辑调整电路(206-0至206-N)内的MUX可由该两位模式选择值(pattern_select_0[0]至pattern_select_N[0])中的一个位控制。
结果组合电路208可包括多输入OR电路,该多输入OR电路从每个逻辑调整电路(206-0至206-N)接收输出值,并对这些值进行逻辑OR以提供结果输出RES_OUT。
模式序列测试电路210可包括伪随机二进制序列检查电路。当接收的测试模式数据值不匹配预期值时,该电路可输出“1”。
接收器部分201还可包括从每个输入选择器电路(204-0至204-N)的固定0输出接收测试数据的第一固定值检测电路216。在所示示例中,该第一固定值检测电路216可以是在任一接收的测试值为“1”时可输出1的多输入OR电路。
接收器部分201可进一步包括从每个输入选择器电路(204-0至204-N)的固定1输出接收测试数据的第二固定值检测电路218。在所示示例中,第二固定值检测电路218可以是在任一接收的测试值为“0”时可输出1的多输入NAND电路。
可以由测试结果电路220接收来自模式序列测试电路210、第一固定值检测电路216、以及第二固定值检测电路218的输出。在图2的示例中,测试结果电路220可以是产生合格/不合格状态值的多输入OR电路。
图2的测试电路200还可包括发送器部分250。发送器部分250可具有与图6的BIST发送器608相同的普通结构。应理解的是,接收器部分201的模式选择信号(pattern_select_0[0:1]至pattern_select_N[0:1])是基于发送器部分250的模式选择信号。
优选地,正如图1的情形,测试系统200可形成BIST布置。更具体而言,接收器部分201可以是结合成接收器件的BIST电路(例如,形成于第一集成电路器件的基板内)。发送器部分250可以形成不同的第二传输器件的一部分(例如,形成于第二集成电路器件的基板内)。
与上述常规情形相比,根据上述实施例的并行数据传输测试系统具有有利的更少门电路数目,这是因为对于N+1个输入测试信号来讲,接收器部分可包含一个这种模式序列测试电路。
本发明还可包括包含诸如所述的测试电路的具体系统配置。这种布置的一个示例示于图3。系统300可以是包括一个或多个由搜索控制器件304控制的CAM器件302的搜索引擎系统。搜索控制器件304可通过并行数据线306发出命令和数据到CAM器件302。因此,搜索控制器件304可包括逻辑304-0和并行发送器接口304-1。在一种布置中,并行发送器接口304-1可具有与图2中250所示的发送器部分相似的结构,因此可包括测试序列比特发生器304-2。
CAM器件302可包括搜索电路302-0和并行接收器接口302-1。并行接收器接口302-1可具有与图1和/或图2中所示的接收器部分相似的结构,因此可包括单个模式序列测试电路302-2且尺寸因此更紧凑。
本发明还可包括一种组合并行测试数据结果以输入至单一模式检查电路的方法。该方法的一个具体示例示于图4。
方法400可包括产生测试模式402。该测试模式可以是从单一公共源产生的伪随机二进制序列。这些测试值可以作为产生序列的实际比特值或者作为这些值的翻转在并行传输线上传输。实际值或翻转值的选择可基于模式选择值404。
并行传输线上的测试模式值可以被接收406,并基于模式选择值作为预期测试模式值或预期翻转测试模式值被输入408。接收的测试模式值可以被相互逻辑校正410。这可包括将传输之前被翻转的测试模式值翻转。这些逻辑校正值可以逻辑组合以产生接收的测试序列412。该逻辑组合可以检测在传输中发生的错误。可以相对于预期的测试序列来检查该接收的测试序列,以判定错误是否已经被传输。
如此,通过避免每个并行传输线上的模式检查,与常规方法相比以更简单的方式执行了特定测试。
应理解的是,可以在缺少未具体公开的元件或步骤的情况下实践本发明的实施例。也就是说,本发明的创造性特征可以不涉及元件。
因此,尽管上文详细描述了本文给出的具体实施例的每个方面,但是,本发明可以进行各种改变、替换、变更而不背离本发明的精神和范围。