Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Unless defined otherwise, all technical and scientific terms used in the embodiments of the present invention have the same meaning as commonly understood by one of ordinary skill in the art.
Referring to fig. 1, there is shown an integrated data analysis method, comprising the steps of:
S100, acquiring all key signals used for performance analysis and functional analysis in a system to be tested, and obtaining a key signal set.
Wherein the system under test is the system being tested or verified.
Optionally, the system under test is SOC (System on Chip) systems, microprocessors, or multi-chip modules. The SOC system includes at least a Processor Core (Processor Core), a Memory Subsystem (Memory Subsystem), an input/output interface (I/O Interfaces), and the like. Other types of first systems under test are also within the scope of the present invention.
Optionally, the processor core is a CPU, GPU, digital Signal Processor (DSP), and/or other type of processor. Other types of processor cores are also within the scope of the present invention.
The key signals of the performance analysis are core indexes which directly reflect the performance of the system and are used for evaluating the operation efficiency, response speed and resource utilization condition of the system.
Optionally, the key signals for performance analysis in the system under test include timing signals collected and recorded through a dedicated interface, and/or communication delay signals. For example, time series signal data acquired through a clock synchronization interface, communication delay signal data acquired through a delay measurement mechanism of a network interface. Other types of key signals for performance analysis are also within the scope of the present invention.
The key signal of the function analysis is a core index which directly reflects whether the system functions work according to the expected or not and is used for verifying whether the system correctly meets the function requirement or not.
Optionally, the key signals for functional analysis in the system under test include input/output data streams transferred and analyzed through the corresponding interfaces, and/or state transition signals of the state machine. For example, input/output data stream signal data collected through the data transmission interface, state transition signal data of the state machine recorded through the state monitoring interface. Other types of key signals for functional analysis are also within the scope of the present invention.
In the system to be tested, part of key signals in performance analysis and functional analysis may be transmitted through shared interface signals. For example, bandwidth and data traffic statistics of network interfaces are used not only for bandwidth utilization and delay assessment in performance analysis, but also for data transmission and status monitoring in functional analysis. The interface signal plays a key role in both analysis tasks.
Wherein the key signal set includes all key signals for performance analysis and functional analysis.
As a preferred embodiment, S100 further comprises the step of selecting a key signal by configuring a selection signal for each key signal, selecting the current key signal when the value of the selection signal is valid, and not selecting the current key signal when the value of the selection signal is invalid.
Optionally, the step of selecting the key signal is implemented by conditional branching or macro definition. Other implementations of the step of selecting the key signal are within the scope of the present invention.
S300, the hardware acceleration platform samples signals in the system to be tested according to the key signal set to obtain a key signal data set.
Wherein, the hardware acceleration platform supports verification and analysis of the SoC system. The system to be tested is an analysis object of the hardware acceleration platform. The system under test is generally responsible for performing core computing and processing tasks, and the hardware acceleration platform provides additional hardware resources and functionality for enhancing analysis capabilities and processing speed.
Optionally, the hardware acceleration platform includes hardware components such as FPGA, GPU, and the like. Hardware acceleration platforms including other hardware groups are also within the scope of the present invention.
The key signal set is a signal which needs to be monitored and analyzed in a key mode in the testing process.
The key signal data is a value or state of the key signal at a specific time point or condition monitored and recorded by the hardware acceleration platform.
It should be noted that, for the shared interface signal of performance analysis and functional analysis, the sampling method only needs to collect once, and repeated acquisition is not needed, so that the data acquisition amount is reduced.
S500, the hardware acceleration platform calls a processing function in the analysis module through an interface function, wherein the processing function is used for receiving the key signal data set and storing the key signal data set into a data file.
The analysis module is a software side and is used for receiving and analyzing the performance data and the functional data according to the key signal data set.
The interface function is an interface between the hardware description language and the software side and is used for transmitting the key signal data set obtained by sampling of the hardware acceleration platform to the software side.
Optionally, the interface function is DPI (Direct Programming Interface) interface, which is an interface used for interacting with a programming language on a software side in a hardware description language. Other types of interface functions in hardware description languages for interacting with a programming language on the software side are also within the scope of the present invention.
The processing function is a part of the analysis module, is called by the interface function, and is used for receiving the key signal data set and storing the key signal data set into a data file.
Alternatively, the processing function is a function written in the C language. Functions written in other languages are also within the scope of the invention.
As a preferred embodiment, S500 further comprises the step of selecting a save file type:
s510, acquiring the values of the specified performance configuration parameters and the function configuration parameters. Wherein the values of the performance configuration parameters and the functional configuration parameters may be configured to be valid or invalid.
S520, selecting to store the key signal data set as a performance data file and/or an independent function data file according to the values of the performance configuration parameters and the function configuration parameters. When the performance configuration parameters are valid and the function configuration parameters are invalid, only the key signal data of the performance analysis are saved as performance data files, when the function configuration parameters are valid and the performance configuration parameters are invalid, only the key signal data of the function analysis are saved as function data files, and when the performance configuration parameters are valid and the function configuration parameters are valid, all the data in the key signal data set are saved as integrated files.
Optionally, the step of saving the file type is implemented by conditional branching or macro definition. Other implementations of the step of saving the file types are within the scope of the present invention.
It should be noted that, since the shared signal of the performance analysis and the functional analysis is collected only once, not only the collection amount of data is reduced, but also the overhead of further data communication and the overhead of storage capacity are further reduced.
And S700, performing performance analysis and/or functional analysis by the analysis module based on the data file.
The performance analysis may be performed based on a separate performance data file or may be performed based on an integrated file. Similarly, the functional analysis may be performed based on a separate functional data file or may be performed based on an integrated file.
As a preferred embodiment, S700 further includes parsing and extracting the data file by the extraction module to obtain key signal data for performance analysis and/or key signal data for functional analysis.
The data acquisition and extraction modes of performance analysis and functional analysis are unified, so that the use difficulty of a user is reduced, and the use of the user is more convenient.
It should be noted that "and/or" means that "and/or" preceding items are included only, "and/or" following items are included only, or "and/or" preceding and following items are included simultaneously.
According to the embodiment of the invention, the hardware acceleration platform is subjected to light weight processing, so that the hardware acceleration platform is focused on a sampling task, unnecessary hardware resource consumption and delay are reduced, and the sampling speed and accuracy are improved. The software side is subjected to re-quantization processing, and the performance data and the functional data can be accurately extracted after the sampling data are received, so that the subsequent analysis is more accurate and targeted. The cooperation of software and hardware not only can improve the efficiency and performance of the system, but also can provide higher flexibility and expandability, and simultaneously reduce the cost.
In summary, the method provided by the embodiment of the invention can simultaneously and uniformly acquire the key signals of the performance analysis and the function analysis without repeatedly acquiring the shared interface signals, then store the acquired key signals into the data file through the interface function and the processing function, and can not repeatedly store the data during storage, thereby reducing the expenditure of data communication and storage, and reducing the use difficulty of users due to the uniform data acquisition and extraction mode when the performance analysis and the function analysis are performed based on the data file.
Embodiments of the present invention also provide a non-transitory computer readable storage medium that may be disposed in an electronic device to store at least one instruction or at least one program for implementing one of the methods embodiments, the at least one instruction or the at least one program being loaded and executed by the processor to implement the methods provided by the embodiments described above.
Embodiments of the present invention also provide an electronic device comprising a processor and the aforementioned non-transitory computer-readable storage medium.
Embodiments of the present invention also provide a computer program product comprising program code for causing an electronic device to carry out the steps of the method according to the various exemplary embodiments of the invention as described in the specification, when said program product is run on the electronic device.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above functional units and the division of the modules are illustrated, and in practical application, the above functions may be allocated to different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to complete all or part of the functions described above.
While certain specific embodiments of the invention have been described in detail by way of example, it will be appreciated by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the invention. Those skilled in the art will also appreciate that many modifications may be made to the embodiments without departing from the scope and spirit of the invention. The scope of the present disclosure is defined by the appended claims.