部署芯片软件仿真环境的方法、系统、设备和存储介质.pdf

上传人:1520****312 文档编号:14332379 上传时间:2024-02-15 格式:PDF 页数:17 大小:2.25MB
收藏 版权申诉 举报 下载
部署芯片软件仿真环境的方法、系统、设备和存储介质.pdf_第1页
第1页 / 共17页
部署芯片软件仿真环境的方法、系统、设备和存储介质.pdf_第2页
第2页 / 共17页
部署芯片软件仿真环境的方法、系统、设备和存储介质.pdf_第3页
第3页 / 共17页
文档描述:

《部署芯片软件仿真环境的方法、系统、设备和存储介质.pdf》由会员分享,可在线阅读,更多相关《部署芯片软件仿真环境的方法、系统、设备和存储介质.pdf(17页完成版)》请在专利查询网上搜索。

1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310312319.7(22)申请日 2023.03.24(71)申请人 山东云海国创云计算装备产业创新中心有限公司地址 250000 山东省济南市中国(山东)自由贸易试验区济南片区浪潮路1036号浪潮科技园S01楼35层(72)发明人 任明刚庞林周敏敏张鹏(74)专利代理机构 北京连和连知识产权代理有限公司 11278专利代理师 张元张涛(51)Int.Cl.G06F 8/61(2018.01)G06F 8/41(2018.01)G06F 11/36(2006.01)G06F 30/30(。

2、2020.01)G06F 16/182(2019.01)G06F 111/02(2020.01)(54)发明名称一种部署芯片软件仿真环境的方法、系统、设备和存储介质(57)摘要本发明提供一种部署芯片软件仿真环境的方法、系统、设备和存储介质,方法包括:根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像;创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在;响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝;以及在所述完整芯片软件仿真环境母盘镜像的拷。

3、贝中启动仿真环境对应的服务。本发明可以快速部署芯片软件仿真环境,易于管理和继承扩展,可以针对项目资源自动进行鉴权及权限维护,可以和项目资源管理有效结合。权利要求书2页 说明书10页 附图4页CN 116610331 A2023.08.18CN 116610331 A1.一种部署芯片软件仿真环境的方法,其特征在于,包括如下步骤:根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像;创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在;响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述。

4、完整芯片软件仿真环境母盘镜像的拷贝;以及在所述完整芯片软件仿真环境母盘镜像的拷贝中启动仿真环境对应的服务。2.根据权利要求1所述的方法,其特征在于,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:使用Qemu构建模拟芯片调测主机的前端仿真环境,并按照项目开发的需求安装Linux操作系统及所需的编辑、编译、运行和测试软件。3.根据权利要求2所述的方法,其特征在于,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:配置NIS客户端以正常和NIS服务器通信,并修改配置。

5、文件以具有访问项目NFS共享的功能。4.根据权利要求3所述的方法,其特征在于,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:修改启动脚本和网络配置文件以具有根据项目规则自动配置MAC及IP的能力,并在所述启动脚本中设置心跳任务。5.根据权利要求4所述的方法,其特征在于,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:在后端仿真环境中加载最简的固件的二进制文件,并响应于所述二进制文件正常启动和运行,关闭前后端母盘系统。6.根据权利要求1所述的方法,其特征在于,。

6、方法还包括:响应于所述新的仿真环境启动,按照项目标识和用户标识组成所述新的仿真环境的MAC和IP网络地址并配置给当前仿真环境。7.根据权利要求1所述的方法,其特征在于,方法还包括:响应于所述新的仿真环境启动,启动NFS服务和NIS服务,并通过所述NFS服务挂载项目资源服务器共享的项目资源目录,通过所述NIS服务进行用户鉴权。8.一种部署芯片软件仿真环境的系统,其特征在于,包括:镜像模块,配置用于根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像;环境模块,配置用于创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是。

7、否已经存在;权利要求书1/2 页2CN 116610331 A2创建模块,配置用于响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝;以及服务模块,配置用于在所述完整芯片软件仿真环境母盘镜像的拷贝中启动仿真环境对应的服务。9.一种计算机设备,其特征在于,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求17任意一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求17任意一项所。

8、述方法的步骤。权利要求书2/2 页3CN 116610331 A3一种部署芯片软件仿真环境的方法、系统、设备和存储介质技术领域0001本发明涉及芯片开发领域,更具体地,特别是指一种部署芯片软件仿真环境的方法、系统、设备和存储介质。背景技术0002一般来说芯片仿真模型的环境整体组成和部署还是相对比较复杂的,每个人都深入学习仿真环境的安装配置的话,会增加不少学习成本。如果项目组每个人都自己搭建一套仿真环境则资源分散不易管理,并且每个人都从头开始搭建一套环境费时费力,直接使用别人的环境又不一定符合自己的需求。仿真环境部署完成以后后期使用也是需要维护的,一般需要负责仿真开发的同事操作才能保证正确的更新。

9、,如果给项目组每个人逐个更新工作量将会很大,在平时使用过程中使用环境的开发人员如果自行更新和维护系统容易导致仿真环境出现各种不一致的问题,严重影响使用效率。芯片仿真环境均是为了某个具体的项目服务的,芯片项目一般均是由多个开发子系统构成的,如果仅仅只是部署一套仿真环境无法和项目资源有效结合则对使用人员来说也会极大降低使用效率。一般公司的项目都是持续性的,一个项目完成以后还会有下一个项目接着开发,通常来说项目之间都具有一定的延续性,如何尽量复用之前开发的仿真环境工作内容,提高研发资源利用率对公司来说非常重要。0003常规的部署和使用方式一般存在如下缺点:00041、使用者个人搭建环境在维护和管理方。

10、面均不方便,需要付出较高的学习成本;00052、芯片仿真环境的使用对象是底层开发人员,对网络和项目资源管理并不一定熟悉,而仿真环境的对外通信需要相对较多的网络知识来构建通信网络,项目相关的资源访问也需要对应的鉴权设置,而这些都需要相关方面的专业人士才可能正确配置;00063、常规传统方式配置的仿真环境仅能提供编译、运行、测试功能,无法提供代码获取、编译、运行、测试、提交的一体化的完整环境;00074、常规方式部署的环境研发没有和项目资源有效结合,不便于有效扩展,造成研发资源利用率较低;00085、针对仿真环境异常缺乏自动化处理手段。0009在现有软件仿真环境部署和使用方式中,尚不存在能够同时解。

11、决以上问题的方法和系统。发明内容0010有鉴于此,本发明实施例的目的在于提出一种部署芯片软件仿真环境的方法、系统、计算机设备及计算机可读存储介质,本发明可以做到快速部署芯片软件仿真环境,易于管理和继承扩展,可以针对仿真环境异常自动处理,可以针对项目资源自动进行鉴权及权限维护,可以和项目资源管理有效结合,极大的方便了开发人员的使用,提升研发效率,节约研发资源。说明书1/10 页4CN 116610331 A40011基于上述目的,本发明实施例的一方面提供了一种部署芯片软件仿真环境的方法,包括如下步骤:根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环。

12、境母盘镜像;创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在;响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝;以及在所述完整芯片软件仿真环境母盘镜像的拷贝中启动仿真环境对应的服务。0012在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:使用Qemu构建模拟芯片调测主机的前端仿真环境,并按照项目开发的需求安装Linux操作系统及所需的编辑、编译、运行和测试软件。0013在一些实施方式中,所述根据模拟芯片开发调测。

13、主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:配置NIS客户端以正常和NIS服务器通信,并修改配置文件以具有访问项目NFS共享的功能。0014在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:修改启动脚本和网络配置文件以具有根据项目规则自动配置MAC及IP的能力,并在所述启动脚本中设置心跳任务。0015在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:在后端仿真环境中加载最简的固件的。

14、二进制文件,并响应于所述二进制文件正常启动和运行,关闭前后端母盘系统。0016在一些实施方式中,方法还包括:响应于所述新的仿真环境启动,按照项目标识和用户标识组成所述新的仿真环境的MAC和IP网络地址并配置给当前仿真环境。0017在一些实施方式中,方法还包括:响应于所述新的仿真环境启动,启动NFS服务和NIS服务,并通过所述NFS服务挂载项目资源服务器共享的项目资源目录,通过所述NIS服务进行用户鉴权。0018本发明实施例的另一方面,提供了一种部署芯片软件仿真环境的系统,包括:镜像模块,配置用于根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母。

