System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种芯片原型验证方法、装置、设备及介质。
技术介绍
1、当前,现有传统的nvme(nvm express,非易失性内存主机控制器接口规范)接口芯片的fpga(field programmable gate array,现场可编程逻辑门阵列)原型验证方式基本为:利用linux标准驱动架构,app(application,应用程序)发送nvme命令,命令经过系统调用之后到达虚拟文件系统并传送到具体的文件系统,文件系统处理之后送到linux块驱动标准架构bio(block-io,块io)层和request(请求)层,bio层和request层对该io(输入/输出,input/output)进行适当的优化处理之后,发送到linux nvme驱动,之后驱动配合硬件进行io命令的处理,具体如图1所示,为一种传统芯片原型验证方法流程示意图。
2、但是上述验证方法,具有以下缺点:第一,在进行验证时,由于io数据要经过文件系统、bio框架,然后送到驱动以及硬件,经过这样的路径之后,原始的io可能会被拆解合并优化,然后发送到硬件,得出来的性能可能是经过优化之后的性能,而不是io原本的性能;第二,学习成本较高,标准linux设备驱动涉及的内容较多且复杂,fpga原型验证人员需要学习包括庞大而复杂的linux bio架构及其代码,了解文件系统等内容,这无形之中增加了验证人员的学习成本,拉长了验证周期;第三,调试难度增加,标准linux设备驱动涉及的内容较多且复杂,可能在各个环节出现问题,这直接导致定位问题难度增
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、命令及结果传输模块,用于通过所述内核态驱动子系统基于目标直接内存访问资源将所述验证指令发送至目标芯片,并基于所述目标直接内存访问资源获取所述目标芯片返回的处理结果,并将获取到的所述处理结果发送至所述用户态驱动子系统;所述处理结果为所述目标芯片处理所述验证指令得到并发送至所述内核态驱动子系统的结果;所述目标直接内存访问资源为预本文档来自技高网...
【技术保护点】
1.一种芯片原型验证方法,其特征在于,应用于包括用户态驱动子系统和内核态驱动子系统的芯片验证系统,包括:
2.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述用户态驱动子系统获取应用程序发送的调用命令之前,还包括:
3.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述内核态驱动子系统基于目标直接内存访问资源将所述验证指令发送至目标芯片之前,还包括:
4.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述用户态驱动子系统获取应用程序发送的调用命令之前,还包括:
5.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述用户态驱动子系统获取应用程序发送的调用命令之前,还包括:
6.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述用户态驱动子系统获取应用程序发送的调用命令之前,还包括:
7.根据权利要求1至6任一项所述的芯片原型验证方法,其特征在于,还包括:
8.一种芯片原型验证装置,其特征在于,应用于包括用户态驱动子系统和内核态驱动子系统的
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的芯片原型验证方法。
...【技术特征摘要】
1.一种芯片原型验证方法,其特征在于,应用于包括用户态驱动子系统和内核态驱动子系统的芯片验证系统,包括:
2.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述用户态驱动子系统获取应用程序发送的调用命令之前,还包括:
3.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述内核态驱动子系统基于目标直接内存访问资源将所述验证指令发送至目标芯片之前,还包括:
4.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通过所述用户态驱动子系统获取应用程序发送的调用命令之前,还包括:
5.根据权利要求1所述的芯片原型验证方法,其特征在于,所述通...
【专利技术属性】
技术研发人员:王芳,宁宁,郭明明,刘超,陈静静,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。