芯片测试方法、装置、存储介质及芯片与流程

文档序号:32889482发布日期:2023-01-12 22:45阅读:29来源:国知局
芯片测试方法、装置、存储介质及芯片与流程

1.本技术涉及芯片领域,尤其涉及一种芯片测试方法、装置、存储介质及芯片。


背景技术:

2.芯片在量产之前会执行ft(final test,最终测试),出于成本的考虑,相同内核die可能采用不同的封装方式,不同的封装方式的芯片其io引脚的数量也可能不相同。在现有的ft中,测试设备会与芯片的各个io引脚进行通信以完成测试过程,然而在测试不同封装方式的芯片时,需要根据芯片的io引脚分布情况配置测试设备和芯片内的测试代码,这样会大大的增加测试代码的编写工作量,测试效率不高。


技术实现要素:

3.本技术实施例提供了芯片测试方法、装置、存储介质及芯片,可以解决现有技术中测试设备在测试时针对不同封装方式的芯片编写测试代码,测试效率不高问题。所述技术方案如下:
4.第一方面,本技术实施例提供了一种芯片测试方法,所述芯片设置有第一调试引脚和第二调试引脚,所述第一调试引脚和所述第二调试引脚为io引脚,所述第一调试引脚与片外存储器的时钟引脚相连,所述第二调试引脚与所述片外存储器的数据引脚相连;
5.其中,所述方法包括:
6.当满足预设条件时,切换到测试模式;
7.在测试模式下,通过所述第一调试引脚接收时钟信号;
8.通过所述第二调试引脚接收来自测试设备的测试指令;
9.根据所述测试指令执行测试操作;
10.若所述测试操作生成测试数据,将所述测试数据通过所述第二调试引脚写入到片外存储器中。
11.第二方面,本技术实施例提供了一种芯片测试装置,应用于芯片,所述芯片设置有第一调试引脚和第二调试引脚,所述第一调试引脚和所述第二调试引脚为io引脚,所述第一调试引脚与片外存储器的时钟引脚相连,所述第二调试引脚与所述片外存储器的数据引脚相连;
12.其中,所述芯片测试装置包括:
13.切换单元,用于当满足预设条件时,切换到测试模式;
14.收发单元,用于在测试模式下,通过所述第一调试引脚接收时钟信号;
15.所述收发单元,还用于通过所述第二调试引脚接收来自测试设备的测试指令;
16.执行单元,用于根据所述测试指令执行测试操作;
17.写入单元,用于若所述测试操作生成测试数据,将所述测试数据通过所述第二调试引脚写入到片外存储器中。
18.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有
多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
19.第四方面,本技术实施例提供一种芯片,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
20.本技术一些实施例提供的技术方案带来的有益效果至少包括:
21.通过芯片通用的两个调试引脚与芯片进行交互,一个调试引脚作为芯片提供时钟信号,另一个调试引脚作为测试设备发送测试指令的输入引脚,芯片基于来自测试设备的测试指令执行测试操作,然后将测试过程中生成的测试数据写入到外部存储器中,以便测试设备在外部存储器中读取测试数据来判断测试是否通过。这样,测试设备在针对不同封装方式相同内核的芯片进行测试时,不需要更改测试设备和芯片中的程序,即可以使用同一套程序对不同封装方式的芯片进行测试,提高测试过程的兼容性,以及减少测试代码的编写工作量,另外,通过在外部设置片外存储器存储芯片产生的测试数据,相对于测试设备主动在芯片的io引脚上采集测试数据,可以减少芯片的io操作,降低芯片的处理开销。
附图说明
22.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
23.图1是本技术实施例提供的网络架构示意图;
24.图2是本技术实施例提供的芯片测试方法的流程示意图;
25.图3是本技术实施例提供片内存储器的内存空间分布示意图;
26.图4是本技术提供的一种芯片测试装置的结构示意图;
27.图5是本技术提供的一种芯片的结构示意图。
具体实施方式
28.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
29.需要说明的是,本技术提供的芯片测试方法一般由芯片测试装置执行,相应的,芯片测试装置一般设置于芯片中。
30.图1示出了可以应用于本技术的芯片测试方法或芯片测试装置的示例性系统架构。
31.如图1所示,系统架构可以包括:测试设备1、芯片2、片外存储器3和测试夹具(图1中未画出),测试夹具设置有一个或多个插座,芯片嵌入到插座上与测试设备和片外存储器3进行通信。
32.其中,测试设备1、芯片2和片外存储器3之间基于串口方式进行通信,即测试设备1通过串口方式与芯片2进行通信,芯片2和片外存储器3之间基于串口方式进行通信,测试设备1和片外存储器3之间通过串口方式进行通信。例如:串口通信协议为spi(serial peripheral interface,串行外设接口)协议,相应的片外存储器为spi接口的flash存储器。
33.其中,本技术的芯片2可以是单片机、微控制器、处理器或其他起控制作用的集成电路,例如:芯片的型号为stm32。在现有技术中,芯片2设置有多个io引脚,多个io引脚中至少有两个调试引脚:第一调试引脚(debug1)和第二调试引脚(debug2),在正常工作模式下芯片的调试引脚作为普通的io引脚,在测试模式下调试引脚起调试作用。本技术实施例中,芯片的第一调试引脚作为时钟信号的输入引脚,第二调试引脚作为控制指令的输入引脚。测试设备1通过第一调试引脚和第二调试引脚与芯片2相连,芯片2的第一调试引脚与片外存储器的时钟引脚(clk)相连,芯片2的第二调试引脚与片外存储器的数据引脚(data)相连。
34.测试设备1包括但不限于测试机台、测试主机或测试服务器等。
35.应理解,图1中的测试设备、芯片和片外存储器的数目仅是示意性的。根据实现需要,可以是任意数量。
36.下面将结合附图2,对本技术实施例提供的芯片测试方法进行详细介绍。其中,本技术实施例中的芯片测试装置可以是图1所示的芯片测试装置。
37.请参见图2,为本技术实施例提供了一种芯片测试方法的流程示意图。如图2所示,本技术实施例的所述方法可以包括以下步骤:
38.s201、在满足预设条件时,切换到测试模式。
39.在本实施例中,预设条件但不限于:接收用户的切换指令、在第二调试引脚上接收到指定序列、或在第一调试引脚或第二调试引脚上检测到高电平,芯片在满足预设条件时,切换到测试模式,在测试模式下测试设备对芯片进行测试以测试芯片的各项指标是否正常。相对于测试模式,芯片还可以处于正常工作模式,正常工作模式下,第一调试引脚和第二调试引脚作为普通的io引脚,芯片调用片内存储器中的主程序代码执行相应的功能。
40.s202、在测试模式下,通过第一调试引脚接收时钟信号。
41.在本实施例中,芯片的第一调试引脚作为时钟引脚,接收时钟信号,时钟信号可以是测试设备提供,也可以由外部的时钟源提供,本技术不作限制,时钟信号为芯片工作提供时钟源。
42.s203、通过第二调试引脚接收来自测试设备的测试指令。
43.在本实施例中,第二调试引脚接收来自测试设备的测试指令,测试指令包括但不限于:读寄存器指令、写寄存器指令、读片内存储器指令、写片内存储器指令、程序继续执行指令和程序起始地址设置指令。
44.其中,读寄存器指令用于读取芯片中寄存器的值,读寄存器指令携带寄存器地址和写操作码,芯片接收到读寄存器指令后,根据寄存器地址查询到对应的寄存器,然后读取寄存器中的值,以及将读取到的值通过第二调试引脚写入到片外存储器中。
45.其中,写寄存器指令用于向芯片的寄存器写值,写寄存器指令携带寄存器地址、待写入的值和写操作码,芯片接收到写寄存器指令后,根据寄存器地址查询到对应的寄存器,然后性寄存器中写值。
46.其中,读片内存储器指令用于读取芯片中片内存储器的值,片内存储器包括rom和ram,片内存储器包括多个存储单元,每个存储单元对应一个存储单元地址,存储单元的大小可以根据实际需求而定,读片内存储器指令携带存储单元地址和读操作码,芯片将读取的值通过第二调试引脚写入到片外存储器中。
47.进一步的,芯片在写入主程序代码后,根据来自测试设备的片内存储器指令判断主程序代码是否正确,判断过程为:芯片读取主代码区中的主程序代码和对应的crc校验码,计算主程序代码得到crc校验码,比较计算的crc校验码和读取的crc校验码是否相同,若相同,则校验通过,否则校验不通过。
48.其中,写片内存储器指令用于向片内存储器写值,写片内存储器指令携带存储单元地址、待写入的值和写操作码,芯片接收到写片内存储器指令后,首选对存储单元所在的扇区指向擦除操作,然后在执行写操作。
49.其中,程序继续执行指令用于指示芯片继续执行程序,芯片在完成一个测试项目的测试后,会执行等待操作,以等待执行下一个测试项目,测试设备向芯片发送程序继续执行指令后,芯片执行执行下一个测试项目。
50.其中,程序起始地址设置指令用于设置芯片的主程序代码的起始地址,芯片在上电后会在该起始地址执行主程序代码。
51.例如:参见图3所示的芯片的片内存储器的存储空间分布示意图,片内存储器设置有启动引导区和主代码区,启动引导区和主代码区呈连续分布,芯片根据程序起始地址设置主代码区的起始地址,芯片在上电后根据起始起始运行主代码区中的主程序代码。
52.s204、根据测试命令执行测试操作。
53.s205、若测试操作生成测试数据,将测试数据通过第二调试引脚写入到片外存储器中。
54.其中,测试操作为写操作时,修改片内存储器或寄存器的值;测试操作为写操作,读取片内寄存器或寄存器的值,然后将读取的值(即测试数据)通过第二调试引脚写入到片外存储器中。进一步的,片外存储器可以为spi接口的flash存储器。在测试设备完成测试后,测试设备在片外存储器中读出测试数据,根据读取的测试数据和预存储的标准数据进行对比以判断芯片测试是否通过。通过设置片外存储器存储测试数据的方法,测试设备不需要在io引脚去采集数据,提高测试效率。
55.本技术的实施例中测试设备对芯片进行测试时,通过芯片通用的两个调试引脚与芯片进行交互,一个调试引脚作为芯片提供时钟信号,另一个调试引脚作为测试设备发送测试指令的输入引脚,芯片基于来自测试设备的测试指令执行测试操作,然后将测试过程中生成的测试数据写入到外部存储器中,以便测试设备在外部存储器中读取测试数据来判断测试是否通过。这样,测试设备在针对不同封装方式相同内核的芯片进行测试时,不需要更改测试设备和芯片中的程序,即可以使用同一套程序对不同封装方式的芯片进行测试,提高测试过程的兼容性,以及减少测试代码的编写工作量,另外,通过在外部设置片外存储器存储芯片产生的测试数据,相对于测试设备主动在芯片的io引脚上采集测试数据,可以减少芯片的io操作,降低芯片的处理开销。
56.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
57.请参见图4,其示出了本技术一个示例性实施例提供的芯片测试装置的结构示意图,以下简称装置4。该装置4可以通过软件、硬件或者两者的结合实现成为芯片的全部或一部分。装置4包括:切换单元401、收发单元402、执行单元403、写入单元404。
58.切换单元401,用于当满足预设条件时,切换到测试模式;
59.收发单元402,用于在测试模式下,通过所述第一调试引脚接收时钟信号;
60.所述收发单元402,还用于通过所述第二调试引脚接收来自测试设备的测试指令;
61.执行单元403,用于根据所述测试指令执行测试操作;
62.写入单元404,用于若所述测试操作生成测试数据,将所述测试数据通过所述第二调试引脚写入到片外存储器中。
63.在一个或多个可能的实施例中,所述测试指令包括:
64.读寄存器指令、写寄存器指令、读片内存储器指令、写片内存储器指令、程序继续执行指令或程序起始地址设置指令。
65.在一个或多个可能的实施例中,所述芯片和所述片外存储器之间通过串行外设接口spi协议进行通信。
66.在一个或多个可能的实施例中,所述根据所述测试指令执行测试操作:
67.根据所述读存储器指令读取主代码区中的主程序代码和关联的循环校验crc码;
68.根据读取的主程序代码计算crc码;
69.比较读取的crc码和计算的crc码是否相同;
70.若相同,则所述主程序代码校验通过;
71.若不相同,则所述主程序代码校验通过。
72.在一个或多个可能的实施例中,所述预设条件包括:接收来自用户的切换指令;或通过第二调试引脚接收来自测试设备的指定序列;或检测到所述第一调试引脚和所述第二调试引脚上的电平为高电平。
73.在一个或多个可能的实施例中,所述时钟信号由测试设备提供或外部的时钟源提供。
74.在一个或多个可能的实施例中,所述芯片为stm32系列芯片。
75.需要说明的是,上述实施例提供的装置4在执行芯片测试方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的芯片测试装置与芯片测试方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
76.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
77.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
78.本技术还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的芯片测试方法。
79.请参见图5,为本技术实施例提供了一种芯片的结构示意图。如图5所示,所述芯片500可以包括:至少一个处理器501,至少一个网络接口504,存储器503,至少一个通信总线502。
80.其中,通信总线502用于实现这些组件之间的连接通信。
81.其中,网络接口504可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
82.其中,处理器501可以包括一个或者多个处理核心。
83.处理器501利用各种接口和线路连接整个芯片500内的各个部分,通过运行或执行存储在存储器503内的指令、程序、代码集或指令集,以及调用存储在存储器503内的数据,执行芯片500的各种功能和处理数据。可选的,处理器501可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logicarray,pla)中的至少一种硬件形式来实现。处理器501可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器501中,单独通过一块芯片进行实现。
84.其中,存储器503可以包括随机存储器(randomaccess memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器503包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器503可用于存储指令、程序、代码、代码集或指令集。存储器503可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器503可选的还可以是至少一个位于远离前述处理器501的存储装置。如图5所示,作为一种计算机存储介质的存储器503中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。
85.在图5所示的芯片500中,处理器501可以用于调用存储器503中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
86.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
87.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1