15、盘镜像;环境模块,配置用于创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在;创建模块,配置用于响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝;以及服务模块,配置用于在所述完整芯片软件仿真环境母盘镜像的拷贝中启动仿真环境对应的服务。0019本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。0020本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质。

16、存储有被处理器执行时实现如上方法步骤的计算机程序。说明书2/10 页5CN 116610331 A50021本发明具有以下有益技术效果:00221、通过将模拟芯片开发调测主机的前端和模拟芯片板卡的后端统一整合为母盘镜像的方式使仿真环境和具体项目进行有效的分离和结合,可以达到快速部署芯片软件仿真环境的目的,同时由于将前后端统一到一个母盘镜像中,后续的管理维护以及继承扩展都非常方便,大大提高了研发资源的利用率,节约了芯片仿真验证的人力和时间成本;00232、自动化处理异常,可以为仿真环境使用人员在调试的过程中提供极大的便利,大大提升了使用者的研发效率;00243、可以和项目资源管理有效结合,提供自。

17、动化的项目资源权限认证及授权以及自动化的项目资源权限维护,极大的方便了开发人员的使用,提升研发效率,节约研发资源。附图说明0025为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。0026图1为本发明提供的部署芯片软件仿真环境的方法的实施例的示意图;0027图2为本发明提供的开发仿真环境组成框架示意图;0028图3为本发明提供的仿真环境的主要使用规则的示意图;0029图4为本发明提供的部署。

18、芯片软件仿真环境的系统的实施例的示意图;0030图5为本发明提供的部署芯片软件仿真环境的计算机设备的实施例的硬件结构示意图;0031图6为本发明提供的部署芯片软件仿真环境的计算机存储介质的实施例的示意图。具体实施方式0032为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。0033需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。0034本发明实施例的第一个方面,提出了一种部署。

19、芯片软件仿真环境的方法的实施例。图1示出的是本发明提供的部署芯片软件仿真环境的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:0035S1、根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像;0036S2、创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在;0037S3、响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝;以及说明书3/10 页6CN 116610331 A60038S4、在所述完整芯片软件仿真环境母盘镜像的拷贝中启。

20、动仿真环境对应的服务。0039本发明实施例中所有项目人员使用来自于同一份芯片软件仿真环境母盘镜像的拷贝,开发维护只需要更新母盘镜像即可,方便统一维护和管理。在使用维护过程中项目仅关注母盘镜像的维护和更新即可,在应用新版本的时候仅需直接重新拉起一套新的仿真环境即可。使用母盘镜像避免了项目里边每个有使用需要的人员都从头安装一遍的重复工作,提高了工作效率。芯片仿真相关的工具、环境等配置由对应的专业人士统一处理,其他相关项目人员可以直接使用,不用关心仿真的底层细节,降低了使用和学习的门槛。一般公司的项目都是持续性的,通常来说项目之间都具有一定的延续性和继承性,所以针对新的项目只需要给原来项目母盘中增加。

21、一些新的变化点即可,使用原来项目母盘镜像可以很方便的对新的项目进行继承和扩展。该系统使用仿真环境母盘镜像的方式可以快速建立项目需要的大量软件仿真环境并易于维护管理,降低仿真环境使用人员的学习成本。对于不同项目的复用和继承扩展提供了良好的基础,有效提高了研发资源的利用率。0040图2为本发明提供的开发仿真环境组成框架示意图,如图2所示,开发仿真环境主要包括部署仿真环境的Linux服务器、NIS服务器、项目资源服务器和网络交换机。在部署仿真环境的Linux服务器中包括服务器主机服务和芯片软件开发仿真环境。服务器主机服务主要包括NFS、SSH、芯片仿真环境心跳监控服务、芯片仿真环境创建服务和芯片仿真。

22、环境销毁服务。芯片软件开发仿真环境包括模拟开发调测主机Qemu和模拟芯片板卡Gem5。QEMU是一种通用的开源计算机仿真器和虚拟器。当作为机器仿真器使用时,QEMU可以通过动态代码翻译机制在不同的机器上仿真任意一台机器(例如在X86处理器上仿真ARM芯片),并执行不同于主机架构的代码。在本发明实施例中模拟调测芯片的主机。GEM5模拟器是用于计算机系统架构研究的模块化平台,包括系统级架构和处理器微架构。GEM5最初是为学术界的计算机体系结构研究而设计的,但它已经发展成为学术界,工业研究和教学的计算机系统设计,在本发明实施例中模拟被调测的芯片板卡。仿真环境通过一定的网络配置规则和项目管理服务器进行。

23、授权认证,仿真环境即可以通过NFS(是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源)和项目资源服务器共享项目资源,鉴权通过后项目仿真测试结果可以直接存放在项目资源服务器上,不需要到每个测试的仿真环境上提取。仿真环境模拟了业务的测试运行时环境,通过NFS共享项目资源,解决域账户拉取代码问题,用户具有拉取代码、编译、运行、测试验证、提交代码的统一环境。0041本发明实施例支持项目资源鉴权和共享,可以将常规传统方式部署的仿真环境仅能提供编译、运行、测试功能扩展到从代码获取、编译、运行、测试,到代码提交的一体化的完整环境,极大的。

24、方便了开发人员的使用,提高了研发效率。0042仿真环境和项目资源服务器之间通过NFS共享,所有的项目资料均在项目服务器侧,仿真环境仅作为一种运行时环境存在,用户不用再针对仿真环境做任何修改,此时即使用户在使用仿真环境测试时造成系统崩溃也没有影响,只需要重新拉起一套新的仿真环境继续使用即可,用户的项目资源均不受异常仿真环境的影响,后台仿真环境监控程序会根据仿真环境的心跳情况自行杀掉已经崩溃的仿真环境,仿真环境的用户继续自己的工作,不用关心异常的仿真环境的处理。该仿真系统具有自动异常处理的能力,不影响用户的使用,可以极大提高研发效率。说明书4/10 页7CN 116610331 A70043图3为。

25、本发明提供的仿真环境的主要使用规则的示意图,结合图3对本发明实施例进行说明。0044根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像。制作一个原始的完整芯片软件仿真环境母盘镜像。本发明实施例中的完整原始母盘镜像是由模拟芯片开发调测主机的前端母盘系统镜像加仿真芯片板卡的后端母盘系统镜像两部分构成。完整的原始芯片软件开发仿真系统命名为:Origin_r.img,其中origin标识是完整母盘镜像,标识具体的项目,不同项目标识不一样,r标识该母盘镜像是第n次发布更新版本。0045在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像。

26、和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:使用Qemu构建模拟芯片调测主机的前端仿真环境,并按照项目开发的需求安装Linux操作系统及所需的编辑、编译、运行和测试软件。0046制作芯片仿真环境前端母盘镜像文件。使用Qemu构建模拟芯片调测主机的前端仿真环境,主要包含两部分,Qemu提供的芯片仿真前端接口和一套Linux操作系统,其中芯片仿真前端接口主要是为了和后端仿真的芯片通信,在具体实现时与仿真的芯片类型密切相关,Linux操作系统是为芯片驱动开发提供的必要仿真环境。前端母盘镜像系统命名为:OriginFrontEnd_r.run,其中OriginFrontEnd。

27、标识是前端原始镜像,后续创建新的仿真环境的时候会被具体的仿真环境标识ID替换,标识具体的项目,r标识该母盘前端镜像是第n次发布更新版本。按照项目开发的需求安装Linux操作系统及所需的编辑、编译、运行、测试软件。0047在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:配置NIS客户端以正常和NIS服务器通信,并修改配置文件以具有访问项目NFS共享的功能。0048配置Linux系统默认启动系统SSH、NFS、rclocal、NIS等服务。配置NIS Client,使仿真系统可以和NIS服务器正常通信,为后续的项。

28、目资源访问授权提供用户鉴权的通路。修改系统配置文件使其具有访问项目NFS共享的能力,这样当使用仿真环境的用户通过NIS服务器提供的项目用户鉴权以后可以很方便的直接使用自己的项目资源。NIS(Network Information Service,网络信息服务)用于对网络中的多台Linux系统的帐号和密码的集中管理和维护,也就是说可以用同一个帐号登录域中的Linux系统,不需要所登录的系统中存在该帐号,所有的帐号的管理都是由NIS服务器来完成的。鉴权:是指验证用户是否拥有访问系统的权利。本发明实施例的鉴权包括两个方面:用户鉴权,网络对用户进行鉴权,防止非法用户占用网络资源;网络鉴权,用户对网络进。

