用于测试插入点的方法和装置与流程

文档序号:14488227阅读:296来源:国知局
用于测试插入点的方法和装置与流程

本申请大体涉及电路测试,并且,特别地,涉及用于将测试数据和观察点插入模块的方法和电路。



背景技术:

从1985年开始,几家欧洲和北美公司联合在一起组成联合测试行为组织(jtag)。规定的任务是解决印刷电路板(pcb)制造测试的问题,随着集成电路(ic)变得更小更复杂,其变得更困难。解决方案最终被标准化为ieee标准1149.1-1990测试访问端口和边界扫描架构,其全部内容特此通过引用并入本文。这个行业标准规定了将所需的测试资源纳入ic。

边界扫描基于在线测试(in-circuittest,ict)的概念。在边界扫描中,在探针测试技术中置于中间网(mid-net)的物理探针(“钉子”)被边界扫描单元(bsc)替换。这些“虚拟”探针被放置在芯片上的ic输入和ic输出(ic的边界),并且因此被放置在网络端部。使用边界扫描测试引起两个主要的改进:(1)边界扫描网络不再需要物理访问,以及(2)连续性测试不再受ic复杂性限制。结果是制造测试将缺陷隔离到引脚或网络的目的可通过高度自动测试向量生成(atpg)来完成。

提供手段以任意地控制和观察这些具有最小的引脚开销的bsc,设计bsc为串联链接,以在两个ic引脚、测试数据输入(tdi)和测试数据输出(tdo)之间形成移位寄存器。还设计了在正常和测试操作模式之间进行选择所需的附加控制结构,用以最小化引脚开销并且使灵活性最大化以处理除了用于pcb制造测试的测试之外的测试模式。测试访问端口(tap)基于状态机(tap控制器),其与测试时钟(tck,测试逻辑的所有操作都是与其同步的)同步操作,并且在单个测试模式选择(tms)的控制下。tap控制器明确规定了控制测试模式的单指令寄存器和由特定指令选择的任意数量的测试数据寄存器(包括边界扫描寄存器)。

tap和tap控制器的标准化以及边界扫描架构已经成为跨越ic、测试人员和计算机自动化工程(cae)工具供应商而受广泛接受的技术的关键。这个结构化的可测试性设计(dft)技术广泛使用于各种各样的板(board)制造商的所有类型的板设计,甚至那些使用目录ic和现成的测试仪和工具的地方。另外,tap和tap控制器的灵活性允许访问构建到芯片、板或系统内的其它测试特性,如芯片上扫描测试或内建自测试(bist)。

快速集成将更多功能从单独的集成电路放置到一个集成电路或包含多个集成电路的模块上。集成电路和模块已经变得非常复杂。增加的复杂性使得在这种设备的边界处使用扫描的所有功能的全面测试变得困难,如果不是不可能的话。但是,全面测试是必不可少的。例如,对于车载设备,故障可能产生严重的安全后果。在车载设备中,重要的是为静态和动态故障两者实现高的测试覆盖率,同时仍然保持测试成本在控制下以满足严格的安全标准。

但是,包含影响测试的可控性和可观察性的抗随机故障(randomresistantfault)的模块的存在要求完全测试挑战。另外,数字分析不能测试随机存取存储器(ram)或模拟模块。ram的输入和输出不是确定性的,并且模拟模块具有非数字输入或输出。减轻这些问题的解决方案是使用这些不可测试的模块周围的控制/观察测试点插入,以提高测试的可控性和可观察性。



技术实现要素:

根据本申请的一个示例方面,一种方法包括向组合电路提供k位的测试数据。该方法进一步包括使用组合电路生成n位的测试数据,其中n大于k。该方法进一步包括向被测模块提供n位的测试数据。

附图说明

图1是电路的部分的示意图。

图2是包括可测试性设计(dft)逻辑的图1中的电路的示意图。

图3是具有内部边界扫描电路系统的电路的示意图。

图4是测试插入点的一个位(onebit)的示意图。

图5是包括减少存储的测试向量位的数量的一种方式的电路的示意图。

图6是包括本申请的测试向量插入方案方面的电路600的示意图。

图7是一个示例组合扩展器(spreader)的示意图。

图8是比较插入的测试点的不同配置的图表。

图9是说明本申请的方法方面的流程图。

具体实施方式

在不同附图中的对应数字和符号通常指对应部件,除非有另外指示。附图不一定按比例绘制。

术语“耦合”可包括与中间元件的连接,并且额外的元件和各种连接可存在于任何“耦合”的元件之间。

