芯片开发与验证方法、终端设备、验证平台及存储介质技术

技术编号:35838099 阅读:25 留言:0更新日期:2022-12-03 14:09
本发明专利技术涉及芯片验证技术领域,具体涉及芯片开发与验证方法、终端设备、验证平台及存储介质。该方法包括以下步骤:创建虚拟设备后端程序,在Host运行虚拟设备后端程序,生成虚拟设备后端进程,其中所述虚拟设备后端程序具有两条管道;获取包含上述虚拟设备前端的QEMU程序,在Host运行包含虚拟设备前端的QEMU程序,生成QEMU进程;且在运行时还要指定虚拟设备对接到上述已创建的两条管道;其中,在所述QEMU进程里安装Linux,部署SDK开发与验证所需的软件环境;获取原始数据,将所述原始数据经由总线、虚拟设备前端和一个管道,传递给虚拟设备后端,虚拟设备后端将原始数据加工处理后,生成处理后的数据。成处理后的数据。成处理后的数据。

【技术实现步骤摘要】
芯片开发与验证方法、终端设备、验证平台及存储介质


[0001]本专利技术涉及芯片验证
,尤其涉及芯片开发与验证方法、终端设备、验证平台及存储介质。

技术介绍

[0002]芯片开发流程十分复杂,其中硬件侧的几个重要环节依次是:芯片架构设计

>芯片设计与实现

>芯片前端设计与验证

>芯片后端设计与实现

>芯片版图交付制造。
[0003]在芯片开发流程中将“芯片设计与实现”和“芯片SDK开发与验证”并行开始,各自独立推进。采用下面技术解决“软件开发人员需要非常频繁地与芯片硬件进行数据交互”问题:
[0004]在QEMU仿真器里添加虚拟设备,具体方法是:按照QEMU的虚拟设备代码框架(目前最常见的是QOM)规范,编写软件代码实现当前项目要开发的芯片产品的功能、特性、算法,然后编译生成包含该虚拟设备的QEMU程序。执行这个QEMU程序就会仿真出一台包含了新添加虚拟设备的计算机,该虚拟设备的功能、特性、算法都与芯片产品极为相似。软件团队基于这个新QEMU里的虚拟设备进行SDK的开发与验证。如图6所示。
[0005]现有技术,QEMU虚拟设备代码框架(QOM),了解其基本规则和约束,再编写软件代码实现芯片产品的功能、特性、算法,而且编写这些软件代码的过程中必须严格遵循QEMU虚拟设备代码框架的规范约束。之后若在使用过程中发现虚拟设备软件代码存在bug,则不仅要按照QEMU虚拟设备代码框架修改虚拟设备软件代码,还要重新编译QEMU程序、执行QEMU程序重新仿真出计算机。现有技术修正bug过程的过程较繁琐,工作量较大,出现了虚拟设备软件代码与QEMU紧密耦合的现象,为了解决该技术问题现提出芯片开发与验证方法、终端设备、验证平台及存储介质。

技术实现思路