29、行鉴权,防止用户接入了非法的网络,被骗取关键信息。0049在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:修改启动脚本和网络配置文件以具有根据项目规则自动配置MAC及IP的能力,并在所述启动脚本中设置心跳任务。0050修改系统的启动脚本和网络配置文件使其具有根据项目规则自动配置MAC及IP的能力,避免在复用该系统镜像拷贝的时候网络冲突。自动配置的IP具有项目相关的规则,根说明书5/10 页8CN 116610331 A8据项目人力多少可以选择使用IPv4或者IPv6网络配置,如果项目使用仿真环境的人员较少可以。

30、使用相对简单的IPv4网络地址:.;如果项目使用仿真环境的人员较多或者需要更多更丰富的语义标识则可以选择表达能力更强的IPv6网络地址:fe80:。仿真环境的网络配置里边有明确的项目标识和人员标识,同时仿真环境配置了NIS服务,此时项目管理可以根据网络标识中的项目标识和人员标识结合NIS服务器完成该仿真环境的项目资源鉴权。当项目资源的鉴权通过以后使用该仿真环境的用户即可访问相应的项目资源。仿真系统配置心跳服务,在系统的启动脚本里边拉起一个系统心跳任务,默认周期性对外发送心跳消息,仿真系统的前端和后端之间也默认启用心跳同步,将此心跳和系统心跳任务合并,这样不管是前端还是后端异常均可以被有效监控。。

31、在部署仿真环境的服务器主机上有芯片仿真环境的心跳监控服务,当监控到仿真环境异常可以自动处理。0051在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:在后端仿真环境中加载最简的固件的二进制文件,并响应于所述二进制文件正常启动和运行,关闭前后端母盘系统。0052仿真系统前端环境配置完成,接着配置后端母盘镜像系统环境,后端的仿真实现和芯片的硬件架构设计密切相关,后端仿真环境主要给固件开发及架构验证使用,后端仿真环境会加载一个默认最简的固件的二进制文件,在后端母盘系统制作时会使用一个默认的固件二进制版本确保后端的启动。

32、和运行是正常的。当后端环境配置完成以后,确认前后端环境均正常以后则重启仿真系统确认该系统可正常启动及使用,然后正常关闭前后端母盘系统。后端母盘镜像系统命名为:OriginBackEnd_r.run,其中OriginBackEnd标识是后端原始镜像,后续创建新的仿真环境的时候会被具体的仿真环境标识ID替换,标识具体的项目,r标识该后端母盘镜像是第n次发布更新版本。0053创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在。响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝。0054用户创建一套新的仿真。

33、环境。此时会根据仿真系统的命名规则检测指定的仿真环境系统镜像是否已经存在,如果存在且通过系统镜像名称判断该仿真环境和母盘镜像属于同一个发布版本则直接拉起已存在的仿真环境系统,如果不存在或者通过系统镜像名称判断该仿真环境和母盘镜像不属于同一个发布版本则创建一份原始母盘镜像的拷贝,创建镜像拷贝的方式与原始母盘镜像具体实现相关,可以是基于母盘镜像文件的完全拷贝也可以是基于母盘镜像新拉起的一套二进制程序。新建的母盘镜像拷贝将会被命名为:_.img,该新建拷贝同时包括原始完整镜像中的前端镜像和后端镜像两部分。仿真环境编号按照系统已有的仿真环境数量顺序递增,每个项目的原始母盘镜像编号默认为1,后续新建环境。

34、编号依次递增,项目名称ID为用户传入标识,n从项目发布的原始镜像的名字中获取。0055在所述完整芯片软件仿真环境母盘镜像的拷贝中启动仿真环境对应的服务。说明书6/10 页9CN 116610331 A90056新建仿真环境启动以后自动执行rclocal服务,系统配置脚本会按照传入的项目标识、用户标识等有规则的关键标识组成该新建仿真环境的MAC和IP网络地址并配置给当前仿真环境并使其立即生效,同时自动修改该仿真环境的网络配置文件,后续该仿真环境即使重启或者关机以后重新拉起也不会影响网络配置。Linux中的rclocal服务是一个开机自动启动的系统服务,调用开发人员或系统管理员编写的可执行脚本或命。

