System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及芯片验证,尤其涉及一种芯片验证方法、装置、设备及存储介质。
技术介绍
1、芯片验证,是指根据芯片的规格文档和详细设计文档提取验证功能点,编写测试激励并搭建仿真验证环境,根据模拟预期结果和设计输出结果做出判断,对芯片设计进行指正。芯片验证,包括针对芯片硬件的验证以及针对安装在芯片上的固件的验证。
2、随着智能化要求不断增高,芯片的功能越来越复杂,除了硬件设计实现的逻辑增多,固件与硬件的协同处理也较以往增加了很多。这使得在芯片的验证过程中,对于固件在芯片上运行状况的正确性,以及固件与硬件协同工作的合理性也越来越重视。
3、目前,在验证平台中,工程师利用system verilog(高级硬件描述语言)来实现一段一段的固件程序,多个代码段按照固定顺序排列。在验证过程中,需尽可能根据芯片固件的真实使用场景,对多个代码段进行程序运行操作,基于程序的运行情况完成针对固件程序的验证。
4、上述现有技术存在的问题在于:由于多个代码段是按照固定顺序排列的,因此,验证场景中仅能根据固定的代码执行顺序运行固件程序。但在实际芯片使用时,有些特殊情况下会改变代码的运行顺序。为了覆盖该情况,验证场景中需要验证工程师手动调整代码的执行顺序,对固件程序代码进行重新编译,给验证仿真工作带来不便。同时,实际芯片使用时还存在由于各种情况随时发生的程序中断,该情况一般说来也应在验证场景中进行体现,如,突发新的中断事件时,需优先执行新的中断事件,而不是按照固定执行顺序继续执行原有事件。
5、综上,如何使得验证场
技术实现思路
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、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行以下操作:
35、注册各固件事件;其中,所述各固件事件包括可执行状态的固件任务事件和空闲状态的固件中断事件;
36、配置各固件事件的执行优先级,并将完成配置执行优先级的各固件事件加入固件调度队列中;所述各固件事件的执行优先级与验证需求中包含的固件程序段的执行顺序相匹配;
37、按照所述执行优先级从高到低的顺序,依次执行所述固件调度队列中的可执行状态的固件任务事件;
38、响应于固件中断指令,将所述固件调度队列中与所述固件中断指令指示的固件中断事件的状态更新为可执行;
39、按照所述执行优先级从高到低的顺序,依次执行所述固件调度队列中的可执行状态的固件中断事件。
40、第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
41、注册各固件事件;其中,所述各固件事件包括可执行状态的固件任务事件和空闲状态本文档来自技高网...
【技术保护点】
1.一种芯片验证方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述按照所述执行优先级从高到低的顺序,依次执行所述固件调度队列中的可执行状态的固件任务事件之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述将异常执行的固件任务事件的状态更新为暂停之后,还包括:
4.根据权利要求1所述的方法,其特征在于,所述固件中断指令通过下述方式得到:
5.根据权利要求1所述的方法,其特征在于,所述按照所述执行优先级从高到低的顺序,依次执行所述固件调度队列中的可执行状态的固件中断事件之后,还包括:
6.根据权利要求5所述的方法,其特征在于,所述将异常执行的固件中断事件的状态更新为暂停之后,还包括:
7.根据权利要求5所述的方法,其特征在于,所述固件中断事件的可执行状态包括触发以及暂停,可执行状态为触发的所述固件中断事件的执行优先级高于可执行状态为暂停的所述固件中断事件的执行优先级。
8.一种芯片验证装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:存储器、处理
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种芯片验证方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述按照所述执行优先级从高到低的顺序,依次执行所述固件调度队列中的可执行状态的固件任务事件之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述将异常执行的固件任务事件的状态更新为暂停之后,还包括:
4.根据权利要求1所述的方法,其特征在于,所述固件中断指令通过下述方式得到:
5.根据权利要求1所述的方法,其特征在于,所述按照所述执行优先级从高到低的顺序,依次执行所述固件调度队列中的可执行状态的固件中断事件之后,还包括:
6.根据权利要求5所述的方法,其特征在于,所述将异常执行的固件中断事件的状...
【专利技术属性】
技术研发人员:王凡,李磊,
申请(专利权)人:联芸科技杭州股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。