图1是电路100的部分的示意图。电路100包括向不可测试的模块106提供输入的上游电路元件102和104。不可测试的模块106从电路元件102和104接收输入108,并且向由云112表示的电路的其余部分提供输出110。

不可测试的模块106不以服从于扫描测试(如边界扫描测试)的方式操作。示例不可测试的模块包括:存储器设备(如ram)、模拟模块、内容可寻址存储器模块和具有迟滞的模块(其中当前行为取决于先前状态的历史)。在使用atpg工具的测试中,这些模块通常被视为黑盒或空模块。由此,自动测试向量生成(atpg)不能测试不可测试的模块。因为设计所以模块106可以是不可测试的。例如,包括存储器的模块可具有取决于存储在该存储器中的内容的输出。由此,当前的输出不仅仅取决于当前的输入。而且,某些状态机可基于内部存储的状态提供不同的输出。这些类型的设备必须使用专用机制测试。但是,为了向包括耦合到不可测试的模块106的其它模块的那些模块提供完整的测试覆盖率,使得边界扫描技术可测试它们,必须考虑不可测试的模块106的输入和输出。

图2是包括测试性设计(dft)阴影逻辑的与图1中的电路类似的电路的示意图。为了清楚起见,图2中类似标记的元件执行与图1中的那些类似的功能。亦即,元件202、204、206、208、210和212分别执行与图1中的元件102、104、106、108、110和112类似的功能。解决不可测试的模块的问题的一种常规技术是插入dft阴影逻辑214。dft阴影逻辑214包括放置在模块周围的可扫描的元件。在测试期间,dft阴影逻辑截取(intercept)到不可测试的模块206的输入208。dft阴影逻辑214包括确定性逻辑,以产生不可测试的模块206的伪输出作为输出210。这允许测试设计者提供可知的输出。这增强了电路200超越电路100的可测试性。但是,输出210的范围由输入208限制。由此,在某些情况下,dft阴影逻辑214可能不能提供全面测试云212的电路系统所必需的输出。

图3是具有内部边界扫描电路系统的电路300的示意图。图3中类似标记的元件执行与图1中的那些类似的功能。亦即,元件306和312分别执行与图1中的元件106和112类似的功能。电路300包括不可测试的模块306和由云312表示的电路的其余部分之间的插入点322。通常,atpg工具通过抗随机故障分析(rrfa)和确定性故障分析(dfa)识别控制/观察测试点。而且,为诸如黑盒子和不可扫描的逻辑的情况提供自定义用户定义的测试点。

插入点322包括多路复用器324。在正常模式下,输出310通过多路复用器324作为对云312的下游电路系统的输入316。在测试模式下,多路复用器324将测试输入318连接至输入316。atpg工具生成测试输入318并且经由串行输入端口(未示出)向测试模块320提供测试输入318。测试模块320提供n个输入以匹配不可测试的模块306的n个输出。但是,为了提供n个测试输入318,(0至n-1)的每位必须被锁存到触发器(“触发器(flop)”)326中的一个中。每个触发器需要几个晶体管来实施,并且在集成电路上添加大量有价值的面积。触发器使用专用于测试的硅面积,其不增加集成电路在正常模式下的功能。

图4是插入点400的一个位的示意图。多路复用器424基于测试_模式(test_mode)输入在提供电路406的输出或触发器426的输出之间选择。多路复用器424是较大多路复用器,例如多路复用器324(图3)的一个位。触发器426是扫描单元。在触发器426的串行_输入(serial_input,si)上提供测试输入。未在图4中显示的是串行输出,其在类似的触发器的扫描链中向下一个触发器提供串行输入。触发器426是以串行方式加载有测试向量的串行寄存器的一个位。多路复用器424和触发器426的d输入接收触发器426的q输出。在测试模式期间,电路412经由多路复用器424接收触发器426的q输出。

在操作中,触发器426存储测试向量的一个位直到新的位经由串行输入si被加载。扫描链中的每个触发器(未示出)包括8到10个晶体管以及相关联的控制电路系统。因此,被消耗用于存储n位的测试输入数据的面积非常大。另外,在大多数集成电路或模块中,将有许多测试插入点,由此增加了由测试电路系统消耗的空间。对于通常使用atpg不可测试的模拟模块,使其可控制的输出端口的数量明显高于其它类型的模块。对于这种类型的电路,为不可测试的模块提供完整的测试向量成为测试电路系统的重要实施方式。测试电路系统必须向周围电路提供全部输出值。

图5是包括减少存储的测试向量位的数量的一种常规方式的电路的示意图。图5中类似标记的元件执行与图3中的那些类似的功能。亦即,元件506、510、512、516、522和524分别执行与图3中的元件306、310、312、316、322和324类似的功能。在电路500中,测试模块520提供p个输出,其中p小于n。在电路500的示例中,每条线路518连接到多路复用器522的三个测试输入。在其它配置中,一些线路可连接到相比其它线路更多的n个输入。亦即,一个输出连接到x个线路而其它输出连接到y个输出。测试模块输出的数目的减少在这个例子中减少了触发器526的数量的三分之一。但是,当p远小于n时,使用电路520的结构引起由于位相关效应(峰值测试覆盖率和向量计数(patterncount))导致的测试结果质量的大幅降级。另外,使用结构520增加了路由开销和拥塞,因为单个测试模块输出必须被路由到多个测试点位置。

图6是包括方面测试向量插入方案的电路600的示意图。图6中类似标记的元件执行与图5中的那些类似的功能。亦即,元件606、610、612、616、622和624分别执行与图5中的元件506、510、512、516、522和524类似的功能。在电路600中,测试模块620仅提供k个输出618,其中k小于n。由此,测试模块只包括k个触发器626。输出618被提供至xor扩展器628。xor扩展器628包括在基于用户定义的随机化功能的配置中的多个门。在这个示例中,门是xor门,但是可以有效采用逻辑门的其他类型和组合。随机化功能可以基于移相器逻辑。要应用于电路612的测试向量的期望的范围确定随机化功能。这个测试向量的范围将基于电路612的功能变化。xor扩展器628从测试模块620接收k个测试输入信号以创建随机化以根据需要为n位测试向量提供n个输出。在另一个方面,可以提供xor_使能(xor_enable)信号(未示出)以在xor扩展器模式和1:m广播模式之间动态转移(shift)(如图5中所示)。

图7是示例组合扩展器728的示意图,其是可被用于形成图6中的xor扩展器628的一个示例实施方式。扩展器728是基于xor的扩展器,其具有两级xor门。门的第一级包括xor门730-1、730-2和730-3。门的第二级包括xor门732-1、732-2和732-3。基于xor的扩展器逻辑从控制扫描触发器获取k个输入,并且创建随机化以根据需要为n个测试点提供n个输出。扩展器728是简单的电路,其接受三个输入(例如,k=3,所以输入根据0-(k-1)被索引,亦即0、1、2)并且基于那些输入提供九个输出(n=9,输入根据0-(n-1)或0-8被索引)。扩展器728是适于作为扩展器628(图6)使用的扩展器的一个非常简单的示例。可使用其他类型的逻辑门。但是,xor门提供很好地适用于此功能的简单的电路。也可使用xnor门,除此之外可使用其它组合逻辑门。在大多数应用中,更多的是,这里显示的两级组合门将被采用以允许更大的扩展。在本申请的这个方面的范围内,用于实施扩展器628的扩展器将具有是输入的若干倍数量的输出。

在一方面,扩展器728可以是xor扩展器,其本质上是基于定义的随机化函数生成的xor门系列组成的移相器逻辑。生成随机化函数以对应于被测电路系统。随机化函数可手动或使用自动化工具确定。然后,扩展器728中的组合电路系统是随机化函数的实施方式。因为随机化由用户控制(并且使用或不使用atpg工具被选择),它可以被优化以在峰值覆盖率和向量计数方面给出最佳结果,同时避免重大面积开销负担。扩展器逻辑的随机化因素或相关性因素由用户控制。随机化因素可基于被测试电路的设计的随机电阻可测性的测量来定义。

另外,由基于xor的扩展器逻辑引入的随机化分解了由1:m方法引入的相关性,并且从而使相同数量(n)的测试点所需的实际控制扫描触发器的数量能够更显著减少(k<p<n)。因为扩展器是组合逻辑,atpg工具可确定什么输入是必要的以提供接收扩展器输出的电路系统(例如,图6中的电路612)的全面测试覆盖率。

图8是比较插入的测试点的不同配置的图表800。数据来源于使用45纳米半导体工艺以模拟具有40,000个触发器的信号处理电路函数的设计仿真。行802显示了1对1配置的数据,像图3中的那样。行802指示这个配置产生的测试覆盖率为92.82%并且测试插入总面积为40,144.9μm2。图表800也显示了这个实验设备的向量计数、触发器数量、时序逻辑面积和组合逻辑面积(例如,图6中的xor扩展器628的面积)。行804和806显示了类似图5中电路500的两个配置,其中行804显示p=500,m=12并且行806显示p=12,m=500。对于行804和806,覆盖率分别为92.53%和89.98%,并且总面积是3456μm2和82.944μm2。对于行806,消耗的面积减少,但是测试覆盖率显著降低。

行808、810和812显示了配置的三个版本的数据,如图6中显示,其中k分别等于500、50和5。消耗的总面积分别是10123.1μm2、1046.8μm2和97.16μm2。测试覆盖率数据分别是92.81%、92.80%和92.80%。由此,在这个示例中,xor扩展器配置方面的全部三个版本提供将近1对1配置的覆盖率。但是,全部三个版本消耗更少的面积,特别是行812的配置。行812的配置仅消耗97.16μm2。这个面积消耗比1对1配置的400分之一还要低。由此,xor扩展器配置提供将近1对1类型的插入点的覆盖率,但是使用远远少的有价值的集成电路面积。在这个示例中,使用基于xor的扩展器模式已被证明是一种高效的低面积开销测试点插入方法,当与常规的1:1和1:m方法比较时,其大大降低了用于测试点插入所产生的面积开销(减小至低于400x分之一)。另外,通过将控制扫描触发器的数量从1对1模式(行802)中的5808个大大减少到k=5的xor扩展模式(行812)中的5个,使用本申请的布置大大降低了复杂度和用于为测试插入点提供时钟信号必要的功率消耗。

图9是说明本申请的方法方面的流程图。方法900开始于步骤902,其中(例如,在如同图6中的测试模块620的测试模块)提供了k位的测试数据给随机化组合网络(例如,图6中的xor扩展器628)。在步骤904中,组合网络从提供的k位的测试数据中提供n位的测试数据。在步骤906中,提供在步骤904中由组合网络生成的n位的测试数据给被测模块。

在一个示例方面,集成电路包括用于存储具有k位的测试数据的k个存储元件,存储元件具有经配置以提供k位中的一个的输出。集成电路还包括具有耦合到k个存储元件中的一个输出的k个输入的组合网络,组合网络经配置以在n个输出上提供n个输出位,k个输出位来源于k位,其中n大于k。集成电路还包括多路复用器,其具有耦合到第一模块的输出的第一n个输入以及第二n个输入,第二n个输入耦合到组合网络的n个输出,多路复用器具有n个输出,并且选择性地在该n个输出上提供第一n个输入和第二n个输入上的数据。集成电路还包括第二模块,其具有耦合到多路复用器的n个输出的n个输入。

在另一个示例方面,组合网络是xor网络。

在另一个示例方面,组合网络是随机化的。

在另一个示例方面,测试数据被串行加载到k个存储元件。

在另一个示例方面,k个存储元件是触发器。

在另一个示例方面,多路复用器包括第三n个输入,其中k个存储元件具有的k位中的每个连接到第三n个输入中的每个的多于一个。

在另一个示例方面,电路包括用于存储具有k位的测试数据的k个存储元件,每个存储元件具有经配置以提供k位中的一个的输出。电路还包括具有k个输入的组合网络,每个输入耦合到k个存储元件中的一个输出,组合网络经配置以在n个输出上提供n个输出位,n个输出位来源于k位,其中n大于k。电路还包括多路复用器,其具有耦合到第一模块的输出的第一n个输入以及第二n个输入,第二n个输入耦合到组合网络的n个输出,多路复用器具有n个输出,并且选择性地在该n个输出上提供第一n个输入和第二n个输入上的数据。电路还包括第二模块,其具有耦合到多路复用器的n个输出的n个输入。

在另一个示例方面,第一模块和第二模块形成在单独的集成电路中。

在另一个示例方面,单独的集成电路耦合到电路板。

在另一个示例方面,组合网络是xor网络。

在另一个示例方面,组合网络是随机化的。

在另一个示例方面,测试数据被串行加载到k个存储元件中。

在另一个示例方面,k个存储元件是触发器。

在另一个示例方面,第一模块和第二模块在一个集成电路中。

在另一个示例方面,一种方法包括向组合电路提供k位的测试数据。该方法进一步包括使用组合电路生成n位的测试数据,其中n大于k。该方法进一步包括向被测模块提供n位的测试数据。

在另一个示例方面,方法进一步包括使用多路复用器向被测模块选择性地提供正常数据和n位的测试数据。

在另一个示例方面,组合电路是xor扩展器电路。

在另一个示例方面,组合电路是随机化的。

在另一个示例方面,组合电路经配置以减少相关效应。

在另一个示例方面,方法进一步包括将k位的测试数据存储在k个存储元件中。

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