本发明属于soc边界扫描测试领域,具体涉及一种低功耗的边界扫描单元结构。
背景技术:
集成电路的深亚微米和纳米工艺技术的出现,实现了一套功能完整的电路系统集成至一块芯片上,这就构成了基于ip核复用的片上系统(systemonachip,soc)。目前,soc凭借性能高、体积小、开发周期短等诸多优势,已经被广泛应用至航空航天、军用电子系统、互联网络、多媒体系统等领域。
soc中集成了数目庞大的不同功能的模块或ip核,随着电路复杂度和运行速度的不断提高,以及晶体管特征尺寸的不断缩小,芯片中可能发生的故障急剧增加,测试复杂度和难度也不断提高。soc设计是基于核的设计,对其测试除了涉及到的对每个核的测试,还有对核之间的互连测试。然而由于互连线集成在电路板内,我们无法直接对它们进行控制和观测,需要借助芯片的可测性设计。
目前,ieee1149.1标准测试接口和边界扫描结构在多芯片模块的互连线测试中应用最为广泛。ieee1149.1在芯片的i/o端口插入边界扫描单元,并将它们串行连接起来,在tap控制器标准状态机的控制下,实现边界扫描测试。整个测试仅需5个引脚作为外部连接,接口对于所有设备都是标准化的。然而,随着集成电路的发展,soc内部互连线密度越来越高,仅采用ieee1149.1的结构并不足以快速有效地完板级互连线测试,大量的芯片i/o端口使得测试数据串行移位消耗的时间过长,更重要的是,这种移位式的测试数据输入输出方法会引入过多不必要的扫描单元状态切换,大大增加了测试功耗;而且,传统的ieee1149.1无法完成全速测试。现有的低功耗边界扫描测试方法几乎都是通过压缩测试向量实现的,这种方式以牺牲故障覆盖率为代价,会影响测试结果。
技术实现要素:
本发明目的是为了解决现有的低功耗边界扫描测试方法以牺牲故障覆盖率为代价,影响测试结果的问题,提供了一种低功耗边界扫描测试方法。
本发明所述一种低功耗边界扫描测试方法为:soc上的每个芯片的输出端接入bslc扫描单元,n个bslc扫描单元中相邻两边界扫描单元的si端和so端依次相连,串联构成输入边界扫描链,用于向功能路径发送测试激励;每个芯片的输入端接入bscc扫描单元,m个bscc扫描单元中相邻两边界扫描单元的si端和so端依次相连,串联构成输出边界扫描链,用于捕获和移出测试响应。
优选地,输入边界扫描链和输出边界扫描链并行扫描移位工作,扫描测试包括非延迟测试模式和延迟测试模式两种模式,非延迟测试模式时扫描单元的delay_enable信号为1,延时模式时扫描单元的delay_enable信号为0。
优选地,在非延迟测试模式时,输入边界扫描链向功能路径发送测试激励的过程为:
在移位阶段,测试向量si_lc按位依次移入输入边界扫描链,每个测试时钟周期内,所述输入边界扫描链中只有一个bslc扫描单元的时钟可以被触发,从而接收测试向量,n个bslc扫描单元从第1个至第n个依次完成测试向量接收,其他已完成移位操作的bslc扫描单元均处于旁路模式,未完成移位操作的bslc扫描单元中的触发器不能被触发;
直到测试移位操作完成后进入更新阶段,输入边界扫描链中的测试向量通过bslc扫描单元的po端发射到功能路径上,完成向功能路径发送测试激励的操作;
在非延迟测试模式时,输出边界扫描链捕获和移出测试响应的过程为:
在捕获阶段,bscc扫描单元从pi端捕获来自功能路径的上一测试过程的响应;然后进入移位阶段,测试响应so_cc按位依次串行移出输出边界扫描链,每个测试时钟周期内所述输出边界扫描链中只有一个bscc扫描单元发生状态改变,m个bscc扫描单元从第1个至第m个依次将测试响应so_cc串行移出,在任一个bscc扫描单元完成移位操作后均进入旁路模式;根据移出的测试响应判断soc上各芯片之间互连线是否存在故障。
优选地,在延迟测试模式时,功能时钟频率是非延迟测试模式时的测试时钟频率的10~20倍,输入边界扫描链向功能路径发送测试激励的过程为:
输入时钟首先为测试时钟,测试向量si_lc按位依次移入输入边界扫描链;
完成移位后,delay_enable信号由1变为0,输入时钟切换至功能时钟;同时,测试向量通过bslc扫描单元po端施加到功能路径上,作为其初始逻辑值;
在功能时钟第一个上升沿到来时,扫描链再进行一次移位,将这次移位造成的po端的逻辑值转换作为测试激励发送到功能路径上;
在延迟测试模式时,输出边界扫描链的捕获和移出测试响应的过程为:
在功能时钟第二个上升沿到来时,bscc扫描单元从pi端捕获来自功能路径的测试响应;
然后进入移位阶段,测试响应so_cc按位依次串行移出输出边界扫描链,每个测试时钟周期内所述输入边界扫描链中只有一个bscc扫描单元发生状态改变,m个bscc扫描单元从第1个至第m个依次将测试响应so_cc串行移出,在任一个bscc扫描单元完成移位操作后均进入旁路模式。
优选地,输入边界扫描链的n个bslc扫描单元分别为bslc1,bslc2,…,bslci,…,bslcn,每个bslc扫描单元包括d触发器lff1、d触发器lff2、d触发器lff3和输入链组合逻辑电路,输入链组合逻辑电路提供三个d触发器的逻辑输入及逻辑输出控制;
非延迟测试模式下:
捕获阶段,d触发器lff3置0;
移位阶段,测试向量si_lc依次按位串行输入,当第一个测试时钟的上升沿来到时,测试向量的第一位移入bslc1的lff1中;当第一个测试时钟的下降沿来到时,触发bslc1中lff3的状态翻转,控制lff1和lff3时钟端的三态门被关闭,使它们不再被触发,标志着本扫描单元测试数据输入完成,下一位测试数据将直接从si传送到so;此时,本扫描单元进入旁路模式,而bslc2中lff1和lff3时钟端的三态门被打开;当第二个测试时钟的上升沿来到时,测试数据不会再进入bslc1的触发器,而是直接进入bslc2的lff1中;紧接着,测试时钟下降沿触发lff3状态变为1,lff1和lff3的时钟被隔离,本扫描单元进入旁路模式;后面边界扫描单元的移位操作以此类推,当bslci要接收的测试向量输入时,前i-1个bslc均处于旁路模式,而后面n-i个bslc的时钟均被隔离,测试数据可以直接进入bslci而不影响其他边界扫描单元状态;直至测试向量中所有数据移位完成;
更新阶段,d触发器lff2的时钟端被触发,输入边界扫描链中的测试向量si_lc通过bslc扫描单元的po端发射到功能路径上,完成向功能路径发送测试激励的操作;
延迟测试模式下:
输入时钟首先为测试时钟,测试向量si_lc串行移入n个d触发器lff1;
完成移位后,delay_enable信号由1变为0,输入时钟切换至功能时钟,同时,测试向量通过bslc扫描单元po端施加到功能路径上,作为其初始逻辑值;
在功能时钟第一个上升沿到来时再次进行一次扫描链移位操作,将这次移位造成的po端的逻辑值转换作为测试激励发送到功能路径上。
优选地,输入链组合逻辑电路包括多路选择器a1、多路选择器a2、多路选择器a3、多路选择器a4、三态门a5、三输入与门a6、异或门a7、三态门a8、三输入与非门a9和三输入与门a10;三态门a5和三态门a8为低电平有效;
d触发器lff1的d端连接多路选择器a1的输出端,多路选择器a1的0输入端连接pi端,多路选择器a1的1输入端连接si端,多路选择器a1的控制端、三输入与门a6的第一输入端、三输入与非门a9的第一输入端均接入shiftdr信号;
d触发器lff1的时钟端连接三态门a5的输出端,三态门a5的输入端和三态门a8的输入端均接入时钟信号clk;三态门a5的控制端连接三输入与门a6的输出端;
d触发器lff1的q端同时连接d触发器lff2的d端和多路选择器a2的0输入端,多路选择器a2的1输入端连接si端,多路选择器a2的控制端连接多路选择器a10的输出端,多路选择器a2的输出端同时连接so端和多路选择器a3的0输入端;多路选择器a3的1输入端连接d触发器lff2的q端,多路选择器a3的控制端、多路选择器a10的第一输入端和三输入与门a6的第三输入端同时接入delay_enable信号;多路选择器a3的输出端连接多路选择器a4的1输入端,多路选择器a4的0输入端连接pi端,多路选择器a4的控制端mode=1为soc测试模式,多路选择器a4的控制端mode=0为soc工作模式,多路选择器a4的输出端连接po端;
d触发器lff2的时钟端接入updatedr信号;
d触发器lff3的d端同时连接自身
d触发器lff3的clr复位端、多路选择器a10的第二输入端、异或门a7的第二输入端和三输入与非门a9的第二输入端同时接入qlff3信号;d触发器lff3的clr复位端低电平有效;异或门a7的输出端连接三输入与门a6的第二输入端;
d触发器lff3的时钟端连接三态门a8的输出端,d触发器lff3的时钟端低电平有效,三态门a8的控制端连接三输入与非门a9的输出端;
非延迟测试模式,delay_enable为1,clk为测试时钟;
捕获阶段时,shiftdr为0,向d触发器lff3置入初值0;
移位阶段时,shiftdr由0变1;
延迟测试模式,初始delay_enable为1,clk为测试时钟;进行移位,将测试向量移入扫描链;
然后delay_enable由1变0,clk切换至功能时钟,再次移位,将测试向量从po端发送到功能路径上。
优选地,输出边界扫描链的m个bscc扫描单元分别为bscc1,bscc2,…,bscci,…,bsccm,每个bscc扫描单元包括d触发器lff1、d触发器lff2、d触发器lff3和输出链组合逻辑电路,输出链组合逻辑电路提供三个d触发器的逻辑输入及逻辑输出控制;
非延迟测试模式下:
捕获阶段,d触发器lff3置0,bscc扫描单元在时钟的触发下将来自功能路径的上一测试过程的响应从pi端捕获至d触发器lff1中;
移位阶段,测试响应so_cc依次按位串行输出,测试时钟上升沿到来时,测试响应从d触发器lff1移出,同一时钟周期的下降沿到来时,d触发器lff3状态翻转,使得d触发器lff1和d触发器lff3的时钟端关闭,令当前移位完成的bscc扫描单元进入旁路状态,使后续边界扫描单元中的测试响应移出时不会改变其状态,直至测试向量中所有数据移位完成;
延迟测试模式下:
在功能时钟第二个上升沿到来时,d触发器lff1从pi端捕获来自功能路径上的测试响应;
然后进入移位阶段,将m个d触发器lff1中的测试响应so_cc端串行移出。
优选地,输出链组合逻辑电路包括多路选择器a1、多路选择器a2、多路选择器a3、多路选择器a4、三态门a5、三输入与门a6、异或门a7、三态门a8、三输入与非门a9、三输入与门a10和二输入与门a11;三态门a5和三态门a8为低电平有效;
d触发器lff1的d端连接多路选择器a1的输出端,多路选择器a1的0输入端连接pi端,多路选择器a1的1输入端连接si端,多路选择器a1的控制端连接二输入与门a11的输出端,二输入与门a11的第一输入端和三输入与门a6的第一输入端均接入shiftdr信号;
d触发器lff1的时钟端连接三态门a5的输出端,三态门a5的输入端和三态门a8的输入端均接入时钟信号clk;三态门a5的控制端连接三输入与门a6的输出端;
d触发器lff1的q端同时连接d触发器lff2的d端和多路选择器a2的0输入端,多路选择器a2的1输入端连接si端,多路选择器a2的控制端连接多路选择器a10的输出端,多路选择器a2的输出端同时连接so端和多路选择器a3的0输入端;多路选择器a3的1输入端连接d触发器lff2的q端,多路选择器a3的控制端、多路选择器a10的第一输入端、二输入与门a11的第二输入端和三输入与门a6的第三输入端同时接入delay_enable信号;多路选择器a3的输出端连接多路选择器a4的1输入端,多路选择器a4的0输入端连接pi端,多路选择器a4的控制端mode=1为soc测试模式,多路选择器a4的控制端mode=0为soc工作模式,多路选择器a4的输出端连接po端;
d触发器lff2的时钟端接入updatedr信号;
d触发器lff3的d端同时连接自身
d触发器lff3的clr复位端、多路选择器a10的第二输入端、异或门a7的第二输入端和三输入与非门a9的第二输入端同时接入qlff3信号;d触发器lff3的clr复位端低电平有效;异或门a7的输出端连接三输入与门a6的第二输入端;
d触发器lff3的时钟端连接三态门a8的输出端,d触发器lff3的时钟端低电平有效,三态门a8的控制端连接三输入与非门a9的输出端;
非延迟测试模式,delay_enable为1,clk为测试时钟;
捕获阶段时,shiftdr为0,向d触发器lff3置入初值0;
移位阶段时,shiftdr由0变1;
延迟测试模式,delay_enable为0,clk为功能时钟;
在功能时钟的第二个上升沿到来时,d触发器lff1从pi端捕获来自功能路径的上一测试过程的测试响应,然后移位、移出测试响应。
本发明的有益效果:本发明提出的边界扫描单元结构根据芯片i/o端口的功能,将输出端口设计为边界扫描发射单元(boundaryscanlaunchcell,bslc),串联组成输入边界扫描链,用于向功能路径发送测试激励;将输入端口设计为边界扫描捕获单元(boundaryscancapturecell,bscc),串联组成输出边界扫描链,用于捕获和移出测试响应。
本发明扫描结构既可以完成低测试功耗的测试,又可以完成全速测试。本发明中的低测试功耗边界扫描单元,在一个测试时钟周期内,只有与当前测试向量对应的那一个边界扫描单元处于移位模式,其他的边界扫描单元均处于旁路模式或触发器时钟端被断开,从而隔离其他扫描单元的数据,使得每一位测试数据移入时,整个扫描链上触发器的状态转换不超过两次,大大减少了测试功耗。在完成移位操作时比标准的ieee1149.1边界扫描单元消耗的动态功耗和总功耗都大大减少,并且移位时钟频率越高,本发明的功耗低优势就越明显。
附图说明
图1是本发明方法涉及的bslc扫描单元的具体电路图;
图2是本发明方法涉及的bscc扫描单元的具体电路图;
图3是soc的原理图,具有n个芯片;
图4是soc上设计输入边界扫描链、输出边界扫描链的原理图;
图5是输入边界扫描链不同阶段的过程图,其中图5(a)是非延迟测试模式的捕获阶段,图5(b)是非延迟测试模式的移位阶段,图5(c)是非延迟测试模式的旁路状态,图5(d)是延迟测试模式的测试图;
图6是输出边界扫描链不同阶段的过程图,其中图6(a)是非延迟测试模式的捕获阶段,图6(b)是非延迟测试模式的移位阶段,图6(c)是非延迟测试模式的旁路状态,图6(d)是延迟测试模式的测试图;
图7是标准ieee1149.1测试仿真结果图;
图8是本发明方法测试仿真结果图;
图9是本发明方法功耗仿真结果图,其中图9(a)是动态功耗仿真结果图,图9(b)是总功耗仿真结果图;
图10是本发明方法延迟测试仿真结果图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
参见图3,soc系统上有多个芯片,本发明在soc上的每个芯片的输出端接入bslc扫描单元,n个bslc扫描单元中相邻两边界扫描单元的si端和so端依次相连,串联构成输入边界扫描链,用于向功能路径发送测试激励;每个芯片的输入端接入bscc扫描单元,m个bscc扫描单元中相邻两边界扫描单元的si端和so端依次相连,串联构成输出边界扫描链,用于捕获和移出测试响应,具体参见图4所示。
bslc扫描单元的具体结构参见图1所示,bscc扫描单元的具体结构参见图2所示,其中,触发器lff1和lff2由时钟上升沿触发,触发器lff3由时钟下降沿触发。在边界扫描链中第一个开始移位的边界扫描单元bslc1(或bscc1)的qlff3端连接移位/装载信号shiftdr,之后的每个边界扫描单元的qlff3端均连接到前一个边界扫描单元中lff3的q端。触发器lff3的初始值为0。
下面具体描述n个bslc扫描单元串联构成输入边界扫描链、m个bscc扫描单元串联构成输出边界扫描链的具体工作过程,分为两类测试,一类为非延迟测试模式,另一类为延迟测试模式(全速测试模式),全速测试模式下的功能时钟频率是非延迟测试模式时的测试时钟频率的10~20倍。
具体实施方式一、非延迟测试模式下,输入边界扫描链的具体工作过程:
捕获阶段:参见图5(a),delay_enable为1,clk为测试时钟;shiftdr为0,向d触发器lff3置入初值0;同时,控制lff1时钟端的三态门a5(低电平有效)被打开,bscc1可以在时钟的触发下将上一测试过程的响应通过系统输入端pi捕获至lff1中。
移位阶段:参见图5(b),当控制信号shiftdr由0变为1时,测试进入移位阶段,同时打开了控制bslc1中lff3时钟端的三态门a8。测试向量依次按位从测试串行输入端si输入,当第一个测试时钟的上升沿来到时,测试向量的第一位移入bslc1的lff1中。当第一个测试时钟的下降沿来到时,触发bslc1中lff3的状态翻转,输出由1变为0,使得控制lff1和lff3时钟端的三态门被关闭,使它们不再被触发,标志着本扫描单元测试数据输入完成。
旁路阶段:参见图5(c),此时bslc1的lff3的q端输出由0变为1,三输入与门a10输出为1,多路选择器a2控制端为1,后续的测试数据将直接从si传送到测试串行输出端so。此时,本扫描单元bslc1进入旁路模式。
而同时,bslc2中lff1和lff3时钟端的三态门被打开。当第二个测试时钟的上升沿来到时,测试数据经过bslc1时直接从si端传输到so端,不会影响其中触发器状态,然后进入bslc2的lff1中;紧接着,测试时钟下降沿触发lff3状态变为1,lff1和lff3的时钟被隔离,多路选择器控制端与门的输出变为1,本扫描单元进入旁路模式。后面边界扫描单元的移位操作以此类推,当bslci要接收的测试向量从si端输入时,前i-1个bslc均处于旁路模式,而后面n-i个bslc均因为时钟被隔离而不会发生状态转换,测试数据可以直接进入bslci而不影响其他边界扫描单元状态。测试向量si_lc全部移入n个bslc扫描单元完成数据移入。
数据移入完成后,进入更新阶段,移入的测试向量通过po端作为测试激励发送到功能路径上,这个过程与现有技术的数据移出是一样的,此处不再重点描述。soc上各芯片之间的互连线接受该测试激励,其测试响应被下一测试过程的输出边界扫描链捕获并移出,通过输出边界扫描链移出的测试响应来判断soc上各芯片之间的互连线是否存在故障。
非延迟测试模式下,输出边界扫描链的具体工作过程:
捕获阶段:参见图6(a),delay_enable为1,clk为测试时钟;shiftdr为0,向d触发器lff3置入初值0;bscc扫描单元在时钟的触发下将来自功能路径的上一测试过程的响应从pi端捕获至d触发器lff1中;
移位阶段:参见图6(b),shiftdr由0变1;测试响应so_cc依次按位串行输出,测试时钟上升沿到来时,测试响应从d触发器lff1移出,同一时钟周期的下降沿到来时,d触发器lff3状态翻转,使得d触发器lff1和d触发器lff3的时钟端关闭,令当前移位完成的bscc扫描单元进入旁路状态,参见图6(c),使后续边界扫描单元中的测试响应移出时不会改变其状态,直至测试向量中所有数据移位完成;根据移出的测试向量响应判断soc上各芯片之间互连线是否存在故障。
测试移位操作完成后进入更新阶段,bslc将下一测试过程的激励发送到功能路径上,这个过程与现有技术的数据移出是一样的,此处不再重点描述。
具体实施方式二、全速测试模式下,输入边界扫描链的具体工作过程:
在全速测试中,边界扫描单元跳过捕获阶段,直接进入移位阶段,将测试向量移入扫描链。完成移位后,delay_enable信号由1变为0,扫描单元进入全速测试模式。
具体为:初始delay_enable为1,clk为测试时钟;进行移位,将测试向量移入扫描链;
完成移位后,delay_enable信号由1变为0,输入时钟切换至功能时钟,同时,测试向量通过bslc扫描单元po端施加到功能路径上,作为其初始逻辑值;
在功能时钟第一个上升沿到来时,扫描链再进行一次移位,将这次移位造成的po端的逻辑值转换(0→1或1→0)作为测试激励发送到功能路径上。
全速测试模式下,输出边界扫描链的具体工作过程:delay_enable为0,clk为功能时钟;
在功能时钟的第二个上升沿到来时,d触发器lff1从pi端捕获来自功能路径的上一测试过程的测试响应,
然后进入移位阶段,测试响应so_cc按位依次串行移出输出边界扫描链,每个测试时钟周期内所述输入边界扫描链中只有一个bscc扫描单元发生状态改变,m个bscc扫描单元从第1个至第m个依次将测试响应so_cc串行移出,在任一个bscc扫描单元完成移位操作后均进入旁路模式。
本发明采用launch-off-shift(los)的方法实现全速测试,需要两个功能时钟,第一个功能时钟上升沿触发一次额外的扫描链移位操作,将0-1或者1-0的状态转换作为测试激励发射到互连线上,bslc的数据流如图5(d)。第二个功能时钟上升沿到来时,bscc的pi端从互连线上捕获测试响应,然后进行移位、旁路、so串行输出测试向量,用于判断互连线是否有故障,如图6(d)所示。
具体实施方式三、结合图7~10说明本实施方式,本实施方式给出仿真实验数据。
为了验证本发明是否能正确完成移位、捕获、更新等不同测试阶段的操作并降低测试功耗,我们对低测试功耗的边界扫描单元进行功能仿真。在实验中,用16个边界扫描单元组成扫描链来仿真测试向量移位过程,包括8个发射单元和8个捕获单元。测试时钟频率设置为100mhz。值得注意的是,实验中提到的pi端输入信号和po端输出信号是两个16位的信号,分别为测试向量si_lc和测试响应so_cc,它们代表边界扫描单元中系统输入输出端口pi和po的值,即图1中标注的pi和po处的数据值;soi代表边界扫描单元i中lff1触发器q端的数据值。
图7为传统ieee1149.1结构下边界扫描测试的仿真结果。图中,pi(po)的高8位代表发射单元的pi(po)端的值,低8位代表捕获单元的pi端(po)的值。16个边界扫描单元串行连接在tdi和tdo之间。在捕获阶段,16个边界扫描单元捕获上一测试的响应(0x7829)。然后测试进入移位阶段,测试响应从tdo串行移出扫描链;同时,用于本次测试的新的测试向量(0xd96a)从tdi端串行移入扫描链。在16个时钟周期后,测试数据移位完成,测试进入更新阶段,每个扫描单元中的测试向量在updatedr信号的触发下,通过po端发送到与之相连的功能路径上。通过对仿真结果的分析可知,ieee1149.1标准结构的单一扫描链完成一次边界扫描测试需要的时间过长。此外,从图中soi的波形可以看出,在整个测试数据移位过程中,每个边界扫描单元的状态在不断变化;而且,在同一个测试时钟周期内,每移入或移出一位测试数据,边界扫描链上所有扫描单元的状态都会被影响,同一时刻大量触发器的翻转会导致瞬时功耗的增加,可能会超出电路所允许的最大功耗。
以开路/短路测试过程为例对本发明所提出的边界扫描单元的功能进行仿真,结果如图8。在仿真中,8个发射单元串连组成输入扫描链,其串行输入端口的信号为si_lc;8个捕获单元串联组成输出扫描链,其串行输出端口的信号为so_oc。发射单元的pi和po端的信号分别为pi_lc和po_lc;捕获单元的pi和po端的信号分别为pi_cc和po_cc。边界扫描测试首先进入捕获阶段,边界扫描捕获单元从pi端捕获来自功能路径的测试响应(0x29)。在移位阶段,本次边界扫描测试的测试激励(0xad)从si_lc端串行移入输入扫描链,同时输出扫描链中上一测试过程的响应数据通过so_cc串行移出。当测试移位完成后,进入更新阶段,输入扫描链中的测试向量在update_dr上升沿的触发下,通过po_cc端发射到功能路径上。与图7中ieee1149.1标准结构下的边界扫描测试过程相对比,本发明根据扫描单元的功能,将扫描链分为了输入扫描链和输出扫描链,二者的移位操作可以同时进行,从而减少了测试时间。更重要的是,低功耗的边界扫描单元在移位过程中使得整个扫描链最多只发生一次状态改变;同一测试时钟周期内,也只有与测试数据对应的那一个扫描单元可以接收数据,减少了测试过程中触发器状态的翻转次数。
为了进一步分析本文所提出测试结构在移位操作中的功耗问题,我们对不同测试过程的功耗进行了仿真。图9为在传统的ieee1149.1和低功耗的边界扫描单元两种结构下,16个边界扫描单元在不同的测试时钟频率下移位相同的测试数据所产生的功耗对比图。(a)为移位过程所产生的动态功耗,(b)为总功耗。从图中的曲线可以看出,本发明中的低测试功耗边界扫描单元,在完成移位操作时比标准的ieee1149.1边界扫描单元消耗的动态功耗和总功耗都大大减少,并且移位时钟频率越高,本发明的功耗低优势就越明显。
基于低测试功耗的边界扫描单元的延迟测试仿真时序图如图10所示。在实验中,将非延迟模式的测试时钟频率设为100mhz,全速测试模式的功能时钟频率设为1ghz。在移位阶段,测试向量(0xad)si_lc移入发射单元。在延迟测试阶段,delay_enable信号变为0,向量0xad输出到功能路径上。功能时钟的上升沿触发测试向量再次移位,得到向量(0x56)作为延迟测试的激励,发射到本次仿真的待测功能路径上。在1ns后,捕获单元在全速时钟上升沿的触发下,捕获功能路径上的测试响应。然后,测试响应so_oc(56)串行移出输出扫描链。
上述仿真过程既有非延迟测试模式,相比于现有技术大幅减少了触发器的翻转次数,每一位测试数据移入时,整个扫描链上触发器的状态转换不超过两次,大大减少了测试功耗;又可以实现全速测试。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。