35、令的,它的启动顺序是在系统所有服务加载完成之后执行。0057在一些实施方式中,方法还包括:响应于所述新的仿真环境启动,按照项目标识和用户标识组成所述新的仿真环境的MAC和IP网络地址并配置给当前仿真环境。0058在一些实施方式中,方法还包括:响应于所述新的仿真环境启动,启动NFS服务和NIS服务,并通过所述NFS服务挂载项目资源服务器共享的项目资源目录,通过所述NIS服务进行用户鉴权。0059仿真环境启动以后,NFS服务会自动启动,由于IP是按照项目规则组成的,仿真环境前端操作系统的网络和项目资源服务器属于同一网段,仿真环境通过NFS服务自动挂载项目资源服务器共享的项目资源目录,但是要想访问这。

36、些资源还需要通过NIS服务器提供的用户账户的项目鉴权才可以。仿真环境启动以后,NIS服务也会自动启动,环境的使用者使用自己的账户和密码登陆仿真系统,该仿真系统会和NIS服务器通信进行用户鉴权,如果鉴权通过,则用户就可以顺利的访问项目共享的资源。此时用户就可以在该仿真环境进行代码获取、编译、运行、测试、代码提交的完整操作。0060服务的启动主要是前端环境的使用,后端模拟的是整个芯片实现,配置相对固定,由于前后端是独立的部分所以在启动前端的时候可以同时拉起后端,前后端有心跳同步机制,可以保证仿真环境启动的一致性,不会出现某一部分启动失败而导致仿真环境异常。后端环境主要给固件开发测试使用,研发人员可。

37、以在前端环境提供的Linux系统里边获取、编辑、编译固件代码,通过单独升级后端固件版本来调测。仿真系统删除时普通删除仅删除该用户与仿真环境的索引关系,使用彻底删除的功能时不仅会删除用户与仿真环境的索引关系,同时还会删除对应的仿真环境的系统镜像拷贝。0061仿真系统项目资源鉴权自动化管理服务:仿真系统后台运行定时服务在设置的固定时间会自动更新域账户以及项目访问权限到本地,在检测到有相关更新后会自动退出该用户登录的终端,强制用户重新登陆,这样可以及时同步用户访问权限,便于项目资源的鉴权自动化管理。0062仿真系统自动化异常处理服务:在仿真系统所在的服务器后台运行心跳监测服务,当检测到某个仿真环境心。

38、跳丢失以后将会自行杀掉已经崩溃的仿真环境,仿真环境的用户只需要重新拉起一套新的仿真环境继续自己的工作,不用关心异常的仿真环境的处理,仿真环境所在的服务器系统会自动杀掉异常的仿真环境并回收相关资源。0063本发明实施例可以和VCS芯片验证结合,给芯片RTL验证提供更完善的测试验证环境。本发明实施例使用的开源仿真工具为Qemu和Gem5,但是并不限于这些具体工具,这些开源工具只是实现该系统的一种实例而已。0064需要特别指出的是,上述部署芯片软件仿真环境的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于部署芯片软件仿真环境的方法也应当属于本发明的保护范。

39、围,并且不应将本发明的保护范围局限在实施例说明书7/10 页10CN 116610331 A10之上。0065基于上述目的,本发明实施例的第二个方面,提出了一种部署芯片软件仿真环境的系统。如图4所示,系统200包括如下模块:镜像模块,配置用于根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像;环境模块,配置用于创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在;创建模块,配置用于响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝;以及服务模块,。

40、配置用于在所述完整芯片软件仿真环境母盘镜像的拷贝中启动仿真环境对应的服务。0066在一些实施方式中,所述镜像模块配置用于:使用Qemu构建模拟芯片调测主机的前端仿真环境,并按照项目开发的需求安装Linux操作系统及所需的编辑、编译、运行和测试软件。0067在一些实施方式中,所述镜像模块配置用于:配置NIS客户端以正常和NIS服务器通信,并修改配置文件以具有访问项目NFS共享的功能。0068在一些实施方式中,所述镜像模块配置用于:修改启动脚本和网络配置文件以具有根据项目规则自动配置MAC及IP的能力,并在所述启动脚本中设置心跳任务。0069在一些实施方式中,所述镜像模块配置用于:在后端仿真环境中。

