CN114896174B - Data processing system for post-processing debugging - Google Patents

Data processing system for post-processing debugging Download PDF

Info

Publication number
CN114896174B
CN114896174B CN202210816348.2A CN202210816348A CN114896174B CN 114896174 B CN114896174 B CN 114896174B CN 202210816348 A CN202210816348 A CN 202210816348A CN 114896174 B CN114896174 B CN 114896174B
Authority
CN
China
Prior art keywords
target
signal
database
name
function call
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210816348.2A
Other languages
Chinese (zh)
Other versions
CN114896174A (en
Inventor
田野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yunshu Innovation Software Technology Co ltd
Shanghai Hejian Industrial Software Group Co Ltd
Original Assignee
Beijing Yunshu Innovation Software Technology Co ltd
Shanghai Hejian Industrial Software Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yunshu Innovation Software Technology Co ltd, Shanghai Hejian Industrial Software Group Co Ltd filed Critical Beijing Yunshu Innovation Software Technology Co ltd
Priority to CN202210816348.2A priority Critical patent/CN114896174B/en
Publication of CN114896174A publication Critical patent/CN114896174A/en
Application granted granted Critical
Publication of CN114896174B publication Critical patent/CN114896174B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a data processing system for post-processing debugging, which comprises a first database for storing source code information of a test platform and a second database for storing simulation records generated in the process of carrying out simulation on the basis of the source code information of the test platform, wherein the test platform is used for providing excitation for a DUT (device under test) and testing the DUT; the system executes step S1, acquiring a target signal name and a target time; step S2, acquiring a corresponding function call stack from a second database based on the target signal name and the target time; step S3, obtaining calling function names in the function calling stack, retrieving a first database based on the calling function names, and obtaining signal names of variables corresponding to each calling function; and step S4, retrieving the second database based on the variable name and the target time of each calling function to obtain the signal value corresponding to the signal name of each calling function variable, so as to perform post-processing debugging. The invention can uniformly debug the DUT and the test platform in a post-processing mode, thereby improving the debugging efficiency.

Description

Data processing system for post-processing debugging
Technical Field
The invention relates to the technical field of data processing, in particular to a data processing system for post-processing debugging.
Background
The existing debugging (debug) method is mainly divided into an Interactive (Interactive) debugging method and a Post-processing (Post processing) debugging method. The design written based on the hardware description language needs simulation, but due to the characteristics of the hardware description language, the simulation process is not suitable for interactive debugging, so that the post-processing debugging mode is mostly adopted in the prior art for debugging. A DUT (Device Under Test) is generally tested based on a Test platform (Tset Bench, TB). The source code information of the test platform is usually written by adopting a high-level language, the high-level language is usually more suitable for interactive debugging in the prior art, and the DUT is debugged by adopting a post-processing debugging mode, so that the debugging modes of the DUT and the test platform are not uniform, and the interactive debugging of the test platform needs to be simulated for many times, and the debugging efficiency is low.
Disclosure of Invention
The invention aims to provide a data processing system for post-processing debugging, so that a DUT and a test platform are uniformly debugged in a post-processing mode, and the debugging efficiency is improved.
The invention provides a data processing system for post-processing debugging, which comprises a first database, a second database, a processor and a memory, wherein the first database and the second database are constructed in advance, the memory is used for storing a computer program, the first database comprises test platform source code information, the test platform source code information is compiled based on a high-level language, and the test platform is used for providing excitation for a DUT (device under test) and testing the DUT; the second database is used for storing simulation records generated in the process of performing simulation based on the test platform source code information, the simulation records comprise a time field, a signal name field, a signal value field and a function call stack field, the function call stack comprises function call path information formed by at least one function name, and when the processor executes the computer program, the following steps are executed:
step S1, acquiring a target signal name and target time;
step S2, acquiring a corresponding function call stack from the second database based on the target signal name and the target time;
step S3, obtaining calling function names in the function calling stack, retrieving the first database based on the calling function names, and obtaining signal names of variables corresponding to each calling function;
and step S4, retrieving the second database based on the variable name and the target time of each calling function to obtain a signal value corresponding to the signal name of each calling function variable, so as to perform post-processing debugging.
Compared with the prior art, the invention has obvious advantages and beneficial effects. By the technical scheme, the data processing system for post-processing debugging can achieve considerable technical progress and practicability, has industrial wide utilization value and at least has the following advantages:
according to the invention, the first database for storing the source code information of the test platform and the second database for storing the simulation record generated in the simulation process based on the source code information of the test platform are constructed, so that the post-processing debugging of the test platform can be realized, the simulation program is prevented from being operated for many times, the DUT and the test platform uniformly perform the post-processing debugging, and the debugging efficiency is improved.
The foregoing description is only an overview of the technical solutions of the present invention, and in order to make the technical means of the present invention more clearly understood, the present invention may be implemented in accordance with the content of the description, and in order to make the above and other objects, features, and advantages of the present invention more clearly understood, the following preferred embodiments are described in detail with reference to the accompanying drawings.
Drawings
Fig. 1 is a schematic processing flow diagram of a data processing system for post-processing debugging according to an embodiment of the present invention.
Detailed Description
To further illustrate the technical means and effects of the present invention adopted to achieve the predetermined objects, the following detailed description will be given with reference to the accompanying drawings and preferred embodiments of a data processing system for post-processing debugging and its effects.
The embodiment of the invention provides a data processing System for post-processing debugging, which comprises a first database, a second database, a processor and a memory, wherein the first database is pre-constructed, the memory stores a computer program, the first database comprises Test platform (Tset Bench, TB for short) source code information, the first database stores static information, the Test platform source code information is compiled based on high-level languages, such as C + +, System Verilog and the like, the Test platform is used for providing excitation for a DUT (Device Under Test) and testing the DUT, and the DUT is compiled by adopting a hardware description language, such as System Verilog, VHDL and the like. The second database is used for storing simulation records generated in the simulation process based on the test platform source code information, the simulation records comprise a time field, a signal name field, a signal value field and a function call stack (call stack) field, the function call stack comprises function call path information consisting of at least one function name, and the simulation records are generated according to dump (capture) related information in the simulation process based on the test platform source code information. The simulation record includes a time field, a signal name field, and a signal value field, and the second database stores dynamic information. When the processor executes the computer program, the following steps are performed, as shown in fig. 1:
step S1, acquiring a target signal name and target time;
the target signal name is a signal name corresponding to a starting point which needs debugging currently, and the target time is time corresponding to the starting point which needs debugging currently.
Step S2, acquiring a corresponding function call stack from the second database based on the target signal name and the target time;
step S3, obtaining calling function names in the function calling stack, retrieving the first database based on the calling function names, and obtaining signal names of variables corresponding to each calling function;
it can be understood that the calling function name may only obtain the calling function name that last acted on the target signal in the function call stack, or may obtain all calling function names in the function call stack, depending on the specific application requirements.
And step S4, retrieving the second database based on the variable name and the target time of each calling function to obtain a signal value corresponding to the signal name of each calling function variable, so as to perform post-processing debugging.
It can be understood by those skilled in the art that after the signal value corresponding to the signal name of the calling function variable is obtained, the subsequent debugging operation can be performed based on the prior art, and the description is not repeated here. Whereas prior art code written in high level languages is usually only interactively debugged, the system of the present invention can be implemented in a post-processing fashion. Because the characteristic of hardware programming language of the DUT can only select the post-processing form generally, the invention can unify the debugging forms of the DUT and the test platform into post-processing debugging without executing a simulation program for many times, thereby improving the debugging efficiency.
In one embodiment, the first database further includes DUT source code information, since System Verilog has characteristics of both a high level language and a hardware programming language. As a preferred embodiment, the test platform source code information and the DUT source code information are both written based on the System Verilog language, and since the pure hardware description language does not relate to a function stack, the function call stack field in the simulation record corresponding to the DUT source code information is default to null.
As an embodiment, when the processor executes the computer program, the step S10 is further executed to construct the second database, which specifically includes:
step S101, executing test simulation based on DUT source code information and test platform source code information, if the DUT source code information is executed, executing step S102, and if the test platform source code information is executed, executing step S103;
step S102, when a signal value changes, acquiring a signal name, a signal value and time of the current signal value change, storing the signal name, the signal value and the time into a corresponding field, setting a function call stack field to be empty, generating a corresponding simulation record, and storing the simulation record into the second database;
and step S103, when the signal value changes, acquiring the signal name, the signal value, the time and the corresponding function call stack of the current signal value change, storing the signal name, the signal value, the time and the corresponding function call stack into corresponding fields, generating corresponding simulation records, and storing the simulation records into the second database.
As an embodiment, the second database further includes function call stack mapping information, where the function call stack mapping information is a function call stack id and corresponding function call stack mapping information, and in step S103, the function call stack id corresponding to the function call stack is stored in a function call stack field to generate a corresponding simulation record. It should be noted that the function call stack usually includes a plurality of function names, and the same function call stack may be involved in different records, and if all the functions are directly stored, a large amount of storage space is occupied, so that a mapping relationship between the function call stack id and the function call stack may be established, and the function call stack id is stored, so as to compress the second database, thereby reducing the occupied space.
As an example, the step S1 includes:
step S11, generating a signal waveform diagram corresponding to each signal name based on the signal value and time corresponding to at least one corresponding signal name in the second database;
and step S12, determining a target signal name and a target time based on the signal waveform diagram.
It should be noted that each signal corresponds to a signal waveform diagram, the horizontal axis of the signal waveform diagram is time, and the vertical axis of the signal waveform diagram is a signal value, and whether the value of the signal at a certain time is the same as an expected value can be visually judged through the waveform diagram of each signal, and if the value of the signal is not the same as the expected value, an instruction including a target signal name and a target time can be directly generated at a corresponding position on the waveform diagram in a pointing or other selection manner.
It should be noted that, when only the post-processing debugging is performed on the DUT, the corresponding target variable signal name and signal value need to be obtained. As an embodiment, the simulation record further includes an interaction index field, and the interaction index field is used for obtaining the corresponding file name and row number from the first database, and it is understood that a specific form of the interaction index is not limited herein, and may be an integer, or a hash value calculated according to the file name and row number, etc., as long as it is possible to obtain the corresponding file name and row number from the first database based on the interaction index obtained from the second database. If the corresponding function call stack obtained in step S2 is empty, the following steps are performed:
step S10, acquiring a corresponding target signal value and an interaction index from the second database based on the target signal name and the target time;
step S20, determining the data blocks corresponding to the target file name and the target line number as target code areas based on the target file name and the target line number corresponding to the interaction index, extracting target variable declaration information and target variable use information of a target excitation signal corresponding to the target signal from the target code areas based on the target signal, and determining a corresponding target variable signal name;
and step S30, retrieving the second database based on each target variable signal name and the target time to obtain a signal value corresponding to each target variable signal name for post-processing debugging.
As an example, the step S30 includes: and displaying the signal name and the signal value corresponding to each target variable signal name, and highlighting the corresponding code line in the DUT source code information. For the post-processing of the DUT, on the basis of directly displaying the signal name and the signal value and highlighting the corresponding code line in the DUT source code information, if the corresponding target data path can be visually displayed, the debugging efficiency is further improved, the system further includes a preset display area, and the step S30 specifically includes:
step S301, determining a data block corresponding to the target file name and the target line number as a target code region based on the target file name and the target line number corresponding to the interaction index, extracting target variable declaration information and target variable use information of a target excitation signal corresponding to the target signal from the target code region based on the target signal, and generating a target path L n ={R 1 n ,R 2 n ,…R nX n ,C n },R i n Is L n The corresponding i-th signal capable of influencing the target signal, C n Is R 1 n ,R 2 n ,…R nX n The value range of i is 1 to nX, nX is L n The corresponding number of signals;
step S302, based on R i n Acquiring corresponding signal values from the second database based on the R corresponding to the target path 1 n ,R 2 n ,…R nX n ,C n And each R i n Correspond toGenerates target data path information.
And step S303, displaying the target data path information in a preset display area.
It should be noted that, after the target data path information is displayed in the preset display area in step S403, it may be possible to determine the target debug point based on the currently displayed target data path information, but it may also be necessary to continue tracing back upwards along the target data path information, as an embodiment, if an instruction for continuing to create the target path information is received after step S303, where the instruction for continuing to create the target path information includes R corresponding to at least one target data path i n And the signal names are used as extension signal names, each extension signal name is used as the target signal name, the target time is unchanged, and the steps S10-S30 and S301-S303 are executed to generate target data path information corresponding to each extension signal and combine the target data path information with the current target data path to generate a new target data path. And finally determining a target debugging point through multiple iterations.
As an embodiment, the step S4 further includes displaying the signal name and the corresponding signal value of each calling function variable, and highlighting the corresponding code line in the test platform source code information.
According to the system provided by the embodiment of the invention, the post-processing debugging of the test platform can be realized by constructing the first database for storing the source code information of the test platform and the second database for storing the simulation record generated in the simulation process based on the source code information of the test platform, so that the simulation program is prevented from being operated for many times, the DUT and the test platform are enabled to uniformly perform the post-processing debugging, and the debugging efficiency is improved.
It should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the steps as a sequential process, many of the steps can be performed in parallel, concurrently or simultaneously. In addition, the order of some of the steps may be rearranged. A process may be terminated when its operations are completed, but may have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
Although the present invention has been described with reference to a preferred embodiment, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (6)

1. A data processing system for post-processing debugging,
the device comprises a first database, a second database, a processor and a memory, wherein the first database is constructed in advance, the memory stores a computer program, the first database comprises test platform source code information, the test platform source code information is compiled based on a high-level language, and the test platform is used for providing stimulation for a DUT (device under test) and testing the DUT; the second database is used for storing simulation records generated in the process of performing simulation based on the test platform source code information, the simulation records comprise a time field, a signal name field, a signal value field and a function call stack field, the function call stack field comprises function call path information formed by at least one function name, and when the processor executes the computer program, the following steps are executed:
step S1, acquiring a target signal name and target time, wherein the target signal name is a signal name corresponding to a starting point needing debugging currently, and the target time is time corresponding to the starting point needing debugging currently;
the step S1 includes:
step S11, generating a signal waveform diagram corresponding to each signal name based on the signal value and time corresponding to at least one corresponding signal name in the second database;
step S12, determining a target signal name and a target time based on the signal waveform diagram;
step S2, acquiring a corresponding function call stack from the second database based on the target signal name and the target time;
step S3, obtaining calling function names in the function calling stack, retrieving the first database based on the calling function names, and obtaining signal names of variables corresponding to each calling function;
step S4, retrieving the second database based on the variable name and the target time of each calling function to obtain the signal value corresponding to the signal name of each calling function variable for post-processing debugging;
when the processor executes the computer program, it further executes building of the second database, specifically including:
step S101, executing test simulation based on DUT source code information and test platform source code information, if the DUT source code information is executed, executing step S102, and if the test platform source code information is executed, executing step S103;
step S102, when a signal value changes, acquiring a signal name, a signal value and time of the current signal value change, storing the signal name, the signal value and the time into a corresponding field, setting a function call stack field to be empty, generating a corresponding simulation record, and storing the simulation record into the second database;
and step S103, when the signal value changes, acquiring the signal name, the signal value, the time and the corresponding function call stack of the current signal value change, storing the signal name, the signal value, the time and the corresponding function call stack into corresponding fields, generating corresponding simulation records, and storing the simulation records into the second database.
2. The system of claim 1,
the first database also comprises DUT source code information, the test platform source code information and the DUT source code information are written based on a System Verilog language, and a function call stack field in a simulation record corresponding to the DUT source code information is default to be empty.
3. The system of claim 2,
the second database further includes function call stack mapping information, where the function call stack mapping information is a function call stack id and mapping information of a corresponding function call stack, and in step S103, the function call stack id corresponding to the function call stack is stored in a function call stack field to generate a corresponding simulation record.
4. The system of claim 2,
the simulation record further includes an interaction index field, where the interaction index field is used to obtain a corresponding file name and a corresponding row number from the first database, and if the corresponding function call stack obtained in step S2 is empty, the following steps are performed:
step S10, acquiring a corresponding target signal value and an interaction index from the second database based on the target signal name and the target time;
step S20, determining the data blocks corresponding to the target file name and the target line number as target code areas based on the target file name and the target line number corresponding to the interaction index, extracting target variable declaration information and target variable use information of a target excitation signal corresponding to the target signal from the target code areas based on the target signal, and determining a corresponding target variable signal name;
and step S30, retrieving the second database based on each target variable signal name and the target time to obtain a signal value corresponding to each target variable signal name for post-processing debugging.
5. The system of claim 4,
the step S30 includes: and displaying the signal name and the signal value corresponding to each target variable signal name, and highlighting the corresponding code line in the DUT source code information.
6. The system of claim 1,
step S4 further includes displaying the signal name and the corresponding signal value of each calling function variable, and highlighting the corresponding code line in the test platform source code information.
CN202210816348.2A 2022-07-12 2022-07-12 Data processing system for post-processing debugging Active CN114896174B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210816348.2A CN114896174B (en) 2022-07-12 2022-07-12 Data processing system for post-processing debugging

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210816348.2A CN114896174B (en) 2022-07-12 2022-07-12 Data processing system for post-processing debugging

Publications (2)

Publication Number Publication Date
CN114896174A CN114896174A (en) 2022-08-12
CN114896174B true CN114896174B (en) 2022-09-16

Family

ID=82729944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210816348.2A Active CN114896174B (en) 2022-07-12 2022-07-12 Data processing system for post-processing debugging

Country Status (1)

Country Link
CN (1) CN114896174B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115470137B (en) * 2022-09-22 2023-06-06 沐曦科技(北京)有限公司 Tracking file automatic generation system
CN115293080B (en) * 2022-09-22 2023-01-31 沐曦科技(北京)有限公司 Chip debugging system based on trace file
CN116245056B (en) * 2022-09-26 2023-12-15 上海合见工业软件集团有限公司 Regression test debugging system based on time sequence type coverage database
CN115904855B (en) * 2023-03-02 2023-07-07 上海合见工业软件集团有限公司 System for determining target drive source code based on signal dynamic tracking

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1339128A (en) * 1999-01-22 2002-03-06 因芬尼昂技术北美公司 On-chip debug system
US10176078B1 (en) * 2015-08-28 2019-01-08 Cadence Design Systems, Inc. Debugging process
CN113901745A (en) * 2021-10-11 2022-01-07 海宁奕斯伟集成电路设计有限公司 Chip testing method and device, electronic equipment and computer readable storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1339128A (en) * 1999-01-22 2002-03-06 因芬尼昂技术北美公司 On-chip debug system
US10176078B1 (en) * 2015-08-28 2019-01-08 Cadence Design Systems, Inc. Debugging process
CN113901745A (en) * 2021-10-11 2022-01-07 海宁奕斯伟集成电路设计有限公司 Chip testing method and device, electronic equipment and computer readable storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LASAR软件建模与仿真应用;梁晓芬等;《第十七届中国航空测控技术年会》;20201105;全文 *

Also Published As

Publication number Publication date
CN114896174A (en) 2022-08-12

Similar Documents

Publication Publication Date Title
CN114896174B (en) Data processing system for post-processing debugging
CN114896173B (en) Data processing system for target data path display
CN105653056B (en) The test method and device of input method
CN111026670B (en) Test case generation method, test case generation device and storage medium
CN114546868A (en) Code coverage rate testing method and device and electronic equipment
CN114385877B (en) Visual processing method and system of test process and computer readable medium
CN111240961A (en) Database performance test system and method based on power grid big data platform
CN109656817A (en) A kind of automation interface test device and equipment
CN111694735B (en) Page performance testing method and device, electronic equipment and storage medium
EP2568302A1 (en) Automatically generating executable code for a test sequence
US9626415B2 (en) Data reduction with specified constraints
US20120046773A1 (en) Mold design system and method
CN106202374A (en) A kind of data processing method and device
CN111177014B (en) Software automatic test method, system and storage medium
CN110286894B (en) Script generation method, script generation device, computer equipment and storage medium
CN112035513A (en) SQL statement performance optimization method, device, terminal and storage medium
CN114280459A (en) Test method and device for integrated circuit
CN111061244A (en) Automatic testing method for power distribution master station monitoring system
CN104850494A (en) Method and device for testing storage system
CN110597725B (en) Mysql simulation return method, device and equipment
CN114218215B (en) Optimized rendering method for large-scale GIS data
CN102854875A (en) Automobile air conditioner controller testing method and system
CN116719682B (en) Data retention test method and system, electronic device and storage medium
CN113283135B (en) Method for extracting electromagnetic simulation plasma current data of tokamak vacuum chamber
CN117133377A (en) Metabonomics-based metabolite combination model data iterative processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant