报错信息处理方法、装置、设备、存储介质和程序产品与流程
1.本技术属于电子设计自动化领域,尤其涉及一种报错信息处理方法、装置、设备、存储介质和程序产品。
背景技术:
2.电子设计自动化(electronic design automation,eda)软件是指利用计算机辅助设计(cad),来完成超大规模集成电路(vlsi)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计软件。
3.为了记录系统运行过程中的各种报错信息,如:崩溃、错误或警告等信息,在eda软件里通常会使用系统日志负责记录程序运行方面的事件,如果程序在运行过程中检测到崩溃,错误,警告等信息时,日志系统将记录上述报错信息出现的位置,发生的对象,发生的时间,造成的原因等关键信息,具体的,日志系统大致分为三类:应用日志,系统日志以及安全日志,日志系统通常包含:日志收集,日志传输,日志存储,日志分析,错误报告五大模块。用户可以通过查询日志获取系统运行状态,系统运维和开发人员也可以通过日志了解运行系统中发生的实时信息、检查配置过程中的错误及错误发生的原因。
4.已有的eda软件使用日志来记录遇到的报错信息:在读入芯片设计文件以及相关的库文件并启动系统后,系统根据每一条检测项验证设计文件中的内容,验证中遇到错误,警告等信息立即记录到日志文件中,直到系统运行完成。然而,已有的eda软件难以帮助用户出产生错误的根本原因,在此之后,用户需要查询系统生成的日志文件才能发现设计出现的问题,例如,根据时间顺序逐一浏览日志中记录的每一条信息进行信息的查询,或者是使用grep、awk和wc等linux命令能实现检索和统计,效率较低,用户难以通过日志文件到报错对象更加精准的问题点,无法便捷查询目标信息,对于要求更高的查询、排序和统计,特别是在排查错误的过程中需要产生错误信息的相关对象的更详细的信息等要求依然使用这样的方法难免有点力不从心。
5.因此,eda软件需要一种报错信息处理方法来帮助芯片设计者尽早发现问题,以向用户提供设计错误信息帮助尽早发现问题并改进芯片设计,减少由于设计偏差带来的时间成本和经济成本。
技术实现要素:
6.本技术实施例提供一种报错信息处理方法、装置、设备、存储介质和程序产品,能够帮助芯片设计者尽早发现芯片设计问题并改进芯片设计,减少由于设计偏差带来的时间成本和经济成本。
7.第一方面,本技术实施例提供一种报错信息处理方法,方法包括:创建日志文件,将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,其中,每个所述验证日志信息具有一个对应的信息标识;接收用户针对所述日志文件中第一信息标识的查询请求;
响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,其中,所述对象查询结果包括查询到的对象的相关信息,所述相关信息包括名称信息、属性信息和连接对象信息中的至少一项;输出所述对象查询结果。
8.第二方面,本技术实施例提供了一种报错信息处理装置,包括:第一创建模块,用于创建日志文件,将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,其中,每个所述验证日志信息具有一个对应的信息标识;第一接收模块,用于接收用户针对所述日志文件中第一信息标识的查询请求;第一查询模块,用于响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,其中,所述对象查询结果包括查询到的对象的相关信息,所述相关信息包括名称信息、属性信息和连接对象信息中的至少一项;第一输出模块,用于输出所述对象查询结果。
9.第三方面,本技术实施例提供了一种报错信息处理设备,设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行所述计算机程序指令时实现如第一方面所述的报错信息处理方法。
10.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如第一方面所述的报错信息处理方法。
11.第五方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面所述的报错信息处理方法。
12.在本技术实施例中,日志文件记录有eda软件在运行过程中产生的验证日志信息,以及每个验证日志信息对应的信息标识,用户可以通过日志文件中的第一信息标识,查询到第一信息标识对应的第一验证日志信息中的对象的相关信息,相关信息包括名称信息、属性信息和连接对象信息中的至少一项。如此,可以帮助用户尽早发现芯片设计问题并改进芯片设计,减少由于设计偏差带来的时间成本和经济成本。
附图说明
13.图1是本技术实施例提供的报错信息处理方法的流程图之一;图2是本技术实施例提供的报错信息处理方法的流程图之二;图3是本技术实施例提供的报错信息处理方法的数据流图;图4是本技术实施例提供的报错信息处理设备的结构图之一;图5是本技术实施例提供的报错信息处理方法的流程图之三;图6是本技术实施例提供的报错信息处理装置的结构图;图7是本技术实施例提供的报错信息处理设备的结构图之二。
具体实施方式
14.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
15.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
16.下面结合附图,通过一些实施例及其应用场景对本技术实施例提供的报错信息处理方法进行详细地说明。
17.参见图1,图1是本技术实施例提供的报错信息处理方法的流程图之一。如图1所示,报错信息处理方法可以包括以下步骤:步骤101、创建日志文件,将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,其中,每个所述验证日志信息具有一个对应的信息标识。
18.具体实现时,eda软件在运行过程中可以验证芯片设计文件以及相关的库文件中的内容,得到验证日志信息。验证日志信息可以包括验证中遇到的崩溃、错误、警告等信息。验证日志信息可以记录有上述信息(崩溃、错误或警告等)出现的位置,发生的对象,发生的时间,造成的原因等。
19.在本技术实施例中,每个验证日志信息具有一个对应的信息标识(message id,msg id)。每个验证日志信息对应的信息标识具有唯一性,且可查询。如此,用户可以通过信息标识查询验证日志信息中的对象的相关信息,具体参见下述描述。
20.一些实施例中,电子设计自动化软件为以下任一项:布局布线工具、硬件仿真加速工具、时序分析工具、功耗验证工具、功耗分析工具、物理验证工具、形式验证工具、逻辑仿真工具、逻辑综合工具。
21.步骤102、接收用户针对所述日志文件中第一信息标识的查询请求。
22.第一信息标识可以为日志文件中的任一个信息标识。
23.一些实施例中,所述接收用户针对所述日志文件中第一信息标识的查询请求,包括:接收用户对所述日志文件中的第一内容的选取操作;响应于所述选取操作,确定接收到用户对所述日志文件中第一信息标识的查询请求,其中,所述第一信息标识为所述第一内容对应的信息标识。
24.具体实现时,用户可以阅读日志文件,并从日志文件中选取感兴趣的内容,即第一内容,第一内容可以为第一验证日志信息中的部分或全部内容,第一验证日志信息为第一信息标识对应的验证日志信息。如此,可以将第一内容对应的信息标识确定为第一信息标
识,并视接收到用户对第一信息标识的查询请求。
25.可见,在此实施例中,若接收到用户对日志文件中第一内容的选取操作,即可视接收到用户对第一内容对应的信息标识的查询请求。第一信息标识即为第一内容对应的信息标识,第一信息标识是用户在阅读日志文件后自定义选取的。
26.另一些实施例中,步骤102具体表现为:接收到用户输入的第一信息标识。
27.在此实施例中,若接收到用户输入的第一信息标识,即可以视接收到用户针对所述第一信息标识的查询请求。第一信息标识是用户自主输入的。
28.在本技术上述实施例中,用户可根据需求自定义查询与此对象相关对象的信息,由此用户可以充分发挥主观能动性快速定位问题所在,可以方便用户进行高效的问题追踪和分析。
29.步骤103、响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,其中,所述对象查询结果包括查询到的对象的相关信息,所述相关信息包括名称信息、属性信息和连接对象信息中的至少一项。
30.为方便描述,以下记第一验证日志信息中的对象为第一对象。
31.在接收到所述查询请求之后,可以执行对第一对象的查询操作,得到第一对象的名称信息、属性信息和连接对象信息中的至少一项。
32.以下对验证日志信息中的对象进行说明。
33.一些实施例中,所述对象可以包括:数字芯片设计中的操作对象。进一步地,所述数字芯片设计中的操作对象可以但不仅限于包括:连线(net)、模块(cell)、引脚(pin)、 端口 (port)。
34.另一些实施例中,所述对象可以包括:统一低功耗格式标准的对象。进一步地,所述统一功耗格式标准的对象可以但不仅限于包括以下至少一项:功耗域(power domain)、电源线(supply nets)、电源节点之间的连接关系、隔离电路(isolation circuits)、电平转换电路(level-shifting circuits)以及状态保持电路(state retention circuits)。
35.以下对对象的属性信息进行说明。
36.一些实施例中,所述属性信息可以但不仅限于包括以下至少一项:层次结构(scope)信息、网表(owner)信息、网表实例(view)信息。换言之,对象的属性信息包括该对象的scope、owner、view等信息。如此,可以通过对象的属性信息提供对象与其他对象的关系信息,确定第一对象的关联对象。
37.以下对对象的连接对象信息进行说明。
38.一些实施例中,所述连接对象信息可以但不仅限于包括连接对象的名称信息和属性信息。
39.为方便描述,以下将第一对象的连接对象称为第二对象。如此,可以通过对象的连接对象信息提供对象的连接对象与其他对象的关系信息,确定第二对象的关联对象。
40.在本技术实施例中,用户可以通过第一信息标识,查询到第一对象的信息、第一对象的关联对象的信息和/或第二对象的关联对象的信息,如此,可以帮助用户快速到芯片设计问题,提高芯片设计问题的定位速率。
41.为方便理解,示例说明如下:电子设计自动化软件的日志文件中记录的其中一个原始的验证日志信息为:2022-10-19 16:26:51: warn: (isounmatched): pd2_iso2_0_
upf_iso:/test_data/check/no_drive,其中,信息标识为isounmatched,表示isolation类型的模块(cell)存在未能匹配的问题,pd2_iso2_0_upf_iso是cell这个对象的名称信息。
42.本实施例将该验证日志信息作为第一验证日志信息,本实施例以上述验证日志信息中的信息标识“isounmatched”作为第一信息标识,响应第一信息标识查询第一验证日志信息中的对象。
43.进一步的,报错信息处理设备在接收到针对第一信息标识,即:信息标识isounmatched对应的查询请求之后,可以查询的第一信息标识对应的第一验证日志信息中的对象至少包括一下一项:对象的名称信息,例如pd2_iso2_0_upf_iso;对象的属性信息,例如pd2_iso2_0_upf_iso的powerdomain(电源域);对象的连接信息,例如:pd2_iso2_0_upf_iso所连接的net(连线)和port(端口)。这样,用户可以根据这些信息,快速定位验证日志信息中存在问题的net并提示可能的原因。
44.步骤104、输出所述对象查询结果。
45.具体实现时,对象查询结果可以写入日志文件、逗号分隔值(comma-separatedvalues,csv)文件和控制台中的至少一项,以便用户获取。
46.值得注意地是,在对象查询结果写入日志文件的场景中,对象查询结果写入的日志文件与步骤101中的日志文件可以不同,这样,用户可以通过查看该日志文件直接查询到第一对象的相关信息,从而可以提高信息查询效率。
47.一些实施例中,步骤104、输出对象查询结果的步骤具体可以包括:判断查询到的对象是否属于用户感兴趣的对象,若是则同时将对象的名称信息,以及属性信息或连接对象信息之一作为输出的对象查询结果;若不是,则将获取到的对象的名称信息作为输出的对象查询结果;其中,所述用户感兴趣的对象是用户在查看所述电子设计自动化软件报告的所述日志文件或者对象查询结果以后,根据查看的所述日志文件或对象查询结果的信息提示选取出的对象。
48.本技术实施例的报错信息处理方法,日志文件记录有eda软件在运行过程中产生的验证日志信息,以及每个验证日志信息对应的信息标识,用户可以通过日志文件中的第一信息标识,查询到第一信息标识对应的第一验证日志信息中的对象的相关信息,相关信息包括名称信息、属性信息和连接对象信息中的至少一项。如此,可以帮助用户尽早发现芯片设计问题并改进芯片设计,减少由于设计偏差带来的时间成本和经济成本。
49.本技术实施例的报错信息处理方法,通过向用户报告带有丰富信息且可操作的对象查询结果,有效帮助用户准确定位到芯片设计问题之所在,便于分析问题原因,降低了用户直接查询日志文件内容的阅读成本,方便工具开发人员快速定位和诊断工具本身的问题,避免多次重复耗时长久的试运行,提高查询和问题分析效率;对象查询结果可以补充或替代系统缺省情况下仅有的日志输出,用户可以对其内容及格式进行自行选择及组织,这种更为定向化和丰富的输出信息有助于用户快速到错误的源头,并且这个自定义查询方案对数据对象具有灵活的筛选和追溯能力,可以大大缩小日志文件的大小,提供针对性极强的信息,可以在很大程度上提高查错效率。
50.值得注意地是,本技术实施例并不限定查询第一对象的相关信息的具体实现方
式,任何可实现对第一对象的相关信息的查询的实现方式均可落入本技术实施例的保护范围之内。如:一些实施例中,设备可以按照预先定义的查询规则查询第一对象,得到第一对象的相关信息,查询规则可以用于查询各个对象的相关信息。
51.另一些实施例中,所述响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,可以包括:响应于所述查询请求,执行所述第一信息标识对应的第一目标函数,得到对象查询结果;其中,所述第一目标函数用于查询所述第一验证日志信息中的对象。
52.目标函数可以由用户基于自身需求注册,即目标函数可以由用户自定义。本技术并不限定所述目标函数的具体表现形式,在一种可选的实现方式中,目标函数可以为工具命令语言程序(tools command language procedure,又称为“tcl proc”),但不仅限于此。
53.在此实施例中,对象查询结果可以通过执行第一信息标识对应的第一目标函数得到,第一目标函数的执行结果即对象查询结果。
54.所述第一目标函数可以预先接收获取,或,预先注册获取,具体可根据实际需求决定,本技术实施例对此不做限定。对于后者,在一些实施例中,所述响应于所述查询请求,执行所述第一目标函数,得到对象查询结果之前,所述方法还包括:获取所述第一信息标识对应的第一函数脚本;根据所述第一信息标识,通过所述电子设计自动化软件的可扩展接口对所述第一函数脚本进行注册,得到所述第一目标函数;建立所述第一目标函数与所述第一信息标识之间的对应关系。
55.在本实施例中,用户可以浏览日志文件中记录的各验证日志信息,若对某验证日志信息感兴趣,可利用该验证日志信息对应的信息标识编写函数脚本,以查询该验证日志信息中对象的相关信息,达到追根溯源的效果。
56.具体实现时,在获取到第一信息标识对应的第一函数脚本之后,可以利用所述第一信息标识,通过eda软件的可拓展接口对所述第一函数脚本进行注册,以创建得到所述第一目标函数,并建立所述第一目标函数与所述第一信息标识之间的对应关系。
57.这样,在接收到用户对第一信息标识的查询请求之后,可以调用所述第一目标函数,查询第一验证日志信息中对象的相关信息,提高信息查询效率。
58.在目标函数为tcl proc函数的情况下,目标函数可以使用tcl命令(tcl command)注册函数脚本得到。
59.tcl命令是电子设计自动化软件为用户提供的一种控制系统的方式,用户可以通过tcl语言对系统发出命令。tcl命令可以包括以下至少一项:use_tcl_proc:可以用于根据message_id注册tcl函数;set_param:可以用于更新配置信息;get_param:可以用于获取配置信息;check_upf:可以用于发出验证命令;issue_message: 可以 用于输出与msg_id 对应的信息;set_msg_severity
ꢀ‑
message_id abc123
ꢀ‑
severity_level log_info :可以用
于根据用户给定的msg_id和报错严重等级将相应的报错信息设置为用户给定的报错等级;get_message_help-message_idabc123:可以用于根据用户输入的msg_id查询到此条报错信息的帮助信息。
60.诸如以上等提供给用户的对系统的操作命令。电子设计自动化软件可以根据命令进行相应的操作并且系统运行过程中的相关信息写入日志文件或者配置文件。
61.一种可选实现方式中,接收用户使用所述电子设计自动化软件中的注册命令,注册或更新的所述第一信息标识对应的第一函数脚本的步骤可以使用tcl命令中的use_tcl_proc注册第一函数脚本,得到第一目标函数。
62.为方便理解,示例说明如下:在本示例中,第一函数脚本(tclprocformsgid)可以如下所示:proctclprocformsgid{msg_bodyportnfobj1}{if{[isobjofinterest$obj1]}{issuemessage(msg_body)issuemessage(“portinfoisasfollows”,obj1-》name(),obj1-》parent()-》name())}else{issuemessage($msg_body,$id,$obj1-》name())}}然后使用use_tcl_proc命令进行注册:use_tcl_procmssage_idtclprocformsgid通过以上的操作就完成了第一目标函数tclproc的创建,以及建立了第一目标函数tclproc和第一信息标识message_id的联系。
[0063]
tclprco如下所示:followingtclprocexistforportnfproctclprocformsgid{msg_bodyportnfobj1}{if{[isobjofinterest$obj1]}{issuemessage(msg_body)issuemessage(“portinfoisasfollows”,obj1-》name(),obj1-》parent()-》name())}else{issuemessage($msg_body,$id,$obj1-》name())}}tclprco的执行结果如下所示:error:31-08-2116:30seriouserrorerror:31-08-2116:30portinfoisasfollows129parent_name。其中,portinfoisasfollows为关于对象查询结果的描述信息,129为对象查询结果中的对象的名称信息,parent_name为对象查询结果中的连接对象的名称信息。
[0064]
具体实现时,可以通过多种方式获取第一函数脚本,具体说明如下:一些实施例中,所述获取所述第一信息标识对应的第一函数脚本,可以包括:1)在所述电子设计自动化软件的配置文件中存在预先定义的所述第一函数脚本的情况下,运行所述配置文件中的所述第一函数脚本;或者,2)接收用户使用所述电子设计自动化软件中的注册命令,注册或更新的所述第一信息标识对应的第一函数脚本。
[0065]
在1)中,第一函数脚预定义在eda软件的配置文件中,从eda软件的配置文件中获取。在2)中,第一函数脚本由用户使用eda软件的注册命令注册或更新得到,具体实现时,用户可以在eda软件启动时或者在eda软件完成运行后,使用注册命令use_tcl_proc注册或更新得到第一函数脚本。
[0066]
通过上述方式,可以通过多种方式获取函数脚本,丰富了函数脚本的获取方式。
[0067]
在一些实施例中,所述响应于所述查询请求,执行所述第一信息标识对应的第一目标函数,得到对象查询结果,可以包括:响应于所述查询请求,检查是否存在所述第一信息标识对应的第一目标函数;在存在所述第一目标函数的情况下,执行所述第一目标函数,得到对象查询结果;所述方法还包括:在不存在所述第一目标函数的情况下,查询所述第一信息标识对应的第一严重等级和第一详细程度;根据所述第一严重等级和所述第一详细程度,在所述日志文件中,查询所述第一验证日志信息中的信息,得到信息查询结果;输出所述信息查询结果。
[0068]
可以理解地是,对于日志文件中的各信息标识,并不一定存在对应的目标函数。因此,在本实施例中,在接收到针对日志文件中的某个信息标识的查询请求时,可以先检查是否存在该信息标识对应的目标函数,并基于该检查结果,执行相应地查询操作。
[0069]
为方便理解,可参见图2。在存在对应的目标函数的情况下,调用目标函数,利用该目标函数查询对象的相关信息。
[0070]
在不存在对应的目标函数的情况下,可以查询对应的严重等级和详细程度,之后,可以调用spdlog函数,根据对应的严重等级和详细程度从日志文件中查询对应的验证日志信息中的信息,得到信息查询结果,并输出信息查询结果。信息查询结果可以包括以下至少一项:帮助信息;验证日志信息的打印信息,如打印的次数上限等。
[0071]
通过上述方式,在接收到某信息标识的查询请求之后,可以基于是否存在该信息标识对应的目标函数的检查结果,执行相应地查询操作,从而可以提高信息查询的灵活性。
[0072]
在一些实施例中,所述将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中之前,所述方法还包括:获取json配置文件,所述json配置文件包括信息块;所述将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,包括:将电子设计自动化软件在运行过程中产生的验证日志信息按照所述信息块所规
定的格式记录到所述日志文件中;其中,所述信息块包括:格式字符串(formatted_string)字段,包括第一字段和占位符,所述第一字段用于填写验证日志信息或者对象查询结果的描述信息,所述占位符为验证日志信息中的对象进行占位;信息标识(message_id)字符串,用于填写信息标识;目标函数字符串,用于填写函数脚本。
[0073]
进一步地,每个信息对应的信息块还可以包括以下至少一项:帮助(help)字段;内部(internal)字段;最大出现限制(maxoccurrencelimit)字段;严重程度(severity)字段。
[0074]
以下对上述个字段进行说明。
[0075]
formatted_string:表示验证日志信息写入到日志文件、csv文件、以及控制台的格式控制,此条信息不仅包括验证日志信息或者对象查询结果的描述信息,也为验证日志信息中的对象进行占位。将对象的填入延迟到系统运行中,实现了验证日志信息和对象之间的解耦合,和更加灵活的信息组合。除此之外formatted_string还对报错信息的格式进行了统一,降低了用户的阅读成本。对象查询结果的描述信息可以表示用户对于对象查询结果的描述或解释。
[0076]
help:表示每一条message_id相应的帮助信息。
[0077]
internal:表示系统内部打印的信息,不显示给用户。
[0078]
maxoccurrencelimit:表示系统中一条验证日志信息打印的次数上限。
[0079]
message_id:表示每一条验证日志信息特有的信息标识符。
[0080]
severity:表示报错信息的等级。主要分为以下六个等级:log_critical:系统验证到的严重错误信息,并且不能被降低错误级别。
[0081]
log_error:系统验证到的错误信息,但是可以被用户降低错误级别到log_warning。
[0082]
log_warning:系统验证到的警告信息。
[0083]
log_info:系统在运行中的需要输出的信息。
[0084]
log_debug:当系统设置为debug模式时,输出相应的需要debug的信息。
[0085]
log_always: 系统运行中默认需要输出的信息,用于测试。
[0086]
初始化的配置文件可如下所示:{"formattedstring":"net/port is not present in the current scope : %","help":"this message is to be used when net/port is not present in the current scope","internal":"no","maxoccurrencelimit":"100","messageid":"netunkown","severity":"log_error","tclproc":""}
在上述示例中,关于netunknown这一信息标识的对象查询结果的描述信息为net/port is not present in the current scope,对象查询结果的占位符表现为%。
[0087]
一种可选实现方式中,配置文件可以为json配置文件。json配置文件可以结构化的存储验证日志信息且简单易读写,使验证日志信息的解析和查询变得方便和高效,可以直接和服务器端系统开发进行交互。json和c++(业务处理端)的交互工具可以为nhlomann,此工具具有高可靠性,交互速度快,开源且可持续维护等优势。
[0088]
在一些实施例中,所述方法还可以包括:接收用户在所述目标函数字符串中填写的所述第一函数脚本。
[0089]
如此,可以实现第一函数脚本在eda软件的配置文件中的预先定义。
[0090]
在一些实施例中,所述接收json配置文件之后,所述方法还可包括:根据所述json配置文件,创建逗号分隔值cvs文件;根据所述cvs文件,显示图形用户界面,其中,所述图形用户界面包括第一子区域和第二子区域,所述第一子区域包括至少一行,每行用于显示所述cvs文件中的一个验证日志信息对应的以下信息:严重等级、信息标识、对象查询结果、对象查询结果的绝对路径和行号;接收用户对所述至少一行中第i行的第一输入,i为正整数;响应于所述第一输入,突出显示所述第i行,并在所述第二子区域显示所述第i行的信息;接收用户对所述至少一行中第j行的对象查询结果的第二输入,j为正整数;响应于所述第二输入,显示所述第j行的对象查询结果。
[0091]
在本示例中,可以使用csv文件为图形用户界面(graphical user interface, gui)提供一个高效快捷的信息查询文件。gui直接从csv文件中抓取信息显示,为用户提供了一个验证日志信息的显示窗口,并且提供多种便捷的操作方式。
[0092]
本实施例的gui在第一子区域的第一列为信息的severity,第二列为信息的message id,第三列为对象查询结果(message),第四列为对象查询结果的绝对路径(source/relation)和行号。
[0093]
值得注意地是,在本技术实施例中,gui界面可以供用户执行多种便捷的操作方式,进一步提高信息查询效率。
[0094]
如:用户可以通过执行对第i行的第一输入,触发gui在第一子区域突出显示第i行,并在第二子区域显示第i行对应的信息。用户可以右键点击感兴趣的验证日志信息所在行后点击open in source,就可以在上方大窗口中显示该行信息,并在该行产生高亮,这样,可以让用户更加清晰地知道具体报错信息,方便用户分析设计问题。
[0095]
用户可以通过执行对第j行的对象查询结果的第二输入,触发跳转显示,或,在第二子区域显示第j行的对象查询结果。对象显示于message的单引号中。
[0096]
通过上述方式,用户可以通过与gui交互实现信息的灵活查询,从而可以进一步提高信息查询效率。
[0097]
在一些实施例中,所述方法还可以包括:在内存中创建日志数据结构;所述响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第
一验证日志信息中的对象,得到对象查询结果之后,所述输出所述对象查询结果之前,所述方法还包括:将所述对象查询结果存储至所述日志数据结构中;所述输出所述对象查询结果之前,所述方法还包括:从所述日志数据结构中读取所述对象查询结果。
[0098]
在此实施例中,可以创建日志数据结构(message data structure),日志数据结构存储在内存中。日志数据结构可以用于存储查询到的对象的相关信息。
[0099]
具体实现时,在获取到对象查询结果之后,可以将对象查询结果存储至日志数据结构中,之后,可从日志数据结构中读取对象查询结果以输出。
[0100]
通过上述方式,日志数据结构可以存储各个对象的相关信息,用户可以通过日志数据结构知晓各个对象之间的关联关系,从而可以帮助用户快速定位芯片设计问题。
[0101]
在一些实施例中,所述输出所述对象查询结果之后,所述方法还包括:接收用户输入的第二信息标识,所述第二信息标识为用户基于所述对象查询结果确定的感兴趣的关联信息标识;获取所述第二信息标识对应的第二函数脚本;根据所述第二信息标识,通过所述电子设计自动化软件的可扩展接口对所述第二函数脚本进行注册,得到第二目标函数;执行所述第二目标函数,从日志数据结构中查询所述第二信息标识对应的对象;输出查询到的所述第二信息标识对应的对象的相关信息。
[0102]
在本实施例中,用户可以查看对象查询结果,在对象查询结果的提示下,可以从日志文件中选取出与第一信息标识关联的其他感兴趣的信息标识,即第二信息标识。
[0103]
之后,可以获取第二信息标识对应的第二函数脚本,并通过eda软件的可拓展接口注册第二函数脚本,得到第二目标函数。
[0104]
之后,可以通过执行第二目标函数,从日志数据结构中查询第二信息标识对应的对象的相关信息,如此,可以帮助用户快速定位芯片设计问题,进而提高芯片设计问题的解决效率。
[0105]
为方便理解,可参见图3。在图3中,报错信息处理设备包括电子设计自动化软件的日志管理系统,日志管理系统按照json配置文件中信息块的格式将验证日志信息记录到日志文件中,并将对象查询结果存储至日志数据结构中,日志数据结构包括各个对象的相关信息,以及各个对象的关联信息。
[0106]
在获取到用户选取日志文件中的第二信息标识之后,可以获取第二信息标识对应的第二函数脚本(用户自定义),利用第二信息标识,通过tcl命令中的use_tcl_proc注册第二函数脚本,得到第二目标函数。
[0107]
之后,可以执行第二目标函数,从日志数据结构中查询第二信息标识对应的对象的相关信息,并输出查询到的信息。
[0108]
在一些实施例中,如图4所示,报错信息处理设备(也可以称为动态日志框架)可以包括以下模块: 1. 用户定义(user config,包括tcl procs和日志配置)。2. 用户数据输入(user data)。3. 用户脚本(user script)。4. tcl procs与message_id映射模块(msgid and tcl proc map)。5.系统模块(tool process)。6. 日志数据库模块(log message)。
[0109]
对于图4,上述方法实施例中查询请求可以通过user data输入。函数脚本可以通过user script输入。函数脚本的注册可以通过user config实现。信息标识和目标函数的对应关系可以存储在msgid and tcl proc map中。tool process在接收到信息标识之后,可以将信息标识输入到msgid and tcl proc map,由msgid and tcl proc map返回相应的目标函数,之后,由tool process执行目标函数,得到执行结果,并输出执行结果。
[0110]
tool process包括日志管理器(logger),电子设计自动化软件的日志管理器主要负责以下功能:加载配置信息;根据配置信息在功耗验证中生成日志信息;向日志文件、csv文件、以及控制台输出;用户使用命令“use_tcl_proc”把用户注册的tcl函数和message_id进行注册或更新,日志管理器会根据给定的message_id查询对应注册的tcl_proc;执行查询到的tcl proc;将用户所关心的信息写入日志文件、csv文件、控制台以便用户获取信息;管理log文件以及csv文件的时间戳。
[0111]
在本技术实施例中,可以采用spdlog开源工具将验证日志信息写入日志文件,spdlog是一款优秀的基于c++ 11的轻量级的日志管理库,使用时只需要引入头文件即可,与用c++开发的功耗验证系统具有天然的粘合性,无需中间件,方便且快捷。
[0112]
在本技术实施例中,每一条错误,警告等信息(也可以称为报错信息或事件)有其相应的信息id(即:message_id,简称msg_id),系统保证信息id的唯一性,且可查询,本技术实施例可以根据信息id查询到和此错误信息的发生对象。除此之外,还可以根据查到的发生对象获取该对象出现报错信息时的状态,以及其关联对象的状态。
[0113]
首先系统读入用户数据(user data):芯片设计文件(*.v),库文件(.lib),低功耗意向设计文件(.upf),根据读入的用户文件类型和用户的命令,系统(tool process)将进入对应的阶段的验证,系统将读入的用户数据解析到相应的数据结构和容器,存储在系统中。
[0114]
然后用户通过脚本或者命令的方式向验证系统发出命令进行验证,验证后系统向用户给定的日志文件输入验证日志信息(log message)。
[0115]
用户可以从日志文件中获取报错信息相关的message_id,使用注册命令use_tcl_proc, 注册对应消息的 tcl procs。这些额外的、用户自定义的查询可以通过用户自己重新组织后的内容及其格式予以输出至日志文件,以替代系统缺省情况下的日志输出。这种更为定向化和丰富的输出信息有助于用户快速到错误的源头;由于这个自定义查询方案对数据对象具有灵活的筛选和追溯能力,可以大大缩小日志文件的大小,提供针对性极强的信息,可以在很大程度上提高查错效率。
[0116]
用户可以针对性的查询系统验证中报出错误对象信息,以便快速定位错误原因。比如检测后在日志文件中发现某条net(即:对象)出现问题,因此针对此net对象查询net名字(即:对象的名称信息),net的owner,和net相连的有哪些port等信息都可以通过tcl函数脚本进行查询,用户可以根据这些与net相关对象的信息即对象查询结果进行定位和分析错误原因。
[0117]
本技术实施例从用户角度出发,充分考虑用户在查询日志时需要快速,准确定位到问题所在的需求进行改进和创新,因此本设计提供带有丰富信息且可操作的对象给用户,用户可根据需求查询与此对象相关对象的信息,由此用户可以充分发挥主观能动性快速定位问题所在,分析问题原因,提高效率,节约成本。不仅可以方便用户进行高效的问题追踪和分析,还能方便工具开发人员快速定位和诊断工具本身的问题,避免多次重复耗时长久的试运行。具体的,本设计还能方便工具开发人员快速定位和诊断工具本身的问题,避免多次重复长久耗时的试运行。
[0118]
需要说明的是,本技术实施例中介绍的多种可选的实施方式,在彼此不冲突的情况下可以相互结合实现,也可以单独实现,对此本技术实施例不作限定。
[0119]
如图5所示,开发者(developer)可以初始化日志文件的json文件,用户可以使用tcl命令注册得到tcl proc。之后,电子设计自动化软件的日志管理器可以执行目标函数,得到执行结果,并将执行结果输入日志文件、cvs文件和控制台,通过cvs文件显示gui。
[0120]
基于上述实施例提供的报错信息处理方法,相应地,本技术还提供了报错信息处理装置的具体实现方式。请参见以下实施例。
[0121]
参见图6,本技术实施例提供的报错信息处理装置可以包括:第一创建模块701,用于创建日志文件,将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,其中,每个所述验证日志信息具有一个对应的信息标识;第一接收模块702,用于接收用户针对所述日志文件中第一信息标识的查询请求;第一查询模块703,用于响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,其中,所述对象查询结果包括查询到的对象的相关信息,所述相关信息包括名称信息、属性信息和连接对象信息中的至少一项;第一输出模块704,用于输出所述对象查询结果。
[0122]
在一些实施例中,第一查询模块703,具体用于:响应于所述查询请求,执行所述第一信息标识对应的第一目标函数,得到对象查询结果;其中,所述第一目标函数用于查询所述第一验证日志信息中的对象。
[0123]
在一些实施例中,所述装置还包括:第二获取模块,用于获取所述第一信息标识对应的第一函数脚本;第一注册模块,用于根据所述第一信息标识,通过所述电子设计自动化软件的可扩展接口对所述第一函数脚本进行注册,得到所述第一目标函数;第一建立模块,用于建立所述第一目标函数与所述第一信息标识之间的对应关系。
[0124]
在一些实施例中,第二获取模块,具体用于:在所述电子设计自动化软件的配置文件中存在预先定义的所述第一函数脚本的情况下,运行所述配置文件中的所述第一函数脚本;或者,在所述电子设计自动化软件启动时或者在所述电子设计自动化软件完成运行后,
接收用户使用所述电子设计自动化软件中的注册命令,注册或更新的所述第一信息标识对应的第一函数脚本。
[0125]
在一些实施例中,第一查询模块703,包括:检查单元,用于响应于所述查询请求,检查是否存在所述第一信息标识对应的第一目标函数;执行单元,用于在存在所述第一目标函数的情况下,执行所述第一目标函数,得到对象查询结果;所述装置还包括:第二查询模块,用于在不存在所述第一目标函数的情况下,查询所述第一信息标识对应的第一严重等级和第一详细程度;第三查询模块,用于根据所述第一严重等级和所述第一详细程度,在所述日志文件中,查询所述第一验证日志信息中的信息,得到信息查询结果;第二输出模块,用于输出所述信息查询结果。
[0126]
在一些实施例中,第一接收模块,包括:接收单元,用于接收用户对所述日志文件中的第一内容的选取操作;确定单元,用于响应于所述选取操作,确定接收到用户对所述日志文件中第一信息标识的查询请求,其中,所述第一信息标识为所述第一内容对应的信息标识。
[0127]
在一些实施例中,所述装置还包括:第一获取模块,用于获取json配置文件,所述json配置文件包括信息块;第一创建模块,具体用于:将电子设计自动化软件在运行过程中产生的验证日志信息按照所述信息块所规定的格式记录到所述日志文件中;其中,所述信息块包括:格式字符串字段,包括第一字段和占位符,所述第一字段用于填写验证日志信息,所述占位符为验证日志信息中的对象进行占位;信息标识字符串,用于填写信息标识;目标函数字符串,用于填写函数脚本。
[0128]
在一些实施例中,所述装置还包括:第二接收模块,用于接收用户在所述目标函数字符串中填写的所述第一函数脚本。
[0129]
在一些实施例中,所述装置还包括:第二创建模块,用于根据所述json配置文件,创建逗号分隔值cvs文件;第一显示模块,用于根据所述cvs文件,显示图形用户界面,其中,所述图形用户界面包括第一子区域和第二子区域,所述第一子区域包括至少一行,每行用于显示所述cvs文件中的一个验证日志信息对应的以下信息:严重等级、信息标识、对象查询结果、对象查询结果的绝对路径和行号;第三接收模块,用于接收用户对所述至少一行中第i行的第一输入,i为正整数;第二显示模块,用于响应于所述第一输入,突出显示所述第i行,并在所述第二子区域显示所述第i行的信息;
第四接收模块,用于接收用户对所述至少一行中第j行的对象查询结果的第二输入,j为正整数;第三显示模块,用于响应于所述第二输入,显示所述第j行的对象查询结果。
[0130]
在一些实施例中,所述装置还包括:第三创建模块,用于在内存中创建日志数据结构;存储模块,用于将所述对象查询结果存储至所述日志数据结构中;读取模块,用于从所述日志数据结构中读取所述对象查询结果。
[0131]
在一些实施例中,所述装置还包括:第五接收模块,用于接收用户输入的第二信息标识,所述第二信息标识为用户基于所述对象查询结果确定的感兴趣的关联信息标识;第二获取模块,用于获取所述第二信息标识对应的第二函数脚本;第二注册模块,用于根据所述第二信息标识,通过所述电子设计自动化软件的可扩展接口对所述第二函数脚本进行注册,得到第二目标函数;第二执行模块,用于执行所述第二目标函数,从日志数据结构中查询所述第二信息标识对应的对象;第三输出模块,用于输出查询到的所述第二信息标识对应的对象的相关信息。
[0132]
在一些实施例中,所述对象包括:数字芯片设计中的操作对象。
[0133]
在一些实施例中,所述数字芯片设计中的操作对象包括:连线、模块、引脚、 端口。
[0134]
在一些实施例中,所述对象包括:统一低功耗格式标准的对象。
[0135]
在一些实施例中,所述统一功耗格式标准的对象包括以下至少一项:功耗域、电源线、电源节点之间的连接关系、隔离电路、电平转换电路以及状态保持电路。
[0136]
在一些实施例中,所述属性信息包括以下至少一项:层次结构信息、网表信息、网表实例信息。
[0137]
在一些实施例中,所述连接对象信息包括连接对象的名称信息和属性信息。
[0138]
在一些实施例中,所述电子设计自动化软件为以下任一项:布局布线工具、硬件仿真加速工具、时序分析工具、功耗验证工具、功耗分析工具、物理验证工具、形式验证工具、逻辑仿真工具、逻辑综合工具。
[0139]
图7示出了本技术实施例提供的报错信息处理设备的硬件结构图。
[0140]
在报错信息处理设备可以包括处理器801以及存储有计算机程序指令的存储器802。
[0141]
具体地,上述处理器801可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit ,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0142]
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在综合网关容灾设备的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。
[0143]
存储器可包括只读存储器(read-only memory, rom),随机存取存储器(random access memory,ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
[0144]
处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现上述实施例中的任意一种报错信息处理方法。
[0145]
在一个示例中,报错信息处理设备还可包括通信接口803和总线810。 其中,如图7所示,处理器801、存储器802、通信接口803通过总线810 连接并完成相互间的通信。
[0146]
通信接口803,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
[0147]
总线810包括硬件、软件或两者,将报错信息处理设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0148]
另外,结合上述实施例中的报错信息处理方法,本技术实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种报错信息处理方法。
[0149]
需要明确的是,本技术并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0150]
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0151]
还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0152]
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
[0153]
以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。
技术特征:
1.一种报错信息处理方法,其特征在于,包括:创建日志文件,将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,其中,每个所述验证日志信息具有一个对应的信息标识;接收用户针对所述日志文件中第一信息标识的查询请求;响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,其中,所述对象查询结果包括查询到的对象的相关信息,所述相关信息包括名称信息、属性信息和连接对象信息中的至少一项;输出所述对象查询结果。2.根据权利要求1所述的报错信息处理方法,其特征在于,所述响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,包括:响应于所述查询请求,执行所述第一信息标识对应的第一目标函数,得到对象查询结果;其中,所述第一目标函数用于查询所述第一验证日志信息中的对象。3.根据权利要求2所述的报错信息处理方法,其特征在于,所述响应于所述查询请求,执行所述第一目标函数,得到对象查询结果之前,所述方法还包括:获取所述第一信息标识对应的第一函数脚本;根据所述第一信息标识,通过所述电子设计自动化软件的可扩展接口对所述第一函数脚本进行注册,得到所述第一目标函数;建立所述第一目标函数与所述第一信息标识之间的对应关系。4.根据权利要求3所述的报错信息处理方法,其特征在于,所述获取所述第一信息标识对应的第一函数脚本,包括:在所述电子设计自动化软件的配置文件中存在预先定义的所述第一函数脚本的情况下,运行所述配置文件中的所述第一函数脚本;或者,接收用户使用所述电子设计自动化软件中的注册命令,注册或更新的所述第一信息标识对应的第一函数脚本。5.根据权利要求2所述的报错信息处理方法,其特征在于,所述响应于所述查询请求,执行所述第一信息标识对应的第一目标函数,得到对象查询结果,包括:响应于所述查询请求,检查是否存在所述第一信息标识对应的第一目标函数;在存在所述第一目标函数的情况下,执行所述第一目标函数,得到对象查询结果;所述方法还包括:在不存在所述第一目标函数的情况下,查询所述第一信息标识对应的第一严重等级和第一详细程度;根据所述第一严重等级和所述第一详细程度,在所述日志文件中,查询所述第一验证日志信息中的信息,得到信息查询结果;输出所述信息查询结果。6.根据权利要求1所述的报错信息处理方法,其特征在于,所述接收用户针对所述日志文件中第一信息标识的查询请求,包括:
接收用户对所述日志文件中的第一内容的选取操作;响应于所述选取操作,确定接收到用户对所述日志文件中第一信息标识的查询请求,其中,所述第一信息标识为所述第一内容对应的信息标识。7.根据权利要求1所述的报错信息处理方法,其特征在于,所述将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中之前,所述方法还包括:获取json配置文件,所述json配置文件包括信息块;所述将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,包括:将电子设计自动化软件在运行过程中产生的验证日志信息按照所述信息块所规定的格式记录到所述日志文件中;其中,所述信息块包括:格式字符串字段,包括第一字段和占位符,所述第一字段用于填写验证日志信息,所述占位符为验证日志信息中的对象进行占位;信息标识字符串,用于填写信息标识;目标函数字符串,用于填写函数脚本。8.根据权利要求7所述的报错信息处理方法,其特征在于,所述方法还包括:接收用户在所述目标函数字符串中填写的所述第一函数脚本。9.根据权利要求7所述的报错信息处理方法,其特征在于,所述接收json配置文件之后,所述方法还包括:根据所述json配置文件,创建逗号分隔值cvs文件;根据所述cvs文件,显示图形用户界面,其中,所述图形用户界面包括第一子区域和第二子区域,所述第一子区域包括至少一行,每行用于显示所述cvs文件中的一个验证日志信息对应的以下信息:严重等级、信息标识、对象查询结果、对象查询结果的绝对路径和行号;接收用户对所述至少一行中第i行的第一输入,i为正整数;响应于所述第一输入,突出显示所述第i行,并在所述第二子区域显示所述第i行的信息;接收用户对所述至少一行中第j行的对象查询结果的第二输入,j为正整数;响应于所述第二输入,显示所述第j行的对象查询结果。10.根据权利要求1所述的报错信息处理方法,其特征在于,所述方法还包括:在内存中创建日志数据结构;所述响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果之后,所述输出所述对象查询结果之前,所述方法还包括:将所述对象查询结果存储至所述日志数据结构中;所述输出所述对象查询结果之前,所述方法还包括:从所述日志数据结构中读取所述对象查询结果。11.根据权利要求1所述的报错信息处理方法,其特征在于,所述输出所述对象查询结果之后,所述方法还包括:接收用户输入的第二信息标识,所述第二信息标识为用户基于所述对象查询结果确定
的感兴趣的关联信息标识;获取所述第二信息标识对应的第二函数脚本;根据所述第二信息标识,通过所述电子设计自动化软件的可扩展接口对所述第二函数脚本进行注册,得到第二目标函数;执行所述第二目标函数,从日志数据结构中查询所述第二信息标识对应的对象;输出查询到的所述第二信息标识对应的对象的相关信息。12.根据权利要求1所述的报错信息处理方法,其特征在于,所述对象包括:数字芯片设计中的操作对象。13.根据权利要求12所述的报错信息处理方法,其特征在于,所述数字芯片设计中的操作对象包括:连线、模块、引脚、 端口。14.根据权利要求1所述的报错信息处理方法,其特征在于,所述对象包括:统一低功耗格式标准的对象。15.根据权利要求14所述的报错信息处理方法,其特征在于,所述统一功耗格式标准的对象包括以下至少一项:功耗域、电源线、电源节点之间的连接关系、隔离电路、电平转换电路以及状态保持电路。16.根据权利要求1所述的报错信息处理方法,其特征在于,所述属性信息包括以下至少一项:层次结构信息、网表信息、网表实例信息。17.根据权利要求1所述的报错信息处理方法,其特征在于,所述连接对象信息包括连接对象的名称信息和属性信息。18.根据权利要求1所述的报错信息处理方法,其特征在于,所述方法用于电子设计自动化软件,所述电子设计自动化软件为以下任一项:布局布线工具、硬件仿真加速工具、时序分析工具、功耗验证工具、功耗分析工具、物理验证工具、形式验证工具、逻辑仿真工具、逻辑综合工具。19.一种报错信息处理装置,其特征在于,包括:第一创建模块,用于创建日志文件,将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,其中,每个所述验证日志信息具有一个对应的信息标识;第一接收模块,用于接收用户针对所述日志文件中第一信息标识的查询请求;第一查询模块,用于响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,其中,所述对象查询结果包括查询到的对象的相关信息,所述相关信息包括名称信息、属性信息和连接对象信息中的至少一项;第一输出模块,用于输出所述对象查询结果。20.一种报错信息处理设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1至18中任意一项所述的报错信息处理方法。21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1至18中任意一项所述的报错信息处理方法。22.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处
理器执行时,使得所述电子设备执行如权利要求1至18中任意一项所述的报错信息处理方法。
技术总结
本申请公开了一种报错信息处理方法、装置、设备、存储介质和程序产品,包括:创建日志文件,将电子设计自动化软件在运行过程中产生的验证日志信息记录到所述日志文件中,其中,每个所述验证日志信息具有一个对应的信息标识;接收用户针对所述日志文件中第一信息标识的查询请求;响应于所述查询请求,在所述日志文件中,查询所述第一信息标识对应的第一验证日志信息中的对象,得到对象查询结果,所述对象查询结果包括查询到的对象的相关信息,所述相关信息包括名称信息、属性信息和连接对象信息中的至少一项;输出所述对象查询结果。本申请能够帮助用户尽早发现芯片设计问题并改进芯片设计,减少由于设计偏差带来的时间成本和经济成本。经济成本。经济成本。