[0006]为了解决上述现有技术中存在的技术问题,本专利技术提供了一种芯片开发与验证方法、终端设备、验证平台及存储介质,将虚拟设备的数据收发功能和数据加工处理功能解耦,虚拟设备前端与虚拟设备后端之间通过简单成熟的管道技术传递数据。整体降低了SDK开发、验证所需QEMU虚拟设备的代码开发复杂度。
[0007]为实现上述目的,本专利技术实施例提供了如下的技术方案:
[0008]第一方面,在本专利技术提供的一个实施例中,提供了芯片开发与验证方法,该方法包括以下步骤:
[0009]创建虚拟设备后端程序,在Host运行虚拟设备后端程序,生成虚拟设备后端进程,其中所述虚拟设备后端程序具有两条管道;
[0010]获取包含上述虚拟设备前端的QEMU程序,在Host运行包含虚拟设备前端的QEMU程序,生成QEMU进程;且在运行时还要指定虚拟设备对接到上述已创建的两条管道。
[0011]其中,在所述QEMU进程里安装Linux,部署SDK开发与验证所需的软件环境;
[0012]获取原始数据,将所述原始数据经由总线、虚拟设备前端和一个管道,传递给虚拟设备后端,虚拟设备后端将原始数据加工处理后,生成处理后的数据;所述处理后的数据经由另一个管道、虚拟设备前端和总线,最终送给SDK开发与验证人员。
[0013]作为本专利技术的进一步方案,所述创建虚拟设备后端程序,包括以下步骤:
[0014]获取虚拟设备后端软件代码,且虚拟设备后端软件代码还创建两条管道;
[0015]将所述虚拟设备后端软件代码编译生成虚拟设备后端程序。
[0016]作为本专利技术的进一步方案,所述软件代码直接复用芯片开发流程中“芯片架构设计”的C Model算法原型代码。
[0017]作为本专利技术的进一步方案,两条所述管道,一条管道负责接收虚拟设备前端发来的原始数据以供后续的加工处理,另一条管道负责将加工处理后的数据发给虚拟设备前端。
[0018]作为本专利技术的进一步方案,所述获取包含上述虚拟设备前端的QEMU程序,包括,
[0019]实现虚拟设备前端;
[0020]修改QEMU的Kconfig文件,将上述虚拟设备前端作为模块加入到QEMU的编译配置;
[0021]在Host编译这套QEMU代码,生成包含上述虚拟设备前端的QEMU程序。
[0022]作为本专利技术的进一步方案,所述实现虚拟设备前端,包括:
[0023]在QEMU源码中,按照QEMU设备代码框架编写软件代码实现虚拟设备前端。
[0024]作为本专利技术的进一步方案,所述QEMU设备代码框架在编写所述虚拟设备前端代码时至少要实现3个的结构体;所述结构体包括ObjectClass、Object、TypeInfo及相关的方法。
[0025]第二方面,在本专利技术提供的又一个实施例中,提供了一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现芯片开发与验证方法的步骤。
[0026]第三方面,在本专利技术提供的又一个实施例中,提供了一种验证平台,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现芯片开发与验证方法的步骤。
[0027]第四方面,在本专利技术提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述芯片开发与验证方法的步骤。
[0028]本专利技术提供的技术方案,具有如下有益效果:
[0029]本专利技术提供的芯片开发与验证方法、终端设备、验证平台及存储介质,将虚拟设备的数据收发功能和数据加工处理功能解耦,虚拟设备前端与虚拟设备后端之间通过简单成熟的管道技术传递数据。整体降低了SDK开发、验证所需QEMU虚拟设备的代码开发复杂度。若虚拟设备后端存在bug,可随时修正,不需要重新编译、重新运行QEMU。另外,本专利技术所有步骤均由软件实现,不需要任何硬件辅助即可完成SDK开发、验证工作,提早了软件团队开始工作的时间点。
[0030]本专利技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0032]图1为本专利技术一个实施例的芯片开发与验证方法的流程图;
[0033]图2为本专利技术一个实施例的芯片开发与验证方法实现的框架图;
[0034]图3为本专利技术一个实施例的芯片开发与验证方法中步骤S10的流程图;
[0035]图4为本专利技术一个实施例的芯片开发与验证方法中步骤S20的流程图;
[0036]图5为本专利技术一个实施例的终端设备的结构图;
[0037]图6本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种芯片开发与验证方法,其特征在于,该方法包括:创建虚拟设备后端程序,在Host运行虚拟设备后端程序,生成虚拟设备后端进程,其中所述虚拟设备后端程序具有两条管道;获取包含虚拟设备前端的QEMU程序,在Host运行包含所述虚拟设备前端的QEMU程序,生成QEMU进程;且在运行时指定虚拟设备对接已创建的两条管道;其中,在所述QEMU进程里安装Linux,部署SDK开发与验证所需的软件环境;获取原始数据,将所述原始数据经由总线、虚拟设备前端和一个管道,传递给虚拟设备后端,虚拟设备后端将原始数据加工处理后,生成处理后的数据;所述处理后的数据经由另一个管道、虚拟设备前端和总线,最终送给SDK开发与验证人员。2.如权利要求1所述的芯片开发与验证方法,其特征在于,所述创建虚拟设备后端程序,包括以下步骤:获取虚拟设备后端软件代码,且虚拟设备后端软件代码还创建两条管道;将所述虚拟设备后端软件代码编译生成虚拟设备后端程序。3.如权利要求2所述的芯片开发与验证方法,其特征在于,所述软件代码直接复用芯片开发流程中“芯片架构设计”的C Model算法原型代码。4.如权利要求2所述的芯片开发与验证方法,其特征在于,两条所述管道,一条管道负责接收虚拟设备前端发来的原始数据以供后续的加工处理,另一条管道负责将加工处理后的数据发给虚拟设备前端。5.如权利要求1所述的芯片开发与...

【专利技术属性】
技术研发人员:肖明任明刚吴睿振
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1