CN115562925B - 一种芯片接口测试系统、方法、设备及存储介质 - Google Patents
一种芯片接口测试系统、方法、设备及存储介质 Download PDFInfo
- Publication number
- CN115562925B CN115562925B CN202211553271.0A CN202211553271A CN115562925B CN 115562925 B CN115562925 B CN 115562925B CN 202211553271 A CN202211553271 A CN 202211553271A CN 115562925 B CN115562925 B CN 115562925B
- Authority
- CN
- China
- Prior art keywords
- test
- module
- control module
- comparison
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 614
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000006870 function Effects 0.000 claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 22
- 239000000872 buffer Substances 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 230000003213 activating effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000007488 abnormal function Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明属于计算机领域,具体涉及一种芯片接口测试系统、方法、设备及存储介质。其中系统包括测试控制模块、选择模块、对比模块:选择模块配置用于接收测试控制模块的第一控制指令并将多个测试模块并联到测试控制模块;对比模块与多个测试模块的输出接口相连,配置用于接收测试模块在测试控制模块测试下的测试数据,对测试数据进行对比,并将对比结果发送到测试控制模块;测试控制模块配置用于向多个测试模块发送测试指令并接收预定的测试模块的测试数据,以及接收对比模块的对比结果根据所述测试数据和对比结果确认所述多个测试模块的功能是否正常。从而减少了芯片ATE测试的时间与成本,提升了ATE测试效率。
Description
技术领域
本发明属于计算机领域,具体涉及一种芯片接口测试系统、方法、设备及存储介质。
背景技术
随着集成电路的发展,单颗芯片的集成度越来越高,芯片中往往包含有大量功能相同或者功能不同的IP核(知识产权核),为检测芯片的功能,筛选功能有问题的废片,芯片制作完成后往往需要先进行ATE(Automatic Test EquIP核ment,集成电路自动测试机)测试,其原理是通过配置接口对芯片内部的功能寄存器进行读写,控制芯片的功能,并读取相应的状态寄存器与期望值进行对比,从而判断芯片功能是否存在异常。
JTAG(Joint Test Action Group,联合测试工作组)是一种常用于进行ATE测试的IP核配置接口,其只定义了5根信号线,当前大型IP核大都支持JTAG配置接口,通过JTAG内部指令寄存器的操作与数据寄存器的读写实现IP核的配置。JTAG接口支持将多个接口的TDI与TDO引脚首尾相连串接在一起,形成一个JTAG链,能实现对链上的各个器件分别测试,因此只需要在芯片引脚出一组JTAG就可以操作链上所有的IP核,节约了芯片的引脚数量。
JTAG菊花链结构无法同时操作链上的所有接口同时读写,必须通过TMS信号将链上其他IP核设置为Bypass模式,只对其中一个IP核进行操作。随着现在IP核复杂度越来越高,很多IP核在工作之前需要先写入Firmware文件,再加上后期的测试时间,就导致ATE测试需要较多的时间,并与JTAG链上的IP核数量成正比。先进工艺下的ATE测试机台需要按分钟收费,因此JTAG链上IP核的ATE测试成为了芯片ATE测试成本的瓶颈。
发明内容
为解决以上问题,本发明提出一种芯片接口测试系统,包括测试控制模块、选择模块、对比模块,其中:
所述选择模块配置用于接收测试控制模块的第一控制指令并将多个测试模块并联到所述测试控制模块;
所述对比模块与所述多个测试模块的输出接口相连,配置用于接收所述测试模块在所述测试控制模块测试下的测试数据,对所述测试数据进行对比,并将对比结果发送到所述测试控制模块;
所述测试控制模块配置用于向多个测试模块发送测试指令并接收预定的测试模块的测试数据,以及接收对比模块的对比结果根据所述测试数据和对比结果确认所述多个测试模块的功能是否正常。
在本发明的一些实施方式中,选择模块进一步配置用于:
响应于接收到所述测试控制模块的第二控制指令将多个测试模块以串联的方式串联到所述测试控制模块。
在本发明的一些实施方式中,对比模块还包括:
测试数据接收模块,所述测试数据接收模块与所述多个测试模块的输出端口相连,配置用于在预定条件下接收所述测试模块输出的测试数据,并将所述测试数据缓存到测试数据缓存模块;
测试数据对比模块,所述测试数据对比模块配置用于从所述测试数据缓存模块获取对应的测试模块的测试数据,将不同测试模块的测试数据进行对比,并将对比结果发送到测试控制模块。
在本发明的一些实施方式中,测试控制模块还包括:
预期测试数据发送模块,所述预期测试数据发送模块配置用于通过第一预定引脚基于自定义数据传输协议将预期测试数据发送到所述对比模块。
在本发明的一些实施方式中,对比模块还包括:
测试通信模块,所述测试通信模块配置用于通过所述第一预定引脚基于自定义数据传输协议接收所述预期测试数据,并将所述预期测试数据发送给测试数据对比模块。
在本发明的一些实施方式中,测试通信模块进一步配置用于:
基于自定义传输协议通过所述第一预定引脚向测试控制模块发送测试数据对比模块基于预期测试数据的对比结果。
在本发明的一些实施方式中,测试控制模块包括:
测试状态控制模块,所述测试状态控制模块配置用于基于测试接口的传输协议控制测试模块的状态。
在本发明的一些实施方式中,对比模块还包括:
测试状态同步模块,所述测试状态同步模块与所述测试状态控制模块相连,并配置用于获取所述测试状态控制模块的测试过程,响应于所述测试过程处于预定过程,控制所述对比模块接收所述多个测试状模块的测试数据。
在本发明的一些实施方式中,测试控制模块还包括:
测试模式控制模块,所述测试控制模块配置用于向所述选择模块发送测试状态的第一控制指令或第二控制指令。
在本发明的一些实施方式中,对比模块还包括:
对比模块状态控制模块,所述对比模块状态控制模块与所述测试模块控制模块通过第二预定引脚相连,并配置用于接收所述测试模式控制模块发送的控制指令;
响应于所述控制指令为第一控制指令,激活所述对比模块的对比功能;
响应于所述控制指令为第二控制指令,关闭所述对比模块的对比功能。
本发明的另一方面还提出一种芯片接口测试方法,包括:
响应于接收测试控制模块的第一控制指令并将多个测试模块并联到所述测试控制模块;
接收所述测试模块在所述测试控制模块测试下的测试数据,对所述测试数据进行对比,并将对比结果发送到所述测试控制模块;
接收预定的测试模块的测试数据,以及接收对比模块的对比结果根据所述测试数据和对比结果确认所述多个测试模块的功能是否正常。
在本发明的一些实施方式中,方法还包括:
响应于接收到所述测试控制模块的第二控制指令将多个测试模块以串联的方式串联到所述测试控制模块。
在本发明的一些实施方式中,方法还包括:
在预定条件下接收所述测试模块输出的测试数据,并将所述测试数据缓存到测试数据缓存模块;
从所述测试数据缓存模块获取对应的测试模块的测试数据,将不同测试模块的测试数据进行对比,并将对比结果发送到测试控制模块。
在本发明的一些实施方式中,方法还包括:
通过第一预定引脚基于自定义数据传输协议将预期测试数据发送到所述对比模块。
在本发明的一些实施方式中,方法还包括:
通过所述第一预定引脚基于自定义数据传输协议接收所述预期测试数据,并将所述预期测试数据发送给测试数据对比模块。
在本发明的一些实施方式中,方法还包括:
基于自定义传输协议通过所述第一预定引脚向测试控制模块发送测试数据对比模块基于预期测试数据的对比结果。
在本发明的一些实施方式中,方法还包括:
基于测试接口的传输协议控制测试模块的状态。
在本发明的一些实施方式中,方法还包括:
获取所述测试状态控制模块的测试过程,响应于所述测试过程处于预定过程,控制所述对比模块接收所述多个测试状模块的测试数据。
在本发明的一些实施方式中,方法还包括:
向所述选择模块发送测试状态的第一控制指令或第二控制指令。
在本发明的一些实施方式中,方法还包括:
接收所述测试模式控制模块发送的控制指令;
响应于所述控制指令为第一控制指令,激活所述对比模块的对比功能;
响应于所述控制指令为第二控制指令,关闭所述对比模块的对比功能。
本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种芯片接口测试系统,通过在芯片内部将多个测试模块通过选择模块并联到测试控制模块,实现通过测试控制模块对多个芯片内测试模块的并行测试,同时通过对比模块在芯片内部对各个测试模块的数据进行对比。以辅助验证多个测试模块的数据的正确性。在仅增加两个信号引脚的情况下大幅缩短了含有多个相同IP核的芯片ATE测试时间,使之基本与单个IP核的测试时间相同,大幅提升了ATE测试效率,从而减少了芯片ATE测试的时间与成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提出的一种芯片接口测试系统的结构示意图;
图2为本发明实施例提出的一种芯片接口测试方法的流程示意图;
图3为本发明实施例提供的一种计算机设备的结构示意图;
图4为本发明实施例提供的一种计算机可读存储介质的结构示意图;
图5为本发明实施例提供的一种芯片接口测试系统的部分结构示意图;
图6为本发明实施例提供的一种芯片接口测试系统的部分结构示意图;
图7为本发明实施例提供的芯片接口测试系统的实施示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明旨在解决芯片内部众多基于JTAG接口作为测试接口的模块在测试测试时效率底下的问题。芯片内部集成有众多的功能模块(也即IP核(知识产权核)),大多数功能模块都是相同的,例如,PCIE模块,芯片要支持与更多的外界的PCIE设备通信,需要在芯片中设置更多的PCIE模块,作为芯片设计者,在芯片设计流片后需要对芯片中各个IP核的功能进行验证,目前普遍采用的方案是通过JTAG接口作为对IP核的测试接口。进一步在传统的芯片ATE测试中,通过将芯片内具有相同功能的各个模块的JTAG接口串联起来,以节省对应的各个模块所需要的JTAG接口外联引脚的数量,实现只通过一组JTAG接口对芯片内众多模块的JTAG接口的ATE测试。但由于JTAG协议菊花链连接方式的串行特性以及不支持广播的配置方式,现有的提高JTAG接口IP核的ATE测试效率的主要思路是提高测试的并行度,即采用增加或者复用其他芯片引脚的方式,提高JTAG接口的引出数量,使得多组JTAG链可以同时进行测试,从而缩短ATE测试时间。增加JTAG接口数量可以成倍的缩短ATE测试的时间,但同时也成倍的增加了ATE测试引脚数量,并不能适用于芯片引脚资源紧张,无法提供引脚用于ATE测试的情况。虽然可以通过与功能模式下的引脚进行复用的方式避免引脚数量增加,但由于芯片引脚特性不同,可能很多引脚无法用于ATE测试,还会存在一些本身就需要用于ATE测试的引脚同样无法用于JTAG复用,甚至在不同的SOC芯片中,模块功能不同时,复用引脚的方案就要进行适应性修改,不具有通用性因此该方案依然存在较多的限制。
如图1所示,为解决上述问题,本发明提出一种芯片接口测试系统,包括测试控制模块1、选择模块2、对比模块3,其中:
所述选择模块2配置用于接收测试控制模块1的第一控制指令并将多个测试模块11并联到所述测试控制模块1;
所述对比模块3与所述多个测试模块11的输出接口相连,配置用于接收所述测试模块11在所述测试控制模块1测试下的测试数据,对所述测试数据进行对比,并将对比结果发送到所述测试控制模块1;
所述测试控制模块1配置用于向多个测试模块11发送测试指令并接收预定的测试模块11的测试数据,以及接收对比模块3的对比结果根据所述测试数据和对比结果确认所述多个测试模块11的功能是否正常。
在本发明的实施例中,根据JTAG测试接口规范共有5根线,分别为JTAG测试接口的测试输入端TDI、输出端TDO、时钟信号线TCK、复位信号线TRST、控制信号线TMS。这5种是标准的JTAG接口必备的信号线,每个JTAG模块都具备与上述5种信号线相连的接口。在本发明中,测试控制模块1是位于芯片之外的测试设备;选择模块2和对比模块3是位于芯片内的逻辑电路。因此,选择模块2和对比模块3是作为一个芯片的逻辑单元嵌入到芯片的设计电路中。作为外部设备,测试控制模块1可通过相应的连接线接到芯片的JTAG引脚与之通信。
图1示出的是本发明提出的一种芯片接口测试系统的结构示意图,图中共示出3个测试模块,三个模块都属于相同的IP核,即功能是完全一样的,每一个模块均有一个JTAG接口,第一测试模块的输入端TDI直接与测试控制模块1相连,输出端TDO与第一个选择模块相连;第二测试模块的输入端TDI与第一个选择模块2相连,输出端TDO与第二个选择模块相连;第三测试模块的输入端TDI与第二个选择模块2相连,输出端TDO直接连接到测试控制模块1。选择模块2上有与测试控制模块1相连的选择信号链路,图中未示出完整的连线,通过测试控制模块1发送的选择信号,选择模块2便可控制三个测试模块的连接方式,即当选择模块2选择将测试控制模块1作为第二个测试模块和第三个测试模块输入数据时,第一测试模块、第二测试模块、第三测试模块之间被选择模块2隔离,第一测试模块、第二测试模块、第三测试模块并联在测试控制模块1上。可同时被测试控制模块1测试。进一步,如图1所示,对比模块3直接与第一测试模块、第二测试模块、第三测试模块的输出端TDO相连,测试控制模块1对第一测试模块、第二测试模块、第三测试模块进行测试时,第一测试模块、第二测试模块、第三测试模块输出的测试数据均会被对比模块3收集。对比模块3将收集到的三组数据进行比较,并将比较结果发送到测试控制模块1。
同时第三测试模块属于特殊的测试模块,在测试时其结果会直接发送到测试控制模块1。
因此,测试控制模块的对多个测试模块(IP核)的功能测试逻辑是:
将第三测试模块的输出结果与预期的正确数据对比,同时接受对比模块3的对比结果,如果对比结果为相同,且第三测试模块的输出结果与预期的正确数据一样,则说明该芯片中的多个IP核的功能验证正常。如果对比结果和第三测试模块输出结果与预期的正确数据有任何一个错误,则说明该芯片内存在功能异常的模块(对应的IP核异常)。
需要说明的是,本发明中的测试控制模块1可以是传统的按分钟收费的第三方的ATE测试机台。只将接收对比模块3的对比结果即可。通过这样并行的方式可有效避免设定过多芯片引脚或复用更多的芯片引脚进行测试。
在本发明的一些实施方式中,选择模块2进一步配置用于:
响应于接收到所述测试控制模块1的第二控制指令将多个测试模块11以串联的方式串联到所述测试控制模块1。
在本实施例中,如前所述,如果出现了对比结果异常或第三测试模块的输出数据与预期的正确结果不一致的情况,需要按照传统的方式将第一测试模块、第二测试模块、第三测试模块进行串联,然后一个一个测试。此时需要由测试控制模块1向选择模块2发送断开与测试控制模块1连接的指令,将第二测试模块、第三测试模块的输入端TDI连接前一级的输出端TDO。实现将第一测试模块、第二测试模块、第三测试模块串联。
在本发明的一些实施方式中,对比模块3还包括:
测试数据接收模块4,所述测试数据接收模块4与所述多个测试模块11的输出端口相连,配置用于在预定条件下接收所述测试模块11输出的测试数据,并将所述测试数据缓存到测试数据缓存模块12;
测试数据对比模块5,所述测试数据对比模块5配置用于从所述测试数据缓存模块获取对应的测试模块11的测试数据,将不同测试模块11的测试数据进行对比,并将对比结果发送到测试控制模块1。
如图5所示,对比模块3中还包括测试数据接收模块4,测试数据接收模块4和多个测试模块的输出端TDO相连,对各个测试模块输出的测试数据进行接收,然后将接收到的测试数据发送到数据测试数据缓存模块12。
进一步,对比模块3还包括了测试数据对比模块5,测试数据对比模块5则在测试数据缓存模块12缓存到一个完整的测试数据时从测试数据缓存模块12中取出对应的多个测试模块的测试数据,然后将多个测试模块的测试数据进行对比,如果对比结果一致向测试控制模块1发送对比通过的结果。如果对比结果不一致,则向测试控制模块1发送对比出错的结果。
在本发明的一些实施方式中,如果测试结果正确,则不向测试控制模块1发送测试结果,测试控制模块1只接收到最后一个。
在本发明的一些实施例中,测试数据缓存模块根据JTAG测试中对应的寄存器长度设定多个移位寄存器,每个移位寄存器对应于一个测试模块,接收该测试模块的测试数据。
对比模块3向测试模块1发送对比结果时使用在芯片上预留的EER引脚,EER引脚的电平为高电平时代表比对结果出现错误。为低电平时表示对比结果一致。位于芯片外部的测试控制模块1则通过对应的连接线连接到EER引脚。
在本发明的一些实施方式中,测试控制模块1还包括:
预期测试数据发送模块6,所述预期测试数据发送模块6配置用于通过第一预定引脚基于自定义数据传输协议将预期测试数据发送到所述对比模块3。
如图6所示,在本实施例中,测试模块1中还包括预期测试数据发送模块6,预期测试数据发送模块6通过在芯片预留的ERR引脚向对比模块3进行通信,并将对测试模块预期的测试数据,预期测试数据是指对测试模块发送相应的测试指令,如果测试模块的功能正常的话,应该返回的正确的响应数据。预期测试数据发送模块6通过EER引脚按照自定义的数据传输协议向对比模块3发送预期测试数据。
需要说明的是,自定义传输协议是指基于EER引脚按照自己设定的地规则,控制EER引脚的电位变化,以此来实现测试控制模块1和对比模块3之间的数据通信。例如,以连续10个高电平信号为切换信号,如果测试控制模块1将EER引脚的电位拉高10个时钟周期,则意味着测试控制模块1通信完毕,轮到对比模块3发送相应的数据或信号,并规定每次传输数据内容时以8个时钟为一个单位发送。无论是测试模块1还是对比模块3在传输最后一个8bit的数据(连续8个时钟周期)后连续控制EER引脚发送10个高电平信号,以告知对端发送数据完毕。
在本发明的一些实施例中,测试控制模块1通过ERR引脚发送期望值的行为是在jtag并行写读寄存器地址的时候,对比模块3发送自定义错误信息是在jtag读完数据寄存器(也就是跳出shift-dr状态后)。
在本发明的一些实施方式中,对比模块3还包括:
测试通信模块7,所述测试通信模块7配置用于通过所述第一预定引脚基于自定义数据传输协议接收所述预期测试数据,并将所述预期测试数据发送给测试数据对比模块5。
在本实施例中,测试通信模块7是位于对比模块3中以EER引脚按照自定义传输协议和测试控制模块1中的预期测试数据发送模块6进行通信的模块。通过测试通信模块7借助EER引脚接收预期测试数据,并将预期测试数据发送到测试数据对比模块5。
在本发明的一些实施方式中,测试通信模块7进一步配置用于:
基于自定义传输协议通过所述第一预定引脚向测试控制模块1发送测试数据对比模块5基于预期测试数据的对比结果。
进一步,在本实施例中,测试数据对比模块5将不在按照以往的将多个测试模块的测试数据进行对比,而是将多个测试数直接和预期的测试数据进行对比,如果哪个测试模块的对比结果出现异常,则将对应的测试模块通过EER接口发送给测试控制模块1。在本发明的一些实施方式中,测试控制模块1包括:
测试状态控制模块8,所述测试状态控制模块8配置用于基于测试接口的传输协议控制测试模块11的状态。
在本实施例中,测试控制模块1中包括测试状态控制模块8,测试状态控制模块8则根据JTAG的传输协议标准,通过JTAG五种信号线中的时钟信号线TCK、复位信号线TRST、控制信号线TMS连接到芯片上提供的关于时钟信号线TCK、复位信号线TRST、控制信号线TMS的引脚。芯片上的时钟信号线TCK、复位信号线TRST、控制信号线TMS引脚与芯片内部各个测试模块的JTAG接口的时钟信号线TCK、复位信号线TRST、控制信号线TMS相连,因此,测试状态控制模块8则通过芯片上的时钟信号线TCK、复位信号线TRST、控制信号线TMS引脚对芯片内各个JTAG测试模块的状态进行同步调控。
在本发明的一些实施方式中,对比模块3还包括:
测试状态同步模块9,所述测试状态同步模块9与所述测试状态控制模块8相连,并配置用于获取所述测试状态控制模块8的测试过程,响应于所述测试过程处于预定过程,控制所述对比模块3接收所述多个测试状模块的测试数据。
在本实施例中,对比模块3中设有测试状态同步模块9,测试状态同步模块9与芯片内各个测试摸的时钟信号线TCK、复位信号线TRST、控制信号线TMS一同相连,当测试控制模块1链接到芯片上的时钟信号线TCK、复位信号线TRST、控制信号线TMS引脚,并控制各个测试模块进行测试数据时,测试状态同步模块9便可监控其测试过程,当测试控制模块1通过tms信号将jtag运行到读IP核寄存器状态时,测试状态同步模块则告知对比模块3中的测试数据接收模块接收各个测试模块11的TDO端口发出的数据。所谓接收是将TDO端口输出的数据保存到测试数据缓存模块12中。TDO端口的数据是1bit的数据,因此需要将测试数据缓存到测试数据缓存模块12中知道一个完整的测试数据输出完成。
在本发明的一些实施方式中,测试控制模块1还包括:
测试模式控制模块10,所述测试控制模块1配置用于向所述选择模块2发送测试状态的第一控制指令或第二控制指令。
在本实施例中,测试控制模块1还包括测试模式控制模块10 ,测试模式控制模块10用于控制选择模块2和对比模块3的工作状态。同样,测试模式控制模块10并没占用JTAG接口的五根数据线,而是与芯片上预留的SEL引脚相连,SEL引脚就是图1中的选择信号的引脚,在芯片内部,SEL引脚的芯片内部电路与多个选择模块2以及对比模块3相连。当测试控制模块1的测试模块控制模块10连接到SEL引脚时,可以向SEL发送控制电平。在本实施例中规定,SEL为高电平,即为1时,选择模块选择将测试控制模块1的TDI端口与各个测试模块的TDI端口相连。实现将多个测试模块并联到测试控制模块1上。如果SEL为低电平,则将每个测试模块的输出端TDO与下一个测试模块的输入端TDI进行串联,即像传统的实现方式一样使多个测试模块通过Bypass命令一个一个进行测试。
在本发明的一些实施方式中,对比模块3还包括:
对比模块状态控制模块13,所述对比模块3状态控制模块与所述测试模块11控制模块通过第二预定引脚相连,并配置用于接收所述测试模式控制模块10发送的控制指令;
响应于所述控制指令为第一控制指令,激活所述对比模块3的对比功能;
响应于所述控制指令为第二控制指令,关闭所述对比模块3的对比功能。
在本实施例中,对比模块3中还包括对比模块状态控制模块13,对比模块状态控制模块13在芯片内部与SEL引脚的电路相连,当SEL引脚被测试控制模块1设定为高电平时,激活对比模块3的对比功能,如果为低电平时关闭对比模块3的对比功能。即当测试控制模块以并行的测试方法时,激活对比模块3在芯片内对各个测试模块的输出数据进行对比,当测试控制模块1以串行的方式对多个测试模块进行测试时,关闭对比模块3的相关功能。
需要说明的是,本发明的对比模块3和选择模块2作为一个集成模块应用到SOC系统中,以RTL语言的开发代码嵌入到需要使用的SOC系统中,并再芯片上预留出EER引脚和SEL引脚给对比模块3和选择模块2使用。测试控制模块1可以通过软件的方式实现,并通过两根线链接到芯片上的EER引脚和SEL引脚,并借助现有的ATE测试台对芯片中各个JTAG的IP核进行测试。同样也可以根据JTAG的IP核的功能自主实现完整的测试控制模块。
实施例:
如图7所示,图7为本发明实施例的实施示意图,以在JTAG链中串联了三个规格参数完全相同的测试模块为例(IP0、IP1、IP n),测试模块的ATE测试流程分解为固件加载,功能配置,状态读取几个步骤,其中功能配置阶段与状态读取阶段会有多次循环,以完成不同功能的测试。芯片中与JTAG测试相关的引脚除了JTAG接口所需的5个信号外,还包括JTAG测试模式选择信号SEL,以及并行测试错误标志信号ERR(在一些实施例中用于实现自定协议进行通信)。
(1)JTAG的TCK,TRST,TMS信号从芯片引脚输入后,与各个测试模块(IP核)的该JTAG接口信号直接相连,TDI引脚与第一个测试模块的TDI直接相连,TDO引脚与最后一个测试模块的TDO直接相连。
(2)除第一个测试模块外,每个测试模块的JTAG接口的TDI信号均与一个二选一选择模块(由MUX实现)的输出相连,MUX选择端由SEL信号控制,输入端0连接上一个测试模块的TDO,输入端1连接芯片JTAG的TDI,通过MUX选择电路,进行菊花链串联模式与并行模式的切换。
(3)TCK,TRST,TMS信号同样输入到对比模块3中的测试状态同步模块,按照JTAG协议提供的状态跳转逻辑跳转,当多个测试模块的测试过程进入到JTAG的shift-DR状态时,向测试数据接收模块4输出save_en信号为1,以控制测试数据接收模块接收各个测试模块的TDO端输出的测试数据。
(4)各个测试模块的JTAG接口TDO信号均与测试数据接收模块4相连,在测试数据缓存模块12中,为每个TDO信号对应了一个与JTAG dr寄存器位宽相同的寄存器,当save_en=0时,寄存器固定为0,当save_en=1时,寄存器数据左移1位同时读取TDO数据到最低位。
(5)测试数据对比模块5将上述各个移位寄存器的数据进行异或计算,并将结果赋值给ERR输出,表明IP核的dr寄存器读取结果存在差别。
在本发明的一些实施例中,测试数据对比模块5将上述各个移位寄存器的数据与预期的期望值进行对比,并根据对比结果将异常的模块信息发送到测试控制模块1
上述过程是根据IP核的ATE测试三个阶段来执行,分别是固件写入,IP核配置,状态寄存器读取,其中前两个阶段通过写寄存器操作实现,第三阶段通过读寄存器与期望值进行对比实现,第二三阶段需要循环操作以完成不同功能的测试。读寄存器的过程又包含有两种异常情况,一是ERR信号没有拉高,但是寄存器读取值与期望不同,说明各个IP核在该地址读取得的数据相同,但是与期望值不同,说明大概率是IP核的配置问题。另一种异常模式是ERR信号拉高,表示存在IP核寄存器读取值不相同的情况,可能是某个IP核功能存在异常,此时需要配置SEL=0切换回菊花链模式,然后分别读取各个IP核在该地址的数据,方可知道具体哪个IP核出现了异常。或者是通过ERR引脚的按照自定义通信协议向测试控制模块发送异常的模块信息,然后测试模块根据具体的异常IP核的位置,向其他IP核发送bypass指令,屏蔽掉其他IP核直接对异常的IP核进行测试。
通过本发明提出的一种芯片接口测试系统,通过在芯片内部将多个测试模块通过选择模块并联到测试控制模块,实现通过测试控制模块对多个芯片内测试模块的并行测试,同时通过对比模块在芯片内部对各个测试模块的数据进行对比。以辅助验证多个测试模块的数据的正确性。在仅增加两个信号引脚的情况下大幅缩短了含有多个相同IP核的芯片ATE测试时间,使之基本与单个IP核的测试时间相同,大幅提升了ATE测试效率,从而减少了芯片ATE测试的时间与成本。
如图2所示,本发明的另一方面还提出一种芯片接口测试方法,包括:
步骤S1、响应于接收测试控制模块的第一控制指令并将多个测试模块并联到所述测试控制模块;
步骤S2、接收所述测试模块在所述测试控制模块测试下的测试数据,对所述测试数据进行对比,并将对比结果发送到所述测试控制模块;
步骤S3、接收预定的测试模块的测试数据,以及接收对比模块的对比结果根据所述测试数据和对比结果确认所述多个测试模块的功能是否正常。
在本发明的一些实施方式中,方法还包括:
响应于接收到所述测试控制模块的第二控制指令将多个测试模块以串联的方式串联到所述测试控制模块。
在本发明的一些实施方式中,方法还包括:
在预定条件下接收所述测试模块输出的测试数据,并将所述测试数据缓存到测试数据缓存模块;
从所述测试数据缓存模块获取对应的测试模块的测试数据,将不同测试模块的测试数据进行对比,并将对比结果发送到测试控制模块。
在本发明的一些实施方式中,方法还包括:
通过第一预定引脚基于自定义数据传输协议将预期测试数据发送到所述对比模块。
在本发明的一些实施方式中,方法还包括:
通过所述第一预定引脚基于自定义数据传输协议接收所述预期测试数据,并将所述预期测试数据发送给测试数据对比模块。
在本发明的一些实施方式中,方法还包括:
基于自定义传输协议通过所述第一预定引脚向测试控制模块发送测试数据对比模块基于预期测试数据的对比结果。
在本发明的一些实施方式中,方法还包括:
基于测试接口的传输协议控制测试模块的状态。
在本发明的一些实施方式中,方法还包括:
获取所述测试状态控制模块的测试过程,响应于所述测试过程处于预定过程,控制所述对比模块接收所述多个测试状模块的测试数据。
在本发明的一些实施方式中,方法还包括:
向所述选择模块发送测试状态的第一控制指令或第二控制指令。
在本发明的一些实施方式中,方法还包括:
接收所述测试模式控制模块发送的控制指令;
响应于所述控制指令为第一控制指令,激活所述对比模块的对比功能;
响应于所述控制指令为第二控制指令,关闭所述对比模块的对比功能。
如图3所示,本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现上述实施方式中任意一项所述方法的步骤。
如图4所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (22)
1.一种芯片接口测试系统,其特征在于,包括测试控制模块、选择模块、对比模块,其中:
所述选择模块配置用于接收测试控制模块的第一控制指令并将多个测试模块并联到所述测试控制模块;
所述对比模块与所述多个测试模块的输出接口相连,配置用于接收所述测试模块在所述测试控制模块测试下的测试数据,对所述测试数据进行对比,并将对比结果发送到所述测试控制模块;
所述测试控制模块配置用于向多个测试模块发送测试指令并接收预定的测试模块的测试数据,以及接收对比模块的对比结果根据所述测试数据和对比结果确认所述多个测试模块的功能是否正常;
其中,选择模块和对比模块作为芯片的逻辑单元嵌入到芯片的设计电路中,所述测试控制模块通过相应的连接线接到芯片的JTAG引脚上。
2.根据权利要求1所述的系统,其特征在于,所述选择模块进一步配置用于:
响应于接收到所述测试控制模块的第二控制指令将多个测试模块以串联的方式串联到所述测试控制模块。
3.根据权利要求1所述的系统,其特征在于,所述对比模块还包括:
测试数据接收模块,所述测试数据接收模块与所述多个测试模块的输出端口相连,配置用于在预定条件下接收所述测试模块输出的测试数据,并将所述测试数据缓存到测试数据缓存模块;
测试数据对比模块,所述测试数据对比模块配置用于从所述测试数据缓存模块获取对应的测试模块的测试数据,将不同测试模块的测试数据进行对比,并将对比结果发送到测试控制模块。
4.根据权利要求1所述的系统,其特征在于,所述测试控制模块还包括:
预期测试数据发送模块,所述预期测试数据发送模块配置用于通过第一预定引脚基于自定义数据传输协议将预期测试数据发送到所述对比模块。
5.根据权利要求4所述的系统,其特征在于,所述对比模块还包括:
测试通信模块,所述测试通信模块配置用于通过所述第一预定引脚基于自定义数据传输协议接收所述预期测试数据,并将所述预期测试数据发送给测试数据对比模块。
6.根据权利要求5所述的系统,其特征在于,所述测试通信模块进一步配置用于:
基于自定义传输协议通过所述第一预定引脚向测试控制模块发送测试数据对比模块基于预期测试数据的对比结果。
7.根据权利要求1所述的系统,其特征在于,所述测试控制模块还包括:
测试状态控制模块,所述测试状态控制模块配置用于基于测试接口的传输协议控制测试模块的状态。
8.根据权利要求7所述的系统,其特征在于,所述对比模块还包括:
测试状态同步模块,所述测试状态同步模块与所述测试状态控制模块相连,并配置用于获取所述测试状态控制模块的测试过程,响应于所述测试过程处于预定过程,控制所述对比模块接收多个测试模块的测试数据。
9.根据权利要求1所述的系统,其特征在于,所述测试控制模块还包括:
测试模式控制模块,所述测试控制模块配置用于向所述选择模块发送测试状态的第一控制指令或第二控制指令。
10.根据权利要求9所述的系统,其特征在于,所述对比模块还包括:
对比模块状态控制模块,所述对比模块状态控制模块与所述测试控制模块通过第二预定引脚相连,并配置用于接收所述测试模式控制模块发送的控制指令;
响应于所述控制指令为第一控制指令,激活所述对比模块的对比功能;
响应于所述控制指令为第二控制指令,关闭所述对比模块的对比功能。
11.一种芯片接口测试方法,其特征在于,应用于一种芯片接口测试系统,所述芯片接口测试系统包括测试控制模块、选择模块、对比模块,其中:
所述选择模块配置用于接收测试控制模块的第一控制指令并将多个测试模块并联到所述测试控制模块;
所述对比模块与所述多个测试模块的输出接口相连,配置用于接收所述测试模块在所述测试控制模块测试下的测试数据,对所述测试数据进行对比,并将对比结果发送到所述测试控制模块;
所述测试控制模块配置用于向多个测试模块发送测试指令并接收预定的测试模块的测试数据,以及接收对比模块的对比结果根据所述测试数据和对比结果确认所述多个测试模块的功能是否正常;
其中,选择模块和对比模块作为芯片的逻辑单元嵌入到芯片的设计电路中,所述测试控制模块通过相应的接线接到芯片的JTAG引脚上;
其中方法包括:
响应于接收测试控制模块的第一控制指令并将多个测试模块并联到所述测试控制模块;
接收所述测试模块在所述测试控制模块测试下的测试数据,对所述测试数据进行对比,并将对比结果发送到所述测试控制模块;
接收预定的测试模块的测试数据,以及接收对比模块的对比结果,根据所述测试数据和对比结果确认所述多个测试模块的功能是否正常。
12.根据权利要求11所述的方法,其特征在于,还包括:
响应于接收到所述测试控制模块的第二控制指令将多个测试模块以串联的方式串联到所述测试控制模块。
13.根据权利要求11所述的方法,其特征在于,还包括:
在预定条件下接收所述测试模块输出的测试数据,并将所述测试数据缓存到测试数据缓存模块;
从所述测试数据缓存模块获取对应的测试模块的测试数据,将不同测试模块的测试数据进行对比,并将对比结果发送到测试控制模块。
14.根据权利要求11所述的方法,其特征在于,还包括:
通过第一预定引脚基于自定义数据传输协议将预期测试数据发送到所述对比模块。
15.根据权利要求14所述的方法,其特征在于,还包括:
通过所述第一预定引脚基于自定义数据传输协议接收所述预期测试数据,并将所述预期测试数据发送给对比模块。
16.根据权利要求15所述的方法,其特征在于,还包括:
基于自定义传输协议通过所述第一预定引脚向测试控制模块发送对比模块基于预期测试数据的对比结果。
17.根据权利要求11所述的方法,其特征在于,还包括:
基于测试接口的传输协议控制测试模块的状态。
18.根据权利要求17所述的方法,其特征在于,还包括:
获取所述测试控制模块中的测试状态控制模块的测试过程,响应于所述测试过程处于预定过程,控制所述对比模块接收多个测试模块的测试数据。
19.根据权利要求11所述的方法,其特征在于,还包括:
向选择模块发送测试状态的第一控制指令或第二控制指令。
20.根据权利要求19所述的方法,其特征在于,还包括:
接收所述测试控制模块中的测试模式控制模块发送的控制指令;
响应于所述控制指令为第一控制指令,激活所述对比模块的对比功能;
响应于所述控制指令为第二控制指令,关闭所述对比模块的对比功能。
21. 一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求11-20任意一项所述方法的步骤。
22.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求11-20任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553271.0A CN115562925B (zh) | 2022-12-06 | 2022-12-06 | 一种芯片接口测试系统、方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553271.0A CN115562925B (zh) | 2022-12-06 | 2022-12-06 | 一种芯片接口测试系统、方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115562925A CN115562925A (zh) | 2023-01-03 |
CN115562925B true CN115562925B (zh) | 2023-07-14 |
Family
ID=84769793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211553271.0A Active CN115562925B (zh) | 2022-12-06 | 2022-12-06 | 一种芯片接口测试系统、方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115562925B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661385A (zh) * | 2004-02-26 | 2005-08-31 | 联想(北京)有限公司 | 一种jtag模块及应用该模块的调试方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100405314C (zh) * | 2005-11-08 | 2008-07-23 | 佛山市顺德区顺达电脑厂有限公司 | 电脑主板的测试装置和方法 |
CN103744009B (zh) * | 2013-12-17 | 2016-12-07 | 记忆科技(深圳)有限公司 | 一种串行传输芯片测试方法、系统及集成芯片 |
CN111858207B (zh) * | 2020-06-30 | 2022-03-22 | 浪潮(北京)电子信息产业有限公司 | 一种SoC芯片验证测试系统及方法 |
CN115242681A (zh) * | 2022-09-20 | 2022-10-25 | 苏州浪潮智能科技有限公司 | 一种芯片内通信模块的测试系统、方法、设备及存储介质 |
-
2022
- 2022-12-06 CN CN202211553271.0A patent/CN115562925B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661385A (zh) * | 2004-02-26 | 2005-08-31 | 联想(北京)有限公司 | 一种jtag模块及应用该模块的调试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115562925A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7661048B2 (en) | Apparatus and method for embedded boundary scan testing | |
JP4856429B2 (ja) | バス検査のためのオンチップ回路 | |
KR20060003063A (ko) | SoC를 위한 재구성가능 조직 | |
US7137086B2 (en) | Assertion checking using two or more cores | |
US20070220456A1 (en) | On-chip test circuit and method for testing of system-on-chip (SOC) integrated circuits | |
US10997343B1 (en) | In-system scan test of chips in an emulation system | |
JP4728238B2 (ja) | 相互接続部のテストを実施するための方法および装置 | |
US10935601B2 (en) | First, second, and third bus leads, routing and control circuitry | |
US11307251B1 (en) | Circuit and testing circuit thereof | |
US7447962B2 (en) | JTAG interface using existing I/O bus | |
US8892387B2 (en) | Driving circuit of a test access port | |
Vo et al. | Design for board and system level structural test and diagnosis | |
US7284174B2 (en) | Enhanced JTAG interface | |
US20180335475A1 (en) | Reconfigurable Scan Network Defect Diagnosis | |
EP0515677A1 (en) | Diagnostic circuit | |
CN115562925B (zh) | 一种芯片接口测试系统、方法、设备及存储介质 | |
US11156660B1 (en) | In-system scan test of electronic devices | |
US6886122B1 (en) | Method for testing integrated circuits with memory element access | |
CN114781304A (zh) | 一种芯片的引脚状态控制方法、系统、芯片以及上位机 | |
US7843210B2 (en) | Semiconductor integrated circuit device and testing method of the same | |
JP3190364B2 (ja) | 検査方法及び回路 | |
Chakraborty et al. | A practical approach to comprehensive system test & debug using boundary scan based test architecture | |
Im et al. | Advanced safety test solution for automotive SoC based on In-System-Test architecture | |
US20240061041A1 (en) | System and method for access control of a plurality of instruments embedded in a semiconductor device | |
Rettig | Verification of a Parameterizable JTAG Driver Module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |