一种嵌入式边界扫描数据压缩、合成方法及装置制造方法

文档序号:6190075阅读:175来源:国知局
一种嵌入式边界扫描数据压缩、合成方法及装置制造方法
【专利摘要】本发明公开了一种嵌入式边界扫描数据压缩、合成方法和装置。包括:得到标准扫描链数据;获取参与测试的管脚数据、测试矩阵和响应矩阵;将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵存储至嵌入式测试装置的芯片中。获取存储在该芯片中的标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵;计算每个参与测试的管脚的扫描单元在标准扫描链数据上的位置,以利用测试矩阵中的向量合成标准扫描链数据,利用响应矩阵中的向量合成标准扫描链数据。本发明有效地解决了测试装置存储空间小,无法进行大数据量的边界扫描测试的问题。有效的压缩了边界扫描数据的数据量,节省了存储空间,减少了测试时间和测试开销,提高了生产效率。
【专利说明】一种嵌入式边界扫描数据压缩、合成方法及装置
【技术领域】
[0001]本发明涉及边界扫描测试【技术领域】,特别是涉及一种嵌入式边界扫描数据压缩、合成方法及装置。
【背景技术】
[0002]边界扫描技术是复杂电路板故障检测与诊断的主流测试性设计技术。在现有技术中,基于边界扫描技术的边界扫描测试系统能够完成测试生成、测试向量的加载、测试响应分析、故障显示和辅助功能等任务。
[0003]嵌入式边界扫描技术是边界扫描测试技术与嵌入式测试技术的结合,其目的是为了解决繁重的测试与诊断问题。在嵌入式边界扫描技术中,把外部边界扫描引擎的性能设计到测试装置中,以增强测试的自动化,提高测试覆盖率和测试效率,并降低产品整个寿命周期的测试维修成本。因此,嵌入式边界扫描需要JTAG引擎,以及JTAG测试图形(测试向量)、编程算法的存储空间。JTAG测试图形和编程算法由外部独立应用的边界扫描系统产生,并把它们转换为某种协议格式,在测试前存储到测试装置中。
[0004]对于板级系统,在进行嵌入式边界扫描时,一般不占用电路板功能电路的存储空间,而是使用板上的嵌入式边界扫描测试装置完成全部的边界扫描操作。由于嵌入式边界扫描测试装置体积小,存储容量有限,所以,无法进行大数据量的边界扫描测试。

【发明内容】

[0005]本发明要解决的技术问题是对嵌入式边界扫描数据进行压缩和合成,用以解决现有技术的嵌入式边界扫描测试装置存储空间小,无法进行大数据量的边界扫描测试的问题。
[0006]为解决上述技术问题,本发明提供一种嵌入式边界扫描数据压缩方法,包括:根据扫描链中包含的一个或多个扫描单元,设置各个扫描单元的初始值,得到标准扫描链数据;获取参与测试的管脚数据;获取用于测试的测试矩阵和响应矩阵;将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵作为嵌入式边界扫描数据存储至嵌入式测试装置的芯片中。
[0007]其中,根据扫描链中包含的一个或多个扫描单元,设置各个扫描单元的初始值,还包括:将扫描链中的不参与测试的扫描单元设置为固定状态;将扫描链中参与测试的扫描单元设置为可变状态。
[0008]其中,所述参与测试的管脚包括输出管脚和输入管脚;所述参与测试的管脚数据至少包括:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号。
[0009]其中,将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵作为嵌入式边界扫描数据存储至嵌入式测试装置的芯片中,包括:按照设定顺序,将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵转化为字节数据序列,将所述字节数据序列作为嵌入式边界扫描数据;其中,所述设定顺序是:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号、标准扫描链数据的字节数据、测试矩阵的字节数据、响应矩阵的字节数据。
[0010]本发明还提供了一种嵌入式边界扫描数据压缩装置,包括:根据扫描链中包含的一个或多个扫描单元设置各个扫描单元的初始值,得到标准扫描链数据的装置;获取参与测试的管脚数据的装置;获取用于测试的测试矩阵和响应矩阵装置;将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵作为嵌入式边界扫描数据存储至嵌入式测试装置的芯片中的装置。
[0011]本发明又提供了一种嵌入式边界扫描数据合成方法,包括:获取存储在嵌入式测试装置的芯片中的嵌入式边界扫描数据;在所述嵌入式边界扫描数据中,获取标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵;根据所述参与测试的管脚数据,计算每个参与测试的管脚对应的扫描单元在标准扫描链数据上的位置;根据每个参与测试的管脚的扫描单元在标准扫描链数据上的位置,将所述测试矩阵中的向量插入到标准扫描链数据,以合成测试扫描链数据,并且将响应矩阵中的向量插入到标准扫描链数据中,以合成期望扫描链数据。
[0012]其中,所述参与测试的管脚包括输出管脚和输入管脚;所述参与测试的管脚数据至少可以包括:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号。
[0013]其中,在所述嵌入式边界扫描数据中,获取标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵,包括:所述嵌入式边界扫描数据包含存储顺序:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号、标准扫描链数据的字节数据、测试矩阵的字节数据、响应矩阵的字节数据。
[0014]其中,根据所述参与测试的管脚数据,计算每个参与测试的管脚对应的扫描单元在标准扫描链数据上的位置,包括:将每个参与测试的管脚的位置序号对8取整,得到的值为所述管脚在标准扫描链数据中所处的字节;以及将每个参与测试的管脚的位置序号对8取余,得到的值为所述管脚在标准扫描链数据中所处的字节中所占的比特位。
[0015]本发明再提供了一种嵌入式边界扫描数据合成装置,包括:获取存储在嵌入式测试装置的芯片中的嵌入式边界扫描数据的装置;在所述嵌入式边界扫描数据中,获取标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵的装置;根据所述参与测试的管脚数据,计算每个参与测试的管脚对应的扫描单元在标准扫描链数据上的位置的装置;根据每个参与测试的管脚的扫描单元在标准扫描链数据上的位置,将所述测试矩阵中的向量插入到标准扫描链数据以合成测试扫描链数据,并且将响应矩阵中的向量插入到标准扫描链数据中以合成期望扫描链数据的装置。
[0016]本发明有益效果如下:
[0017]通过存储字节数据序列的方式,有效的压缩了边界扫描数据的数据量,节省了存储空间。减少了测试时间和测试开销,提高了生产效率。【专利附图】

