一种寄存器配置的统一控制方法、装置、设备及介质与流程
- 国知局
- 2024-08-05 12:18:45
本发明涉及芯片验证,特别涉及一种寄存器配置的统一控制方法、装置、设备及介质。
背景技术:
1、芯片设计中,寄存器是很常见的部件,无论是承担软件配置的寄存器,还是硬件状态上报的寄存器,或者是其他类型的寄存器,在芯片的软硬交互中,起到了桥梁的作用。
2、近年来,随着芯片验证技术的发展,已经出现了自动产生寄存器模型、自动产生寄存器验证序列的工具,在一定程度上提高了验证效率。寄存器模型自动产生工具解决了人工手写代码效率低下的问题,寄存器验证序列针对的是验证寄存器本身功能正确性,而为了保证对dut((design under test,待测试单元)功能验证的完备性,大部分的测试用例都需要考虑两类激励的随机组合,即:寄存器配置值的随机,dut端口输入数据的随机。对于dut输入端口数据的随机,uvm(universal verification methodology,通用验证方法学)的agent(代理器类)组件已经实现,而对寄存器配置值的随机控制,虽然uvm寄存器模型中可以将寄存器的域定义rand(随机函数)属性来实现,但是验证平台的其它组件想要获取到寄存器的验证需要通过寄存器模型来获取,也需要人工手写大量的代码,极大的消耗了验证人员的时间和精力,且容易出错,而且由于设计的改动,还存在反复编码的风险,严重影响验证效率。
3、综上,验证平台如何实现对寄存器配置的统一控制,并提高验证效率是目前有待解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种寄存器配置的统一控制方法、装置、设备及介质,能够实现验证平台对寄存器配置的统一控制,并提高验证效率。其具体方案如下:
2、第一方面,本技术公开了一种寄存器配置的统一控制方法,应用于验证平台,包括:
3、基于寄存器描述文件并利用寄存器生成工具生成寄存器配置类和寄存器配置序列;其中,所述寄存器配置类为用于配置寄存器值的类,所述寄存器配置类包括所有寄存器域信息,所述寄存器配置序列为用于对待测试单元中的寄存器进行配置的序列类;
4、在测试用例中声明所述寄存器配置类,创建所述寄存器配置类对应的目标实例,并对所述目标实例进行随机约束,得到随机后实例;
5、基于句柄传递方法将所述随机后实例传递至所述寄存器配置序列,以便基于所述随机后实例对所述待测试单元中的寄存器进行配置,并基于句柄传递方法将所述随机后实例传递至所述验证平台中的各待验证组件以实现所述验证平台对寄存器配置的统一控制。
6、可选的,所述基于寄存器描述文件并利用寄存器生成工具生成寄存器配置类和寄存器配置序列,包括:
7、获取寄存器描述文件;其中,所述寄存器描述文件包括寄存器名、寄存器偏移地址、寄存器属性、寄存器复位值、寄存器描述以及寄存器域信息,所述寄存器域信息包括寄存器域的名字、寄存器域的位宽、寄存器域的偏移地址、寄存器域的复位值、寄存器域的属性和寄存器域的描述;
8、确定利用预设模板引擎创建的基于通用验证方法学的目标模板文件;其中,所述目标模板文件包括用于生成寄存器配置类的第一模板文件和用于生成寄存器配置序列的第二模板文件;
9、将所述寄存器描述文件、所述第一模板文件和所述第二模板文件输入至寄存器生成工具;
10、利用所述寄存器生成工具对所述寄存器描述文件进行解析以获取所述寄存器域信息,并基于所述寄存器域信息和所述第一模板文件生成寄存器配置类,以及基于所述寄存器域信息和所述第二模板文件生成寄存器配置序列。
11、可选的,所述第一模板文件包括用于定义所述寄存器配置类的名称的第一变量名和用于生成所述寄存器配置类的成员变量的第二变量名;其中,所述成员变量为比特类型的变量,所述成员变量的位宽与所述寄存器域的位宽一致。
12、可选的,所述第二模板文件包括用于定义所述寄存器配置序列的名称的第三变量名和用于配置寄存器的第四变量名;
13、相应的,所述方法,还包括:
14、基于寄存器模型和所述第四变量名,利用所述寄存器配置类中的寄存器域信息对待测试单元中的寄存器进行配置。
15、可选的,所述寄存器配置序列、所述验证平台中的环境类和所述环境类中的各待验证组件均声明所述寄存器配置类;
16、相应的,基于句柄传递方法将所述随机后实例传递至所述寄存器配置序列和所述验证平台中的各待验证组件的过程,包括:
17、基于句柄传递方法将所述随机后实例传递至所述寄存器配置序列和所述环境类;
18、利用所述环境类基于句柄传递方法将所述随机后实例传递至所述环境类中的各待验证组件。
19、可选的,基于句柄传递方法将所述随机后实例传递至所述寄存器配置序列和所述验证平台中的各待验证组件,包括:
20、将所述随机后实例基于通用验证方法学中的组件配置机制分别指向所述寄存器配置序列中的句柄和所述验证平台中各待验证组件的句柄;
21、或,将所述随机后实例基于句柄赋值引用方式分别指向所述寄存器配置序列中的句柄和所述验证平台中各待验证组件的句柄。
22、可选的,所述寄存器配置的统一控制方法,还包括:
23、在所述测试用例的执行过程中根据目标指令对所述目标实例重新进行随机约束,得到重新随机约束后的实例;
24、基于句柄传递方法将重新随机约束后的实例传递至所述寄存器配置序列,以便基于重新随机约束后的实例对所述待测试单元中的寄存器进行配置,并基于句柄传递方法将重新随机约束后的实例传递至所述验证平台中的各待验证组件。
25、第二方面,本技术公开了一种寄存器配置的统一控制装置,应用于验证平台,包括:
26、文件生成模块,用于基于寄存器描述文件并利用寄存器生成工具生成寄存器配置类和寄存器配置序列;其中,所述寄存器配置类为用于配置寄存器值的类,所述寄存器配置类包括所有寄存器域信息,所述寄存器配置序列为用于对待测试单元中的寄存器进行配置的序列类;
27、实例创建模块,用于在测试用例中声明所述寄存器配置类,创建所述寄存器配置类对应的目标实例,并对所述目标实例进行随机约束,得到随机后实例;
28、统一控制模块,用于基于句柄传递方法将所述随机后实例传递至所述寄存器配置序列,以便基于所述随机后实例对所述待测试单元中的寄存器进行配置,并基于句柄传递方法将所述随机后实例传递至所述验证平台中的各待验证组件以实现所述验证平台对寄存器配置的统一控制。
29、第三方面,本技术公开了一种电子设备,包括:
30、存储器,用于保存计算机程序;
31、处理器,用于执行所述计算机程序,以实现前述公开的寄存器配置的统一控制方法的步骤。
32、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的寄存器配置的统一控制方法的步骤。
33、可见,本技术公开了一种验证平台对寄存器配置进行统一控制的方法,包括:基于寄存器描述文件并利用寄存器生成工具生成寄存器配置类和寄存器配置序列;其中,所述寄存器配置类为用于配置寄存器值的类,所述寄存器配置类包括所有寄存器域信息,所述寄存器配置序列为用于对待测试单元中的寄存器进行配置的序列类;在测试用例中声明所述寄存器配置类,创建所述寄存器配置类对应的目标实例,并对所述目标实例进行随机约束,得到随机后实例;基于句柄传递方法将所述随机后实例传递至所述寄存器配置序列,以便基于所述随机后实例对所述待测试单元中的寄存器进行配置,并基于句柄传递方法将所述随机后实例传递至所述验证平台中的各待验证组件以实现所述验证平台对寄存器配置的统一控制。
34、有益效果:本技术能够利用寄存器生成工具基于寄存器描述文件自动生成寄存器配置类和寄存器配置序列,解决了人工手写代码效率低下的问题,极大的提高了验证的编码效率,保证了编码正确性,节省了代码调试时间,提高了验证效率。其中,寄存器配置类为用于配置寄存器值的类,寄存器配置类中包括所有的寄存器域信息,寄存器配置序列为用于对待测试单元中的寄存器进行配置的序列类。进一步的,本技术需要在测试用例中声明寄存器配置类,创建寄存器配置类对应的目标实例,并对目标实例进行随机约束,得到随机后实例,再基于句柄传递方法将随机后实例传递至寄存器配置序列,以便基于随机后实例对待测试单元中的寄存器进行配置。通过随机约束能够对待测试单元中的寄存器进行随机配置,并和待测试单元的端口的随机激励同时作用到待测试单元上,保证了对待测试单元验证的完备性。并且本技术还能基于句柄传递方法将随机后实例传递至验证平台中的各待验证组件,通过上述操作,本技术将寄存器的所有寄存器域信息构建到一个类中,验证平台中的各个待验证组件仅对一个寄存器配置类的实例进行配置和引用,并且若该寄存器配置类的目标实例一旦变化,验证平台中的各待验证组件也可以实时获取到变化后的值,从而达到了验证平台对寄存器配置值的统一控制的目的。
本文地址:https://www.jishuxx.com/zhuanli/20240802/262099.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表