[发明专利]CPU验证仿真管理实现方法及系统在审
申请号: | 202111373434.2 | 申请日: | 2021-11-19 |
公开(公告)号: | CN114218024A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 郑丰翔;张炜;余红斌 | 申请(专利权)人: | 广东赛昉科技有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22;G06F11/26 |
代理公司: | 上海邦德专利代理事务所(普通合伙) 31312 | 代理人: | 梁剑 |
地址: | 528300 广东省佛山市顺德*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cpu 验证 仿真 管理 实现 方法 系统 | ||
1.一种CPU验证仿真管理实现系统,其特征在于,包括
public domain,用于所有项目共用,是工具的公共部分,包括Global variablemanager、Environment variable manager、project manager、flow manager、testsmanager、jobs manager、rgr list manager及summary manager;
project domain,用于定义proj.vt文件,是每个项目独立的部分,为项目定制个性化功能,并由每个项目自定义实现。
2.根据权利要求1所述的一种CPU验证仿真管理实现系统,其特征在于,所述Globalvariable manager,用于管理工具内用到的所有全局变量,并实现将gvars中的匹配变量名的字符串替换为变量值的功能。
3.根据权利要求1所述的一种CPU验证仿真管理实现系统,其特征在于,所述Environment variable manager,用于管理工具内的环境变量,包括系统环境变量和vtpath,其中系统环境变量会在执行每个job之前,将其配置到系统中,vt path是定义vt工具内部的查找路径列表。
4.根据权利要求1所述的一种CPU验证仿真管理实现系统,其特征在于,所述projectmanager,用来管理多个项目配置;所述flow manager,用来管理不同流程的行为;所述tests manager,用来管理当前项目下的所有用例;所述jobs manager,用来管理需要运行的jobs,支持单进程执行,本地多进程执行,lsf多进程执行。
5.根据权利要求1所述的一种CPU验证仿真管理实现系统,其特征在于,所述rgr listmanager,用来管理所有回归列表;所述summary manager,用来统计每次回归的结果和每天用例运行的状态。
6.根据权利要求5所述的一种CPU验证仿真管理实现系统,其特征在于,所有平台都包括sanity的回归列表,每个平台有自己需要定义的回归列表,所有列表都由所述rgr listmanager进行管理。
7.一种CPU验证仿真管理实现方法,所述方法被执行时使用如权利要求1-6任一项所述的CPU验证仿真管理实现系统,其特征在于,所述方法定义了单进程执行、本地多进程执行和lsf多任务执行。
8.根据权利要求7所述的一种CPU验证仿真管理实现方法,其特征在于,所述单进程执行是在本地服务器启动一个进程,来运行所有命令,如果需要运行多个用例,就必须串行运行,等待前一个运行完再运行后一个,并且会把所有的输出都打印到屏幕上,并通过调用subprocess.Popen和poll函数完成;
所述lsf多任务执行,是在任务数达到一定数量,一台服务器已经无法满足的情况下,需要多台服务器共同执行,这种模式下,vt会调用lsf共同完成任务的管理。
9.根据权利要求7所述的一种CPU验证仿真管理实现方法,其特征在于,所述本地多进程执行,是在本地服务器同时启动多个进程,同时启动进程的个数可以在运行时的参数指定,假设为N,其运行的流程如下:
是否已提交最大进程数N,如果还未达到最大进程数,则继续启动进程,直到达到N;
如果已经达到最大进程数,则轮询已提交的进程,判断其是否已经结束或timeout,如果已经结束或timeout,则将其从submit中删除;
如果没有结束则判断是否所有任务都已经结束,如果没有结束则回头继续判断是否可以提交进程;
如果所有的任务都已经结束,则返回。
10.根据权利要求7所述的一种CPU验证仿真管理实现方法,其特征在于,所述方法使用vt工具的执行时,流程如下:
解析参数,vt预定义了一些参数,比如-t指定要跑的test或group,-r指定要跑的rgr,-s指定seed,-j指定最大并行数,-l指定loop次数;
初始化proj所需的一些变量;
调用proj.vt,执行项目相关初始化;
调用rgr,初始化指定的rgr,得到所有test信息;
根据参数-t指定的test名字或group名字,查找所有test,得到需要执行的test list;
根据参数-l指定的,将test复制loop次;
找到要执行的test所有需要的flow,并初始化;
产生要运行的jobs;
运行所有flow的jobs;
统计该次执行的结果;
退出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东赛昉科技有限公司,未经广东赛昉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111373434.2/1.html,转载请声明来源钻瓜专利网。