发明内容
本发明要解决的技术问题是提供一种能够实现多个并行边界扫描链的自动扫描,无需插拔刀片或者更改边界扫描链路的设置,测试效率高、使用简单方便的多链路并行边界扫描测试装置及方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种多链路并行边界扫描测试装置,包括测试控制器,所述测试控制器的输出端口包括边界扫描时钟端口、测试模式选择端口、测试数据输出端口、测试结果输入端口,所述扫描测试装置还包括与待测边界扫描链一一对应的扫描控制单元,所述测试控制器的输出端口还包括用于控制扫描控制单元进行边界扫描或者链路选择的使能信号输出端口,所述扫描控制单元包括用于控制当前待测边界扫描链的选择状态以及转发测试信号的多链路控制逻辑和分别与所述多链路控制逻辑相连的测试数据输入端口、测试结果输出端口、控制器接口、边界扫描链接口,所述控制器接口分别与测试控制器的使能信号输出端口、边界扫描时钟端口、测试模式选择端口相连,所述边界扫描链接口与待测边界扫描链相连,各个所述扫描控制单元之间依次通过测试数据输入端口和测试结果输出端口首尾相连呈链状,链首的扫描控制单元的测试数据输入端口与测试控制器的测试数据输出端口相连,链尾的扫描控制单元的测试结果输出端口与测试控制器的测试结果输入端口相连。
作为上述技术方案的进一步改进:
所述多链路控制逻辑包括用于控制待测边界扫描链选择状态的移位寄存器和用于控制所述边界扫描链接口通断状态的多路选通开关,所述移位寄存器为1位移位寄存器,所述移位寄存器的输入端分别通过多路选通开关与测试控制器的测试数据输出端口相连、通过控制器接口21与测试控制器的使能信号输出端口相连,所述多路选通开关的输入端与测试数据输入端口相连,所述多路选通开关的输出端与扫描控制单元的测试结果输出端口相连,所述多路选通开关的控制端分别与移位寄存器的输出端、测试控制器的使能信号输出端口相连。
所述多路选通开关包括选通开关控制模块和三个可选通路,所述选通开关控制模块的控制端分别与移位寄存器的输出端相连、通过控制器接口与测试控制器的使能信号输出端口相连;所述三个可选通路中,一个可选通路为用于将扫描控制单元的测试数据输入端口、测试结果输出端口与边界扫描链接口连通的待测边界扫描链选通通路;一个可选通路为用于将扫描控制单元的测试数据输入端口、测试结果输出端口直接连通的待测边界扫描链断开通路;一个可选通路为用于将各个扫描控制单元的移位寄存器串接于扫描控制单元的测试数据输入端口、测试结果输出端口之间形成一个多位移位寄存器的移位寄存器串联通路。
本发明还提供一种多链路并行边界扫描测试方法,其实施步骤如下:
1)针对每一个待测边界扫描链设置一个用于控制当前待测边界扫描链的选择状态以及转发测试信号的扫描控制单元,将各个扫描控制单元之间依次通过测试数据输入端口和测试结果输出端口首尾相连呈链状,在测试控制器上增加一个用于控制扫描控制单元进行边界扫描或者链路选择的使能信号输出端口;
2)测试控制器通过使能信号输出端口输出值为无效的使能信号,检测所有扫描控制单元的数量,通过串行移位的方式向链首的控制扫描控制单元输入扫描选择码;
3)测试控制器通过使能信号输出端口输出值为有效的使能信号,各个扫描控制单元获取扫描选择码中的对应位,并根据所述对应位的值配置待测边界扫描链的状态为选择或者断开;
4)测试控制器向链首的控制扫描控制单元发送边界扫描测试数据,然后选择待测边界扫描链的扫描控制单元将输入的边界扫描测试数据对待测边界扫描链进行测试并将结果作为下一个扫描控制单元输入的边界扫描测试数据,断开待测边界扫描链的扫描控制单元则将输入的边界扫描测试数据直接转发至下一个扫描控制单元输入的边界扫描测试数据,最终由链尾的扫描控制单元将最终的边界扫描测试结果输出至测试控制器。
作为上述技术方案的进一步改进:
所述步骤1)中设置扫描控制单元时在每一个扫描控制单元内部设置一个1位的移位寄存器,所述使能信号为无效时各个扫描控制单元的移位寄存器串联形成一个多位移位寄存器;所述步骤2)中所述扫描选择码为一串长度与所有待测边界扫描链的数量相同的二进制字符串;所述步骤3)中扫描控制单元获取所述扫描选择码的对应位具体是指通过移位寄存器获取选择码的对应位,且在所述对应位为1时设置对应的待测边界扫描链的状态为选择或者断开,在所述对应位为0时设置对应的待测边界扫描链的状态为断开或者选择。
所述步骤1)中设置扫描控制单元时在每一个扫描控制单元内部设置一个多路选通开关,所述多路选通开关包括用于选择待测边界扫描链的待测边界扫描链选通通路、用于断开待测边界扫描链的待测边界扫描链断开通路和用于将所述1位的移位寄存器串接形成一个多位移位寄存器的移位寄存器串联通路,当使能信号为无效时所述移位寄存器串联通路被选通;当使能信号为有效时,如果所述扫描控制单元的对应位为1时则待测边界扫描链选通通路被选通或者待测边界扫描链断开通路被选通,如果所述扫描控制单元的对应位为0时则待测边界扫描链断开通路被选通或者待测边界扫描链选通通路被选通。
所述步骤2)中检测所有扫描控制单元的数量的详细步骤包括:
A)设置二进制格式的标识符串;
B)在边界扫描时钟信号的控制下将所述标识符串通过串行移位的方式输入链首的控制扫描控制单元,并开始对所述边界扫描时钟信号的脉冲进行计数;
C)在链尾的扫描控制单元输出完整的标识符串后停止计数并读取计数值;
D)将所述计数值减去标识符串的长度即可得到所有扫描控制单元的数量。
本发明多链路并行边界扫描测试装置具有下述优点:
1、本发明通过测试控制器新增加一个使能信号输出端口,且针对每一个待测边界扫描链设置一个用于控制选择待测边界扫描链以及转发测试信号的扫描控制单元,通过使能信号输出端口和扫描控制单元一起控制待测边界扫描链的选择,解决了现有技术中不能自动完成多个边界扫描链路增减配置和测试的问题,能够实现多个并行边界扫描链的自动扫描、自动完成多个待测边界扫描链的选择和测试,具有无需插拔刀片或者更改边界扫描链路设置、测试效率高、使用简单方便的优点。
2、本发明中的多链路控制逻辑进一步包括移位寄存器和多路选通开关,能够通过可编程逻辑器件或者锁存器和与非门等逻辑器件构成组合电路来实现,具有结构简单、逻辑少、实现容易的优点。
3、本发明中的多路选通开关进一步包括三个可选通路,且其中一个可选通路为用于将各个扫描控制单元的移位寄存器串接形成一个多位移位寄存器的移位寄存器串联通路,通过该移位寄存器串联通路结合输入的标识符串能够自动识别出待测边界扫描链的数量,使用简单方便,尤其适用于具有大量待测边界扫描链的情况,能够提高测试的效率。
本发明多链路并行边界扫描测试方法为与前述本发明多链路并行边界扫描测试装置结构相对应的测试实现方法,因此也具备前述本发明多链路并行边界扫描测试装置所对应的优点。
具体实施方式
本实施例多链路并行边界扫描测试方法的基本步骤如下:
1)针对每一个待测边界扫描链设置一个用于控制当前待测边界扫描链的选择状态以及转发测试信号的扫描控制单元,将各个扫描控制单元之间依次通过测试数据输入端口和测试结果输出端口首尾相连呈链状,在测试控制器上增加一个用于控制扫描控制单元进行边界扫描或者链路选择的使能信号输出端口;
2)测试控制器通过使能信号输出端口输出值为无效的使能信号,检测所有扫描控制单元的数量,通过串行移位的方式向链首的控制扫描控制单元输入扫描选择码;
3)测试控制器通过使能信号输出端口输出值为有效的使能信号,各个扫描控制单元获取扫描选择码中的对应位,并根据对应位的值配置待测边界扫描链的状态为选择或者断开;
4)测试控制器向链首的控制扫描控制单元发送边界扫描测试数据,然后选择待测边界扫描链的扫描控制单元将输入的边界扫描测试数据对待测边界扫描链进行测试并将结果作为下一个扫描控制单元输入的边界扫描测试数据,断开待测边界扫描链的扫描控制单元则将输入的边界扫描测试数据直接转发至下一个扫描控制单元输入的边界扫描测试数据,最终由链尾的扫描控制单元将最终的边界扫描测试结果输出至测试控制器。
步骤1)中设置扫描控制单元时在每一个扫描控制单元内部设置一个1位的移位寄存器,使能信号为无效时各个扫描控制单元的移位寄存器串联形成一个多位移位寄存器;步骤2)中扫描选择码为一串长度与所有待测边界扫描链的数量相同的二进制字符串;步骤3)中扫描控制单元获取扫描选择码的对应位具体是指通过移位寄存器获取选择码的对应位,且在对应位为1时设置对应的待测边界扫描链的状态为选择或者断开,在对应位为0时设置对应的待测边界扫描链的状态为断开或者选择。
步骤1)中设置扫描控制单元时在每一个扫描控制单元内部设置一个多路选通开关,多路选通开关包括用于选择待测边界扫描链的待测边界扫描链选通通路、用于断开待测边界扫描链的待测边界扫描链断开通路和用于将1位的移位寄存器串接形成一个多位移位寄存器的移位寄存器串联通路,当使能信号为无效时移位寄存器串联通路被选通;当使能信号为有效时,如果扫描控制单元的对应位为1时则待测边界扫描链选通通路被选通或者待测边界扫描链断开通路被选通,如果扫描控制单元的对应位为0时则待测边界扫描链断开通路被选通或者待测边界扫描链选通通路被选通。
步骤2)中检测所有扫描控制单元的数量的详细步骤包括:
A)设置二进制格式的标识符串;
B)在边界扫描时钟信号的控制下将标识符串通过串行移位的方式输入链首的控制扫描控制单元,并开始对边界扫描时钟信号的脉冲进行计数;
C)在链尾的扫描控制单元输出完整的标识符串后停止计数并读取计数值;
D)将计数值减去标识符串的长度即可得到所有扫描控制单元的数量。
如图2所示,本实施例的多链路并行边界扫描测试装置包括测试控制器1和与待测边界扫描链一一对应的扫描控制单元2,扫描控制单元2用于控制待测边界扫描链的选择状态以及用于转发测试信号。测试控制器1的输出端口包括边界扫描时钟端口(TCK0)、测试模式选择端口(TMS0)、测试数据输出端口(TDI0)、测试结果输入端口(TDO0)四个基本的边界扫描测试端口以及一个额外的用于控制扫描控制单元2进行边界扫描或者链路选择的使能信号输出端口(Enable)。测试控制器1与传统的测试控制器相比,新增加了一个使能信号输出端口(Enable)。扫描控制单元2包括用于控制当前待测边界扫描链的选择状态以及转发测试信号的多链路控制逻辑和分别与多链路控制逻辑相连的测试数据输入端口(TDI1)、测试结果输出端口(TDO1)、控制器接口21、边界扫描链接口22,控制器接口21分别与测试控制器1的Enable、TCK0、TMS0相连,测试控制器1通过控制器接口21控制待测边界扫描链的并行测试和操作;边界扫描链接口22与待测边界扫描链的TCK、TMS、TDI、TDO端口相连,测试控制器1通过边界扫描链接口22向待测边界扫描链输入测试数据,并读取测试响应。各个扫描控制单元2之间依次通过TDI1和TDO1首尾相连呈链状,链首的扫描控制单元2的TDI1与测试控制器1的TDI0相连,链尾的扫描控制单元2的TDO1与测试控制器1的TDO0相连。
本实施例中,刀片主板D1~刀片主板D3组成三个并行设置的待测边界扫描链,每一个刀片主板的TCK、TMS、TDI、TDO端口分别与一个扫描控制单元2的边界扫描链接口22相连,在扫描控制单元2首尾相连形成的链状结构中,与刀片主板D1对应的扫描控制单元2位于链首,与刀片主板D3对应的扫描控制单元2位于链尾。扫描控制单元2的结构简单、逻辑少、实现容易,最方便的实现方式就是用可编程逻辑器件来实现,例如采用Xilinx Spartan系列可编程逻辑器件、Altera MAX3000系列可编程逻辑器件等。此外,扫描控制单元2还可以用其它方式实现,比如用锁存器和与非门等逻辑器件构成组合电路等,无论具体的实现方式怎么样,只要可以实现多链路并行边界扫描测试控制装置上述的功能即可。
如图3所示,多链路控制逻辑包括用于控制待测边界扫描链选择状态的移位寄存器23和用于控制边界扫描链接口22通断状态的多路选通开关24,其中移位寄存器23为1位移位寄存器,移位寄存器23的输入端分别通过多路选通开关24与扫描控制单元2的TDI1相连、通过控制器接口21与测试控制器1的Enable相连,移位寄存器23的时钟端口与控制器接口21的TCK1相连,多路选通开关24的输入端与扫描控制单元2的TDI1相连,多路选通开关24的输出端与扫描控制单元2的TDO1相连,多路选通开关24的控制端分别与移位寄存器23的输出端、测试控制器1的Enable相连。
本实施例中,多路选通开关24包括选通开关控制模块和三个可选通路,选通开关控制模块的控制端分别与移位寄存器23的输出端相连、通过控制器接口21与测试控制器1的Enable相连;三个可选通路中,一个可选通路(左1号位置~右1号位置之间)为用于将扫描控制单元2的TDI1、TDO1与边界扫描链接口22连通的待测边界扫描链选通通路;一个可选通路(左2号位置~右2号位置之间)为用于将扫描控制单元2的TDI1、TDO1直接连通的待测边界扫描链断开通路;一个可选通路(左3号位置~右3号位置之间)为用于将各个扫描控制单元2的移位寄存器23串接于扫描控制单元2的TDI1、TDO1之间形成一个多位移位寄存器的移位寄存器串联通路。
本实施例中通过测试控制器1的Enable输出的使能信号和移位寄存器23来实现自动选择指定的一个或多个待测边界扫描链进行测试和操作的功能,通过测试控制器1的Enable输出的使能信号控制多链边界扫描测试装置的工作状态。在本实施例中,使能信号为1(逻辑高电平)时为有效信号,为0(逻辑低电平)时为无效信号。
将使能信号设置为有效(逻辑高电平)时,本实施例多链路并行边界扫描测试装置处在边界扫描测试状态,此时多路选通开关24选通通路由移位寄存器23的当前值决定:当移位寄存器23的值为1时,多路选通开关24位于1号位置,待测边界扫描链选通通路被选通,此时扫描控制单元2的TDI1、TDO1通过边界扫描链接口22分别与待测边界扫描链的TDI、TDO连通,与边界扫描链接口22相连的待测边界扫描链就被选通,此时可以对待测边界扫描链进行边界扫描测试和操作;当移位寄存器23的值为0时,多路选通开关24位于2号位置,待测边界扫描链断开通路被选通,此时扫描控制单元2的TDI1、TDO1直接连通,与边界扫描链接口22相连的待测边界扫描链被断开。
将使能信号设置为无效(逻辑低电平)时,本实施例多链路并行边界扫描测试装置处在边界扫描测试链选择状态,多路选通开关24位于3号位置,移位寄存器串联通路被选通,此时各个扫描控制单元2的移位寄存器23串接于TDI1、TDO1之间,形成一个多位移位寄存器,所有扫描控制单元2的移位寄存器23通过TDI1、TDO1首尾相连构成了一个多位移位寄存器,在TCK时钟信号的控制下可以进行移位操作。如图3所示,当多路选通开关24位于3号位置时,本实施例中所有扫描控制单元2的移位寄存器23构成一个3位的多位移位寄存器。
移位寄存器23具有两个功能:待测边界扫描链数目判定以及待测边界扫描链选择。在本实施例多链路并行边界扫描测试装置处在边界扫描测试链选择状态时,可以对移位寄存器23进行数据的移入移出操作,操作人员可以在多位移位寄存器的输入端输入一个标识符串,同时接收多位移位寄存器的输出并对时钟脉冲计数。当接收到完整的标识符串以后,将时钟脉冲的计数值减掉标识符串的长度,所得到的结果就是当前的所有待测边界扫描链的总数目。在待测边界扫描链数目已确定的情况下,操作人员就可以通过扫描选择码指定一个或多个待测边界扫描链,并将需要选择进行边界扫描测试的移位寄存器23的值设置为1,其它的移位寄存器23设置为0。在使能信号设置为有效后,移位寄存器23的值为1的待测边界扫描链就被选通,移位寄存器23的值为0的待测边界扫描链被断开。
本实施例多链路并行边界扫描测试装置进行多链路并行边界扫描测试的步骤如下:
a)将使能信号设置为无效(值为0)。
将使能信号设置为0后,所有的扫描控制单元2处在边界扫描测试链选择状态下,多路选通开关24处在如图3所示的开关3位置,此时所有移位寄存器23首尾相连构成一个3位移位寄存器。
b)确定待测边界扫描链数目。如果已经确定待测边界扫描链数目,则可以跳过此步骤,直接执行下一步;在本实施例中,假设待测边界扫描链的数目未知,在边界扫描测试时钟信号TCK的控制下,将8位的标识符串01010011输入到3位移位寄存器,同时检测3位移位寄存器的输出并对时钟脉冲计数;由于在本实施例中,多链路选择控制移位寄存器为3位,因此将8位的标识符串完全从3位移位寄存器的输入移位到输出,需要进行11次移位操作,因此最终在3位移位寄存器的输出端检测到完整的标识符串时,TCK的时钟脉冲计数值为11。用此时钟脉冲计数值减掉标识符串的长度,就可以确定待测边界扫描链的数目,如在本实施例中,最后可以检测出待测边界扫描链的数目为3。
c)确定扫描选择码。实施例中,扫描选择码为三位二进制字符,刀片主板D1对应扫描选择码的第1位,刀片主板D2对应扫描选择码的第2位,刀片主板D3对应扫描选择码的第3位。如需选择刀片主板D1进行测试,则扫描选择码为100,如需选择刀片主板D2和刀片主板D3进行测试,则扫描选择码为011,以此类推,选择哪个刀片主板进行测试,就在扫描选择码上的对应位设置为1;如果不需要选择,就在扫描选择码上的对应位设置为0。
d)将扫描选择码输入到3位移位寄存器。确定了待测边界扫描链的数目以及扫描选择码后,就可以在边界扫描测试时钟信号TCK的控制下,将扫描选择码输入到3位移位寄存器。
e)将使能信号设置为有效(值为1)。将使能信号设置为1,所有的扫描控制单元2就由边界扫描测试链选择状态转变为边界扫描测试状态。多路选通开关24的选通位置由移位寄存器的当前值决定。当移位寄存器23的值为1时,多路选通开关24位于1号位置,边界扫描链接口22的TDI与待测边界扫描链的TDI相连,边界扫描链接口22的TDO与待测边界扫描链的TDO相连,对应的待测边界扫描链被选通,可以对此待测边界扫描链进行边界扫描测试和操作;当移位寄存器23的值为0时,多路选通开关24位于2号位置,扫描控制单元2的TDI与TDO直接相连,边界扫描链接口22的TDI和TDO悬空,从而对应的待测边界扫描链被断开。
f)对选定的各个待测边界扫描链进行边界扫描测试。
测试控制器1将边界扫描测试数据发送给链首的扫描控制单元2,接收到边界扫描测试数据的扫描控制单元2如果待测边界扫描链选通通路导通则对待测边界扫描链进行测试并将结果发送至下一个扫描控制单元2,如果待测边界扫描链断开通路导通则将来自上一个扫描控制单元2的边界扫描测试数据直接发送至下一个扫描控制单元2,最终由链尾的扫描控制单元2将最终的边界扫描测试结果输出至测试控制器1,完成边界扫描测试操作。
本实施例已应用于本单位自行研制的高性能大规模并行计算机系统中,通过验证,可以自动检测系统中的边界扫描链路数目,并且通过链路选择机制自动选择指定的一个和多个刀片主板进行测试和操作,同时也可以进行多链路的并行测试和操作,成功解决了现有技术中不能自动完成多个边界扫描链路增减配置和测试的问题。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。