Signal leading-out configuration method and device, computer equipment and storage medium
By generating a signal information database and automating the calculation of configuration values and loading code, the problem of time-consuming and error-prone signal extraction configuration in chip verification is solved, achieving efficient and accurate signal extraction and saving manpower costs.
Patent Information
- Application Number
- CN202511071630.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-31
- Publication Date
- 2025-11-18
AI Technical Summary
During the chip return verification process, the signal extraction and configuration operations are time-consuming and prone to errors, with low automation and a lot of human intervention, which affects the efficiency of problem localization.
By generating a signal information database, using data parsing algorithms to analyze signal maintenance tables, automatically calculating configuration values, generating configuration code files, and automatically loading them into external tools, the automated extraction of signals is achieved.
It improves the efficiency of signal extraction configuration, reduces the probability of errors, saves labor costs, and improves the accuracy of signal extraction.
Smart Images

Figure CN120973568A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of chip verification technology, specifically to a signal extraction configuration method, apparatus, computer device, and storage medium. Background Technology
[0002] During chip return verification, each system component needs to undergo comprehensive verification testing of the chip's preset functions to ensure that all functions meet the expected design. When encountering anomalies or needing to observe specific states of certain functions, verification personnel must use tools to bring the corresponding module's observation signals out to the outside of the chip, using external tools to view the status of the relevant signals, thereby quickly locating the anomaly or observing the specific state of certain functions.
[0003] Currently, observed signals are maintained using text or tables. Due to the large number of observed signals distributed across different tables, when configuring signal extraction, verifiers need to manually consult specific signal bits in the relevant tables, write configuration code according to specific rules, and finally load the configuration code to successfully extract the signal to external tools. Furthermore, in actual problem localization, the observed signals that need to be extracted may be constantly adjusted, requiring verifiers to continuously consult tables and modify configuration code. This process is time-consuming, and the probability of errors in manual calculation and configuration is relatively high, impacting the efficiency of problem localization. Summary of the Invention
[0004] In view of this, this application provides a signal extraction configuration method, apparatus, computer device, and storage medium to solve the problems that require manual operation of signal extraction configuration, which is time-consuming and prone to errors.
[0005] Firstly, this application provides a signal extraction configuration method, the method comprising:
[0006] Acquire the signal information database and the signal to be extracted, wherein the signal information database is generated based on the signal maintenance table;
[0007] Obtain signal-related information of the signal to be extracted from the signal information database, and determine the configuration value of the signal to be extracted based on the signal-related information.
[0008] Generate a configuration code file based on the configured values, and then use the configuration code file to export the signals to be exported to external tools.
[0009] Secondly, this application provides a signal extraction configuration device, the device comprising:
[0010] The information acquisition module is used to acquire the signal information database and the signal to be extracted. The signal information database is generated based on the signal maintenance table.
[0011] The data determination module is used to obtain signal-related information of the signal to be extracted from the signal information database, and determine the configuration value of the signal to be extracted based on the signal-related information.
[0012] The signal extraction module is used to generate a configuration code file based on the configuration values, and to extract the signal to be extracted to an external tool based on the configuration code file.
[0013] Thirdly, this application provides a computer device, including: a memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to perform the signal extraction configuration method described in the first aspect or any corresponding embodiment.
[0014] Fourthly, this application provides a computer-readable storage medium storing computer instructions for causing a computer to execute the signal extraction configuration method described in the first aspect or any corresponding embodiment.
[0015] Fifthly, this application provides a computer program product, including computer instructions for causing a computer to execute the signal extraction configuration method described in the first aspect or any corresponding embodiment thereof.
[0016] This application obtains signal-related information about the signal to be extracted from a signal information database; calculates the configuration value of the signal using this information; generates a configuration code file based on the configuration value; and runs the configuration code file to extract the signal to be extracted to an external tool. This solves the problem of manually performing signal extraction configuration, which is time-consuming and prone to errors. This method only requires the verification personnel to determine the signal to be extracted; it automatically completes the calculation of configuration values, generation of configuration code, loading of configuration code, and extraction of the signal to be extracted to an external tool, allowing verification personnel to directly begin analyzing the signal state, thus improving the efficiency of signal extraction. Furthermore, the signal extraction configuration process avoids human intervention, improving the accuracy of signal extraction and saving labor costs. This significantly improves the efficiency of signal extraction. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the specific embodiments or related technologies of this application, the drawings used in the description of the specific embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0018] Figure 1 This is a flowchart illustrating a conventional signal extraction method according to an embodiment of this application;
[0019] Figure 2 This is a schematic diagram illustrating the configuration for generating internal signal outputs of a SOC chip according to an embodiment of this application;
[0020] Figure 3 This is a flowchart illustrating a signal extraction configuration method according to an embodiment of this application;
[0021] Figure 4 This is a schematic diagram of the signal extraction configuration process according to an embodiment of this application;
[0022] Figure 5 This is a flowchart illustrating the generation of a signal information database according to an embodiment of this application;
[0023] Figure 6 This is a flowchart illustrating the acquisition of signal combinations according to an embodiment of this application;
[0024] Figure 7 This is a flowchart illustrating the determination of configuration values according to an embodiment of this application;
[0025] Figure 8 This is a flowchart illustrating the generation of configuration code files according to an embodiment of this application;
[0026] Figure 9 This is a structural block diagram of a signal extraction configuration device according to an embodiment of this application;
[0027] Figure 10 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of this application. Detailed Implementation
[0028] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0029] During chip verification, when encountering anomalies or needing to observe specific functional states, verification personnel must use tools to bring the observation signals of the corresponding modules out to the outside of the chip. This allows them to view the status of the relevant signals using external tools, thus quickly locating the problem. In a complete System-on-Chip (SoC), the number of data bits for observation signals is at least in the hundreds of thousands. These observation signals are typically maintained using text or tables. Furthermore, before bringing the observation signals out to the outside of the chip, corresponding signal configuration is usually required. Each module in an SoC has a set of observation signals. Due to the large number of modules and tables, and the fact that the same observation signal may reside in different tables simultaneously, verification personnel need to manually consult the relevant tables for specific signal bits, write configuration code according to specific rules, and finally load the configuration code to properly bring the signal out to external tools. In the actual problem localization process, the signals that need to be elicited may be constantly adjusted, so the verification personnel need to constantly check the tables and modify the configuration code. This process takes a lot of time, the automation level of the whole process is low, a lot of human intervention is required, and the probability of errors in manual calculation and configuration values is high, which seriously affects the efficiency of problem localization.
[0030] Traditional signal extraction methods such as Figure 1As shown, the process involves obtaining the full IP (Intellectual Property) signal table to view configuration signal information. An intellectual property core refers to a pre-designed, verified, and reusable functional module or technology. Verification personnel first identify the signals to be viewed, locate the table of the module containing the signal based on its function, and then find the signal's detailed information in the table. Next, configuration code is manually calculated and written according to the configuration rules, including manually calculating the configuration values for each group of signals according to the signal configuration rules, and finally adding all configuration values to the configuration code according to the specific format of the configuration code to form a complete configuration code. The process then involves checking for changes in the signal table information or viewing signal changes. If there are changes, the process of "obtaining the full IP signal table to view configuration signal information" is repeated. If there are no changes, the configuration code is loaded and external tools are connected, including manually loading the configuration code into the runtime environment to complete the connection between internal signals and external tools. Finally, the status of the outgoing signals is checked, and problems are analyzed. If changes are found in the signals, the first three steps need to be repeated. In the traditional signal extraction method described above, IP is used as a functional module. Verification personnel need to obtain a complete list of functional module signals and then look up each signal in the table according to its function, which is very tedious. Verification personnel need to manually write configuration code according to the configuration rules, which is prone to errors and takes a lot of time. If the table changes or the signals being viewed change, verification personnel need to modify and write the configuration code repeatedly. After writing the configuration code each time, they need to manually load the code and connect to external systems, which is very inconvenient.
[0031] Based on the above, this application provides a signal extraction configuration method, which uses IP as a functional module, such as... Figure 2 As shown, the method includes: the user provides a complete signal table and signal flow relationship diagram for all functional modules; the data parsing algorithm processes and stores the complete signal table and the hierarchical relationship of each module in a database; the user efficiently completes the configuration of combined signals through a graphical interface; the configuration algorithm performs configuration value calculations; and finally, the generation algorithm generates various types of configuration codes and a complete process log. This method allows verification personnel to efficiently complete the combination of exported signals on a visual interface, and then automatically complete the configuration value calculation, generation of multiple types of configuration codes, configuration code loading, and integration with external tools with one click. This allows verification personnel to directly start analyzing signal states, solving the problems of low automation rate, large amount of human intervention, cumbersome process, low accuracy, and low efficiency in the process of extracting internal signals of the chip during the on-chip verification process. This achieves the effect of improving the efficiency of signal export configuration, reducing the probability of errors in the signal export process, and saving manpower costs in the signal export process.
[0032] According to an embodiment of this application, an embodiment of a signal extraction configuration method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer device with data processing capabilities, such as a computer, server, etc. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0033] This embodiment provides a signal extraction configuration method. Figure 3 This is a flowchart of a signal extraction configuration method according to an embodiment of this application, such as... Figure 3 As shown, the process includes the following steps:
[0034] Step S301: Obtain the signal information database and the signal to be extracted, wherein the signal information database is generated based on the signal maintenance table.
[0035] Specifically, IP is used as a functional module. Signal maintenance tables include, for example, a full functional module signal table and a signal flow relationship table. The full signal table contains signal description data structures, while the signal flow relationship table contains signal flow relationship data structures and module hierarchical relationships. Data parsing algorithms are used to analyze the signal maintenance tables, and a signal information database is generated based on the analysis results. Verification personnel use a graphical interface to efficiently combine and configure signals to be extracted, generating signal combinations. The user-configured signal combinations are then retrieved, and the signals to be extracted are determined from these combinations.
[0036] The above process is as follows Figure 4 As shown, the system obtains the full functional module signal table and signal flow relationship table; the data parsing algorithm preprocesses the data in memory; it determines whether the signal table information has changed, and if it has changed, it re-executes the "data parsing algorithm preprocessing to obtain data in memory"; and it configures the signals in the front-end user interface (UI).
[0037] Step S302: Obtain the signal-related information of the signal to be extracted from the signal information database, and determine the configuration value of the signal to be extracted based on the signal-related information.
[0038] Specifically, this embodiment uses an XML (eXtensible Markup Language) tag language to describe the attributes of the configuration signals, such as the number of signals, the number of groups, the code format, and the group signal width. Based on the numerical values of these attributes, the configuration value of the signal can be calculated, the logical relationship between the numerical values of the attributes and the configuration value can be determined, and a unified configuration algorithm can be formed based on this logical relationship. This configuration algorithm can then generate the configuration values for each level of each group of signals. Configuration values include, for example, the default value of the signal (valuesDefault), the data type of the signal (valuesSet type), the signal type (signalType type), and the checksum field of the signal (checksum type). The signal-related information of the signal to be extracted is obtained from the signal information database, such as the initial value of the signal, the signal type, the signal width, and the checksum. The configuration algorithm is then used to calculate the configuration value of the signal to be extracted based on the signal-related information. The above process is as follows: Figure 4 As shown, the configuration algorithm calculates the configuration value.
[0039] Step S303: Generate a configuration code file based on the configuration values, and then export the signal to be exported to an external tool based on the configuration code file.
[0040] Specifically, all configuration values are added to the configuration code template according to the specific format of the configuration code to generate complete configuration code, and the configuration code is written to an empty file to obtain the configuration code file.
[0041] This embodiment sets up an automatic loading mechanism, which can load the generated configuration code file into the running environment as required, establish communication with external tools, and normally export the signal to the external tools. Verification personnel can directly view the status of the observed signal through the external tools.
[0042] The above process is as follows Figure 4 As shown, the configuration algorithm calculates the configuration value and generates the algorithm output configuration code file; the automatic loading mechanism loads the configuration code and connects to external tools; it checks whether the signal has changed. If it has changed, it re-executes "Front-end User Interface Configuration Signal"; if it has not changed, it ends the process.
[0043] The signal extraction configuration method provided in this embodiment obtains signal-related information of the signal to be extracted from a signal information database; calculates the configuration value of the signal to be extracted using the signal-related information; generates a configuration code file based on the configuration value; runs the configuration code file; and extracts the signal to be extracted to an external tool. This method only requires the verification personnel to determine the signal to be extracted, and it can automatically complete the calculation of the configuration value, the generation of the configuration code, the loading of the configuration code, and the extraction of the signal to be extracted to an external tool, allowing the verification personnel to directly begin analyzing the signal state, thus improving the efficiency of signal extraction. Furthermore, the signal extraction configuration process avoids human intervention, improving the accuracy of signal extraction and saving labor costs. It improves signal extraction efficiency and solves the problems of requiring manual signal extraction configuration operations, which are time-consuming and prone to errors.
[0044] In some alternative implementations, the method further includes, before acquiring the signal information database and the signal to be extracted:
[0045] Obtain the signal description table and the signal flow relationship table, which are contained within the signal maintenance table;
[0046] Determine signal attribute information based on the signal description table, and determine signal flow relationship information based on the signal flow relationship table;
[0047] A signal information database is generated based on signal attribute information and signal flow direction relationship information.
[0048] Specifically, this embodiment defines a data format that uses a markup language to describe signal flow relationships and store all signal groups. This data format includes: signal flow relationship storage file, single signal storage file, single module signal information storage file, and full signal information storage file, etc.
[0049] This embodiment uses TLM (Transaction Level Modeling), DLM (Driver Level Modeling), and ULM (User Level Modeling) to represent the layers of signal flow from top to bottom.
[0050] The signal flow relationship storage file includes: first-level TLM_0, second-level DLM_0, DLM_1, DLM_3, ..., DLM_N, and third-level ULM_0, ULM_1, ULM_2, etc. Each module can be placed in different DLM groups according to actual needs. Each ULM code represents a functional module, and the preset observation signals for each functional module are set under its own ULM layer. During signal extraction configuration, parameters need to be configured layer by layer. Only after all layers are configured according to the signal flow relationship can the observation signals be correctly extracted to external devices.
[0051] Each signal storage file includes attributes for each observed signal, and each observed signal is used to observe a corresponding function. These attributes include: signal name, signal width, signal start position, signal type, and signal description. In actual configuration, this information is used to operate on specific signals.
[0052] The file stores signal information for each module. Each functional module has a set of consecutive preset signal bandwidths. These bandwidths are then split into signals of different bit widths to meet actual observation requirements. The file includes all the specific signal storage relationships set for each module. This file includes:
[0053] ULM_0:
[0054] IO_1: Observed signal IO1, IO (Input / Output);
[0055] -io_name1 The signal name is name1;
[0056] The bit width of the -5 signal is 5;
[0057] The starting position of the -5:1 signal is 5:1;
[0058] The type of the -1 signal is 1;
[0059] The -func one signal is described as func one.
[0060] This file stores all signal information, combining the signal flow relationship storage file, individual signal storage file, and individual module signal information storage file. The full signal information storage model is a synthesis of the signal flow storage model and the signal information storage model for all modules. This model can store a complete set of preset monitoring signals for a System-on-a-Chip (SoC), and this data model can be directly stored in various data containers such as databases. This file includes:
[0061] TLM_0: TLM level;
[0062] DLM_0: DLM level;
[0063] -ULM_0: ULM level;
[0064] -IO_1 observes signal IO1;
[0065] ...
[0066] -IO_n observes the signal ION.
[0067] Retrieve the signal description table and the signal flow relationship table. The signal description table is, for example, a file storing full signal information, and the signal flow relationship table is, for example, a file storing signal flow relationships. The signal description table and the signal flow relationship table are contained within the signal maintenance table.
[0068] The data parsing algorithm analyzes the signal description table and the signal flow relationship table. It determines signal attribute information from the signal description table and signal flow relationship information from the signal flow relationship table. For example, if IP is used as a functional module, such as... Figure 5 As shown, the signal description table is a table describing all IP signals, and the signal flow relationship table is a table describing all IP signal flow relationships. Analyzing the full IP signal description table, we construct full IP signal attribute data, including signal name, signal width, signal start position, signal type, and signal description. Simultaneously, we perform signal splitting, bit field relationship verification, and format unification processing on the full IP signal flow relationship table to obtain a signal description data structure, including signal name, signal width, signal start position, signal type, and signal description. This signal description data structure serves as the signal attribute information. Analyzing the full IP signal flow relationship table, we construct IP signal flow relationship data, including layer name, base address, position number, and layer number. Based on the IP signal flow relationship data, we obtain a signal flow relationship data structure, including layer name, base address, position number, and layer number. This signal flow relationship data structure serves as the signal flow relationship information. The signal description data structure and the signal flow relationship data structure are saved as in-memory data structures. A database for storing signal information can be constructed based on the memory data structure, that is, a signal information database can be generated based on signal attribute information and signal flow relationship information.
[0069] It should be noted that any simple modifications and variations to this embodiment, especially to the hierarchical structure of signal flow, the module IO signal attribute structure, the full IO signal storage structure, and the configuration numerical generation model structure, are all within the protection scope of this application.
[0070] In this embodiment, the signal description table and signal flow relationship table are parsed by an algorithm to determine the signal attribute information and signal flow relationship information, and a signal information database is generated. Subsequently, the signal-related information of the signal to be extracted is directly obtained from the signal information database, eliminating the need for verification personnel to consult the tables, thus improving the efficiency of signal introduction and configuration. Furthermore, the algorithm-based parsing reduces human intervention and lowers the probability of errors.
[0071] In some alternative implementations, acquiring the signal to be extracted includes:
[0072] Obtain signal search terms and determine candidate signals in the signal information database based on the signal search terms;
[0073] Based on the received signal selection instruction, the target signal is determined from the candidate signals and added to the signal list;
[0074] Generate signal combinations from the signal list, where each signal combination contains the signal to be extracted.
[0075] Specifically, this embodiment establishes a connection with the signal information database through a front-end user interface, and quickly retrieves the target signal using a high-precision retrieval mechanism. The user inputs signal search terms into the front-end user interface, and the system retrieves the signal search terms, such as signal keywords, for example: IP1_DLM, MODULE4_ULM, etc.
[0076] Candidate signals are identified in the signal information database based on the signal search terms. Signals containing the search terms in the database are selected as candidate signals, and the search quantity is determined. Candidate signals include, for example, Signal 1, Signal 2, etc., with a search quantity of 224. Signal 1 contains the keyword IP1_DLM, and Signal 2 contains the keyword MODULE4_ULM. The candidate signals are displayed on the front-end user interface, where the user selects the target signal, generating a signal selection command.
[0077] Based on the received signal selection instruction, the target signal is determined from the candidate signals. The target signal is, for example, signal 1. The target signal is added to the signal list, for example, ['signal 1', 'signal 3', 'signal 4', ...]. The signal list is stored in a signal configuration container.
[0078] The signal configuration container allows for rapid combination and adjustment of target signal groups, combining all target signals from the signal list to generate a signal combination. Each target signal in the signal combination is then used as the signal to be extracted.
[0079] It should be noted that a process log can be generated based on the entire process information of combining user signals, calculating values, generating configuration code files, and loading configuration files, making it convenient for users to verify and check.
[0080] The above process is as follows Figure 6 As shown, a front-end user interface is generated based on a high-precision signal retrieval mechanism and a signal information database; verification personnel retrieve target signals using the front-end user interface; and signal combination and adjustment are completed in the signal configuration container.
[0081] In this implementation, candidate signals are identified in the signal information database based on signal search terms and displayed in a graphical interface, allowing verification personnel to efficiently configure combined signals through this interface. The target signal is determined based on the signal selection command, generating a signal combination containing the signal to be extracted. Verification personnel only need to combine signals according to requirements to generate various types of signal extraction configuration codes with a single click, saving labor costs.
[0082] In some optional implementations, the configuration values of the signal to be extracted are determined based on signal-related information, including:
[0083] The configuration value determination algorithm is obtained, wherein the configuration value determination algorithm is generated based on a preset number of signal levels and the signal attributes contained in the signal levels, and the signal levels and signal attributes are determined based on the attribute configuration model;
[0084] The algorithm and signal-related information are determined based on the configuration values, the attribute values of the signal attributes in the signal level are determined, and the configuration values are obtained based on the attribute values.
[0085] Specifically, this embodiment uses XML tag language to describe the signal levels and signal attributes of the configuration numerical calculation method. Signal levels include, for example, TLM, DLM, ULM, etc., with preset quantities such as 3, 4, or other values that meet actual needs. Signal attributes are shown in Table 1, including signalQuantity (number of signals), valueDefault (default value), and valueSet (configuration value). See Table 1 for details, which will not be repeated here.
[0086] Table 1 Signal Attributes
[0087]
[0088]
[0089] The attribute configuration model is generated based on the aforementioned preset number of signal levels and the signal attributes contained within each signal level. Therefore, by parsing the attribute configuration model, an attribute configuration model can be generated. In the attribute configuration model, the global signal level stores common signal attributes, while signal levels such as TLM / DLM / ULM independently store unique signal attributes.
[0090] The attribute configuration model is analyzed using a configuration algorithm to form a unified evaluation algorithm, namely the configuration value determination algorithm. This configuration value determination algorithm generates the configuration values for each level of each group of signals.
[0091] Signal-related information, such as the initial signal value, signal type, signal width, and checksum. Based on the configuration values, the algorithm and signal-related information are determined, and the attribute values of the signal attributes in the signal hierarchy are determined. Attribute values include, for example, the signal's default value (valuesDefault), signal data type (valuesSet type), signal type (signalType type), and signal checksum field (checksum type). Configuration values are obtained from the attribute values, for example, by directly using the attribute values as configuration values.
[0092] The above content is as follows Figure 7 As shown, configure the numerical calculation method attribute file; configure the algorithm to parse and obtain the configuration attributes of each level, and form the evaluation algorithm; complete the configuration numerical calculation of each level of each group of signals to obtain the configuration values of TLM layer, DLM layer, and ULM layer.
[0093] In this embodiment, a configuration value determination algorithm is obtained. The algorithm is used to calculate all attribute values based on signal-related information, which facilitates the subsequent generation of target configuration code based on the configuration values. The above process adopts an automated solution to complete the configuration value calculation and the generation of multiple types of configuration code, which greatly improves the efficiency of verification.
[0094] In some optional implementations, the method further includes, prior to obtaining the configuration value determination algorithm:
[0095] Based on a preset number of signal levels, determine the general attribute level, the first signal level, the second signal level, and the third signal level;
[0096] Determine the common attributes in the signal attributes, and generate the first sub-model based on the common attributes and the common attribute hierarchy;
[0097] The first-level attributes are determined in the signal attributes, and the second sub-model is generated based on the first-level attributes and the first signal level.
[0098] Determine the second-level attributes from the signal attributes, and generate the third sub-model based on the second-level attributes and the second signal level;
[0099] The third-level attributes are determined in the signal attributes, and the fourth sub-model is generated based on the third-level attributes and the third signal level.
[0100] Generate an attribute configuration model based on the first sub-model, the second sub-model, the third sub-model, and the fourth sub-model.
[0101] Specifically, signal levels include, for example, TLM (Transaction Level Modeling), DLM (Driver Level Modeling), and ULM (User Level Modeling), with a preset number of, for example, 3, 4, or other values that meet actual needs. Based on the preset number of signal levels, a general attribute level, a first signal level, a second signal level, and a third signal level are determined. The general attribute level is, for example, the global level; the first signal level is, for example, the TLM level; the second signal level is, for example, the DLM level; and the third signal level is, for example, the ULM level.
[0102] Signal attributes, as shown in Table 1, include signalQuantity (number of signals), valueDefault (default value), and valueSet (configuration value). Details are provided in Table 1 and will not be repeated here. Common attributes are defined within the signal attributes. These are public attributes, such as signalQuantity type (number of signals), groupQuantity type (number of signal groups), valuesWidth type (data width), and endianness type (endianness of configuration values). Based on these common attributes and their hierarchy, the first sub-model is generated, for example:
[0103] <global> / / global level;
[0104] <signalQuantity type="int"> 16 / / The number of signals defined in the system is 16, and int indicates that the data type is integer;
[0105] <groupQuantity type="int"> 4 / / The number of signal groups defined in the system is 4;
[0106] <valuesWidth type="int"> 32 / / The data width for each signal value is 32 bits;
[0107] <endianness type="int"> 0 / / The system's configuration value is endianness 0;
[0108] < / global> .
[0109] The first-level attributes are determined in the signal properties. Examples of first-level attributes include: valuesDefault type (default value for the signal), valuesSet type (configured value for the signal), signalType type (signal type for the signal), checksum type (checksum for the signal), and codeType type (code format for the signal). Based on the first-level attributes and the first signal level, the second sub-model is generated.
[0110] <tlm> / / TLM level;
[0111] <valuesDefault type="int"> 1 / / The default value for this signal is 1;
[0112] <valuesSet type="int"> 1 / / The configuration value for this signal is 1;
[0113] <signalType type="int"> 0 / / The signal type of this signal is 0;
[0114] <checksum type="float"default="0.0"max="255" / > / / The checksum of this signal is default="0.0"max="255", and float indicates that the data type is floating point;
[0115] <codeType type="int"> 2 / / The code format for this signal is 2;
[0116] < / tlm> .
[0117] The second-level attributes are determined from the signal attributes. Examples of second-level attributes include: valuesDefault type, valuesSet type, signalType type, checksum type, and codeType type. Based on these second-level attributes and the second signal level, a third sub-model is generated.
[0118] <dlm> / / DLM hierarchy;
[0119] <valuesDefault type="int"> 0 / / The default value for this signal is 0;
[0120] <valuesSet type="int"> 2 / / The configuration value for this signal is 2;
[0121] <signalType type="int"> 0 / / The signal type of this signal is 0;
[0122] <checksum type="float"default="0.0"max="31" / > / / The checksum for this signal is default="0.0"max="31";
[0123] <codeType type="int"> 1 / / The code format for this signal is 1.
[0124] < / dlm> .
[0125] The third-level attributes are determined from the signal attributes. Examples of third-level attributes include: valuesDefault type, valuesSet type, signalType type, checksum type, and codeType type. Based on these third-level attributes and the third signal level, a fourth sub-model is generated.
[0126] <ulm> / / ULM hierarchy;
[0127] <valuesDefault type="int"> 1 / / The default value for this signal is 1;
[0128] <valuesSet type="int"> 2 / / The configuration value for this signal is 2;
[0129] <signalType type="int"> 0 / / The signal type of this signal is 0;
[0130] <checksum type="float"default="0.0"max="31" / > / / The checksum for this signal is default="0.0"max="31";
[0131] <codeType type="int"> 2 / / The code format for this signal is 2;
[0132] < / ulm> .
[0133] Integrate the first, second, third, and fourth sub-models mentioned above to generate an attribute configuration model.
[0134] In some optional implementations, a configuration code file is generated based on the configuration values, including:
[0135] The value of the preset attribute is determined in the configuration value, and the code format is determined according to the value of the preset attribute;
[0136] Determine the target code template based on the code format;
[0137] Based on the configured values and the target code template, a configuration code file is generated, which contains the target configuration code.
[0138] Specifically, a preset attribute, such as `codeType` (code format), determines the type of code to be generated. Code formats include, for example, C language format, C++ language format, CCM format, etc. The code format is determined based on the value of the preset attribute. For example, if the preset attribute `codeType` is 0, the code format is C language format; if `codeType` is 1, the code format is C++ language format; and if `codeType` is 2, the code format is CCM format.
[0139] Different code formats have different code templates. After determining the code format based on the attribute values, the corresponding code template is used as the target code template. The specific format of the code template is set according to actual needs. All configuration values are added to the target code template to generate complete target configuration code. The target configuration code is then written to an empty file to obtain the configuration code file.
[0140] For example, the target configuration code is in C++ language format.
[0141] ENABLE: / / Enable section;
[0142] value = &CoreSysCtrl_DLM_BASE / / Sets the variable value to &CoreSysCtrl_DLM_BASE, which is a base address;
[0143] ta.Set ENAHB:&value%LE%Long 0x1 / / Sets a register named ENAHB with type %LE (little-endian) and value 0x1 using the ta.Set ENAHB function;
[0144] value = &CoreSysCtrl_DLM_BASE + 0x4 / / Set the variable value to &CoreSysCtrl_DLM_BASE plus offset 0x4;
[0145] ta.Set ENAHB:&value%LE%Long 0x1 / / Reset the ENAHB register, setting its value to 0x1;
[0146] value = &Sysctrl_DLM_BASE / / Sets the variable value to &Sysctrl_DLM_BASE, which is a base address;
[0147] ta.Set ENAHB:&value%LE%Long 0x1 / / Sets a register named ENAHB with type %LE and value 0x1 using the ta.Set ENAHB function;
[0148] value = &Sysctrl_DLM_BASE + 0x4 / / Set the variable value to &Sysctrl_DLM_BASE plus offset 0x4;
[0149] ta.Set ENAHB:&value%LE%Long 0x1 / / Reset the ENAHB register, setting its value to 0x1;
[0150] SET VALUE: / / Value settings section;
[0151] part0 / / Part 0;
[0152] value = &CoreSysCtrl_DLM_BASE + 0x24 / / Set the variable value to &CoreSysCtrl_DLM_BASE plus the offset 0x24;
[0153] ta.Set ENAHB:&value%LE%Long 0x00000005 / / Sets the ENAHB register to a value of 0x00000005;
[0154] value = &Sysctrl_DLM_BASE + 0x24 / / Set the variable value to &Sysctrl_DLM_BASE plus the offset 0x24;
[0155] ta.Set ENAHB:&value%LE%Long 0x00000005 / / Sets the ENAHB register to a value of 0x00000005;
[0156] part1 / / Part 1;
[0157] value = &Sysctrl_DLM_BASE + 0x28 / / Set the variable value to &Sysctrl_DLM_BASE plus the offset 0x28;
[0158] ta.Set ENAHB:&value%LE%Long 0x00000000 / / Sets the ENAHB register to 0x00000000;
[0159] value = &CoreSysCtrl_DLM_BASE + 0x28 / / Set the variable value to &CoreSysCtrl_DLM_BASE plus the offset 0x28;
[0160] ta.Set ENAHB:&value%LE%Long 0x02000000 / / Sets the ENAHB register to a value of 0x02000000.
[0161] The above process is as follows Figure 8 As shown, the front-end user interface configures the observed signals; the configuration algorithm calculates the configuration values at each level; the generation algorithm generates different types of configuration code according to user needs through templates; C language format configuration files, C++ language format configuration files, and CCM format configuration files.
[0162] In this embodiment, the target code template is determined based on the attribute values of preset attributes, and the configuration values are written into the target code template to obtain the target configuration code. This reduces human intervention during the code generation process, lowers the probability of code errors, and improves the efficiency of generating configuration code files.
[0163] In some alternative implementations, the signal to be extracted is extracted to an external tool according to a configuration code file, including:
[0164] Load the configuration code file in the runtime environment to obtain signal status information;
[0165] Establish a connection between the operating environment and external tools, and based on the connection, transmit signal status information to the external tools.
[0166] Specifically, this embodiment sets up an automatic loading mechanism, which can load the generated configuration code file into the running environment as required to obtain signal status information, such as signal waveform, level information, timing, etc.
[0167] Establish a connection between the operating environment and external tools. Based on this connection, the operating environment establishes communication with the external tools, transmitting signal status information to them. Verification personnel can then directly view and observe the signal status through the external tools.
[0168] The above process is as follows Figure 4 As shown, the autoloading mechanism loads the configuration code and connects to external tools.
[0169] In this implementation, the automatic loading mechanism loads the configuration code file in the runtime environment, establishes a connection between the runtime environment and external tools, and transmits signal status information to the external tools. This allows verification personnel to directly begin analyzing signal status using the external tools, improving the efficiency of problem analysis and localization. Furthermore, the signal extraction configuration process reduces human intervention and lowers the probability of configuration errors.
[0170] In some optional implementations, after generating the signal information database based on the signal attribute information and signal flow direction relationship information, if a new signal description table and a new signal flow direction relationship table are obtained, the data in the tables needs to be written into the signal information database. The specific process may include steps A1 to A5.
[0171] Step A1: Import the new signal description table and the new signal flow relationship table as the tables to be imported.
[0172] Step A2: Obtain the configuration file of the table to be imported and parse the configuration parameters in the configuration file; the configuration parameters include: the mapping relationship information between the table data in the table to be imported and the database table fields and the validation parameters.
[0173] Step A3: Parse the table to be imported to obtain the table data.
[0174] Step A4: Validate the table data in the table to be imported according to the validation parameters.
[0175] Step A5: After the verification is passed, the table data to be imported into the table is written into the corresponding database table field in the signal information database according to the mapping relationship information.
[0176] Specifically, the tables to be imported can be: a new signal description table and a new signal flow relationship table. The new signal description table may contain new observed signals, changes in the attribute types of the observed signals, or changes in the attribute values compared to the original signal description table. These attributes include: signal name, signal width, signal start position, signal type, and signal description (desc). The new signal flow relationship table may contain new signal levels compared to the original signal flow relationship table.
[0177] The configuration file for the table to be imported is obtained. This configuration file can be in XML format, which is more flexible than other formats and allows for more accurate and easier data extraction during parsing. To automatically map the table data to database table fields based on the XML configuration, in one embodiment, the configuration parameters include: mapping relationship information between the table data in the table to be imported and the database table fields, as well as verification parameters. The mapping relationship information is generated after the signal information database is generated. This involves determining the database table fields included in the signal information database, such as TLM level, DLM level, ULM level, and attributes of the observed signal, identifying the data stored under different database table fields, matching the data stored under these fields with the initial signal description table and signal flow relationship table, and generating the mapping relationship information based on the matching results.
[0178] The Poor Obfuscation Implementation (POI) technique is used to parse the table to be imported. After obtaining the table data, this data can be loaded into memory. POI can also provide an interface to a programming language development platform for file read and write functionality, allowing developers to parse files. For example, POI can be used to parse the table "Working Table to be Imported," obtaining data such as "DLM_1," "bit width," "func one," and "IO_1," and loading this data into memory. Further, after successful validation, the table data can be persisted to the corresponding database table fields based on the mapping information. This can be achieved by retrieving the table data from memory after validation and persisting it to the corresponding database table fields according to the mapping information.
[0179] The table data to be imported is validated based on validation parameters. For example, the validation parameter might be a CRC (Cyclic Redundancy Check) code, calculated based on the data to be written before it is written to the table. The validation parameters determine if the table data contains errors. Alternatively, the validation parameters can be used to check one or more parameters related to the length, format, and type of the table data. For instance, if the table data length is set to no more than 5 characters and the data type is numeric, then if the imported table contains data of length 6 characters or text data, the validation will fail.
[0180] In this embodiment, the configuration parameters in the configuration file are parsed, the table to be imported is parsed, and the table data in the table to be imported is validated according to the configuration parameters. If the validation passes, the table import operation is performed. This demonstrates flexibility, and the table import work in different scenarios can be completed in this embodiment. When different scenarios are changed, there is no need to redevelop the code. Only the configuration parameters need to be adjusted. The configuration is simple, the maintenance is simple, and the labor cost is greatly saved.
[0181] This embodiment also provides a signal extraction configuration device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, hardware implementations, or a combination of software and hardware, are also possible and contemplated.
[0182] This embodiment provides a signal output configuration device, such as... Figure 9 As shown, it includes:
[0183] The information acquisition module 901 is used to acquire the signal information database and the signal to be extracted. The signal information database is generated based on the signal maintenance table.
[0184] The data determination module 902 is used to obtain signal-related information of the signal to be extracted from the signal information database, and determine the configuration value of the signal to be extracted based on the signal-related information.
[0185] The signal extraction module 903 is used to generate a configuration code file based on the configuration values, and to extract the signal to be extracted to an external tool based on the configuration code file.
[0186] In some alternative embodiments, the device further includes:
[0187] The acquisition module is used to acquire the signal description table and the signal flow relationship table, which are contained in the signal maintenance table.
[0188] The determination module is used to determine signal attribute information based on the signal description table and signal flow direction relationship information based on the signal flow direction relationship table.
[0189] The generation module is used to generate a signal information database based on signal attribute information and signal flow direction relationship information.
[0190] In some optional implementations, the information acquisition module 901 includes:
[0191] The first acquisition unit is used to acquire signal search terms and determine candidate signals in the signal information database based on the signal search terms;
[0192] The first determining unit is used to determine the target signal from the candidate signals according to the received signal selection instruction, and add the target signal to the signal list;
[0193] The first generation unit is used to generate a signal combination based on a signal list, wherein the signal combination contains the signal to be extracted.
[0194] In some alternative implementations, the data determination module 902 includes:
[0195] The second acquisition unit is used to acquire the configuration value determination algorithm, wherein the configuration value determination algorithm is generated based on a preset number of signal levels and the signal attributes contained in the signal levels, and the signal levels and signal attributes are determined based on the attribute configuration model;
[0196] The second determining unit is used to determine the algorithm and signal-related information based on the configuration value, determine the attribute value of the signal attribute in the signal level, and obtain the configuration value based on the attribute value.
[0197] In some optional implementations, the data determination module 902 further includes:
[0198] The third determining unit is used to determine the general attribute level, the first signal level, the second signal level, and the third signal level according to a preset number of signal levels;
[0199] The second generation unit is used to determine the general attributes in the signal attributes and generate the first sub-model based on the general attributes and the general attribute hierarchy.
[0200] The third generation unit is used to determine the first-level attributes in the signal attributes, and generate the second sub-model based on the first-level attributes and the first signal level.
[0201] The fourth generation unit is used to determine the second-level attributes in the signal attributes, and generate the third sub-model based on the second-level attributes and the second signal level;
[0202] The fifth generation unit is used to determine the third-level attributes in the signal attributes, and generate the fourth sub-model based on the third-level attributes and the third signal level;
[0203] The sixth generation unit is used to generate an attribute configuration model based on the first sub-model, the second sub-model, the third sub-model, and the fourth sub-model.
[0204] In some alternative implementations, the signal extraction module 903 includes:
[0205] The fourth determining unit is used to determine the attribute value of the preset attribute in the configuration value, and to determine the code format according to the attribute value of the preset attribute;
[0206] The fifth determining unit is used to determine the target code template based on the code format;
[0207] The seventh generation unit is used to generate a configuration code file based on the configuration values and the target code template, wherein the configuration code file contains the target configuration code.
[0208] In some alternative implementations, the signal extraction module 903 includes:
[0209] The unit is used to load the configuration code file in the runtime environment and obtain signal status information;
[0210] The transmission unit is used to establish a connection between the operating environment and external tools, and based on the connection, transmit signal status information to the external tools.
[0211] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.
[0212] In this embodiment, the signal output configuration device is presented in the form of a functional unit. Here, a unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.
[0213] This application also provides a computer device having the above-described features. Figure 9 The signal output configuration device is shown.
[0214] Please see Figure 10 , Figure 10 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of this application, such as... Figure 10 As shown, the computer device includes one or more processors 1001, a memory 1002, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 10 Take processor 1001 as an example.
[0215] Processor 1001 may be a central processing unit, a network processor, or a combination thereof. Processor 1001 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.
[0216] The memory 1002 stores instructions executable by at least one processor 1001 to cause at least one processor 1001 to perform the method shown in the above embodiments.
[0217] The memory 1002 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device. Furthermore, the memory 1002 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 1002 may optionally include memory remotely located relative to the processor 1001, and these remote memories can be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0218] The memory 1002 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 1002 may also include a combination of the above types of memory.
[0219] The computer device also includes a communication interface 1003 for communicating with other devices or communication networks.
[0220] This application also provides a computer-readable storage medium. The methods described in this application can be implemented in hardware or firmware, or implemented as recordable on a storage medium, or implemented as computer code downloaded over a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and subsequently stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code. When the software or computer code is accessed and executed by the computer, processor, or hardware, the methods shown in the above embodiments are implemented.
[0221] A portion of this application can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to this application through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer reading and executing the instructions, or the computer reading and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.
[0222] Although embodiments of this application have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of this application, and such modifications and variations all fall within the scope defined by this application.
Claims
1. A signal extraction configuration method, characterized by, The method comprises: acquiring a signal information database and a signal to be extracted, wherein the signal information database is generated according to a signal maintenance table; acquiring signal related information of the signal to be extracted in the signal information database, and determining a configuration value of the signal to be extracted according to the signal related information; generating a configuration code file according to the configuration value, and extracting the signal to be extracted to an external tool according to the configuration code file.
2. The method of claim 1, wherein, Before the acquiring of the signal information database and the signal to be extracted, the method further comprises: acquiring a signal description table and a signal flow relationship table, wherein the signal description table and the signal flow relationship table are contained in the signal maintenance table; determining signal attribute information according to the signal description table, and determining signal flow relationship information according to the signal flow relationship table; generating the signal information database according to the signal attribute information and the signal flow relationship information.
3. The method according to claim 1 or 2, characterized in that, The acquiring of the signal to be extracted comprises: acquiring a signal search term, and determining a candidate signal in the signal information database according to the signal search term; determining a target signal in the candidate signal according to a received signal selection instruction, and adding the target signal to a signal list; generating a signal combination according to the signal list, wherein the signal to be extracted is contained in the signal combination.
4. The method of claim 1, wherein, The determining of the configuration value of the signal to be extracted according to the signal related information comprises: acquiring a configuration value determination algorithm, wherein the configuration value determination algorithm is generated according to a preset number of signal levels and signal attributes contained in the signal levels, and the signal levels and the signal attributes are determined according to an attribute configuration model; determining an attribute value of the signal attribute in the signal level according to the configuration value determination algorithm and the signal related information, and obtaining the configuration value according to the attribute value.
5. The method of claim 4, wherein, Before the acquiring of the configuration value determination algorithm, the method further comprises: determining a general attribute level, a first signal level, a second signal level and a third signal level according to a preset number of the signal levels; determining a general attribute in the signal attribute, and generating a first sub-model according to the general attribute and the general attribute level; determining a first level attribute in the signal attribute, and generating a second sub-model according to the first level attribute and the first signal level; determining a second level attribute in the signal attribute, and generating a third sub-model according to the second level attribute and the second signal level; determining a third level attribute in the signal attribute, and generating a fourth sub-model according to the third level attribute and the third signal level; generating the attribute configuration model according to the first sub-model, the second sub-model, the third sub-model and the fourth sub-model.
6. The method of claim 1, wherein, The generating of the configuration code file according to the configuration value comprises: determining an attribute value of a preset attribute in the configuration value, and determining a code format according to the attribute value of the preset attribute; determining a target code template according to the code format; According to the configuration value and the target code template, a configuration code file is generated, wherein the configuration code file contains target configuration code.
7. The method of claim 1, wherein, The leading out of the to-be-led-out signal to the external tool according to the configuration code file comprises: loading the configuration code file in a running environment to obtain signal state information; establishing a connection relationship between the running environment and the external tool, and transmitting the signal state information to the external tool based on the connection relationship.
8. A signal lead-out arrangement apparatus characterized by comprising: The device comprises: an information acquisition module configured to acquire signal information database and a to-be-led-out signal, wherein the signal information database is generated according to a signal maintenance table; a data determination module configured to acquire signal related information of the to-be-led-out signal in the signal information database, and determine a configuration value of the to-be-led-out signal according to the signal related information; a signal leading-out module configured to generate a configuration code file according to the configuration value, and lead out the to-be-led-out signal to an external tool according to the configuration code file.
9. A computer device, comprising: comprise: a memory and a processor, which are in communication connection with each other, and the memory stores computer instructions, and the processor executes the computer instructions to perform the signal leading-out configuration method in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions, and the computer instructions are used to make a computer execute the signal leading-out configuration method in any one of claims 1 to 7.