一种可快速遍历中断位的中断测试方法技术

技术编号:39002666 阅读:11 留言:0更新日期:2023-10-07 10:34
本发明专利技术公开了一种可快速遍历中断位的中断测试方法,属于中断测试技术领域,该方法通过使用一个中断测试模板函数完成中断测试的整个流程,中断测试模板函数包含多个参数,包括中断名、中断源的层次路径、中断上报的输出信号、中断上报的有效电平、写地址task和读地址task,通过参数传递中断测试需要的信息,以打印错误的方式作为函数的验证结果,支持将所有中断位的验证放在一个用例中完成,只需调用中断测试模板函数就能完成所有中断位、中断掩码位、读清功能的验证。读清功能的验证。读清功能的验证。

【技术实现步骤摘要】
一种可快速遍历中断位的中断测试方法


[0001]本专利技术涉及中断测试
,具体为一种可快速遍历中断位的中断测试方法。

技术介绍

[0002]中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。中断分为可屏蔽中断和非可屏蔽中断,可屏蔽中断是指可通过中断屏蔽寄存器中设定的掩码位来关闭的中断;非可屏蔽中断是指无法通过中断屏蔽寄存器中的掩码位关闭的中断。
[0003]芯片的中断上报流程是逐级上报的,不同规模的芯片,中断级数可能不同,一般是2级及以上。中断和中断屏蔽寄存器是配对使用,中断屏蔽开启,中断只会锁存在本级中断状态寄存器中,并不会向上一级上报中断;如果中断屏蔽关闭,则中断信息可以通过接口信号上报,每一级均是如此,中断状态寄存器都应支持中断读清功能。
[0004]目前对于一个验证模块,可能包含多个中断位,每个中断位有其对应的中断掩码位,因此对于验证人员来说,需要验证每个中断位是否生效,每个中断掩码位是否可以屏蔽中断位产生的上报响应,即验证中断掩码位与中断位的一致关系。如果中断支持读清功能,还需要验证读清功能,验证过程繁琐且冗余,以芯片的三级中断上报流程为例来说明,包括以下步骤:
[0005]Step1,第三级中断层次下,有中断发生,如fifo溢出、ecc错误等都可能触发中断;
[0006]Step2,第三级中断状态寄存器锁存中断状态,并根据中断屏蔽决定是否上报中断;假设中断屏蔽都是默认关闭的;
[0007]Step3,第二级中断状态寄存器锁存中断状态,并根据中断屏蔽决定是否上报中断;
[0008]Step4,第一级中断状态寄存器锁存中断状态,并根据中断屏蔽决定是否上报中断;
[0009]Step5,顶层输出中断;
[0010]Step6,CPU检测到有中断上报,再来从上到下的逐级读中断状态寄存器,最终锁定中断源;
[0011]在此验证过程中,验证人员需要进行的操作会随着中断位的增多而增多,并且这些操作有一定程度的重复性和通用性,因为少数出现问题的中断位而需要对整个芯片的中断位都进行测试,这大大增加了验证人员的工作量,降低了测试的效率。

技术实现思路

[0012]本专利技术的目的在于提供一种可快速遍历中断位的中断测试方法,以解决上述
技术介绍
中提出的问题。
[0013]为了解决上述技术问题,本专利技术提供如下技术方案:一种可快速遍历中断位的中断测试方法,包括以下步骤:
[0014]S1

1,将同一条中断线上的中断位分成一组;
[0015]S1

2,以组为单位,采用中断测试模板函数分别对每组中断位同时进行中断掩码位验寄存器屏蔽中断的验证,若顶层中断上报输出信号无效,则通过验证,进入S1

3,否则组中所有中断位均有问题,进入S1

5;
[0016]S1

3,设置时间间隔t1,相隔时间t1之后采用中断测试模板函数分别对组中每个中断位进行中断寄存器上报中断的验证,若顶层中断上报输出信号有效次数与中断位个数相同,则通过验证,进入S1

6,否则进入S1

4;
[0017]S1

4,根据中断位个数和顶层中断上报输出信号有效次数的差值a判断出现问题的中断位个数a,依据顶层中断上报输出有效信号的时间间隔,确定出现问题的中断位,进入S1

5;
[0018]S1

5,对全部有问题的中断位采用中断测试模板函数单独进行中断掩码位验寄存器屏蔽中断的验证和中断寄存器上报中断的验证,对未通过验证的中断位打印错误信息后进入S1

6;
[0019]S1

6,完成中断掩码位验寄存器屏蔽中断的验证和中断寄存器上报中断的验证之后,采用中断测试模板函数对读清功能进行验证,若读清功能未通过验证,打印错误信息后进入S1

7,若通过验证则直接进入S1

7;
[0020]S1

7,完成中断掩码位验寄存器屏蔽中断的验证、中断寄存器上报中断的验证和读清功能验证之后,结束所有中断位的测试。
[0021]优选地,使用中断测试模板函数对中断流程进行测试,包括进行中断上报的判定、检测中断寄存器是否锁存中断和中断读清是否生效。将所有中断位的验证放在一个用例中完成,只需调用中断测试模板函数就能中断模块或芯片的中断位、中断掩码位、读清功能的验证。
[0022]具体地,S1

4确定出现问题的中断位包括下列情况:
[0023]S4

1,若顶层中断上报输出有效信号的时间间隔均在t1+k+t中,则有问题的中断位为前面a个和后面a个中断位;
[0024]S4

2,若存在a个顶层中断上报输出有效信号的时间间隔大于t1+k+t,则时间间隔中的中断位为有问题的中断位;
[0025]S4

3,若存在少于a个顶层中断上报输出有效信号的时间间隔大于t1+k+t,则所有中断位均判断为有问题。
[0026]可选地,初始化中断信息包括:中断名、寄存器基地址、中断寄存器偏移地址、中断屏蔽寄存器偏移地址、当前测试中断在中断寄存器中的bit位和读清使能。
[0027]中断测试模板函数包含多个参数,包括中断名、中断源的层次路径、中断上报的输出信号、中断上报的有效电平、写地址task和读地址task。
[0028]优选地,中断测试模板函数是一个外部公用函数,验证多个中断位时,可以在一个用例中调用所述中断测试模板函数,即可在一个用例中完成多个中断位和中断掩码位的遍历,以及中断读清功能的验证。
[0029]调用中断测试模板函数进行中断掩码位验寄存器屏蔽中断的验证具体包括以下步骤:
[0030]S2

1,初始化中断信息;
[0031]S2

2,采用中断测试模板函数配置要测试的中断对应的mask开启,屏蔽中断上报;
[0032]S2

3,释放中断源路径信号,持续时间k后恢复正常;
[0033]S2

4,等待时间x;
[0034]S2

5,采用中断测试模板函数判断顶层中断是否有效,若有效,则验证不通过,若无效,则验证通过。
[0035]调用中断测试模板函数进行中断寄存器上报中断的验证具体包括以下步骤:
[0036]S3

1,初始化中断信息;
[0037]S3

2,采用中断测试模板函数配置要测试的中断对应的mask关闭,不屏蔽中断上报;
[0038]S3

3,释放中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可快速遍历中断位的中断测试方法,其特征在于,包括以下步骤:S1

1,将同一条中断线上的中断位分成一组;S1

2,以组为单位,采用中断测试模板函数分别对每组中断位同时进行中断掩码位验寄存器屏蔽中断的验证,若顶层中断上报输出信号无效,则通过验证,进入S1

3,否则组中所有中断位均有问题,进入S1

5;S1

3,设置时间间隔t1,相隔时间t1之后采用中断测试模板函数分别对组中每个中断位进行中断寄存器上报中断的验证,若顶层中断上报输出信号有效次数与中断位个数相同,则通过验证,进入S1

6,否则进入S1

4;S1

4,根据中断位个数和顶层中断上报输出信号有效次数的差值a判断出现问题的中断位个数a,依据顶层中断上报输出有效信号的时间间隔,确定出现问题的中断位,进入S1

5;S1

5,对全部有问题的中断位单独采用中断测试模板函数进行中断掩码位验寄存器屏蔽中断的验证和中断寄存器上报中断的验证,对未通过验证的中断位打印错误信息后进入S1

6;S1

6,完成中断掩码位验寄存器屏蔽中断的验证和中断寄存器上报中断的验证之后,采用中断测试模板函数对读清功能进行验证,若读清功能未通过验证,打印错误信息后进入S1

7,若通过验证则直接进入S1

7;S1

7,完成中断掩码位验寄存器屏蔽中断的验证、中断寄存器上报中断的验证和读清功能验证之后,结束所有中断位的测试。2.根据权利要求1所述的一种可快速遍历中断位的中断测试方法,其特征在于,所述中断掩码位验寄存器屏蔽中断的验证包括:S2

1,初始化中断信息;S2

2,采用中断测试模板函数配置要测试的中断对应的mask开启,屏蔽中断上报;S2

3,释放中断源路径信号,持续时间k后恢复正常;S2

4,等待时间x;S2

5,采用中断测试模板函数判断顶层中断是否有效,若有效,则验证不通过,若无效,则验证通过。3.根据权利要求1所述的一种可快速遍历中断位的中断测试方法,其特征在于,所述中断寄存器上报中断的验证包括:S3

1,初始化中断信息;S3

2,采用中断测试模板函数配置要测试的中断...

【专利技术属性】
技术研发人员:李锋晶
申请(专利权)人:南京奕泰微电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1