System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及测试,特别是涉及一种寄存器验证方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
技术介绍
1、在寄存器传输级(register-transfer level,rtl)阶段验证中,对待测单元(device under test,dut)中寄存器进行测试扫描是一项重要的任务,以确保寄存器的行为是否符合预期。对于所有分配给寄存器的配置空间,包括已明确列出的寄存器以及剩余空间都进行测试,且测试要求寄存器地址全空间扫描不挂死,寄存器默认值、读写属性的验证要符合预期。
2、传统技术中,通用验证方法学(universal verification methodology manual,uvm)寄存器模型提供了内建测试序列检查寄存器,其能够检查寄存器的复位值,检查寄存器的读写功能等,使用时只需启动测试序列(sequence)就能自动完成所有寄存器的检查。
3、然而,内建测试序列的测试模式单一,不足以覆盖所有边缘情况或特殊情况,尤其在大型自研系统级芯片(system on a chip,soc)设计中,内建测试序列因其局限性无法完全满足验证的特定需求。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够全面覆盖寄存器中各种潜在风险,满足特定验证需求的寄存器验证方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种寄存器验证方法,包括:
3、确定待扫描测试的地址范围;
4
5、通过non-secure类型总线对寄存器进行安全访问检测,所述non-secure类型总线为未经授权的非安全类总线;
6、在安全访问检测的结果为通过时,对所述寄存器进行默认值检测;
7、若所述寄存器具备读写属性,则对所述寄存器进行读写属性测试;
8、对所述寄存器与其他寄存器之间的地址进行粘连测试;
9、对所述寄存器进行比特粘连测试。
10、在其中一个实施例中,所述通过non-secure类型总线对寄存器进行安全访问检测,包括:
11、通过non-secure类型总线访问寄存器,并检测所述寄存器的返回状态或者返回值;
12、若所述寄存器的返回状态为正确响应,或者返回值为0,则判定安全访问检测的结果为通过;
13、若所述寄存器的返回状态为错误响应,或者返回值不为0,则判定安全访问检测的结果为不通过,并结束测试。
14、在其中一个实施例中,所述对所述寄存器进行默认值检测,包括:
15、对寄存器进行第一轮复位,并分两次读取寄存器值;
16、将寄存器值与默认值进行第一次比对;
17、若第一次比对不通过,则判定默认值检测的结果为不通过;
18、若第一次比对通过,则对寄存器写入1;
19、对寄存器进行第二轮复位,并分两次读取寄存器值;
20、将寄存器值与默认值进行第二次比对;
21、若第二次比对不通过,则判定默认值检测的结果为不通过;
22、若第二次比对通过,则对寄存器写入0;
23、对寄存器进行第三轮复位,并分两次读取寄存器值;
24、将寄存器值与默认值进行第三次比对;
25、若第三次比对不通过,则判定默认值检测的结果为不通过;
26、若第三次比对通过,则对寄存器写入随机值;
27、对寄存器进行第四轮复位,并分两次读取寄存器值;
28、将寄存器值与默认的值进行第四次比对;
29、若第四次比对不通过,则判定默认值检测的结果为不通过;
30、若第四次比对通过,则判定默认值检测的结果为通过。
31、在其中一个实施例中,所述对所述寄存器进行读写属性测试,包括:
32、对寄存器写入第一字符串,验证寄存器偶数位是否发生错误读写;
33、对寄存器写入第二字符串,验证寄存器偶数位是否发生错误读写;
34、若两次写入字符串,寄存器偶数位均不发生错误读写,则在对寄存器进行复位后,第一次对寄存器写入全1;
35、分两次读取寄存器值,判断两次读取的结果是否正确;
36、若两次读取的结果存在至少一次错误,则判定读写属性测试的结果为不通过;
37、若两次读取的结果均为正确,则对寄存器写入全0;
38、分两次读取寄存器值,判断两次读取的结果是否正确;
39、若两次读取的结果存在至少一次错误,则判定读写属性测试的结果为不通过;
40、若两次读取的结果均为正确,则第二次对寄存器写入全1;
41、分两次读取寄存器值,判断两次读取的结果是否正确;
42、若两次读取的结果存在至少一次错误,则判定读写属性测试的结果为不通过;
43、若两次读取的结果均为正确,则判定读写属性测试的结果为通过。
44、在其中一个实施例中,对所述寄存器与其他寄存器之间的地址进行粘连测试,包括:
45、第一次对寄存器的地址奇数位顺序写入1,并地址逆序读回寄存器值;
46、若地址逆序读回的寄存器值不正确,则判定地址粘连测试的结果为不通过;
47、若地址逆序读回的寄存器值正确,则对寄存器的地址偶数位逆序写入1,并地址顺序读回寄存器值;
48、若地址顺序读回的寄存器值不正确,则判定地址粘连测试的结果为不通过;
49、若地址顺序读回的寄存器值正确,则第二次对寄存器的地址奇数位顺序写入1,并地址逆序读回寄存器值;
50、若地址逆序读回的寄存器值不正确,则判定地址粘连测试的结果为不通过;
51、若地址逆序读回的寄存器值正确,则对寄存器乱序写入随机值,并地址乱序读回寄存器值;
52、若地址乱序读回的寄存器值不正确,则判定地址粘连测试的结果为不通过;
53、若地址乱序读回的寄存器值正确,则判定地址粘连测试的结果为通过。
54、在其中一个实施例中,对所述寄存器进行比特粘连测试,包括:
55、遍历寄存器的每一个比特,且每次针对一个比特进行粘连测试,直到完成寄存器中所有比特的粘连测试;其中,所述针对一个比特进行粘连测试,包括:
56、对测试的比特写入1其余比特写入0;
57、分两次读取寄存器值;
58、若两次读取的寄存器值存在至少一次错误,则判定寄存器的比特粘连测试结果为不通过;
59、若两次读取的寄存器值均正确,则对测试的比特写入0其余比特写入1;
60、分两次读取寄存器值;
61、若两次读取的本文档来自技高网...
【技术保护点】
1.一种寄存器验证方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过non-secure类型总线对寄存器进行安全访问检测,包括:
3.根据权利要求1所述的方法,其特征在于,所述对所述寄存器进行默认值检测,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述寄存器进行读写属性测试,包括:
5.根据权利要求1所述的方法,其特征在于,对所述寄存器与其他寄存器之间的地址进行粘连测试,包括:
6.根据权利要求1所述的方法,其特征在于,对所述寄存器进行比特粘连测试,包括:
7.根据权利要求1至6任意一项所述的方法,其特征在于,在确定待扫描测试的寄存器地址范围之前,所述方法还包括:
8.一种寄存器验证装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种寄存器验证方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过non-secure类型总线对寄存器进行安全访问检测,包括:
3.根据权利要求1所述的方法,其特征在于,所述对所述寄存器进行默认值检测,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述寄存器进行读写属性测试,包括:
5.根据权利要求1所述的方法,其特征在于,对所述寄存器与其他寄存器之间的地址进行粘连测试,包括:
6.根据权利要求1所述的方法,其特征在于,对所述寄存器进行比特粘连测试,包括:
7.根据权利要求1至6任意...
【专利技术属性】
技术研发人员:卿梦娇,李超,戴泽国,
申请(专利权)人:格兰菲智能科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。