Error information processing method and device, equipment, storage medium and program product
By recording and querying log information in EDA software, relevant information about the object is provided, solving the problem of efficiently locating chip design problems in existing technologies and achieving the effect of quickly finding design deviations.
Patent Information
- Application Number
- CN202211419358.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-14
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2042-11-14
AI Technical Summary
Existing EDA software struggles to help users efficiently pinpoint the root cause of problems when recording and querying error messages in chip designs, leading to increased time and economic costs in finding design deviations.
By recording the information identifier of each verification log message in the log file and receiving user query requests, it queries and outputs relevant information about objects, such as name, attributes, and connection object information, providing rich and actionable query results.
It helps users quickly locate chip design problems, reduce time and economic costs, improve query efficiency, reduce the cost of reading log files, and facilitate tool developers in diagnosing problems.
Smart Images

Figure CN115630036B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of electronic design automation, and particularly relates to an error information processing method and device, equipment, a storage medium and a program product. BACKGROUND
[0002] Electronic Design Automation (EDA) software refers to design software for completing the functional design, synthesis, verification, physical design (including layout, routing, layout, design rule checking, etc.) of very large scale integrated circuit (VLSI) chips by using computer aided design (CAD).
[0003] In order to record various error information in the system running process, such as crash, error or warning information, a system log is usually used in EDA software to record program running events. If the program detects crash, error, warning, etc. in the running process, the log system will record the location of the above error information, the object, the time of occurrence, the cause, etc. Key information. Specifically, the log system is roughly divided into three categories: application log, system log and security log. The log system usually includes five modules: log collection, log transmission, log storage, log analysis and error reporting. Users can obtain the system running state by querying the log, and system operation and development personnel can also understand the real-time information occurring in the running system, check the errors in the configuration process and the causes of the errors through the log.
[0004] The existing EDA software uses logs to record error information encountered: after reading in the chip design file and the related library file and starting the system, the system verifies the content in the design file according to each detection item, and immediately records the error, warning, etc. Information in the log file until the system runs to completion. However, the existing EDA software is difficult to help users find the root cause of the error, and after that, the user needs to query the log file generated by the system to find the problem in the design, for example, according to the time sequence to browse each piece of information recorded in the log for information query, or use Linux commands such as grep, awk and wc to achieve retrieval and statistics, which is low in efficiency, and it is difficult for users to find more accurate problem points of error objects through the log file, and it is not convenient to query target information. For higher requirements of query, sorting and statistics, especially in the process of troubleshooting, it is still a bit difficult to meet the requirements to produce more detailed information of the related objects of the error information using such a method.
[0005] Therefore, the EDA software needs an error information processing method to help chip designers find problems as early as possible, to provide design error information to users to help find problems as early as possible and improve chip design, and to reduce time cost and economic cost caused by design deviation. SUMMARY
[0006] Embodiments of the present application provide an error information processing method, device, equipment, storage medium and program product, which can help chip designers find chip design problems as early as possible and improve chip design, and reduce time cost and economic cost caused by design deviation.
[0007] In a first aspect, embodiments of the present application provide an error information processing method, which comprises:
[0008] creating a log file, and recording verification log information generated by the electronic design automation software in a running process into the log file, wherein each verification log information has a corresponding information identifier;
[0009] receiving a query request of a user for a first information identifier in the log file;
[0010] in response to the query request, querying an object in first verification log information corresponding to the first information identifier in the log file to obtain an object query result, wherein the object query result comprises relevant information of the queried object, and the relevant information comprises at least one of name information, attribute information and connection object information;
[0011] outputting the object query result.
[0012] In a second aspect, embodiments of the present application provide an error information processing device, which comprises:
[0013] a first creating module configured to create a log file, and record verification log information generated by the electronic design automation software in a running process into the log file, wherein each verification log information has a corresponding information identifier;
[0014] a first receiving module configured to receive a query request of a user for a first information identifier in the log file;
[0015] a first querying module configured to, in response to the query request, query an object in first verification log information corresponding to the first information identifier in the log file to obtain an object query result, wherein the object query result comprises relevant information of the queried object, and the relevant information comprises at least one of name information, attribute information and connection object information;
[0016] a first outputting module configured to output the object query result.
[0017] In a third aspect, an error information processing device is provided, and the device comprises a processor and a memory storing computer program instructions; the processor implements the error information processing method according to the first aspect when executing the computer program instructions.
[0018] In a fourth aspect, a computer storage medium is provided, and the computer readable storage medium stores computer program instructions; the computer program instructions are executed by a processor to implement the error information processing method according to the first aspect.
[0019] In a fifth aspect, a computer program product is provided, and instructions in the computer program product are executed by a processor of an electronic device to enable the electronic device to perform the error information processing method according to the first aspect.
[0020] In the embodiments of the present application, the log file records the verification log information generated by the EDA software in the running process and the information identifier corresponding to each verification log information. The user can query the related information of the object in the first verification log information corresponding to the first information identifier through the first information identifier in the log file, and the related information includes at least one of the name information, the attribute information and the connection object information. In this way, the user can find the chip design problem as early as possible and improve the chip design, and reduce the time cost and economic cost caused by design deviation. BRIEF DESCRIPTION OF DRAWINGS
[0021] Figure 1 is one of the flowcharts of the error information processing method provided by the embodiments of the present application;
[0022] Figure 2 is another flowchart of the error information processing method provided by the embodiments of the present application;
[0023] Figure 3 is a data flowchart of the error information processing method provided by the embodiments of the present application;
[0024] Figure 4 is one of the structural diagrams of the error information processing device provided by the embodiments of the present application;
[0025] Figure 5 is a third flowchart of the error information processing method provided by the embodiments of the present application;
[0026] Figure 6 is a structural diagram of the error information processing device provided by the embodiments of the present application;
[0027] Figure 7 is a second structural diagram of the error information processing device provided by the embodiments of the present application. Detailed Implementation
[0028] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.
[0029] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.
[0030] The error message processing method provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.
[0031] See Figure 1 , Figure 1 This is one of the flowcharts for the error message processing method provided in the embodiments of this application. For example... Figure 1 As shown, the error message processing method may include the following steps:
[0032] Step 101: Create a log file to record the verification log information generated by the electronic design automation software during operation. Each verification log information has a corresponding information identifier.
[0033] In practice, EDA software verifies the contents of chip design files and related library files during operation, obtaining verification log information. This verification log information can include crashes, errors, warnings, and other information encountered during verification. The log records the location, object, time, and cause of each occurrence of these errors.
[0034] In the embodiments of the present application, each verification log information has a corresponding information identifier (Message ID, Msg ID). The information identifier corresponding to each verification log information is unique and can be queried. In this way, the user can query the related information of the object in the verification log information through the information identifier, which will be described below.
[0035] In some embodiments, the electronic design automation software is any one of: a layout and routing tool, a hardware simulation and acceleration tool, a timing analysis tool, a power verification tool, a power analysis tool, a physical verification tool, a formal verification tool, a logic simulation tool, a logic synthesis tool.
[0036] Step 102, receiving a query request of a user for a first information identifier in the log file.
[0037] The first information identifier can be any information identifier in the log file.
[0038] In some embodiments, the receiving of the query request of the user for the first information identifier in the log file comprises:
[0039] receiving a selection operation of the user on the first content in the log file;
[0040] In response to the selection operation, it is determined that the query request of the user for the first information identifier in the log file is received, wherein the first information identifier is the information identifier corresponding to the first content.
[0041] In a specific implementation, the user can read the log file and select the content of interest, i.e. the first content, from the log file. The first content can be part or all of the first verification log information, and the first verification log information is the verification log information corresponding to the first information identifier. In this way, the information identifier corresponding to the first content can be determined as the first information identifier, and the query request of the user for the first information identifier is considered to be received.
[0042] As can be seen, in this embodiment, if the selection operation of the user on the first content in the log file is received, the query request of the user for the information identifier corresponding to the first content is considered to be received. The first information identifier is the information identifier corresponding to the first content, and the first information identifier is selected by the user after reading the log file.
[0043] In other embodiments, step 102 specifically represents that the first information identifier input by the user is received.
[0044] In this embodiment, if the first information identifier input by the user is received, the query request of the user for the first information identifier is considered to be received. The first information identifier is input by the user.
[0045] In the above embodiments of the present application, the user can customize the query of the information related to the object according to the requirement, so that the user can fully exert subjective initiative to quickly locate the problem, and the user can conveniently perform efficient problem tracking and analysis.
[0046] In step 103, in response to the query request, the object in the first verification log information corresponding to the first information identifier is queried in the log file to obtain an object query result, wherein the object query result includes the related information of the queried object, and the related information includes at least one of the name information, the attribute information, and the connection object information.
[0047] For the convenience of description, the object in the first verification log information is referred to as a first object.
[0048] After receiving the query request, the query operation of the first object can be performed to obtain at least one of the name information, the attribute information, and the connection object information of the first object.
[0049] The object in the verification log information is described below.
[0050] In some embodiments, the object can include an operation object in a digital chip design. Further, the operation object in the digital chip design can include, but is not limited to, a net, a cell, a pin, and a port.
[0051] In other embodiments, the object can include an object in a unified low-power consumption format standard. Further, the object in the unified low-power consumption format standard can include, but is not limited to, at least one of a power domain, a supply net, a connection relationship between power supply nodes, an isolation circuit, a level-shifting circuit, and a state retention circuit.
[0052] The attribute information of the object is described below.
[0053] In some embodiments, the attribute information can include, but is not limited to, at least one of the following: hierarchy (scope) information, netlist (owner) information, and netlist instance (view) information. In other words, the attribute information of the object includes the scope, the owner, the view, and the like of the object. In this way, the relationship information between the object and other objects can be provided through the attribute information of the object, and the associated object of the first object can be determined.
[0054] The connection object information of the object is described below.
[0055] In some embodiments, the connection object information can include, but is not limited to, name information and attribute information of the connection object.
[0056] For convenience of description, the connection object of the first object is referred to as the second object below. In this way, the relationship information between the connection object of the object and other objects can be provided through the connection object information of the object, and the associated object of the second object can be determined.
[0057] In the embodiments of the present application, the user can query the information of the first object, the information of the associated object of the first object and / or the information of the associated object of the second object through the first information identifier, so as to help the user quickly find the chip design problem and improve the positioning rate of the chip design problem.
[0058] For convenience of understanding, an example is described as follows: one of the original verification log information recorded in the log file of the electronic design automation software is: 2022-10-19 16:26:51: WARN: (IsoUnmatched): PD2_iso2_0_UPF_ISO: / test_data / check / no_drive, wherein the information identifier is IsoUnmatched, indicating that the cell of the isolation type exists a problem of failing to match, and PD2_iso2_0_UPF_ISO is the name information of the object.
[0059] The verification log information is taken as the first verification log information in the embodiments, and the information identifier "IsoUnmatched" in the above verification log information is taken as the first information identifier, and the object in the first verification log information is queried in response to the first information identifier.
[0060] Further, after receiving the query request corresponding to the first information identifier, i.e., the information identifier IsoUnmatched, the error information processing device can query the object in the first verification log information corresponding to the first information identifier, and the object includes at least one of the following: name information of the object, such as PD2_iso2_0_UPF_ISO; attribute information of the object, such as PowerDomain (power domain) of PD2_iso2_0_UPF_ISO; and connection information of the object, such as the net (wire) and port (port) connected by PD2_iso2_0_UPF_ISO. In this way, the user can quickly locate the Net with problems in the verification log information and prompt the possible reasons according to the information.
[0061] Step 104, outputting the object query result.
[0062] In a specific implementation, the object query result can be written into at least one of a log file, a comma-separated value (CSV) file, and a console, so as to be obtained by a user.
[0063] Notably, in the scenario where the object query result is written into a log file, the log file into which the object query result is written can be different from the log file in step 101, so that the user can directly query the relevant information of the first object by viewing the log file, thereby improving the information query efficiency.
[0064] In some embodiments, the step 104 of outputting the object query result can specifically include:
[0065] determining whether the queried object is an object of interest to the user, and if so, outputting, as the object query result, the name information of the object and one of the attribute information or the connection object information of the object;
[0066] if not, outputting, as the object query result, the name information of the object;
[0067] The object of interest to the user is an object selected by the user according to information prompts in the log file or the object query result after the user views the log file or the object query result of the electronic design automation software report.
[0068] The error information processing method of the embodiments of the present application has the log file recording the verification log information generated by the EDA software during the running process and the information identifier corresponding to each verification log information. The user can query the relevant information of the object in the first verification log information corresponding to the first information identifier through the first information identifier in the log file, and the relevant information includes at least one of the name information, the attribute information, and the connection object information. In this way, the user can help to find and improve the chip design problem as soon as possible, and reduce the time cost and economic cost caused by the design deviation.
[0069] The error information processing method of the embodiment of the present application effectively helps the user to accurately locate the chip design problem, facilitates the analysis of the problem cause, reduces the reading cost of the user directly querying the log file content, facilitates the tool developer to quickly locate and diagnose the problem of the tool itself, avoids multiple repeated time-consuming trial runs, improves the query and problem analysis efficiency; the object query result can supplement or replace the only log output in the system default case, the user can self-select and organize the content and format thereof, and the more targeted and rich output information helps the user to quickly find the source of the error, and the self-defined query scheme has flexible filtering and tracing capabilities for data objects, can greatly reduce the size of the log file, provides highly targeted information, and can greatly improve the error finding efficiency.
[0070] Notably, the embodiment of the present application does not limit the specific implementation manner of querying the related information of the first object, and any implementation manner that can realize the query of the related information of the first object can fall within the protection scope of the embodiment of the present application. For example:
[0071] In some embodiments, the device can query the first object according to a pre-defined query rule to obtain the related information of the first object, and the query rule can be used to query the related information of each object.
[0072] In another embodiment, the method can further include:
[0073] In response to the query request, the first target function corresponding to the first information identifier is executed to obtain the object query result.
[0074] In the embodiment, the first target function is used to query the object in the first verification log information.
[0075] The target function can be registered by the user based on the self-demand, that is, the target function can be self-defined by the user. The present application does not limit the specific form of the target function, and in an optional implementation manner, the target function can be a tool command language program (Tools Command Language Procedure, also referred to as “TCL Proc”), but is not limited thereto.
[0076] In this embodiment, the object query result can be obtained by executing the first target function corresponding to the first information identifier, and the execution result of the first target function is the object query result.
[0077] The first target function can be pre-received or pre-registered, which can be determined according to actual needs, and embodiments of the present application do not limit this. For the latter, in some embodiments, before the object query result is obtained by executing the first target function in response to the query request, the method further includes:
[0078] Obtaining a first function script corresponding to the first information identifier;
[0079] Registering the first function script through an extensible interface of the electronic design automation software according to the first information identifier to obtain the first target function;
[0080] Establishing a corresponding relationship between the first target function and the first information identifier.
[0081] In the embodiment, the user can browse each verification log information recorded in the log file, and if interested in a certain verification log information, can write a function script using an information identifier corresponding to the verification log information to query related information of an object in the verification log information, so as to achieve the effect of tracing the source.
[0082] When implemented, after obtaining the first function script corresponding to the first information identifier, the first function script can be registered through an extensible interface of the EDA software using the first information identifier to create the first target function and establish a corresponding relationship between the first target function and the first information identifier.
[0083] In this way, after receiving a query request of the user for the first information identifier, the first target function can be called to query related information of an object in the first verification log information, thereby improving the information query efficiency.
[0084] In the case of a Tcl Proc function as the target function, the target function can use a Tcl command (Tcl Command) to register a function script.
[0085] The Tcl command is a way provided by the electronic design automation software for the user to control the system, and the user can issue a command to the system through the Tcl language. The Tcl command can include at least one of the following:
[0086] use_tcl_proc: can be used to register a Tcl function according to message_id;
[0087] set_param: can be used to update configuration information;
[0088] get_param: can be used to obtain configuration information;
[0089] check_upf: can be used to issue a verification command;
[0090] issue_message: can be used to output information corresponding to Msg_ID;
[0091] set_msg_severity -message_id abc123 -severity_level LOG_INFO: can be used to set the corresponding error information to the error level given by the user according to the Msg_ID and error severity level given by the user;
[0092] get_message_help -message_id abc123: can be used to query the help information of this error information according to the Msg_ID input by the user.
[0093] such as the above, the operation command of the system provided to the user. The electronic design automation software can perform corresponding operations according to the command and write related information in the system running process into a log file or a configuration file.
[0094] In an optional implementation, the step of receiving a user using a registration command in the electronic design automation software to register or update the first information identifier corresponding to the first function script can use the use_tcl_proc in the Tcl command to register the first function script to obtain a first target function.
[0095] For the convenience of understanding, the following example is illustrated:
[0096] In this example, the first function script (TclProcForMsgId) can be as follows:
[0097] proc TclProcForMsgId { msg_body portNf obj1} {
[0098] if {[IsObjOfInterest $obj1]} {
[0099] issueMessage(msg_body)
[0100] issueMessage(“ Port info is as follows”, obj1->Name(), obj1->Parent()->Name())
[0101] } else {
[0102] issueMessage($msg_body, $id, $obj1->Name())
[0103] }
[0104] }
[0105] Then register it using the use_tcl_proc command:
[0106] use_tcl_proc mssage_id TclProcForMsgId
[0107] With the above, the first target function Tcl Proc is created, and the first target function Tcl Proc and the first information identifier Message_ID are linked.
[0108] The Tcl prco is as follows:
[0109] Following TCL proc exist for portNf
[0110] proc TclProcForMsgId { msg_body portNf obj1} {
[0111] if {[IsObjOfInterest $obj1]} {
[0112] issueMessage(msg_body)
[0113] issueMessage(“ Port info is as follows”, obj1->Name(), obj1->Parent()->Name())
[0114] } else {
[0115] issueMessage($msg_body, $id, $obj1->Name())
[0116] }
[0117] }
[0118] The execution result of the Tcl prco is as follows:
[0119] ERROR: 31-08-21 16:30 Serious error
[0120] ERROR: 31-08-21 16:30 Port info is as follows 129 parent_name. Among them, Port info is as follows is the description information of the object query result, 129 is the name information of the object in the object query result, and parent_name is the name information of the connected object in the object query result.
[0121] In a specific implementation, the first function script can be obtained in various manners, which are specifically described as follows.
[0122] In some embodiments, the obtaining of the first function script corresponding to the first information identifier can include:
[0123] 1) in the case where the first function script is predefined in the configuration file of the electronic design automation software, running the first function script in the configuration file;
[0124] Alternatively,
[0125] 2) receiving a registration command of the electronic design automation software used by a user, and registering or updating the first function script corresponding to the first information identifier.
[0126] In 1), the first function script is predefined in the configuration file of the EDA software and is obtained from the configuration file of the EDA software. In 2), the first function script is registered or updated by the user using the registration command of the EDA software. In a specific implementation, the user can use the registration command use_tcl_proc to register or update the first function script when the EDA software is started or after the EDA software is completed.
[0127] In the above manner, the function script can be obtained in various manners, which enriches the obtaining manner of the function script.
[0128] In some embodiments, the obtaining of the first function script corresponding to the first information identifier can include:
[0129] In response to the query request, it is checked whether the first target function corresponding to the first information identifier exists;
[0130] In the case where the first target function exists, the first target function is executed to obtain the object query result;
[0131] The method further includes:
[0132] In the case where the first target function does not exist, the first severity level and the first detail level corresponding to the first information identifier are queried.
[0133] According to the first severity level and the first detail level, information in the first verification log information is queried in the log file to obtain an information query result.
[0134] The information query result is output.
[0135] It can be understood that, for each information identifier in the log file, there may not be a corresponding target function. Therefore, in the embodiment, when a query request for an information identifier in the log file is received, it can be checked whether the target function corresponding to the information identifier exists, and based on the checking result, corresponding query operation is performed.
[0136] For ease of understanding, see Figure 2 In the case where the corresponding target function exists, the target function is called to query the related information of the object by using the target function.
[0137] In the case where the corresponding target function does not exist, the corresponding severity level and the detail level can be queried, then the spdlog function can be called to query the information in the corresponding verification log information from the log file according to the corresponding severity level and the detail level, to obtain an information query result, and the information query result is output. The information query result can include at least one of the following: help information; and printed information of the verification log information, such as the upper limit of the number of prints.
[0138] In the above manner, after receiving a query request for an information identifier, corresponding query operation can be performed based on the checking result of whether the target function corresponding to the information identifier exists, so that the flexibility of information query can be improved.
[0139] In some embodiments, before the verification log information generated by the electronic design automation software during the running process is recorded into the log file, the method further includes:
[0140] A JSON configuration file is obtained, and the JSON configuration file includes an information block.
[0141] The verification log information generated by the electronic design automation software during the running process is recorded into the log file, including:
[0142] The verification log information generated by the electronic design automation software during the running process is recorded into the log file according to the format specified by the information block;
[0143] The information block includes:
[0144] A formatted_string field, including a first field for filling in the description information of the validation log information or the object query result and a placeholder for the object in the validation log information;
[0145] A message_id string for filling in the information identifier;
[0146] A target function string for filling in the function script.
[0147] Further, the information block corresponding to each information can further include at least one of the following: a help field, an internal field, a maxOccurrenceLimit field, and a severity field.
[0148] The following describes the above fields.
[0149] formatted_string: indicates the format control of the validation log information written to the log file, the csv file, and the console. This information not only includes the description information of the validation log information or the object query result, but also fills in the object in the validation log information. The filling in of the object is delayed to the system running, thereby achieving decoupling between the validation log information and the object and more flexible information combination. In addition, the formatted_string unifies the format of the error information, thereby reducing the reading cost of the user. The description information of the object query result can represent the description or explanation of the user for the object query result.
[0150] Help: indicates the help information corresponding to each message_id.
[0151] Internal: indicates the information printed internally by the system and not displayed to the user.
[0152] maxOccurrenceLimit: indicates the upper limit of the number of times of printing of a validation log information in the system.
[0153] message_id: indicates the information identifier unique to each validation log information.
[0154] Severity: indicates the level of the error information. The levels mainly include the following six levels:
[0155] LOG_CRITICAL: a serious error information verified by the system and cannot be reduced in error level.
[0156] LOG_ERROR: Error message verified by the system, but can be reduced to LOG_WARNING by the user.
[0157] LOG_WARNING: Warning message verified by the system.
[0158] LOG_INFO: Information that the system needs to output while running.
[0159] LOG_DEBUG: When the system is set to debug mode, output the corresponding information that needs to be debugged.
[0160] LOG_ALWAYS: Information that the system needs to output by default while running, used for testing.
[0161] The initialized configuration file can be as follows:
[0162] {
[0163] "formattedString":"Net / Port is not present in the current scope : %",
[0164] "help":"This message is to be used when Net / Port is not present inthe current scope",
[0165] "internal":"NO",
[0166] "maxOccurrenceLimit":"100",
[0167] "messageId":"NetUnkown",
[0168] "severity":"LOG_ERROR",
[0169] "tclProc":""
[0170] }
[0171] In the above example, the description information of the object query result identified by the information about Netunknown is Net / Port is not present in the current scope, and the placeholder of the object query result is %.
[0172] In an optional implementation, the configuration file can be a JSON configuration file. The JSON configuration file can store the verification log information in a structured manner and is simple to read and write, so that the parsing and querying of the verification log information become convenient and efficient, and the JSON configuration file can be directly interacted with server-side system development. The interaction tool between JSON and C++ (business processing end) can be nhlomann, which has the advantages of high reliability, fast interaction speed, open source and sustainable maintenance.
[0173] In some embodiments, the method can further include:
[0174] receiving the first function script filled by the user in the target function string.
[0175] In this way, the predefinition of the first function script in the configuration file of the EDA software can be implemented.
[0176] In some embodiments, after receiving the JSON configuration file, the method can further include:
[0177] creating a comma-separated value (CSV) file according to the JSON configuration file;
[0178] displaying a graphical user interface according to the CSV file, wherein the graphical user interface includes a first sub-region and a second sub-region, the first sub-region includes at least one row, and each row is used to display the following information corresponding to one verification log information in the CSV file: a severity level, an information identifier, an object query result, an absolute path of the object query result, and a line number.
[0179] receiving a first input of a user on an i-th row in the at least one row, i being a positive integer;
[0180] in response to the first input, highlighting the i-th row and displaying information of the i-th row in the second sub-region;
[0181] receiving a second input of the user on the object query result of a j-th row in the at least one row, j being a positive integer;
[0182] in response to the second input, displaying the object query result of the j-th row.
[0183] In this example, the CSV file can be used to provide an efficient and fast information query file for a graphical user interface (GUI). The GUI directly extracts information from the CSV file for display, providing a display window for the user to view the verification log information and providing multiple convenient operation modes.
[0184] The GUI of the embodiment displays, in the first column of the first sub-region, the severity of the information, in the second column, the Message ID of the information, in the third column, the object query result (message), and in the fourth column, the absolute path (Source / Relation) and line number of the object query result.
[0185] Notably, in the embodiment of the present application, the GUI interface can provide the user with multiple convenient operation modes, further improving the information query efficiency.
[0186] For example, the user can trigger the GUI to highlight the ith row in the first sub-region and display the information corresponding to the ith row in the second sub-region by performing a first input on the ith row. The user can click Open in Source after right-clicking the row in which the verification log information of interest is located, so as to display the information in the row in the upper large window and highlight the row, which can make the user more clearly know the specific error information and facilitate the user to analyze the design problem.
[0187] The user can trigger the jump display or display the object query result of the jth row in the second sub-region by performing a second input on the object query result of the jth row. The object is displayed in the single quotation mark of message.
[0188] In the above manner, the user can flexibly query the information by interacting with the GUI, thereby further improving the information query efficiency.
[0189] In some embodiments, the method can further include:
[0190] creating a log data structure in the memory;
[0191] After the object query result is obtained by querying the object in the first verification log information corresponding to the first information identifier in the log file in response to the query request, before the object query result is output, the method further includes:
[0192] storing the object query result in the log data structure;
[0193] Before the object query result is output, the method further includes:
[0194] reading the object query result from the log data structure.
[0195] In this embodiment, a log data structure (Message data structure) can be created, which is stored in the memory. The log data structure can be used to store the related information of the queried object.
[0196] In a specific implementation, after obtaining the object query result, the object query result can be stored in the log data structure, and then the object query result can be read from the log data structure for output.
[0197] In this way, the log data structure can store the related information of each object, and the user can know the association relationship between each object through the log data structure, thereby helping the user to quickly locate the chip design problem.
[0198] In some embodiments, after outputting the object query result, the method further includes:
[0199] receiving a second information identifier input by the user, the second information identifier being an association information identifier of interest determined by the user based on the object query result;
[0200] obtaining a second function script corresponding to the second information identifier;
[0201] registering the second function script through the extensible interface of the electronic design automation software according to the second information identifier, to obtain a second target function;
[0202] executing the second target function to query an object corresponding to the second information identifier from the log data structure;
[0203] outputting related information of the object corresponding to the second information identifier.
[0204] In this embodiment, the user can view the object query result, and under the prompt of the object query result, other information identifiers of interest associated with the first information identifier, i.e., the second information identifier, can be selected from the log file.
[0205] Then, the second function script corresponding to the second information identifier can be obtained, and the second function script can be registered through the extensible interface of the EDA software to obtain the second target function.
[0206] Then, the related information of the object corresponding to the second information identifier can be queried from the log data structure by executing the second target function, so as to help the user to quickly locate the chip design problem, thereby improving the solution efficiency of the chip design problem.
[0207] For ease of understanding, please refer to Figure 3 In Figure 3 , the error information processing device includes a log management system of an electronic design automation software, the log management system records the verification log information into the log file according to the format of the information block in the JSON configuration file, and stores the object query result into the log data structure, the log data structure including the related information of each object and the association information of each object.
[0208] After the second information identifier in the log file selected by the user is acquired, a second function script (user-defined) corresponding to the second information identifier can be acquired. The second function script is registered by using the second information identifier through the use_tcl_proc in the Tcl command, and a second target function is obtained.
[0209] Then, the second target function can be executed, the related information of the object corresponding to the second information identifier is queried from the log data structure, and the queried information is output.
[0210] In some embodiments, as shown in Figure 4 Error information processing equipment (also known as dynamic log framework) can include the following modules: 1. User-defined (User Config, including Tcl Procs and log configuration). 2. User data input (User Data). 3. User script (User Script). 4. Tcl Procs and Message_id mapping module (MsgID and Tcl Proc Map). 5. System module (Tool Process). 6. Log database module (Log Message).
[0211] For Figure 4 , the query request in the above method embodiment can be input through User Data. The function script can be input through User Script. The registration of the function script can be realized through User Config. The correspondence between the information identifier and the target function can be stored in MsgID and Tcl Proc Map. After receiving the information identifier, Tool Process can input the information identifier to MsgID and Tcl Proc Map, return the corresponding target function by MsgID and Tcl Proc Map, then execute the target function by Tool Process, obtain the execution result, and output the execution result.
[0212] Tool Process includes a log manager (Logger), and the log manager of the electronic design automation software is mainly responsible for the following functions:
[0213] Load configuration information;
[0214] Generate log information in power consumption verification according to the configuration information;
[0215] Output to log file, csv file, and console;
[0216] The user uses the command "use_tcl_proc" to register or update the Tcl function registered by the user and the Message_id. The log manager queries the corresponding registered Tcl_proc according to the given Message_id;
[0217] The queried Tcl proc is executed.
[0218] The information concerned by the user is written into the log file, the csv file and the console so as to obtain the information by the user.
[0219] The timestamps of the log file and the csv file are managed.
[0220] In the embodiment of the present application, the spdlog open source tool can be used to write the verification log information into the log file. The spdlog is an excellent lightweight log management library based on C++ 11. When used, only the header file needs to be introduced. The power consumption verification system developed by C++ has natural adhesion. No middleware is needed, which is convenient and fast.
[0221] In the embodiment of the present application, each piece of error, warning and other information (which can also be called error information or event) has its corresponding information ID (i.e. Message_ID, abbreviated as msg_id). The system guarantees the uniqueness of the information ID and can be queried. The embodiment of the present application can query the occurrence object of the error information according to the information ID. In addition, the state of the object when the error information occurs and the state of the associated object can also be obtained according to the found occurrence object.
[0222] Firstly, the system reads in the user data (User Data): chip design file (*.v), library file (.lib), low-power intention design file (.upf). According to the type of the read-in user file and the command of the user, the system (Tool Process) will enter the corresponding stage of verification. The system parses the read-in user data into the corresponding data structure and container and stores in the system.
[0223] Then the user sends a command to the verification system through a script or a command to perform verification. After verification, the system inputs the verification log information (Log Message) into the log file given by the user.
[0224] The user can obtain the Message_ID related to the error information from the log file, and register the Tcl Procs of the corresponding message by using the register command use_tcl_proc. The additional user-defined queries can be output to the log file by the user-organized content and format, instead of the system default log output. The more targeted and rich output information helps the user quickly find the source of the error. Since the user-defined query scheme has flexible filtering and tracing capabilities for data objects, it can greatly reduce the size of the log file and provide highly targeted information, which can greatly improve the error finding efficiency.
[0225] The user can query the error object information in the system verification to quickly locate the error cause. For example, after detecting that a certain Net (i.e., object) has a problem in the log file, the user can query the Net name (i.e., the name information of the object), the Owner of the Net, and the ports connected to the Net, etc. by using the Tcl function script. The user can locate and analyze the error cause according to the object information related to the Net, i.e., the object query result.
[0226] The embodiments of the present application fully consider the needs of the user to quickly and accurately locate the problem when querying the log, and thus provide the user with rich and operable objects. The user can query the information related to the object according to the needs, so that the user can fully exert the subjective initiative to quickly locate the problem, analyze the problem cause, improve the efficiency, and save the cost. Not only can the user conveniently perform efficient problem tracking and analysis, but also the tool developer can quickly locate and diagnose the problem of the tool itself, thereby avoiding long and time-consuming trial operation. Specifically, the tool developer can quickly locate and diagnose the problem of the tool itself, thereby avoiding long and time-consuming trial operation.
[0227] It should be noted that the various optional embodiments introduced in the embodiments of the present application can be combined with each other to be implemented, or can be implemented alone, and the embodiments of the present application do not limit the same.
[0228] As shown in Figure 5 , the developer can initialize the JSON file of the log file, and the user can register the Tcl Proc by using the Tcl command. Then, the log manager of the electronic design automation software can execute the target function to obtain the execution result, and input the execution result into the log file, the cvs file, and the console, and display the GUI through the cvs file.
[0229] Based on the error information processing method provided in the above embodiments, the application further provides a specific implementation of an error information processing device. Please refer to the following embodiments.
[0230] Referring to Figure 6 The error information processing device provided in the embodiments of the application can include:
[0231] The first creation module 701 is configured to create a log file and record verification log information generated by the electronic design automation software during the running process in the log file, wherein each verification log information has a corresponding information identifier.
[0232] The first receiving module 702 is configured to receive a query request of a user for a first information identifier in the log file.
[0233] The first query module 703 is configured to query an object in first verification log information corresponding to the first information identifier in the log file to obtain an object query result in response to the query request, wherein the object query result includes relevant information of the queried object, and the relevant information includes at least one of name information, attribute information and connection object information.
[0234] The first output module 704 is configured to output the object query result.
[0235] In some embodiments, the first query module 703 is specifically configured to:
[0236] In response to the query request, execute the first target function corresponding to the first information identifier to obtain the object query result.
[0237] The first target function is used to query the object in the first verification log information.
[0238] In some embodiments, the device further includes:
[0239] The second acquisition module is configured to acquire a first function script corresponding to the first information identifier.
[0240] The first registration module is configured to register the first function script through an extensible interface of the electronic design automation software according to the first information identifier to obtain the first target function.
[0241] The first establishment module is configured to establish a corresponding relationship between the first target function and the first information identifier.
[0242] In some embodiments, the second acquisition module is specifically configured to:
[0243] in the configuration file of the electronic design automation software, running the first function script in the configuration file in the case of predefining the first function script;
[0244] or,
[0245] In the electronic design automation software starts or after the electronic design automation software completes running, receiving the user using the registration command in the electronic design automation software, the first information identification corresponding to the first function script is registered or updated.
[0246] In some embodiments, the first query module 703 comprises:
[0247] The checking unit is configured to check, in response to the query request, whether the first target function corresponding to the first information identification exists;
[0248] The execution unit is configured to execute the first target function to obtain an object query result in the case where the first target function exists.
[0249] The apparatus further comprises:
[0250] The second query module is configured to query the first severity level and the first detail level corresponding to the first information identification in the case where the first target function does not exist.
[0251] The third query module is configured to query information in the first verification log information in the log file according to the first severity level and the first detail level to obtain an information query result.
[0252] The second output module is configured to output the information query result.
[0253] In some embodiments, the first receiving module comprises:
[0254] The receiving unit is configured to receive a selection operation of a user on first content in the log file.
[0255] The determining unit is configured to determine, in response to the selection operation, that a query request of the user on the first information identification in the log file is received, wherein the first information identification is an information identification corresponding to the first content.
[0256] In some embodiments, the apparatus further comprises:
[0257] The first obtaining module is configured to obtain a JSON configuration file, and the JSON configuration file comprises an information block.
[0258] The first creating module is specifically configured to:
[0259] The verification log information generated by the electronic design automation software during running is recorded into the log file according to the format defined by the information block;
[0260] The information block comprises:
[0261] The format string field comprises a first field and a placeholder, the first field is used to fill the verification log information, and the placeholder is used to fill the object in the verification log information;
[0262] The information identification string is used to fill the information identification;
[0263] The target function string is used to fill the function script.
[0264] In some embodiments, the device further comprises:
[0265] The second receiving module is configured to receive the first function script filled by the user in the target function string.
[0266] In some embodiments, the device further comprises:
[0267] The second creating module is configured to create a comma separated value (CSV) file according to the JSON configuration file.
[0268] The first display module is configured to display a graphical user interface according to the CSV file, wherein the graphical user interface comprises a first sub-region and a second sub-region, the first sub-region comprises at least one row, and each row is used to display the following information corresponding to one verification log information in the CSV file: a severity level, an information identification, an object query result, an absolute path of the object query result, and a line number.
[0269] The third receiving module is configured to receive a first input of a user on an i-th row in the at least one row, i being a positive integer.
[0270] The second display module is configured to highlight the i-th row and display information of the i-th row in the second sub-region in response to the first input.
[0271] The fourth receiving module is configured to receive a second input of a user on an object query result of a j-th row in the at least one row, j being a positive integer.
[0272] The third display module is configured to display the object query result of the j-th row in response to the second input.
[0273] In some embodiments, the device further comprises:
[0274] The third creating module is configured to create a log data structure in memory.
[0275] a storage module, configured to store the object query result into the log data structure;
[0276] a reading module, configured to read the object query result from the log data structure.
[0277] In some embodiments, the apparatus further includes:
[0278] a fifth receiving module, configured to receive a second information identifier input by a user, the second information identifier being an associated information identifier of interest determined by the user based on the object query result;
[0279] a second obtaining module, configured to obtain a second function script corresponding to the second information identifier;
[0280] a second registering module, configured to register the second function script through an extensible interface of the electronic design automation software according to the second information identifier, to obtain a second target function;
[0281] a second executing module, configured to execute the second target function to query an object corresponding to the second information identifier from the log data structure;
[0282] a third outputting module, configured to output related information of the object corresponding to the second information identifier.
[0283] In some embodiments, the object includes an operating object in a digital chip design.
[0284] In some embodiments, the operating object in the digital chip design includes a wire, a module, a pin, or a port.
[0285] In some embodiments, the object includes an object in a unified low-power consumption format standard.
[0286] In some embodiments, the object in the unified low-power consumption format standard includes at least one of a power consumption domain, a power line, a connection relationship between power nodes, an isolation circuit, a level conversion circuit, and a state retention circuit.
[0287] In some embodiments, the attribute information includes at least one of hierarchy information, netlist information, and netlist instance information.
[0288] In some embodiments, the connection object information includes name information and attribute information of the connection object.
[0289] In some embodiments, the electronic design automation software is any one of a layout and routing tool, a hardware simulation and acceleration tool, a timing analysis tool, a power consumption verification tool, a power consumption analysis tool, a physical verification tool, a formal verification tool, a logic simulation tool, or a logic synthesis tool.
[0290] Figure 7 A hardware structure diagram of the error information processing device provided by the embodiments of the present application is shown.
[0291] The error information processing device can include a processor 801 and a memory 802 storing computer program instructions.
[0292] Specifically, the processor 801 can include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement one or more embodiments of the present application.
[0293] The memory 802 can include a mass storage for data or instructions. By way of example and not limitation, the memory 802 can include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 802 can include removable or non-removable (or fixed) media. Where appropriate, the memory 802 can be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, the memory 802 is non-volatile, solid-state memory.
[0294] The memory can include read-only memory (ROM), random access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices, electrical, optical, or other physical / tangible memory storage devices. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software that, when executed (by one or more processors), is operable to perform operations described with reference to the methods according to an aspect of the present disclosure.
[0295] The processor 801 implements any one of the error information processing methods in the above embodiments by reading and executing the computer program instructions stored in the memory 802.
[0296] In one example, the error information processing device can further include a communication interface 803 and a bus 810. As shown, the processor 801, the memory 802, and the communication interface 803 are connected through the bus 810 and complete communication among each other. Figure 7
[0297] The communication interface 803 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0298] Bus 810 includes hardware, software, or both, that couples components of an error information processing device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 810 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.
[0299] Furthermore, in conjunction with the error message processing methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the error message processing methods in the above embodiments.
[0300] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0301] The functions noted in the description of the structural block diagrams above can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, and the like. When implemented in software, the elements of the present application are program or code segments that are used to perform the required tasks. The program or code segments can be stored in a machine-readable medium, or transmitted through a data signal carried in a carrier wave over a transmission medium or communication link. A "machine-readable medium" includes any medium that can store or transport information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, and the like. The code segments can be downloaded via computer networks such as the Internet, intranets, and the like.
[0302] It is also important to note that the examples mentioned in the present application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the steps mentioned above, that is, the steps can be performed in the order mentioned in the examples, or in an order different from the examples, or several steps can be performed simultaneously.
[0303] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other processing device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other processing device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer program instructions can also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other processing device to operate in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks. The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other processing device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other processing device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer program instructions can also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other processing device to operate in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks.
[0304] The above merely describes a specific implementation of the present application. Those skilled in the art can clearly understand the specific working processes of the system, modules and units described above for the convenience and brevity of description, and can refer to the corresponding processes in the foregoing method embodiments, which will not be described herein again. It should be understood that the protection scope of the present application is not limited to this, and any person skilled in the art can easily think of various equivalent modifications or replacements within the technical range disclosed by the present application, and these modifications or replacements should be covered within the protection scope of the present application.
Claims
1. An error message processing method, characterized by, The method comprises the following steps: creating a log file, and recording verification log information generated by the electronic design automation software during running into the log file, wherein each verification log information has a corresponding information identifier; receiving a query request of a user for a first information identifier in the log file; in response to the query request, querying an object in first verification log information corresponding to the first information identifier in the log file to obtain an object query result, wherein the object query result comprises relevant information of the queried object, and the relevant information comprises at least one of name information, attribute information and connection object information; outputting the object query result; before the verification log information generated by the electronic design automation software during running is recorded into the log file, the method further comprises: obtaining a JSON configuration file, wherein the JSON configuration file comprises an information block; recording the verification log information generated by the electronic design automation software during running into the log file comprises: recording the verification log information generated by the electronic design automation software during running into the log file according to a format defined by the information block; wherein the information block comprises: a format string field, comprising a first field and a placeholder, wherein the first field is used to fill the verification log information, and the placeholder is used to fill an object in the verification log information; an information identifier string, used to fill the information identifier; a target function string, used to fill a function script.
2. The error message processing method of claim 1, wherein, in response to the query request, executing the first target function corresponding to the first information identifier to obtain the object query result; wherein the first target function is used to query the object in the first verification log information. before the first target function corresponding to the first information identifier is executed to obtain the object query result, the method further comprises:
3. The error message processing method of claim 2, wherein, obtaining a first function script corresponding to the first information identifier; registering the first function script through an extensible interface of the electronic design automation software according to the first information identifier to obtain the first target function; establishing a corresponding relationship between the first target function and the first information identifier. in the case that the first function script is pre-defined in a configuration file of the electronic design automation software, running the first function script in the configuration file; 4. The error message processing method of claim 3, wherein, or, receiving a registration command of a user using the electronic design automation software, and registering or updating the first function script corresponding to the first information identifier. in response to the query request, checking whether the first target function corresponding to the first information identifier exists; 5. The error message processing method of claim 2, wherein, In the presence of the first target function, the first target function is executed to obtain an object query result; The method further comprises: In the absence of the first target function, querying a first severity level and a first detail level corresponding to the first information identifier in the log file; According to the first severity level and the first detail level, querying information in the first verification log information in the log file to obtain an information query result; Outputting the information query result.
6. The error message processing method of claim 1, wherein, The receiving of the query request of the user for the first information identifier in the log file comprises: Receiving a selection operation of the user on the first content in the log file; In response to the selection operation, it is determined that the query request of the user for the first information identifier in the log file is received, wherein the first information identifier is an information identifier corresponding to the first content.
7. The error message processing method of claim 1, wherein, The method further comprises: Receiving a first function script filled in by the user in the target function string.
8. The error message processing method of claim 1, wherein, After receiving the JSON configuration file, the method further comprises: According to the JSON configuration file, a comma-separated value (cvs) file is created; According to the cvs file, a graphical user interface is displayed, wherein the graphical user interface comprises a first sub-region and a second sub-region, the first sub-region comprises at least one row, and each row is used to display the following information corresponding to one verification log information in the cvs file: severity level, information identifier, object query result, absolute path of the object query result, and line number; Receiving a first input of the user on the i-th row in the at least one row, i being a positive integer; In response to the first input, the i-th row is highlighted, and the information of the i-th row is displayed in the second sub-region; Receiving a second input of the user on the object query result of the j-th row in the at least one row, j being a positive integer; In response to the second input, the object query result of the j-th row is displayed.
9. The error message processing method of claim 1, wherein, The method further comprises: Creating a log data structure in memory; After the object query result is obtained in response to the query request, before the object query result is outputted, the method further comprises: Storing the object query result into the log data structure; Before the object query result is outputted, the method further comprises: Reading the object query result from the log data structure.
10. The error message processing method of claim 1, wherein, After the object query result is outputted, the method further comprises: Receiving a second information identifier input by the user, the second information identifier being an associated information identifier of interest determined by the user based on the object query result; Obtaining a second function script corresponding to the second information identifier; According to the second information identifier, the second function script is registered through the extensible interface of the electronic design automation software to obtain a second target function; Executing the second target function to query an object corresponding to the second information identifier from the log data structure; Outputting related information of the object corresponding to the second information identifier.
11. The error message processing method of claim 1, wherein, The object comprises an operating object in a digital chip design.
12. The error message processing method of claim 11, wherein, The operation objects in the digital chip design include: a wire, a module, a pin, and a port.
13. The error message processing method of claim 1, wherein, The objects include: objects of a unified low-power consumption format standard.
14. The error message processing method of claim 13, wherein, The objects of the unified low-power consumption format standard include at least one of: a power consumption domain, a power line, a connection relationship between power nodes, an isolation circuit, a level conversion circuit, and a state retention circuit.
15. The error message processing method of claim 1, wherein, The attribute information includes at least one of: hierarchical structure information, netlist information, and netlist instance information.
16. The error message processing method of claim 1, wherein, The connection object information includes name information and attribute information of a connection object.
17. The error message processing method of claim 1, wherein, The method is used in electronic design automation software, which is any one of: a layout and routing tool, a hardware simulation and acceleration tool, a timing analysis tool, a power consumption verification tool, a power consumption analysis tool, a physical verification tool, a formal verification tool, a logic simulation tool, and a logic synthesis tool.
18. An error message processing apparatus characterized by comprising: The method comprises: A first creating module is configured to create a log file and record verification log information generated by the electronic design automation software in a running process into the log file, wherein each verification log information has a corresponding information identifier; A first receiving module is configured to receive a query request of a user for a first information identifier in the log file; A first query module is configured to query an object in first verification log information corresponding to the first information identifier in the log file in response to the query request, and obtain an object query result, wherein the object query result includes relevant information of the queried object, and the relevant information includes at least one of name information, attribute information, and connection object information; A first output module is configured to output the object query result. The device further comprises: A first obtaining module is configured to obtain a JSON configuration file before the verification log information generated by the electronic design automation software in the running process is recorded into the log file, wherein the JSON configuration file includes an information block; The first creating module is specifically configured to: Record the verification log information generated by the electronic design automation software in the running process into the log file according to a format specified by the information block; The information block includes: A format string field including a first field and a placeholder, wherein the first field is used to fill the verification log information, and the placeholder is used to occupy the object in the verification log information; An information identifier string used to fill the information identifier; A target function string used to fill a function script.
19. An error information processing apparatus characterized by comprising: The device includes a processor and a memory storing computer program instructions; and the processor implements the error information processing method of any one of claims 1-17 when executing the computer program instructions.
20. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer program instructions, and the computer program instructions are executed by the processor to implement the error information processing method of any one of claims 1-17.
21. A computer program product, characterised in that, The instructions in the computer program product are executed by the processor of the electronic device to cause the electronic device to perform the error information processing method of any one of claims 1-17.
Citation Information
Patent Citations
System and method for a smart configurable high performance interactive log file viewer
US10445290B1