【附图说明】
[0018]图1是根据本发明一实施例的嵌入式边界扫描测试芯片管脚互连示意图;
[0019]图2是根据本发明一实施例的嵌入式边界扫描数据压缩方法流程图;
[0020]图3是根据本发明一实施例的标准扫描链数据生成示意图;
[0021]图4是根据本发明一实施例的嵌入式边界扫描数据合成方法流程图。
【具体实施方式】
[0022]为了解决现有技术的嵌入式边界扫描测试装置存储空间小,无法进行大数据量的边界扫描测试的问题,本发明提供了一种嵌入式边界扫描数据压缩、合成方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0023]本发明涉及专有名词:扫描单元、扫描链。
[0024]扫描单元:位于芯片的输入管脚和输出管脚,是输入管脚和输出管脚与内核电路之间的移位寄存器。
[0025]扫描链(Boundary-Scan Chain):顺次连接芯片的管脚上的扫描单元得到扫描链。扫描链的长度等于芯片包含的扫描单元的总数。在扫描链中,由各个扫描单元中的向量组成扫描链数据。
[0026]由于在嵌入式边界扫描测试中,芯片管脚互连测试会产生大量的边界扫描数据,所以基于芯片管脚互连测试对本发明的方法及装置进行说明。为了更清晰的描述本发明,忽略被测芯片输出管脚和出入管脚之外的具有其他功能的管脚。将参与测试的输入管脚称作输入管脚,将参与测试的输出管脚称作输出管脚,将不参与测试的输入管脚和输出管脚称作管脚。
[0027]如图1所示,图1是根据本发明一实施例的嵌入式边界扫描测试芯片管脚互连示意图。
[0028]嵌入式测试装置中的被测芯片包括芯片Ul和芯片U2。芯片Ul包括14个管脚(序号8至序号21),芯片U2包括8个管脚(序号O至序号7)。那么,连接位于各个管脚的扫描单元而得到的扫描链的长度为22 (14+8=22)。
[0029]在进行芯片Ul和芯片U2的管脚互连测试时,参与测试的管脚有8个,分布在不同的芯片上。在芯片Ul中参与测试的管脚包括Ul-l、Ul-2、Ul-3、Ul-4四个管脚,序号分别为14、12、10、8,该四个管脚为输出管脚。在芯片U2中参与测试的管脚包括U2-l、U2-2、U2-3、U2-4四个管脚,序号分别为4、5、6、7,该四个管脚为输入管脚。
[0030]在芯片管脚互连测试中,可以利用测试矩阵和响应矩阵来测试芯片输出管脚和输入管脚的互连情况。将扫描链中的输出管脚和输入管脚的扫描单元设置为0,不参与测试的管脚的扫描单元设置为安全值。将测试矩阵中的向量串行输入到扫描链中的输出管脚的扫描单元中,在串行输出时,可以得到输入管脚的扫描单元中的向量。响应矩阵作为输入管脚所得的向量的期望值,将输入管脚的扫描单元的向量与响应矩阵中的向量进行比较,若扫描单兀的向量与响应矩阵中的向量相同,贝1J表不该芯片的输入管脚与输出管脚的互连无故障,互连测试通过。反之,则输入管脚与输出管脚的互连存在问题,互连测试不通过。
[0031]进一步地,在进行芯片管脚互连测试中,可以采用“移位I算法”来测试输出管脚和输入管脚的互连情况,在“移位I算法”中测试矩阵和响应矩阵的对角线为I。由于参与测试的管脚为4对,即4个输出管脚和4个输入管脚,所以,测试矩阵和响应矩阵的维度可以选择4维向量矩阵。
[0032]测试矩阵例如是:gI 5 响应矩阵例如是:g I I g;测试矩阵和
响应矩阵的行和列均为4个向量。测试矩阵中的每列向量对应一个输出管脚。由于测试矩阵拥有4行向量,而且每行向量只能输入到一个扫描链中,这样,需要4组扫描链数据。例如:U1-1对应测试矩阵中的第一列向量,U1-2对应测试矩阵中的第二列向量,U1-3对应测试矩阵中的第三列向量,U1-4对应测试矩阵中的第四列向量。响应矩阵中的每列向量对应一个输入管脚,每行向量对应一组扫描链数据,以便将4个输入管脚的扫描单元的向量与响应矩阵中每列向量进行比较。例如:U2-1对应响应矩阵中的第四列向量,U2-2对应响应矩阵中的第三列向量,U2-3对应响应矩阵中的第二列向量,U2-4对应响应矩阵中的第一列向量。
[0033]采用测试矩阵和响应矩阵还可以起到压缩嵌入式边界扫描数据的作用。
[0034]本发明提供了一种嵌入式边界扫描数据压缩方法,如图2所示,图2是根据本发明一实施例的嵌入式边界扫描数据压缩的方法流程图。
[0035]步骤S210,根据扫描链中包含的一个或多个扫描单元,设置各个扫描单元的初始值,得到标准扫描链数据。
[0036]如图3所示,图3是根据本发明一实施例的标准扫描链数据生成示意图,该图3中的各个扫描单元对应图1中各个管脚的扫描单元。
[0037]具体而言,可以根据被测芯片(芯片U1、芯片U2)的边界扫描描述文件(BSDL(Boundary Scan Description Language,边界扫描描述语言)文件)中的扫描单元描述信息,来设置各个扫描单元的初始值。该扫描单元描述信息包括:扫描单元的安全值、扫描单元固定状态的设置方式、扫描单元可变状态的设置方式等信息。
[0038]在芯片的各个扫描单元中,既包括参与测试的管脚,也包括不参与测试的管脚。将参与测试的管脚的扫描单元设置为0,将不参与测试的管脚的扫描单元设置为安全值。例如将输出管脚Ul-1、Ul-2、Ul-3、U1-4和输入管脚U2_l、U2-2、U2-3、U2-4各自对应的描述单元设置为0,将其他管脚设置为安全值。
[0039]将扫描链中的不参与测试的扫描单元设置为固定状态,即安全值固定,不可以改变。将扫描链中参与测试的扫描单元设置为可变状态。可以将序号为4、5、6、7、
8、10、12、14的管脚对应的扫描单元设置为可变状态,将其他管脚对应的扫描单元设置为固定状态。通过这种方式,生成一组标准扫描链数据。该标准扫描链数据例如是:0000000010000000001010。进一步地,可以在该标准扫描链数据中,标识出对应输出管脚的扫描单兀和对应输入管脚的扫描单兀。
[0040]将测试矩阵中的每行向量分别放置到标准扫描链数据中相应的可变状态的扫描单元中,则可以将标准扫描链数据变化为一组或多组测试扫描链数据。例如:将测试矩阵中的第一行向量1000放置在标准扫描链数据中相应的扫描单元中,如序号为14、12、10、8的输出管脚对应的扫描单元,得到的测试扫描链数据0000000110000000001010 ;将测试矩阵中的第二行向量0100放置在标准扫描链数据中相应的扫描单元中,得到测试扫描链数据0000000011000000001010 ;将测试矩阵中的第三行向量0010放置在标准扫描链数据中相应的扫描单元中,得到测试扫描链数据0000000010010000001010 ;将测试矩阵中的第四行向量0001放置在标准扫描链数据中相应的扫描单元中,得到测试扫描链数据0000000010000100001010ο同样的,将响应矩阵中的每行向量分别放置到标准扫描链数据中相应的可变状态的扫描单元中,则可以将标准扫描链数据变化为一组或多组期望扫描链数据。
[0041]由于测试矩阵和标准扫描链数据的数据量较小,避免了生成多个较大数据量的扫描链数据,有效的减少了存储空间。
[0042]步骤S220,获取参与测试的管脚数据。
[0043]参与测试的管脚数据至少可以包括:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号。
[0044]如图2所示,根据对被测芯片Ul和芯片U2的各个扫描单元的设置,参与测试的输出管脚总数为4。参与测试的输入管脚总数为4。输出管脚对应的扫描单元在扫描链数据上的位置序号为8、10、12、14。输入管脚对应的扫描单元在扫描链数据上的位置序号为4、
5、6、7。
[0045]步骤S230,设置用于测试的测试矩阵和响应矩阵。
[0046]测试矩阵中向量的列数等于参与测试的输出管脚的总数,例如参与测试的输出管脚总数为4,则该测试矩阵中包含4列向量。
[0047]响应矩阵中向量的列数等于参与测试的输入管脚的总数,例如参与测试的输入管脚总数为4,则该响应矩阵中包含4列向量。
[0048]测试矩阵和响应矩阵可以设置为对角线为I的4维向量矩阵。
[0049]步骤S240,将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵作为嵌入式边界扫描数据存储至嵌入式测试装置的芯片中,完成对嵌入式边界扫描数据的压缩。
[0050]按照设定顺序,将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵转化为字节数据序列,将该字节数据序列作为嵌入式边界扫描数据。
[0051]具体而言,参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号为十进制数,可以不作变化。
[0052]将标准扫描链数据、测试矩阵、响应矩阵由二进制转化为字节数据。一个字节等于8位二进制数。例如:标准扫描链数据为0000000010000000001010,该标准扫描链数据的十六进制(Ox)为00200Α,则按照低字节数据(LSB, Least Significant Bit)到高字节数据(MSB, Most Significant Bit)的顺序得到该标准扫描链数据的字节数据为10 (OxOA),32(0x20),O (0x00),该字节数据为十进制。字节的序号是从O开始,那么10为第O个字节,32为第I个字节,O为第2个字节。
[0053]测试矩阵和响应矩阵中的二进制向量可以按照行来计算字节数据。将测试矩阵:
【权利要求】
1.一种嵌入式边界扫描数据压缩方法,其特征在于,包括: 根据扫描链中包含的一个或多个扫描单元,设置各个扫描单元的初始值,得到标准扫描链数据; 获取参与测试的管脚数据; 设置用于测试的测试矩阵和响应矩阵; 将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵作为嵌入式边界扫描数据存储至嵌入式测试装置的芯片中。
2.如权利要求1所述的方法,其特征在于,根据扫描链中包含的一个或多个扫描单兀,设置各个扫描单元的初始值,还包括: 将扫描链中的不参与测试的扫描单元设置为固定状态; 将扫描链中参与测试的扫描单元设置为可变状态。
3.如权利要求1所述的方法,其特征在于, 所述参与测试的管脚包括输出管脚和输入管脚; 所述参与测试的管脚数据至少包括:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号。
4.如权利要求3所述的方法,其特征在于,将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵作为嵌入式边界扫描数据存储至嵌入式测试装置的芯片中,包括:` 按照设定顺序,将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵转化为字节数据序列,将所述字节数据序列作为嵌入式边界扫描数据;其中, 所述设定顺序是:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号、标准扫描链数据的字节数据、测试矩阵的字节数据、响应矩阵的字节数据。
5.一种嵌入式边界扫描数据压缩装置,其特征在于,包括: 根据扫描链中包含的一个或多个扫描单元设置各个扫描单元的初始值,得到标准扫描链数据的装置; 获取参与测试的管脚数据的装置; 获取用于测试的测试矩阵和响应矩阵装置; 将标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵作为嵌入式边界扫描数据存储至嵌入式测试装置的芯片中的装置。
6.一种嵌入式边界扫描数据合成方法,其特征在于,包括: 获取存储在嵌入式测试装置的芯片的嵌入式边界扫描数据; 在所述嵌入式边界扫描数据中,获取标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵; 根据所述参与测试的管脚数据,计算每个参与测试的管脚对应的扫描单元在标准扫描链数据上的位置; 根据每个参与测试的管脚的扫描单元在标准扫描链数据上的位置,将所述测试矩阵中的向量插入到标准扫描链数据,以合成测试扫描链数据,并且将响应矩阵中的向量插入到标准扫描链数据中,以合成期望扫描链数据。
7.如权利要求6所述的方法,其特征在于, 所述参与测试的管脚包括输出管脚和输入管脚; 所述参与测试的管脚数据至少可以包括:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号。
8.如权利要求7所述的方法,其特征在于,在所述嵌入式边界扫描数据中,获取标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵,包括: 所述嵌入式边界扫描数据包含存储顺序:参与测试的输出管脚数量、参与测试的输入管脚数量、每个输出管脚对应的扫描单元在扫描链上的位置序号、每个输入管脚对应的扫描单元在扫描链上的位置序号、标准扫描链数据的字节数据、测试矩阵的字节数据、响应矩阵的字节数据。
9.如权利要求8所述的方法,其特征在于,根据所述参与测试的管脚数据,计算每个参与测试的管脚对应的扫描单元在标准扫描链数据上的位置,包括: 将每个参与测试的管脚的位置序号对8取整,得到的值为所述管脚在标准扫描链数据中所处的字节;以及 将每个参与测试的管脚的位置序号对8取余,得到的值为所述管脚在标准扫描链数据中所处的字节中所占的比特位。
10.一种嵌入式边界扫描数据合成装置,其特征在于,包括: 获取存储在嵌入式 测试装置的芯片中的嵌入式边界扫描数据的装置; 在所述嵌入式边界扫描数据中,获取标准扫描链数据、参与测试的管脚数据、测试矩阵和响应矩阵的装置; 根据所述参与测试的管脚数据,计算每个参与测试的管脚对应的扫描单元在标准扫描链数据上的位置的装置; 根据每个参与测试的管脚的扫描单元在标准扫描链数据上的位置,将所述测试矩阵中的向量插入到标准扫描链数据以合成测试扫描链数据,并且将响应矩阵中的向量插入到标准扫描链数据中以合成期望扫描链数据的装置。
【文档编号】G01R31/28GK103675650SQ201310727223
【公开日】2014年3月26日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】杜影, 李洋, 徐鹏程, 王石记, 安佰岳 申请人:北京航天测控技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1