著录项信息
专利名称 | 一种改进扫描链单元及基于该单元的非并发测试方法 |
申请号 | CN201010572388.4 | 申请日期 | 2011-01-17 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2011-05-04 | 公开/公告号 | CN102043122A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G01R31/317 | IPC分类号 | G;0;1;R;3;1;/;3;1;7;;;G;0;1;R;3;1;/;3;1;8;1查看分类表>
|
申请人 | 哈尔滨工业大学 | 申请人地址 | 黑龙江省哈尔滨市南岗区西大直街92号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 哈尔滨工业大学 | 当前权利人 | 哈尔滨工业大学 |
发明人 | 俞洋;杨智明;付宁;王帅;乔立岩;彭喜元 |
代理机构 | 哈尔滨市松花江专利商标事务所 | 代理人 | 张果瑞 |
摘要
一种改进扫描链单元及基于该单元的非并发测试方法,属于片上系统测试领域,本发明为解决现有基于扫描链的非并发方式的在线测试方法存在对时序的要求比较严格、控制难度大、且无法一次移入多组测试向量的问题。本发明所述改进扫描链单元用于代替片上系统中的D触发器,该单元中有两个触发器和两个选择器,第一触发器是构成原电路扫描链的基本单元,实现与原D触发器相同功能,第二触发器是为进行测试时保存数据而引入的。两个数据选择器通过使能端来控制数据的流向,第一选择器控制第二触发器中的数据是否可以送到第一触发器,第二选择器控制第一触发器的工作状态或扫描状态。此单元可输入多组测试向量连续测试。测试前后不改变电路的运行状态。
1.一种改进扫描链单元,其特征在于,所述改进扫描链单元(1)包括第一选择器(1-1)、第二选择器(1-2)、第一触发器(1-3)和第二触发器(1-4),第一选择器(1-1)的0输入端作为所述改进扫描链单元(1)的功能数据输入端,第一选择器(1-1)的1输入端与第二触发器(1-4)的输出端相连,第一选择器(1-1)的输出端与第二选择器(1-2)的1输入端相连,第二选择器(1-2)的0输入端作为所述改进扫描链单元(1)的测试单元扫描数据输入端,第二选择器(1-2)的输出端与第一触发器(1-3)的D信号输入端相连,第一触发器(1-3)的输出端与第二触发器(1-4)的D信号输入端相连,第一触发器(1-3)的输出端同时作为所述改进扫描链单元(1)的功能输出端和所述改进扫描链单元(1)的扫描数据输出端,第一选择器(1-1)的使能端输入信号为back,第二选择器(1-2)的使能端输入信号为selectin,第二触发器(1-4)的使能端输入信号keep,并与第二触发器(1-4)内部CLK端连接,第一触发器(1-3)的时钟信号输入端输入改进扫描链单元(1)的时钟信号CLK;
当信号back=0、selectin=1、keep=0时,扫描链单元处于正常工作状态,当输入数据为功能数据时,第一触发器(1-3)的输出端为功能输出端,输出功能数据funout;
当输入数据为测试向量时,第一触发器(1-3)的输出端为扫描数据输出端,输出扫描数据scanout;
当信号back=0、selectin=0、keep=1时,扫描链单元处于保护现场状态,第一触发器(1-3)的输出端为扫描数据输出端,第二触发器(1-4)保持上一时钟周期的输出扫描数据scanout;
当信号back=0、selectin=0、keep=0时,扫描链单元处于移入或移出测试数据状态,第一触发器(1-3)的输出端为扫描数据输出端,第二触发器(1-4)保持保护现场状态时所存储的状态数据;
当信号back=1、selectin=1、keep=0时,扫描链单元处于恢复现场状态,第一触发器(1-3)的输出端输出第二触发器(1-4)返回的存储数据。
2.基于权利要求1所述的改进扫描链单元的非并发测试方法,其特征在于,将改进扫描链单元(1)作为D触发器连接入片上系统的时序逻辑电路中,所述改进扫描链单元(1)的功能数据输入端作为D触发器的D输入端,所述改进扫描链单元(1)的功能数据输出端作为D触发器的Q输出端,所有改进扫描链单元(1)首尾依次串联连接形成扫描链,位于扫描链首端的改进扫描链单元(1)的扫描数据输入端连接测试激励模块(2)的信号输出端,其扫描数据输出端连接扫描链中下一个改进扫描链单元(1)的扫描数据输入端,位于扫描链尾端的改进扫描链单元(1)的扫描数据输出端作为该扫描链的扫描数据输出端 接测试响应模块(3)的响应信号输入端;每个改进扫描链单元(1)的相同使能端相连后再分别与控制电路(4)的使能信号输出端相连,每个改进扫描链单元(1)的时钟信号CLK相连后再与控制电路(4)的时钟信号输出端相连,片上系统的正常工作状态时的真值为back=0,selectin=1,keep=0,
基于改进扫描链单元的非并发测试方法包括以下步骤:
步骤一、改变控制电路(4)的时钟机制,向每个改进扫描链单元(1)的CLK端口发出的时钟信号由系统工作时钟切换为自身测试时钟;
步骤二、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=0,keep=1,使每个改进扫描链单元(1)的第一触发器(1-3)中的状态数值转移到与其处于同一单元中的第二触发器(1-4)中保存,进行现场保护;
步骤三、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=0,keep=0,将测试激励模块(2)发出的测试激励信号移入扫描链中;
步骤四、由测试激励模块(2)给片上系统的组合逻辑电路输入测试向量,并改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=1,keep=0,使片上系统正常工作若干个周期;
步骤五、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=0,keep=0,将测试结果和每个改进扫描链单元(1)的第一触发器(1-3)中的状态数值移出,并存储至测试响应模块(3)中,并将存储的测试结果与之前正常工作时的运行状态进行比较,来判定片上系统的功能是否正常;
步骤六、判断测试激励是否输入完毕:
判断结果为是,执行步骤七;判断结果为否,返回执行步骤三,对下一组测试激励进行测试;
步骤七、改变每个改进扫描链单元(1)的使能端的真值,令back=1,selectin=1,keep=0,使测试前保存的数据恢复到每个改进扫描链单元(1)的第一触发器(1-3)中;
步骤八、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=1,keep=0,将片上系统的时钟切换回系统工作时钟信号,使片上系统恢复正常工作状态,完成片上系统的在线测试。
3.基于权利要求1所述的改进扫描链单元的非并发测试方法,其特征在于,将改进扫描链单元(1)作为D触发器连接入片上系统的时序逻辑电路中,所述改进扫描链单元(1)的功能数据输入端作为D触发器的D输入端,所述改进扫描链单元(1)的功能数 据输出端作为D触发器的Q输出端,将全部改进扫描链单元(1)分成多个组,每组中的改进扫描链单元(1)首尾依次串联连接形成扫描链,全部改进扫描链单元(1)构成的多个扫描链并行设置,位于每个扫描链首端的改进扫描链单元(1)的扫描数据输入端连接测试激励模块(2)的信号输出端,其扫描数据输出端连接该扫描链中下一个改进扫描链单元(1)的扫描数据输入端,测试激励模块(2)发送给多个扫描链的测试向量保持同步,位于该扫描链尾端的改进扫描链单元(1)的扫描数据输出端作为该扫描链的扫描数据输出端接测试响应模块(3)的响应信号输入端;每个改进扫描链单元(1)的相同使能端相连后再分别与控制电路(4)的使能信号输出端相连,每个改进扫描链单元(1)的时钟信号CLK相连后再与控制电路(4)的时钟信号输出端相连,片上系统的正常工作状态时的真值为back=0,selectin=
1,keep=0,
基于改进扫描链单元的非并发测试方法包括以下步骤:
步骤一、改变控制电路(4)的时钟机制,向每个改进扫描链单元(1)的CLK端口发出的时钟信号由系统工作时钟切换为自身测试时钟;
步骤二、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=0,keep=1,使每个改进扫描链单元(1)的第一触发器(1-3)中的状态数值转移到与其处于同一单元中的第二触发器(1-4)中保存,进行现场保护;
步骤三、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=0,keep=0,将测试激励模块(2)发出的测试激励信号移入扫描链中;
步骤四、由测试激励模块(2)给片上系统的组合逻辑电路输入测试向量,并改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=1,keep=0,使片上系统正常工作若干个周期;
步骤五、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=0,keep=0,将测试结果和每个改进扫描链单元(1)的第一触发器(1-3)中的状态数值移出,并存储至测试响应模块(3)中,并将存储的测试结果与之前正常工作时的运行状态进行比较,来判定片上系统的功能是否正常;
步骤六、判断测试激励是否输入完毕:
判断结果为是,执行步骤七;判断结果为否,返回执行步骤三,对下一组测试激励进行测试;
步骤七、改变每个改进扫描链单元(1)的使能端的真值,令back=1,selectin=1,keep=0,使测试前保存的数据恢复到每个改进扫描链单元(1)的第一触发器(1-3)中; 步骤八、改变每个改进扫描链单元(1)的使能端的真值,令back=0,selectin=1,keep=0,将片上系统的时钟切换回系统工作时钟信号,使片上系统恢复正常工作状态,完成片上系统的在线测试。
一种改进扫描链单元及基于该单元的非并发测试方法\n技术领域\n[0001] 本发明涉及一种改进扫描链单元及基于该单元的非并发的在线测试方法,属于片上系统测试领域。\n背景技术\n[0002] 系统芯片(System-on-a-Chip,SOC)又称为片上系统,也就是系统级的集成电路,它可以将原来由多个芯片组成的复杂系统(包括数字电路、模拟电路、信号采集和转换电路、存储器、MPU、DSP、MPEG等)集成在一个芯片上。随着SOC中故障发现时间的推迟,故障所造成的经济损失将成指数形式增长,而相比于离线测试,在线测试可以在系统运行的过程中发现故障,进行处理,因此可以有效地减小由故障造成的经济损失。而且随着工业,军事以及航天科技的发展,在一些有特殊用途的SOC中,要求测试必须与工作同时进行。从这一意义上讲,在线测试便于对仪器设备的检测和维护,以减小设备的故障率,降低运营成本和因故障造成的经济损失。\n[0003] 为了更好的应用在线测试的方法,目前已经提出的一些方法有:差错控制码与自校验、重复与比较、在线监督等技术。有一种用于分析当前电路测试理论和技术和测试要求的在线测试仪,在提高测试效率的同时降低了测试成本。也有人针对FPGA的故障诊断工具做了相关研究。相对于普通电路,为实现系统测试而增加的部分称为冗余,常见的有时间冗余,空间冗余和信息冗余。一个电路在实现同等性能时,冗余度越小越好。\n[0004] 在线测试分为并发测试和非并发测试。并发测试是在系统正常操作时进行的测试,而非并发测试是在正常操作被暂时中断时进行的测试。非并发测试时,整个系统处于在线状态,但并不是其中的每个子系统都在线。选择一个离线的子系统,在可接受的时间花销下进行测试。\n[0005] 区别于组合电路,时序电路的在线测试需要在测试前保存电路中各触发器的状态,测试结束后恢复原有状态,使系统按照原有状态继续工作。也有人提出了如下一种基于扫描链的非并发方式的在线测试方法。该方法对电路进行扫描设计,每个扫描单元都与另一个可扫描的触发器相连,即将引入的各触发器连接成扫描链,在测试开始前同时实现测试数据的输入与现场保护,在测试结束时同时实现测试数据的输出和现场恢复。其优点在于,测试向量移入和移出扫描链的过程不影响电路的正常工作,每次测试只需要两个时钟周期的时间冗余。但其对时序的要求比较严格,控制难度大。此外,电路的测试往往需要连续移入多组测试向量,而上述方法无法一次移入多组测试向量,每次测试仅能移入一组测试向量。\n发明内容\n[0006] 本发明目的是为了解决现有基于扫描链的非并发方式的在线测试方法存在对时序的要求比较严格、控制难度大、且无法一次移入多组测试向量的问题,提供了一种改进扫描链单元及基于该单元的非并发测试方法。\n[0007] 本发明的所述改进扫描链单元包括第一选择器、第二选择器、第一触发器和第二触发器,第一选择器的0输入端作为所述改进扫描链单元的功能数据输入端,第一选择器的1输入端与第二触发器的输出端相连,第一选择器的输出端与第二选择器的1输入端相连,第二选择器的0输入端作为所述改进扫描链单元的测试单元扫描数据输入端,第二选择器的输出端与第一触发器的D信号输入端相连,第一触发器的输出端与第二触发器的D信号输入端相连,第一触发器的输出端同时作为所述改进扫描链单元的功能输出端和所述改进扫描链单元的扫描数据输出端,第一选择器的使能端输入信号为back,第二选择器的使能端输入信号为selectin,第二触发器的使能端输入信号keep,并与其内部CLK端连接,第一触发器的时钟信号输入端输入改进扫描链单元1的时钟信号CLK;\n[0008] 当信号back=0、selectin=1、keep=0时,扫描链单元处于正常工作状态,当输入数据为功能数据时,第一触发器的输出端为功能输出端,输出功能数据funout;当输入数据为测试向量时,第一触发器的输出端为扫描数据输出端,输出扫描数据scanout;\n[0009] 当信号back=0、selectin=0、keep=1时,扫描链单元处于保护现场状态,第一触发器的输出端为扫描数据输出端,第二触发器保持上一时钟周期的输出扫描数据scanout;\n[0010] 当信号back=0、selectin=0、keep=0时,扫描链单元处于移入或移出测试数据状态,第一触发器的输出端为扫描数据输出端,第二触发器保持保护现场状态时所存储的状态数据;\n[0011] 当信号back=1、selectin=1、keep=0时,扫描链单元处于恢复现场状态,第一触发器的输出端输出第二触发器返回的存储数据。\n[0012] 基于上述改进扫描链单元的在线测试方法有两种技术方案,第一种方案:\n[0013] 将改进扫描链单元作为D触发器连接入片上系统的时序逻辑电路中,所述改进扫描链单元的功能数据输入端作为D触发器的D输入端,所述改进扫描链单元的功能数据输出端作为D触发器的Q输出端,所有改进扫描链单元首尾依次串联连接形成扫描链,位于扫描链首端的改进扫描链单元的扫描数据输入端连接测试激励模块的信号输出端,其扫描数据输出端连接扫描链中下一个改进扫描链单元的扫描数据输入端,位于扫描链尾端的改进扫描链单元的扫描数据输出端作为该扫描链的扫描数据输出端接测试响应模块的响应信号输入端;每个改进扫描链单元的相同使能端相连后再分别与控制电路的使能信号输出端相连,每个改进扫描链单元的时钟信号CLK相连后再与控制电路的时钟信号输出端相连,片上系统的正常工作状态时的真值为back=0,selectin=1,keep=0,[0014] 基于改进扫描链单元的在线测试方法包括以下步骤:\n[0015] 步骤一、改变控制电路的时钟机制,向每个改进扫描链单元的CLK端口发出的时钟信号由系统工作时钟切换为自身测试时钟;\n[0016] 步骤二、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=0,keep=1,使每个改进扫描链单元的第一触发器中的状态数值转移到与其处于同一单元中的第二触发器中保存,进行现场保护;\n[0017] 步骤三、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=0,keep=0,将测试激励模块发出的测试激励信号移入扫描链中;\n[0018] 步骤四、由测试激励模块给片上系统的组合逻辑电路输入测试向量,并改变每个改进扫描链单元的使能端的真值,令back=0,selectin=1,keep=0,使片上系统正常工作若干个周期;\n[0019] 步骤五、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=0,keep=0,将测试结果和每个改进扫描链单元的第一触发器中的状态数值移出,并存储至测试响应模块中,并将存储的测试结果与之前正常工作时的运行状态进行比较,来判定片上系统的功能是否正常;\n[0020] 步骤六、判断测试激励是否输入完毕:\n[0021] 判断结果为是,执行步骤七;判断结果为否,返回执行步骤三,对下一组测试激励进行测试;\n[0022] 步骤七、改变每个改进扫描链单元的使能端的真值,令back=1,selectin=1,keep=0,,使测试前保存的数据恢复到每个改进扫描链单元的第一触发器中;\n[0023] 步骤八、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=1,keep=0,将片上系统的时钟切换回系统工作时钟信号,使片上系统恢复正常工作状态,完成片上系统的在线测试。\n[0024] 第二种技术方案:\n[0025] 将改进扫描链单元作为D触发器连接入片上系统的时序逻辑电路中,所述改进扫描链单元的功能数据输入端作为D触发器的D输入端,所述改进扫描链单元的功能数据输出端作为D触发器的Q输出端,将全部改进扫描链单元分成多个组,每组中的改进扫描链单元首尾依次串联连接形成扫描链,全部改进扫描链单元构成的多个扫描链并行设置,位于每个扫描链首端的改进扫描链单元的扫描数据输入端连接测试激励模块的信号输出端,其扫描数据输出端连接该扫描链中下一个改进扫描链单元的扫描数据输入端,测试激励模块发送给多个扫描链的测试向量保持同步,位于该扫描链尾端的改进扫描链单元的扫描数据输出端作为该扫描链的扫描数据输出端接测试响应模块的响应信号输入端;每个改进扫描链单元的相同使能端相连后再分别与控制电路的使能信号输出端相连,每个改进扫描链单元的时钟信号CLK相连后再与控制电路的时钟信号输出端相连,片上系统的正常工作状态时的真值为back=0,selectin=1,keep=0,\n[0026] 基于改进扫描链单元的在线测试方法包括以下步骤:\n[0027] 步骤一、改变控制电路的时钟机制,向每个改进扫描链单元的CLK端口发出的时钟信号由系统工作时钟切换为自身测试时钟;\n[0028] 步骤二、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=0,keep=1,使每个改进扫描链单元的第一触发器中的状态数值转移到与其处于同一单元中的第二触发器中保存,进行现场保护;\n[0029] 步骤三、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=0,keep=0,将测试激励模块发出的测试激励信号移入扫描链中;\n[0030] 步骤四、由测试激励模块给片上系统的组合逻辑电路输入测试向量,并改变每个改进扫描链单元的使能端的真值,令back=0,selectin=1,keep=0,使片上系统正常工作若干个周期;\n[0031] 步骤五、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=0,keep=0,将测试结果和每个改进扫描链单元的第一触发器中的状态数值移出,并存储至测试响应模块中,并将存储的测试结果与之前正常工作时的运行状态进行比较,来判定片上系统的功能是否正常;\n[0032] 步骤六、判断测试激励是否输入完毕:\n[0033] 判断结果为是,执行步骤七;判断结果为否,返回执行步骤三,对下一组测试激励进行测试;\n[0034] 步骤七、改变每个改进扫描链单元的使能端的真值,令back=1,selectin=1,keep=0,,使测试前保存的数据恢复到每个改进扫描链单元的第一触发器中;\n[0035] 步骤八、改变每个改进扫描链单元的使能端的真值,令back=0,selectin=1,keep=0,将片上系统的时钟切换回系统工作时钟信号,使片上系统恢复正常工作状态,完成片上系统的在线测试。\n[0036] 本发明的优点:为了能够更好地满足实际应用的需要,与现有方法不同,本方法针对现有测试系统无法完成多组测试向量连续输入的问题,提出了一种改进扫描链单元及基于该单元的在线测试方法,用新的扫描链单元替代原有单元,在可接受的时间和空间开销的情况下,时序控制简单,能够有效提高测试效率。\n附图说明\n[0037] 图1是改进扫描链单元结构示意图;\n[0038] 图2是改进扫描链单元封装图;\n[0039] 图3是扫描链结构示意图;\n[0040] 图4是正常工作时改进扫描链单元的状态图;\n[0041] 图5是保护现场时改进扫描链单元的状态图;\n[0042] 图6是移入测试向量时改进扫描链单元的状态图;\n[0043] 图7是恢复现场时改进扫描链单元的状态图;\n[0044] 图8是改进扫描链单元功能测试波形图;\n[0045] 图9是采用改进扫描链单元构成串行的扫描链的片上系统的结构示意图;\n[0046] 图10是采用改进扫描链单元构成并行的扫描链的片上系统的结构示意图;\n[0047] 图11是采用改进扫描链单元构成并行的扫描链的片上系统的简化结构示意图;\n[0048] 图12是时钟控制逻辑示意图。\n具体实施方式\n[0049] 具体实施方式一:下面结合图1至图8说明本实施方式,本实施方式所述改进扫描链单元1包括第一选择器1-1、第二选择器1-2、第一触发器1-3和第二触发器1-4,第一选择器1-1的0输入端作为所述改进扫描链单元1的功能数据输入端,第一选择器1-1的\n1输入端与第二触发器1-4的输出端相连,第一选择器1-1的输出端与第二选择器1-2的1输入端相连,第二选择器1-2的0输入端作为所述改进扫描链单元1的测试单元扫描数据输入端,第二选择器1-2的输出端与第一触发器1-3的D信号输入端相连,第一触发器1-3的输出端与第二触发器1-4的D信号输入端相连,第一触发器1-3的输出端同时作为所述改进扫描链单元1的功能输出端和所述改进扫描链单元1的扫描数据输出端,第一选择器\n1-1的使能端输入信号为back,第二选择器1-2的使能端输入信号为selectin,第二触发器\n1-4的使能端输入信号keep,并与其内部CLK端连接,第一触发器1-3的时钟信号输入端输入改进扫描链单元1的时钟信号CLK;\n[0050] 当信号back=0、selectin=1、keep=0时,扫描链单元处于正常工作状态,当输入数据为功能数据时,第一触发器1-3的输出端为功能输出端,输出功能数据funout;\n当输入数据为测试向量时,第一触发器1-3的输出端为扫描数据输出端,输出扫描数据scanout;\n[0051] 当信号back=0、selectin=0、keep=1时,扫描链单元处于保护现场状态,第一触发器1-3的输出端为扫描数据输出端,第二触发器1-4保持上一时钟周期的输出扫描数据scanout;\n[0052] 当信号back=0、selectin=0、keep=0时,扫描链单元处于移入或移出测试数据状态,第一触发器1-3的输出端为扫描数据输出端,第二触发器1-4保持保护现场状态时所存储的状态数据;\n[0053] 当信号back=1、selectin=1、keep=0时,扫描链单元处于恢复现场状态,第一触发器1-3的输出端输出第二触发器1-4返回的存储数据。\n[0054] 将图1所示的改进扫描链单元1进行封装形成如图2所示的封装图,改进扫描链单元1有两个输入端:功能数据输入端funin、测试单元扫描数据输入端scanin,和输出端out,此输出端out同时作为两个输出端:功能输出端funout、扫描数据输出端scanout。\n[0055] 第一选择器1-1和第二选择器1-2的使能端功能要同,使能端为0时,选择器的0输入端输入数据;使能端为0时,两个选择器的1输入端输入数据。第一选择器1-1控制第二触发器1-4中的数据是否可以送到第一触发器1-3,第二选择器1-2控制第一触发器1-3的工作状态或测试状态。\n[0056] 多个改进扫描链单元1串行连接构成扫描链,如图3所示。\n[0057] 定义测试前将最后一个时钟周期的数据保存起来的过程为保护现场,测试后数据恢复的过程为恢复现场。\n[0058] 正常工作时,改进扫描链单元1中的第一触发器1-3代替原片上系统的D触发器,测试时为了保存第一触发器1-3的状态,进行保护现场操作,将第一触发器1-3的状态值预先存储在第二触发器1-4中,待测试结束后,再恢复现场,将存储在第二触发器1-4中的状态值还给第一触发器1-3,让其继续参与片上系统的正常工作。\n[0059] 改进扫描链单元1所能实现的功能及其控制信号如表1所示:\n[0060] 表1单元电路测试真值表\n[0061] \n back selectin keep out 功能\n 1 0 1 0 funout 正常工作\n 2 0 0 1 scanout 保护现场\n 3 0 0 0 scanout 移入/移出测试数据\n 4 0 1 0 funout 测试工作\n 5 1 1 0 Q2 恢复现场\n[0062] 表1所示的多种状态中数据流向如图4至图7所示,图4是正常工作时改进扫描链单元的状态图;图5是保护现场时改进扫描链单元的状态图;图6是移入测试向量时改进扫描链单元的状态图;图7是恢复现场时改进扫描链单元的状态图。\n[0063] 将改进扫描链单元1在FPGA上进行功能仿真,上述功能可以很好地实现,图8为实验过程截图,其中DFF2_1|Q,DFF2_2|Q分别为第一触发器1-3和第二触发器1-4的输出。\n正常工作时信号由funin输入,如A段所示;保护现场时Q1的状态被锁存到Q2中,对应图中B段;测试数据移入和测试期间,数据由scanin输入,分别对应C、D段;恢复现场对应E段,Q2的状态返回到Q1中;最后回到正常工作状态,此时Q1的状态与测试前的最后一个周期相同。\n[0064] 具体实施方式二:下面结合图1至图9、图12说明本实施方式,本实施方式基于实施方式一所述改进扫描链单元的在线测试方法,将改进扫描链单元1作为D触发器连接入片上系统的时序逻辑电路中,所述改进扫描链单元1的功能数据输入端作为D触发器的D输入端,所述改进扫描链单元1的功能数据输出端作为D触发器的Q输出端,所有改进扫描链单元1首尾依次串联连接形成扫描链,位于扫描链首端的改进扫描链单元1的扫描数据输入端连接测试激励模块2的信号输出端,其扫描数据输出端连接扫描链中下一个改进扫描链单元1的扫描数据输入端,位于扫描链尾端的改进扫描链单元1的扫描数据输出端作为该扫描链的扫描数据输出端接测试响应模块3的响应信号输入端;每个改进扫描链单元\n1的相同使能端相连后再分别与控制电路4的使能信号输出端相连,每个改进扫描链单元1的时钟信号CLK相连后再与控制电路4的时钟信号输出端相连,片上系统的正常工作状态时的真值为back=0,selectin=1,keep=0,\n[0065] 基于改进扫描链单元的在线测试方法包括以下步骤:\n[0066] 步骤一、改变控制电路4的时钟机制,向每个改进扫描链单元1的CLK端口发出的时钟信号由系统工作时钟切换为自身测试时钟;\n[0067] 步骤二、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=0,keep=1,使每个改进扫描链单元1的第一触发器1-3中的状态数值转移到与其处于同一单元中的第二触发器1-4中保存,进行现场保护;\n[0068] 步骤三、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=0,keep=0,将测试激励模块2发出的测试激励信号移入扫描链中;\n[0069] 步骤四、由测试激励模块2给片上系统的组合逻辑电路输入测试向量,并改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=1,keep=0,使片上系统正常工作若干个周期,大于1个周期,可以选择3至5个周期,或选择3至10个周期,根据实际情况自行设定;\n[0070] 步骤五、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=0,keep=0,将测试结果和每个改进扫描链单元1的第一触发器1-3中的状态数值移出,并存储至测试响应模块3中,并将存储的测试结果与之前正常工作时的运行状态进行比较,来判定片上系统的功能是否正常;\n[0071] 步骤六、判断测试激励是否输入完毕:\n[0072] 判断结果为是,执行步骤七;判断结果为否,返回执行步骤三,对下一组测试激励进行测试;\n[0073] 步骤七、改变每个改进扫描链单元1的使能端的真值,令back=1,selectin=1,keep=0,,使测试前保存的数据恢复到每个改进扫描链单元1的第一触发器1-3中;\n[0074] 步骤八、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=1,keep=0,将片上系统的时钟切换回系统工作时钟信号,使片上系统恢复正常工作状态,完成片上系统的在线测试。\n[0075] 系统的测试控制离不开正确的时序逻辑,图12所示为电路的时钟控制逻辑示意图。控制电路4在通过译码器产生控制信号的同时,还要有一个时钟选择机制。在正常工作时选用系统的时钟信号;测试状态时,系统的时钟停止工作,应选择自身测试时钟,并将此信号并行地加到每个改进扫描链单元1的CLK端。保证自身测试时钟信号的准确无误,进而保证在线测试的稳定性和正确性。\n[0076] 该扫描链不但具有扫描测试功能,还实现了测试过程的现场保护。测试向量模块2产生的测试激励一方面通过扫描数据输入端移入到扫描链中,另一方面为片上系统的组合逻辑电路提供输入端口的测试数据;相应的,测试响应模块3的接收也分为两个部分,接收组合逻辑电路输出的测试数据和扫描链输出的测试数据,每个改进扫描链单元1的控制信号back,selectin,keep,CLK分别与控制电路4相连,统一由控制电路4控制,各单元的同步工作给布线带来了便利。\n[0077] 正常工作时,用于测试的电路是“透明”的,对工作没有任何影响;测试开始时,按照前面对各单元的控制方法控制整个片上系统,即可实现测试功能。\n[0078] 本发明能实现:\n[0079] 1)该发明可以实现测试前对数据的存储和测试结束后数据的恢复。\n[0080] 2)该发明可以在不影响电路工作状态的情况下对其进行在线非并发测试。\n[0081] 3)该发明很好地适用于一次输入多组测试向量的情况。\n[0082] 4)该发明提出了将系统工作时钟和测试时钟分别产生,分开管理的时钟选择机制。\n[0083] 5)在电路规模及组合逻辑比例较大的电路中,硬件冗余较小。\n[0084] 6)在扫描链长度不大的电路中时间冗余相对较小。\n[0085] 具体实施方式三:下面结合图10和图11说明本实施方式,本实施方式是针对片上系统中D触发器数目很多的情况而设置的,与实施方式二的不同之处在于:将全部改进扫描链单元1分成多个组,每组中的改进扫描链单元1串行连接成扫描链,全部改进扫描链单元1构成的多个扫描链并行设置,每个扫描链的测试单元扫描数据输入端接测试激励模块\n2的信号输出端,每个扫描链的扫描数据输出端接测试响应模块3的响应信号输入端,测试激励模块2发送给多个扫描链的测试向量保持同步。其它结构和步骤与实施方式二相同。\n[0086] 每组中的改进扫描链单元1的数目可以相同,可以不同,这样设置,可以减少测试向量移入的时间,加快测试的速度。整体结构示意图如图11所示,细化的结构示意图如图\n10所示。\n[0087] 将改进扫描链单元1作为D触发器连接入片上系统的时序逻辑电路中,所述改进扫描链单元1的功能数据输入端作为D触发器的D输入端,所述改进扫描链单元1的功能数据输出端作为D触发器的Q输出端,将全部改进扫描链单元1分成多个组,每组中的改进扫描链单元1首尾依次串联连接形成扫描链,全部改进扫描链单元1构成的多个扫描链并行设置,位于每个扫描链首端的改进扫描链单元1的扫描数据输入端连接测试激励模块2的信号输出端,其扫描数据输出端连接该扫描链中下一个改进扫描链单元1的扫描数据输入端,测试激励模块2发送给多个扫描链的测试向量保持同步,位于该扫描链尾端的改进扫描链单元1的扫描数据输出端作为该扫描链的扫描数据输出端接测试响应模块3的响应信号输入端;每个改进扫描链单元1的相同使能端相连后再分别与控制电路4的使能信号输出端相连,每个改进扫描链单元1的时钟信号CLK相连后再与控制电路4的时钟信号输出端相连,片上系统的正常工作状态时的真值为back=0,selectin=1,keep=0,[0088] 基于改进扫描链单元的在线测试方法包括以下步骤:\n[0089] 步骤一、改变控制电路4的时钟机制,向每个改进扫描链单元1的CLK端口发出的时钟信号由系统工作时钟切换为自身测试时钟;\n[0090] 步骤二、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=0,keep=1,使每个改进扫描链单元1的第一触发器1-3中的状态数值转移到与其处于同一单元中的第二触发器1-4中保存,进行现场保护;\n[0091] 步骤三、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=0,keep=0,将测试激励模块2发出的测试激励信号移入扫描链中;\n[0092] 步骤四、由测试激励模块2给片上系统的组合逻辑电路输入测试向量,并改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=1,keep=0,使片上系统正常工作若干个周期,大于1个周期,可以选择3至5个周期,或选择3至10个周期,根据实际情况自行设定;\n[0093] 步骤五、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=0,keep=0,将测试结果和每个改进扫描链单元1的第一触发器1-3中的状态数值移出,并存储至测试响应模块3中,并将存储的测试结果与之前正常工作时的运行状态进行比较,来判定片上系统的功能是否正常;\n[0094] 步骤六、判断测试激励是否输入完毕:\n[0095] 判断结果为是,执行步骤七;判断结果为否,返回执行步骤三,对下一组测试激励进行测试;\n[0096] 步骤七、改变每个改进扫描链单元1的使能端的真值,令back=1,selectin=1,keep=0,,使测试前保存的数据恢复到每个改进扫描链单元1的第一触发器1-3中;\n[0097] 步骤八、改变每个改进扫描链单元1的使能端的真值,令back=0,selectin=1,keep=0,将片上系统的时钟切换回系统工作时钟信号,使片上系统恢复正常工作状态,完成片上系统的在线测试。
法律信息
- 2022-12-27
未缴年费专利权终止
IPC(主分类): G01R 31/317
专利号: ZL 201010572388.4
申请日: 2011.01.17
授权公告日: 2012.12.05
- 2012-12-05
- 2011-06-15
实质审查的生效
IPC(主分类): G01R 31/317
专利申请号: 201010572388.4
申请日: 2011.01.17
- 2011-05-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-03-15
|
2004-01-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |