一种基于Python的仿真日志分析方法与流程

文档序号:21723827发布日期:2020-08-05 01:14阅读:737来源:国知局
一种基于Python的仿真日志分析方法与流程

本发明涉及芯片仿真验证技术,具体涉及一种基于python的仿真日志分析方法。



背景技术:

随着应用需求的不断升级,芯片的功能也在不断增加,各种应用场景下的配置,使得所需仿真激励的数量呈指数级增长。

验证人员需要对每一个日志内容进行处理,查找和筛选出错误、报警等信息进行确认,以保证整个回归的仿真正确无误,日趋庞大的仿真日志内容给验证资源和验证进度带来了挑战。



技术实现要素:

本发明解决的技术问题是:提供一种基于python的仿真日志分析方法,只需要给出仿真日志的存放路径,即可自动完成对日志文件的分析和有效信息的提取,生成结果统计报告,提高验证人员分析仿真日志的效率。

本发明采用的技术方案是:一种基于python的仿真日志分析方法,其特征在于,包括如下步骤:

s1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;

s2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;

s3)分析组件一对步骤s2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果等信息的嵌套字典[d1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[d2];

s4)分析组件二根据步骤s3)生成的字典[d2]和步骤s1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[d3];

s5)概要报告统计组件根据步骤s3)生成的字典[d1],格式化生成概要报告的第一部分,根据步骤s4)生成的字典[d3],格式化生成概要报告的第二部分;

s6)详细报告统计组件根据步骤s3)生成的字典[d2],以及步骤s4)生成的字典[d3],格式化生成各模块仿真日志的详细报告;

所述步骤s3)分析组件一对仿真日志的分析处理具体包括如下步骤:

s301)遍历权利要求1里步骤s2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件等信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[d1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[d2];

s302)检索步骤s301)里子项所指向仿真日志的内容,将仿真结果更新到步骤s301)中创建的字典[d1],根据不同的仿真结果将日志的路径信息更新到步骤s301)中创建的字典[d2],如果出现权利要求1中步骤s1)所配置的关键信息,将该日志的路径更新到步骤s301)中创建的字典[d2];

所述步骤s4)分析组件二对仿真日志的分析处理具体包括如下步骤:

s401)创建用于保存包含有关键字的各类型日志信息和日志路径详细信息的字典[d3],对权利要求1中步骤s3)生成的字典[d2]作进一步分析,对字典[d2]中各模块包含有权利要求1中步骤s1)所配置关键信息的结果类别中的所有日志,进行遍历检索;

s402)检索时,权利要求1中步骤s1)设置的日志内容中无需分析的屏蔽区间不做分析,其余的日志内容进行分析,将包含有权利要求1中步骤s1)所配置的关键信息的行内容进行处理后,查询步骤s401)创建的字典[d3]的键中是否有该类型信息,更新相应信息到字典[d3];

本发明的优点在于:

1)只需要给出仿真日志的存放路径,即可自动完成对仿真日志的分析和有效信息的提取,并生成预期格式的仿真报告,供验证人员分析,提高了验证人员分析仿真日志的效率,有效的缩短了项目开发周期;

2)关键信息列表及日志内容中无需分析的屏蔽区间利用了python的列表和字典的特性,可扩展性强;

3)对仿真日志的分析采用层次化、过滤式分析,既提高了日志分析的效率,又增加了分析的可扩展性,可以根据技术的发展和项目的不同,增加更多的分析组件;

附图说明

图1是本发明的系统流程示意图。

图2是本发明权利要求1里步骤s3)的流程示意图。

图3是本发明权利要求1里步骤s4)的流程示意图。

具体实施方式

下面结合附图和具体实施对本发明作进一步说明。

随着应用需求的不断升级,芯片的功能也在不断增加,各种应用场景下的配置,使得所需验证激励的数量呈指数级增长,仿真结束后,庞大数据量的仿真日志分析,给验证人员带来了挑战,本发明提出一种基于python的仿真日志分析方法,解决了这一问题,提高了验证的效率。

如图1所示,该分析方法包括文件列表组件、分析组件一、分析组件二、概要报告统计组件、详细报告统计组件,具体步骤如下:

s1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;

s2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;

s3)分析组件一对步骤s2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果等信息的嵌套字典[d1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[d2],如图2,具体步骤如下;

s301)遍历步骤s2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件等信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[d1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[d2];

s302)检索步骤s301)里子项所指向仿真日志的内容,将仿真结果更新到步骤s301)中创建的字典[d1],根据不同的仿真结果将日志的路径信息更新到步骤s301)中创建的字典[d2],如果出现步骤s1)所配置的关键信息,将该日志的路径更新到步骤s301)中创建的字典[d2];

s4)分析组件二根据步骤s3)生成的字典[d2]和步骤s1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[d3],如图3,具体步骤如下:

s401)创建用于保存包含有关键字的各类型日志信息和日志路径详细信息的字典[d3],对步骤s3)生成的字典[d2]作进一步分析,对字典[d2]中各模块包含有步骤s1)所配置关键信息的结果类别中的所有日志,进行遍历检索;

s402)检索时,步骤s1)设置的日志内容中无需分析的屏蔽区间不做分析,其余的日志内容进行分析,将包含有步骤s1)所配置的关键信息的行内容进行处理后,查询步骤s401)创建的字典[d3]的键中是否有该类型信息,如果没有,更新该类型信息及日志路径到字典[d3],如果有,只更新日志路径到字典[d3];

s5)概要报告统计组件根据步骤s3)生成的字典[d1],格式化生成概要报告的第一部分,该部分主要呈现仿真的结果的数据,如仿真总数、仿真通过的占比、仿真失败的占比、仿真超时的占比、不同仿真条件下各仿真结果的占比等。根据步骤s4)生成的字典[d3],格式化生成概要报告的第二部分,该部分主要呈现仿真日志出现步骤s1)所设置关键信息的总数和分类处理后类型的总数,以及全部类型的具体信息。该报告可以让验证人员对待分析的仿真日志快速的有一个整体的判断。

s6)详细报告统计组件根据步骤s3)生成的字典[d2],以及步骤s4)生成的字典[d3],格式化生成各模块仿真日志的详细报告,给部分主要呈现具体模块下,仿真结果的情况,以及在该模块出现步骤s1)所设置关键信息的具体信息所在哪些日志的具体位置的情况。该报告便于验证人员快速的定位待确认仿真日志的问题所在。

以上所述仅是本发明的优选实现方式,应当指出在不脱离本发明构思的前提下,可以做出的若干改进和扩展,这些改进和扩展也应视为本发明保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1