芯片功能性测试单元、测试方法、芯片和自动测试系统与流程

文档序号:30058573发布日期:2022-05-17 20:08阅读:315来源:国知局
芯片功能性测试单元、测试方法、芯片和自动测试系统与流程

1.本发明涉及集成电路技术领域,更具体地,涉及一种芯片功能性测试单元、测试方法、芯片和自动测试系统。


背景技术:

2.随着芯片技术的发展,芯片的功能越来越复杂,芯片内部的功能模块也越来越多,需要连接到芯片管脚上的接口也越来越多,所以芯片的管脚数量也随之增加,gpio(general purpose input output,通用输入输出口)复用以及映射功能也越来越复杂。在常见的芯片中,一个gpio复用功能模块最多接有6到7个外设功能模块。每个外设功能模块的接口信号最多映射到gpio复用功能模块内部的4个gpio复用功能子单元。
3.由于gpio功能越来复杂,而且组合逻辑较多,芯片gpio的atpg(automatic test pattern generation 自动测试向量生成)测试覆盖率很难达到90%以上,这就需要分析剩余fault点,在ft测试阶段增加功能pattern来覆盖剩余fault点。但是gpio更多为内部功能模块的接口信号,所以需要每个外设功能模块都对应的开发功能pattern,导致功能pattern数量多,测试时间长,测试成本大。


技术实现要素:

4.本发明针对现有技术中存在的gpio功能的测试时间长以及测试成本大的技术问题,提供一种芯片功能性测试单元、测试方法、芯片和自动测试系统。
5.根据本发明的第一方面,提供了一种芯片功能性测试单元,包括多个外设功能模块、gpio复用功能模块和自测试模块;所述自测试模块,用于在被测芯片的功能测试阶段,通过自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,基于所述输出接口信号对所述gpio复用功能模块进行功能测试,提高测试覆盖率。
6.在上述技术方案的基础上,本发明还可以作出如下改进。
7.可选的,所述gpio复用功能模块包括多个gpio复用功能子单元;所述自测试模块,用于在被测芯片的功能测试阶段,通过自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,基于所述输出接口信号对所述gpio复用功能模块进行功能测试,包括:设置被测芯片的功能测试模式,通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试。
8.可选的,所述自测试模块包括全局控制寄存器,所述通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试,包括:通过设置所述全局控制寄存器的相关位控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对每一个gpio复用功能子单元的功能进行测试。
9.根据本发明的第二方面,提供一种芯片功能性测试方法,包括:在被测芯片中增加
自测试模块,在被测芯片的功能测试阶段,通过所述自测试模块的自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,以基于所述输出接口信号对所述gpio复用功能模块进行功能测试,提高测试覆盖率。
10.可选的,所述gpio复用功能模块包括多个gpio复用功能子单元;所述在被测芯片的功能测试阶段,通过所述自测试模块的自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,以基于所述输出接口信号对所述gpio复用功能模块进行功能测试,包括:设置被测芯片的功能测试模式,通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试。
11.可选的,所述通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试,包括:在所述自测试模块中配置全局控制寄存器,通过设置所述全局控制寄存器的相关位控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对每一个gpio复用功能子单元的功能进行测试。
12.可选的,所述gpio复用功能模块具有多个复用功能,所述通过设置所述全局控制寄存器的相关位控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试,包括:在被测芯片的功能测试阶段,在自测试模式下,通过所述全局控制寄存器切换所述gpio复用功能模块到第一复用功能;通过所述全局控制寄存器的输出使能位控制所有外设功能模块输出至所述gpio复用功能子单元的输出使能信号,记录每一个gpio复用功能子单元的第一测试结果;通过所述全局控制寄存器的输出数据位控制所有外设功能模块输出至所述gpio复用功能子单元的输出数据信号,记录每一个gpio复用功能子单元的第二测试结果;以及,通过全局寄存器的输出使能位关闭所有外设功能模块送到gpio的输出使能信号,记录每一个gpio复用功能子单元的第三测试结果。
13.可选的,还包括根据所述第一测试结果、第二测试结果和第三测试结果,确定所述gpio复用功能模块的第一复用功能的测试成败结果:分别将所述第一测试结果、第二测试结果和第三测试结果与对应的预期结果进行比较,当所述第一测试结果、第二测试结果和第三测试结果与对应的预期结果均一致时,确定所述gpio复用功能模块的第一复用功能测试成功;否则,确定所述gpio复用功能模块的第一复用功能测试失败。
14.可选的,通过所述全局控制寄存器切换所述gpio复用功能模块到剩余的复用功能,遍历测试所有所述复用功能。
15.根据本发明的第三方面,提供了一种芯片,包括芯片功能性测试单元。
16.根据本发明的第四方面,提供了一种自动测试系统,包括机台和待测试芯片,所述待测试芯片中包含芯片功能性测试单元;所述机台,用于将开发完成的测试用例写入被测试芯片;以及将所述被测试芯片返回的测试值与预期值进行比较,根据比较结果确定测试结果;所述被测试芯片,用于根据所述测试用例完成测试,将测试值返回给所述机台。
17.本发明提供的一种芯片功能性测试单元、测试方法、芯片和自动测试系统,在被测
芯片中增加自测试模块,主要功能是在开发gpio复用功能模块功能pattern时,能够控制所有外设功能模块的输出使能以及输出数据,实现一个功能pattern就可以覆盖到gpio复用功能模块的大部分逻辑,提高gpio复用功能模块的测试覆盖率,也提高了测试效率。
附图说明
18.图1为传统的被测芯片的结构示意图;图2为本发明第一实施例的芯片功能性测试单元的结构示意图;图3为本发明第二实施例的芯片功能性测试方法的流程示意图;图4为本发明第三实施例的芯片功能性测试方法的流程示意图。
具体实施方式
19.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
20.对于具有gpio复用功能的芯片,在现有gpio功能模块的设计中,如图1所示,uart(universal asynchronous receiver/transmitter,通用异步收发传输器)、spi(serial peripheral interface,串行外设接口)和i2c(inter-integrated circu,两线式串行总线)等外设功能模块以及gpio功能模块的输出信号以及输出使能信号送到gpio复用功能模块后,经过gpio复用功能选择,最终送出到外部管脚。但是由于gpio复用功能模块逻辑复杂,所以在atpg(automatic test pattern generation 自动测试向量生成)测试中覆盖率达不到90%,剩余的fault点(未覆盖点)需要经过分析后,通过开发各外设功能模块的功能pattern来覆盖。这样就需要uart、spi、i2c等外设功能模块开发相关功能pattern,来覆盖gpio复用功能模块的fault点,不仅需要大量人力资源,而且pattern的数量也很多。
21.表1 gpio复用功能模块的复用功能表上述表1所示为gpio复用功能模块的复用功能表格,每个gpio复用功能模块一共有7个(此处仅为举例,具体数量与外设数量相关,外设越多,复用功能也越多)复用功能,function1测试gpio本身的输入输出功能,fcuntion2-function7测试gpio的复用功能。此
表中每个function下的外设组合仅为示例,实际使用中每个外设会有多个,例如uart可能会有3个。每个gpio复用功能模块中包括多个gpio复用功能子单元,每个外设功能模块可能映射到3-8个gpio复用功能子单元,而现有技术通过在每个外设都单独设置2-3个pattern,设置pattern的数量多,执行复杂耗时,这是gpio复用功能模块逻辑复杂、atpg覆盖率低的原因。
22.在对gpio复用功能模块进行功能测试时,需要进行每一个gpio复用功能子单元对应与不同的外设功能模块的输出接口信号的测试。以前gpio复用功能子单元数量较少,复用功能也没有这么多,所以针对atpg测试后剩余fault点都是由相应的外设模块来开发功能pattern,比如:uart通过开发自己的功能pattern来实现uart接口的信号的翻转,覆盖gpio复用功能模块的相应fault点,但是uart的接口信号可能映射到其他gpio复用功能子单元,所以一个功能pattern并不能覆盖gpio复用功能模块与uart相关的所有fault点,需要补充多个功能pattern,这样就直接影响了芯片测试时间。
23.由于以前芯片的gpio复用功能模块中的gpio复用功能子单元的数量较少,复用以及映射功能简单,所以ft pattern数量相对较少,测试时间较少,随着芯片复杂度增加,gpio数量也随之增加,复用和映射功能更为复杂。目前gpio复用功能子单元数量多,复用功能和映射功能复杂,ft功能测试时,需要开发功能pattern,但是gpio的接口信号是来自很多外设功能模块,这样开发功能pattern的数量就会很多,测试成本也会增加很多。
24.基于此,本发明实施例在被测芯片中增加了自测试逻辑电路,减少功能 pattern的数量,且不需要相应外设功能模块来增加对应的功能 pattern,可以有效减少产生功能pattern的时间,以及功能pattern的运行时间,节约测试成本。
25.实施例一一种芯片功能性测试单元,参见图2,该功能性测试单元包括多个外设功能模块和gpio复用功能模块,还包括自测试模块;所述自测试模块,用于在被测芯片的功能测试阶段,通过自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,基于所述输出接口信号对所述gpio复用功能模块进行功能测试,提高测试覆盖率。
26.可以理解的是,为了解决传统对gpio复用功能模块进行测试的缺陷,本发明实施例在被测芯片中新增自测试模块,便于在被测芯片的功能测试阶段通过自测试模式控制外设功能模块到gpio复用功能模块的输出接口信号,提高gpio复用功能模块测试的覆盖率,同时也不需要各外设功能模块开发功能pattern,节省人力成本。
27.作为实施例,所述gpio复用功能模块包括多个gpio复用功能子单元,所述自测试模块,用于在被测芯片的功能测试阶段,通过自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,基于所述输出接口信号对所述gpio复用功能模块进行功能测试,包括:设置被测芯片的功能测试模式,通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试。
28.可以理解的是,为了减少gpio复用功能模块开发功能pattern的数量,节约人力成本,本发明实施例增加了如图2所示的自测试模块,该自测试模块的主要功能是在开发gpio复用功能模块的功能pattern的时候,能够控制uart、spi、i2c等所有外设功能模块的输出使能信号以及输出数据信号,实现一个功能pattern就可以覆盖到大部分gpio复用功能模
块的逻辑。如果通过uart、spi、i2c等外设功能模块开发功能pattern来覆盖gpio复用功能模块,每个外设功能模块需要开发1-3个功能pattern。该自测试模块只针对于gpio复用功能模块的ft测试阶段,不影响被测芯片的正常使用。
29.作为实施例,所述自测试模块包括全局控制寄存器,所述通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试,包括:通过设置所述全局控制寄存器的相关位控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对每一个gpio复用功能子单元的功能进行测试。
30.可以理解的是,为了便于用户使用,每个gpio复用功能子单元有一个对应的控制寄存器,如果在开发功能pattern的时候遍历所有的寄存器,测试的时间就会很长。为了节省功能pattern的测试时间,在自测试模式下,本发明实施例通过一个全局控制寄存器控制所有gpio复用功能子单元的控制信号,比如:可以通过一个全局控制寄存器就可以切换gpio复用功能模块的所有复用功能,可以在切换复用功能的时候可以节约很多时间,本功能只针对ft测试使用,正常功能不受影响。
31.在本发明实施例中,在gpio复用功能模块的ft测试,将gpio复用功能模块的模式调整到自测试模式,然后通过写相关全局控制寄存器的相关位控制所有外设功能模块的输出使能信号以及输出数据信号,对gpio复用功能模块的各个功能点进行测试,以覆盖gpio复用功能模块的fault点。
32.实施例二一种芯片功能性测试方法,该功能性测试方法包括:在被测芯片中增加自测试模块,在被测芯片的功能测试阶段,通过所述自测试模块的自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,以基于所述输出接口信号对所述gpio复用功能模块进行功能测试,以提高测试的覆盖率。
33.可以理解的是,本发明实施例在被测芯片中新增自测试模块,便于在ft阶段通过自测试模式控制外设功能模块到gpio复用功能模块的输出接口信号,提高gpio复用功能模块测试的覆盖率,同时也不需要各外设功能模块开发功能pattern,节省人力成本。
34.作为实施例,所述gpio复用功能模块包括多个gpio复用功能子单元;在被测芯片的功能测试阶段,通过所述自测试模块的自测试模式控制所有外设功能模块到gpio复用功能模块的输出接口信号,以基于所述输出接口信号对所述gpio复用功能模块进行功能测试,包括:设置被测芯片的功能测试模式,通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试。
35.其中,所述通过自测试模式控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试,包括:在所述自测试模块中配置全局控制寄存器,通过设置所述全局控制寄存器的相关位控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对每一个gpio复用功能子单元的功能进行测试。
36.可以理解的是,在对gpio复用功能模块进行ft测试时,机台将开发完成的ft pattern写入被测试芯片,如图3所示,然后被测芯片会返回测试值到机台,机台通过将测试
值与预期值比较,返回测试结果。最后读取测试结果为pass或fail,如果测试fail,则需要来debug原因。具体ft pattern开发流程如图4所示。
37.其中,所述gpio复用功能模块具有多个复用功能,在具体对gpio复用功能模块进行ft测试时,所述通过设置所述全局控制寄存器的相关位控制每一个外设功能模块的输出使能信号和输出数据信号到对应的gpio复用功能子单元,以对所述gpio复用功能模块中的每一个gpio复用功能子单元的功能进行测试,包括:在被测芯片的功能测试阶段,在自测试模式下,通过所述全局控制寄存器切换所述gpio复用功能模块到第一复用功能;通过所述全局控制寄存器的输出使能位控制所有外设功能模块输出至所述gpio复用功能子单元的输出使能信号,记录每一个gpio复用功能子单元的第一测试结果;通过所述全局控制寄存器的输出数据位控制所有外设功能模块输出至所述gpio复用功能子单元的输出数据信号,记录每一个gpio复用功能子单元的第二测试结果;以及,通过全局寄存器的输出使能位关闭所有外设功能模块送到gpio的输出使能信号,记录每一个gpio复用功能子单元的第三测试结果。然后,根据第一测试结果、第二测试结果和第三测试结果,确定所述gpio复用功能模块的第一复用功能的测试成败结果。
38.其中,根据第一测试结果、第二测试结果和第三测试结果,确定所述gpio复用功能模块的相应复用功能的测试成败结果,包括:分别将所述第一测试结果、第二测试结果和第三测试结果与对应的预期结果进行比较,当所述第一测试结果、第二测试结果和第三测试结果与对应的预期结果均一致时,确定所述gpio复用功能模块的第一复用功能测试成功;否则,确定所述gpio复用功能模块的第一复用功能测试失败。
39.对gpio复用功能模块的第一复用功能测试后,通过全局控制寄存器切换gpio复用功能模块到剩余的复用功能,遍历测试所有复用功能。可以理解,对gpio复用功能模块的每一个复用功能均进行测试,并根据每一个复用功能的测试成败结果,确定gpio复用功能模块的测试成败结果。当gpio复用功能模块的每一个复用功能均测试成功时,确定gpio复用功能模块测试成功;否则,gpio复用功能模块测试失败。
40.其中,可参照表1,本发明是将复用功能子单元gipo
1-gpion的第一复用功能function1都测试完成后,再测试gipo
1-gpion的第二复用功能function2,以此类推,直到所有的复用功能子单元的所有复用功能均测试完成。
41.自测试模块self-test中的一个pattern就能完成(覆盖)90%以上gpio引脚表1中function1-7的测试(atgp测试),大大减少pattern数量,测试效率高,本发明主要解决的是这一部分的测试效率,也是本发明的主要发明点。另外,剩余少数没有被覆盖到的gpio引脚复用功能测试,再通过在self-test中增加少数几个pattern即可实现覆盖,提高了gpio复用功能模块的测试覆盖率。
42.具体的,对gpio复用功能模块进行ft测试的流程可参见图4,主要包括以下步骤:1) 在功能测试阶段,将gpio复用功能模块的工作模式切换到自测试模式。
43.2) 在自测试模式下通过全局控制寄存器,切换gpio复用功能模块到复用功能function1。
44.3) 通过全局控制寄存器的输出使能位打开uart等外设功能模块送到gpio复用功能模块的所有输出使能信号,对gpio复用功能模块返回的测试结果与预期结果做比较,记录测试结果,进行下一步测试。
45.4) 通过全局控制寄存器的输出数据位控制uart等外设功能模块到gpio复用功能模块的输出数据信号,实现控制所有外设功能模块输出数据信号的翻转(0-1,1-0的翻转)。每翻转一次,将测试结果与预期结果做比较,记录测试结果,进行下一步测试。
46.5) 通过全局控制寄存器的输出使能位关闭所有外设功能模块送到gpio复用功能模块的输出使能信号,将测试结果与预期结果做比较,记录测试结果,进行下一步测试。
47.6) 切换gpio复用功能模块到复用功能function2,重复上面步骤,直到测试完gpio复用功能模块的所有复用功能。
48.需要说明的是,上述2)~5)为对gpio复用功能模块的一个复用功能进行功能测试,其中,本发明实施例对一个复用功能进行了三项功能测试,包括打开输出使能信号、翻转输出信号和关闭输出使能信号,当三项测试结果与预期结果均一致时,则gpio复用功能模块的测试成功;否则,gpio复用功能模块的测试失败。然后,对gpio复用功能模块的所有复用功能均进测试,只有当gpio复用功能模块的所有复用功能均测试成功,gpio复用功能模块才测试成功,只要有一个复用功能测试失败,gpio复用功能模块就测试失败。
49.实施例三一种待测试芯片,待测试芯片中包含上述实施例一的芯片功能性测试单元,其中,芯片功能性测试单元的工作原理可参考实施例一,在此不再重复描述。
50.实施例四一种自动测试系统,包括机台和上述实施例三的待测试芯片,所述机台,用于将开发完成的测试用例写入被测试芯片;以及将所述被测试芯片返回的测试值与预期值进行比较,根据比较结果确定测试结果;所述被测试芯片,用于根据所述测试用例完成测试,将测试值返回给所述机台。
51.其中,待测试芯片的工作原理可参考上述实施例三,在此不再重复说明。
52.本发明提供的一种芯片功能性测试单元、测试方法、芯片和自动测试系统,通过新增自测试模块,便于在功能测试阶段通过自测试模式控制各外设功能模块到gpio复用功能模块的输出接口信号翻转,提高gpio复用功能模块的测试覆盖率,同时也不需要各外设功能模块开发功能pattern,节省人力成本。
53.另外,在自测试模式下,通过一个全局控制寄存器控制所有外设功能模块到gpio复用功能模块的控制信号,实现“一键切换”节约测试时间。
54.需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
55.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
56.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
57.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
58.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
59.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
60.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1