41、加载最简的固件的二进制文件,并响应于所述二进制文件正常启动和运行,关闭前后端母盘系统。0070在一些实施方式中,系统还包括网络模块,配置用于:响应于所述新的仿真环境启动,按照项目标识和用户标识组成所述新的仿真环境的MAC和IP网络地址并配置给当前仿真环境。0071在一些实施方式中,系统还包括第二服务模块,配置用于:响应于所述新的仿真环境启动,启动NFS服务和NIS服务,并通过所述NFS服务挂载项目资源服务器共享的项目资源目录,通过所述NIS服务进行用户鉴权。0072基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算。

42、机指令,指令由处理器执行以实现如下步骤:S1、根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像;S2、创建新的仿真环境并判断所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中是否已经存在;S3、响应于所述新的仿真环境在所述完整芯片软件仿真环境母盘镜像中不存在,则创建所述完整芯片软件仿真环境母盘镜像的拷贝;以及S4、在所述完整芯片软件仿真环境母盘镜像的拷贝中启动仿真环境对应的服务。0073在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:使用Qemu构建。

43、模拟芯片调测主机的前端仿真环境,并按照项目开发的需求安装Linux操作系统及所需的编辑、编译、运行和测试软件。0074在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:配置NIS客户端以正常和NIS服务器通信,并修改配置文件以具有访问项目NFS共享的功能。说明书8/10 页11CN 116610331 A110075在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:修改启动脚本和网络配置文件以具有根据项目规则自动配置MAC及IP。

44、的能力,并在所述启动脚本中设置心跳任务。0076在一些实施方式中,所述根据模拟芯片开发调测主机的前端母盘系统镜像和仿真芯片板卡的后端母盘系统镜像生成完整芯片软件仿真环境母盘镜像包括:在后端仿真环境中加载最简的固件的二进制文件,并响应于所述二进制文件正常启动和运行,关闭前后端母盘系统。0077在一些实施方式中,步骤还包括:响应于所述新的仿真环境启动,按照项目标识和用户标识组成所述新的仿真环境的MAC和IP网络地址并配置给当前仿真环境。0078在一些实施方式中,步骤还包括:响应于所述新的仿真环境启动,启动NFS服务和NIS服务,并通过所述NFS服务挂载项目资源服务器共享的项目资源目录,通过所述NI。

45、S服务进行用户鉴权。0079如图5所示,为本发明提供的上述部署芯片软件仿真环境的计算机设备的一个实施例的硬件结构示意图。0080以如图5所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。0081处理器301和存储器302可以通过总线或者其他方式连接,图5中以通过总线连接为例。0082存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的部署芯片软件仿真环境的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现。

46、部署芯片软件仿真环境的方法。0083存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据部署芯片软件仿真环境的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。0084一个或者多个部署芯片软件仿真环境的方法对应的计算机指令30。

47、3存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的部署芯片软件仿真环境的方法。0085执行上述部署芯片软件仿真环境的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。0086本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行部署芯片软件仿真环境的方法的计算机程序。0087如图6所示,为本发明提供的上述部署芯片软件仿真环境的计算机存储介质的一个实施例的示意图。以如图6所示的计算机存储介质为例,计算机可读存储介质401存储有说明书9/10 页12CN 116610331 A12被处理器执行时执行如上方法。

48、的计算机程序402。0088最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,部署芯片软件仿真环境的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。0089以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法。

49、权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。0090应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。0091上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。0092本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到。

50、的存储介质可以是只读存储器,磁盘或光盘等。0093所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。说明书10/10 页13CN 116610331 A13图1说明书附图1/4 页14CN 116610331 A14图2说明书附图2/4 页。

展开阅读全文
内容关键字: 部署 芯片 软件 仿真 环境 方法 系统 设备 存储 介质
关于本文
本文标题:部署芯片软件仿真环境的方法、系统、设备和存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/14332379.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1 
 


收起
展开