CN114386365B - Data verification method and system based on verification platform and electronic equipment - Google Patents

Data verification method and system based on verification platform and electronic equipment Download PDF

Info

Publication number
CN114386365B
CN114386365B CN202111635159.7A CN202111635159A CN114386365B CN 114386365 B CN114386365 B CN 114386365B CN 202111635159 A CN202111635159 A CN 202111635159A CN 114386365 B CN114386365 B CN 114386365B
Authority
CN
China
Prior art keywords
data
path
information
transmission
original
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
CN202111635159.7A
Other languages
Chinese (zh)
Other versions
CN114386365A (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 Dera Technology Co Ltd
Original Assignee
Beijing Dera Technology 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 Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202111635159.7A priority Critical patent/CN114386365B/en
Publication of CN114386365A publication Critical patent/CN114386365A/en
Application granted granted Critical
Publication of CN114386365B publication Critical patent/CN114386365B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design

Abstract

The invention discloses a data verification method, a system and electronic equipment based on a verification platform, wherein the verification platform comprises the following steps: the method comprises a data generation module and a data verification module, and comprises the following steps: the data generation module carries out aggregation processing on multiple paths of original data corresponding to the multiple data channels according to data types to obtain aggregate transmission data, and the aggregate transmission data are transmitted through an aggregate transmission port; and the data verification module acquires the aggregation transmission data through the aggregation transmission port and executes verification processing aiming at the acquired aggregation transmission data. The method can aggregate the multiple paths of original data corresponding to the multiple data channels according to the data types, and further transmit the obtained aggregate transmission data through the aggregate transmission ports, so that the number of the transmission ports is greatly reduced, the transmission overhead is simplified, the transmission efficiency is improved, and the waste of system resources is avoided.

Description

Data verification method and system based on verification platform and electronic equipment
Technical Field
The present invention relates to the field of data processing, and in particular, to a data verification method and system based on a verification platform, and an electronic device.
Background
In the verification project, a situation that the same module is used for multiple times often occurs, for example, the data receiving module needs to receive data from the data sending module for multiple times. In the related art, it is necessary to repeat multiple sets of codes to realize multiple sets of sending ports, where each set of sending ports is used to transmit one path of data, so that each path of data can be transmitted from the data sending module to the data receiving module. Correspondingly, in order to implement the reception of each path of data, the data receiving module also needs to implement multiple sets of receiving ports.
The inventor finds that the mode has at least the following defects in the process of implementing the invention: multiple sets of codes need to be written repeatedly to realize multiple sets of sending ports and receiving ports, so that the data transmission mode is complicated, and a large amount of waste of system resources is caused.
Disclosure of Invention
In view of the above problems, the present invention provides a data verification method, system and electronic device based on a verification platform, so as to solve the problem of complicated data transmission manner in the prior art.
According to an aspect of the present invention, there is provided a data verification method based on a verification platform, the verification platform including: the method comprises a data generation module and a data verification module, and comprises the following steps:
the data generation module carries out aggregation processing on multiple paths of original data corresponding to the multiple data channels according to data types to obtain aggregate transmission data, and the aggregate transmission data are transmitted through an aggregate transmission port;
and the data verification module acquires the aggregation transmission data through the aggregation transmission port and executes verification processing aiming at the acquired aggregation transmission data.
According to still another aspect of the present invention, there is provided a data verification system including: a data generation module and a data verification module, wherein,
the data generation module is suitable for aggregating multiple paths of original data corresponding to the multiple data channels according to data types to obtain aggregate transmission data, and transmitting the aggregate transmission data through an aggregate transmission port;
the data verification module is suitable for acquiring the aggregation transmission data through the aggregation transmission port and executing verification processing on the acquired aggregation transmission data.
According to still another aspect of the present invention, there is provided an electronic apparatus including:
one or more processors;
a memory on which one or more programs are stored, which when executed by the one or more processors, cause the one or more processors to implement the above-described data verification method;
one or more I/O interfaces connected between the processor and the memory and configured to enable information interaction between the processor and the memory.
According to a further aspect of the present invention, there is provided a computer readable medium having stored thereon a computer program which, when executed by a processor, implements the above-described data verification method.
In the data verification method, the system and the electronic equipment based on the verification platform, the data generation module is used for aggregating multiple paths of original data corresponding to a plurality of data channels according to data types to obtain aggregated transmission data, and the aggregated transmission data is transmitted through the aggregated transmission port; and acquiring the aggregation transmission data through the aggregation transmission port by the data verification module, and executing verification processing on the acquired aggregation transmission data. Therefore, the method can aggregate the multiple paths of original data corresponding to the multiple data channels according to the data types, and further transmit the obtained aggregate transmission data through the aggregate transmission ports, so that the number of the transmission ports is greatly reduced, the transmission overhead is simplified, the transmission efficiency is improved, and the waste of system resources is avoided.
Drawings
FIG. 1 is a flow diagram illustrating a verification platform-based data verification method according to an embodiment of the present invention;
fig. 2 is a diagram illustrating a data transmission manner in the related art;
FIG. 3 shows a schematic diagram of a data transmission scheme in one example of the invention;
FIG. 4 shows a schematic diagram of a specific implementation of a comparative validation scheme;
FIG. 5 is a schematic diagram illustrating a data verification system according to another embodiment of the present invention;
fig. 6 is a schematic structural diagram of an electronic device according to yet another embodiment of the present invention.
Detailed Description
In order to make those skilled in the art better understand the technical solution of the present invention, the server provided by the present invention is described in detail below with reference to the accompanying drawings.
Example embodiments will be described more fully hereinafter with reference to the accompanying drawings, but which may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The embodiments described herein may be described with reference to plan and/or cross-sectional views in idealized representations of the present invention. Accordingly, the example illustrations can be modified in accordance with manufacturing techniques and/or tolerances. Accordingly, the embodiments are not limited to the embodiments shown in the drawings, but include modifications of configurations formed based on a manufacturing process. Thus, the regions illustrated in the figures have schematic properties, and the shapes of the regions shown in the figures illustrate specific shapes of regions of elements, but are not intended to be limiting.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Fig. 1 shows a flowchart of a data verification method based on a verification platform according to an embodiment of the present invention. The verification platform in this embodiment is used to implement data verification operations, and may specifically be various types of verification platforms, and the present invention does not limit the types of the verification platforms. The verification platform includes: the device comprises a data generation module and a data verification module. The data generation module is used for generating data to be verified, and the data verification module is used for receiving the data to be verified generated by the data generation module and verifying the data. The data generation module may be a driving module, a monitoring module, and other various modules, and the data to be verified generated by the data generation module may be generated locally in the data generation module, or may be acquired from an external device by the data generation module, which is not limited in this invention. As shown in fig. 1, the method comprises the steps of:
step S110: and the data generation module carries out aggregation processing on the multiple paths of original data corresponding to the multiple data channels according to the data types to obtain aggregate transmission data, and the aggregate transmission data is transmitted through the aggregate transmission port.
The data generation module comprises a plurality of data channels, and can generate a plurality of paths of original data, wherein each path of original data corresponds to one data channel. Correspondingly, the data generation module carries out aggregation processing on the multiple paths of original data of the same data type, and transmits the obtained aggregate transmission data through the same aggregate transmission port.
The data type of the original data may be divided in various ways, for example, the data type may be divided according to various factors such as a generation way, a data usage, and a generation time of the original data, which may depend on a service requirement. In a word, the number of the transmission ports can be greatly reduced by combining the same type of data.
In this embodiment, the polymerization treatment means: and aggregating the multiple paths of original data, and executing merging processing aiming at the multiple paths of original data obtained by aggregation. Accordingly, the aggregation process is also called a merge process, and additional operations such as compression encoding may be further performed at the time of the aggregation process. In summary, all operations that can be implemented to merge multiple paths of original data may be referred to as aggregation processing operations. The aggregation transmission port refers to: the port for transmitting aggregated transmission data after aggregation processing may also be referred to as a composite transmission port or a merged transmission port, and is mainly used for merging and transmitting multiple paths of original data to save port resources. In addition, a plurality of aggregation transmission ports can be included in the same data generation module, so that a plurality of different types of data can be transmitted simultaneously.
Step S120: and the data verification module acquires the aggregation transmission data through the aggregation transmission port and executes verification processing aiming at the acquired aggregation transmission data.
Specifically, the data verification module obtains the aggregate transmission data sent by the data generation module through the aggregate transmission port, and executes verification processing. The data generating module executes aggregation processing on the original data, so that the aggregated transmission data is sent through only one aggregation transmission port, and correspondingly, the data verification module can realize data receiving operation only through one aggregation transmission port.
The data generation module and the data verification module can use the same aggregation transmission port to realize data transmission. Alternatively, the aggregate transmission port may further include an aggregate transmission port and an aggregate reception port. Correspondingly, the data generation module sends the aggregation transmission data through the aggregation sending port, and the data verification module obtains the aggregation transmission data through the aggregation receiving port.
Therefore, the method can aggregate the multiple paths of original data corresponding to the multiple data channels according to the data types, and further transmit the obtained aggregate transmission data through the aggregate transmission ports, so that the number of the transmission ports is greatly reduced, the transmission overhead is simplified, the transmission efficiency is improved, and the waste of system resources is avoided.
The above steps will be described in detail below.
First, the specific implementation details of step S110 are introduced:
in step S110, the data generating module is mainly configured to aggregate the same type of original data according to the data types, where whether the data types are the same may be determined in multiple ways. In an optional implementation manner, the data generation module obtains channel identification information, data function information, and/or data source information of each path of original data of each data channel respectively; determining the data type of each path of original data according to the channel identification information, the data function information and/or the data source information, and aggregating at least two paths of original data with the same type into one path of aggregated transmission data; and determining an aggregation transmission port corresponding to the path of aggregation transmission data, and transmitting the path of aggregation transmission data through the aggregation transmission port. The channel identification information is used for indicating a data channel corresponding to the path of original data, and the channel identification of the data channel can reflect a generation channel of the original data, so that the generation position of the data can be determined according to the channel identification, and the original data generated by the same group of data channels can be determined to be of the same type. The data function information is used to describe the function of the original data, and thus, the original data having the same function can be determined to be of the same type. The data source information is used to describe the source of the original data, so that the original data having the same source can be determined to be of the same type. Therefore, the data types of the original data of each path can be divided by various factors, and the specific division mode is not limited by the invention.
Optionally, in order to implement the data control function, when aggregating at least two paths of original data with the same type into one path of aggregated transmission data, the method is implemented in the following manner: and respectively generating control information corresponding to each path of original data aiming at each path of original data, and aggregating to obtain aggregate transmission information according to each path of original data and the control information corresponding to each path of original data. The control information is used for realizing a control function for the original data, and is specifically generated according to channel identification information, data function information, data source information, and/or data sequence information of the original data corresponding to the path of original data. Wherein the data order information is used to describe a generation order, a transmission order, an execution order, or a processing order of the original data. By means of the mode of generating the control information, classified storage and comparison of data can be achieved according to the control information in the follow-up verification process, and verification efficiency is improved.
In addition, when at least two paths of original data with the same type are aggregated into one path of aggregated transmission data, preprocessing operation can be further executed, so that the purposes of reducing data volume, improving reliability and the like are achieved. Specifically, for each path of original data, preprocessing data corresponding to the path of original data is generated, and aggregation transmission information is obtained according to the preprocessing data aggregation of each path of original data; wherein preprocessing the data comprises: and performing encoding processing or compression processing on the original data to obtain data. The present invention is not limited to a specific type of preprocessing as long as the purpose of facilitating the subsequent verification can be achieved.
In addition, when the data generation module determines the aggregation transmission port corresponding to the path of aggregation transmission data and transmits the path of aggregation transmission data through the aggregation transmission port, in order to improve the flexibility of the transmission process, the connection relationship between each data channel and the aggregation transmission port may be dynamically established. Specifically, a plurality of data channels corresponding to multiple paths of original data determined to be of the same data type are used as target data channels, and a connection relationship between the target data channels and the aggregation transmission port is dynamically established, specifically, the dynamic connection relationship can be established by creating an interface connection function and the like. In practical situations, the number of data channels is often greater than the number of aggregation transmission ports. For example, the number of data channels is N, the number of aggregation transmission ports is M, where N, M are natural numbers, and N is greater than M. It can be seen that, unlike the design manner in the related art in which the number of data channels is the same as that of the transmission ports, the number of data channels in the present embodiment is significantly greater than that of the aggregation transmission ports. And the connection relation between the data channel and the aggregation transmission port can be dynamically specified in the data transmission process.
For example, assume that the original data 1, the original data 3, and the original data 5 corresponding to the data channels 1, 3, and 5 are data of a first type, and the original data 2, the original data 4, and the original data 6 corresponding to the data channels 2, 4, and 6 are data of a second type. Accordingly, a first interfacing function is created to dynamically connect the data channels 1, 3, 5 to the first aggregate transmission port, so that the original data 1, the original data 3, and the original data 5 are merged and transmitted to the first aggregate transmission port. And, a second interface connection function is created to dynamically connect the data channels 2, 4, 6 to the second aggregate transmission port, so that the original data 2, the original data 4 and the original data 6 are merged and transmitted to the second aggregate transmission port. Because the interface connection function can be dynamically created or destroyed, the corresponding relation between each data channel and each aggregation transmission port can be dynamically adjusted, and thus, the aggregation transmission of various data types can be flexibly adapted.
Then, the specific implementation details of step S120 are introduced:
in step S120, the data verification module obtains each path of original data included in the aggregate transmission data and control information corresponding to each path of original data; respectively storing the path of original data into a data queue matched with the control information of the path of original data aiming at each path of original data; and verifying the original data stored in the plurality of data queues in a parallel comparison mode.
The data verification module analyzes the received aggregated transmission data to obtain each path of original data contained in the aggregated transmission data and control information corresponding to each path of original data. Specifically, the control information and the data queues have a preset corresponding relationship, and accordingly, each path of original data obtained by analysis can be stored in different data queues respectively according to the control information. Because each path of original data is respectively stored in a plurality of different data queues, the original data in the plurality of data queues can be verified in parallel conveniently in a parallel comparison mode, and therefore the verification efficiency is improved.
In an optional implementation, the data queue has multidimensional identification information, which includes at least one dimension of: a data source dimension, a data channel dimension, and a data order dimension; correspondingly, the data queue matched with the control information of the original data of the path is determined by the following method: and acquiring a plurality of dimension information contained in the control information of the path of original data, and respectively matching the plurality of dimension information contained in the control information with the multi-dimensional identification information of each data queue. The control information of the original data comprises a plurality of dimension information: the data processing device comprises first dimension information used for representing data sources, second dimension information used for representing data channels and third dimension information used for representing data orders. Correspondingly, matching first dimension information in control information of the original data with a data source dimension in the multi-dimensional identification information, matching second dimension information with a data channel dimension in the multi-dimensional identification information, and matching third dimension information with a data sequence dimension in the multi-dimensional identification information, and determining a successfully matched data queue as a target data queue for storing the original data. The data source is used for indicating a data generation module of the original data or a sub-module contained in the data generation module. A plurality of data generating modules, such as a driving module, a monitoring module, a sequence control module, a reference model module, etc., are usually included in the verification platform, and accordingly, which module the data generating module is specific to can be indicated through a data source.
In an alternative implementation manner, the verification platform is a universal verification methodology UVM verification platform, the data verification module is a scoreboard module, and the data generation module includes: the device comprises a driving module, a monitoring module, a sequence control module and a reference model module; and, the raw data includes: data state information, transaction information, etc.
In summary, the embodiment can aggregate the multiple paths of original data corresponding to the multiple data channels according to the data types, and then transmit the obtained aggregate transmission data through the aggregate transmission ports, thereby greatly reducing the number of the transmission ports, simplifying the transmission overhead, improving the transmission efficiency, and avoiding the waste of system resources. And each path of original data can be stored to a plurality of different data queues in a classified manner by utilizing the control information, so that the verification efficiency is improved in a parallel comparison mode. In summary, the method in this embodiment has at least the following advantages: on one hand, by dynamically establishing the connection relationship between the data channels and the aggregation transmission ports, the same type of data corresponding to multiple channels can be dynamically merged to the same aggregation transmission port, and the multiplexing rate and the flexibility of the ports are improved; on the other hand, the aggregated transmission data can be classified and stored through the control information, so that complex verification processing modes such as parallel comparison and the like are facilitated.
For the convenience of understanding, the following describes the implementation of the above embodiment in detail by taking a specific example as an example:
in this example, a System-on-a-Chip (SOC) verification item is taken as an example, and in the type of verification item, a scenario in which the same module is used for multiple times often exists. For example, when the data verification module is a Scoreboard (Scoreboard) module, the Scoreboard module needs to collect data from a data generation module such as a Driver module (Driver), a Monitor module (Monitor), a sequence control module (Sequencer) or a reference model module (Ref model). In the related art, multiple groups of codes need to be repeatedly written to realize that multiple groups of ports can transmit the data to the Scoreboard module, similarly, when the Scoreboard module receives the data, multiple groups of receiving ports need to be realized, each group of ports need to realize a Write Function module (Write Function block) to receive the data, even if a macro definition mode is used, multiple instantiations are needed, generally, the maintenance of the macro definition is complicated, and a global variable mode is easy to conflict with other definitions, so that unexpected errors are caused.
Fig. 2 is a diagram illustrating a data transmission method in the related art. As can be seen from fig. 2, when multiple sets of data and/or status information of the same type need to be transferred between components (components), each Agent module (Agent) with independent function usually includes at least one Port in the environment (Env.) level for writing the collected Transaction (Transaction) into the Scoreboard (Scoreboard), and then a corresponding output (Export) Port is required in the Scoreboard, and the write function module receives the data and status sent by the Port. If multiple sets of identical modules are used in a complex SOC design and the modules may be added or subtracted as needed for performance evaluation, conventional approaches must add or delete corresponding blocks of code based on these modifications. Furthermore, in Scoreboard, data of Driver, Monitor or sequence in the same Agent or Env may need to be collected for comparison, so that more resources are needed. As shown in FIG. 2, the TOP environment module (TOP ENV, TOP environment module) includes Agent modules (Agents) with four independent functions of A, B, C and D, each class needs to be used for multiple times, so collected data needs to be sent from the ENV through the ports of PortA 0-N, PortB 0-N, PortC 0-N and PortD 0-N, and correspondingly, the same ports and write function modules (WA 0-N, WB 0-N, WC 0-N and WD 0-N) are also needed in the Scoreboard to receive the data or the states.
In order to solve the problem that code writing is complex and prone to errors in the above manner, the present example will compress and combine the same Data type to the same port for transmission based on a Universal Verification Methodology (UVM), so that only one receiving port, one Write Function block is required in the Scoreboard to receive Data, and then classify the Data according to specific functions, and then Write the Data into corresponding queues, where the Data may be reference Data (reference Data) from a driving module or design test results collected by a monitoring module, so as to implement a Function of comparing Data and control states according to design functions. The example can reduce the probability of repeated codes in the scene, and can enhance the extended function of the verification environment by combining with some necessary global variables.
Fig. 3 shows a schematic diagram of a data transmission manner in the present example. As shown in fig. 3, this example transfers the same type of data state information under ENV to Scoreboard using the same port, and Scoreboard only needs to implement a set of Export ports, and the writing function modules (i.e. WA, WB, WC, WD) can collect the data and/or state information. In addition, some control bits are realized in the data class to store the data in a classified mode, and then the data are compared in the next sequence or in an out-of-sequence mode.
First, an implementation of creating a data type is introduced:
in order to facilitate storing and comparing the data in the Scoreboard by classifying the same data type in the same port, in this example, some control information is further defined in the program class to distinguish the data sources, even though the data of the same source may need to be processed out of order based on the performance consideration, some control information needs to be added to distinguish the data, and the data is classified into different queues according to the rules to wait for the next operation. Generally, data to be collected by the Scoreboard is from data generation modules such as Driver, Monitor, sequence or Reference model, in consideration of performance problems in SOC design, the same module needs to be used multiple times, data on the channels may be out of order, data types of the same module may be sent to different queues to achieve complex functions such as out of order, and in order to meet the requirements of the complex scenarios, the example may add corresponding control information for distinguishing.
For example, the following steps are carried out:
assuming that four modules A, B, C and D are used for 4,5,8 and 6 times in the SOC design, a corresponding number of agents and interfaces (interfaces) are connected with the modules in the verification environment, wherein the agents are defined as A0-3, B0-4, C0-7 and D0-5, the interfaces are IA 0-3, IB 0-4, IC 0-7 and ID 0-5. Therefore, the Transaction data collected from the ports A0-3 can be transmitted to the Scoreboard from the port PA, the Transaction data collected from the ports B0-4, C0-7 and D0-5 can be transmitted to the Scoreboard from the ports PB, PC and PD, the corresponding receiving ports EPA, EPC and EPD are realized in the Scoreboard, and the receiving ports Write A, B, C and D Function blocks are required to be realized to receive the port data. The disordered data can be classified and placed in queues with different marks for the convenience of next data comparison, the parallel comparison of the data or state information can be conveniently realized by using the marks, and the comparison mode is also convenient for realizing real-time comparison and can more accurately position the wrong time and position. Table 1 shows the results of comparing the resource saving of the conventional method with that of the present example.
TABLE 1
Figure BDA0003441796640000071
In addition to the advantages described above, the method of this example can greatly reduce the amount of code, especially in the scenario of multiple repetitions of the same module in SOC design, and the advantage of the larger number of repetitions is more significant, for example, the C-group can save more than 87.5% of code. If the Scoreboard needs to collect information such as data in Driver, Monitor, sequence or Ref Model, more resources are saved. The data state information scheme can simplify the comparison process and is convenient for searching and positioning the environmental errors.
Then, the comparison method of the data and the state information is introduced:
in addition to implementing the above functions, the Scoreboard needs to compare data status information according to actual functions to verify whether the functional design meets expectations. The scheme of the example has obvious advantages in realizing a multichannel scene, the multichannel is suitable for a parallel comparison scheme, multichannel or multi-level (Driver, Monitor, sequence, Ref model and the like) data information is collected in a writing functional module and is stored in different queues according to some control information in the Transaction, and the parallel comparison can be easily realized by a plurality of parallel queues.
As exemplified above, the multidimensional data QA [ ] is defined in Scoreboard, QB [ ], QC [ ] is, QD [ ] is the first parameter that can indicate that the data originated from the UVM module, such as 0: monitor, 1: driver, 2: sequence, 3: ref Model, etc., the second parameter indicating a channel and the third parameter indicating a flag for execution order. Therefore, the information such as data can be classified into QA, QB, QC and QD queues by using the three parameters in the writing function module, and then QA, QB, QC and QD can respectively use the automatic to transmit the three parameters and call the same comparison program block to realize parallel comparison.
Fig. 4 clearly depicts the implementation of the comparative authentication scheme. As shown in fig. 4, the Transaction data (Transaction) in this scheme is transmitted to the write-in function module through the port, and the write-in function module performs data sorting operation and then stores the data into a plurality of different data queues to implement parallel comparison.
In summary, in this example, the same type of data and status information can be integrated and transmitted to the Scoreboard module using the same port. In addition, in Scoreboard, some control information is used to classify information, so that data and state information are classified and stored in different queues for further processing. In summary, the example integrates data transmitted by a Driver, a Monitor, a sequence or a Reference model of the same data type in the verification platform, and sends the data to the Scoreboard module through a Port, and then the Scoreboard Write block classifies data information into different queues by using control information, so as to realize further operation processing.
This approach has at least the following advantages: a large amount of repeated codes are reduced, so that a comparison module in the verification environment is simplified; the data are stored in the comparison module in a classified mode according to a certain rule, so that the data and the state information can be efficiently compared in a sequence or disorder mode; and global variables such as macro definition can be used for conveniently realizing the extension of the simulation environment, so that the chip design change can be facilitated to quickly enter a verification stage.
Fig. 5 is a schematic structural diagram illustrating a data verification system based on a verification platform according to yet another embodiment of the present invention, including: a data generation module 51 and a data verification module 52, wherein,
the data generating module 51 is adapted to aggregate multiple paths of original data corresponding to multiple data channels according to data types to obtain aggregate transmission data, and transmit the aggregate transmission data through an aggregate transmission port;
the data verification module 52 is adapted to obtain the aggregate transmission data through the aggregate transmission port, and perform verification processing on the obtained aggregate transmission data.
Optionally, the data generating module performs aggregation processing on multiple paths of original data corresponding to the multiple data channels according to data types to obtain aggregated transmission data, and transmitting the aggregated transmission data through an aggregated transmission port includes:
the data generation module respectively acquires channel identification information, data function information and/or data source information of each path of original data of each data channel;
determining the data type of each path of original data according to the channel identification information, the data function information and/or the data source information, and aggregating at least two paths of original data with the same type into one path of aggregated transmission data;
and determining an aggregation transmission port corresponding to the path of aggregation transmission data, and transmitting the path of aggregation transmission data through the aggregation transmission port.
Optionally, the aggregating at least two paths of original data with the same type into one path of aggregated transmission data includes:
respectively generating control information corresponding to each path of original data aiming at each path of original data, and aggregating according to each path of original data and the control information corresponding to each path of original data to obtain the aggregated transmission information;
the control information is generated according to the channel identification information, the data function information, the data source information and/or the data sequence information of the original data corresponding to the path of original data.
Optionally, the acquiring, by the data verification module, the aggregated transmission data through the aggregated transmission port, and performing verification processing on the acquired aggregated transmission data includes:
the data verification module acquires each path of original data contained in the aggregated transmission data and control information corresponding to each path of original data;
respectively storing the path of original data into a data queue matched with the control information of the path of original data aiming at each path of original data;
and verifying the original data stored in the plurality of data queues in a parallel comparison mode.
Optionally, the data queue has multidimensional identification information, where the multidimensional identification information includes at least one of the following dimensions: a data source dimension, a data channel dimension, and a data order dimension;
the data queue matching the control information of the original data of the path is determined by the following method:
and acquiring a plurality of dimension information contained in the control information of the path of original data, and respectively matching the plurality of dimension information contained in the control information with the multi-dimensional identification information of each data queue.
Optionally, the aggregating at least two paths of original data with the same type into one path of aggregated transmission data includes:
respectively generating preprocessing data corresponding to each path of original data aiming at each path of original data, and aggregating the preprocessing data of each path of original data to obtain the aggregated transmission information; wherein the pre-processing data comprises: and performing encoding processing or compression processing on the original data to obtain data.
Optionally, the data verification module is a scoreboard module, and the data generation module includes: the device comprises a driving module, a monitoring module, a sequence control module and a reference model module; and, the raw data includes: data state information, transaction information.
In addition, referring to fig. 6, still another embodiment of the present invention provides an electronic apparatus including:
one or more processors 501;
a memory 502 on which one or more programs are stored, which when executed by the one or more processors, cause the one or more processors to implement the data verification method of any one of the above;
one or more I/O interfaces 503 coupled between the processor and the memory and configured to enable information interaction between the processor and the memory.
The processor 501 is a device with data processing capability, and includes but is not limited to a Central Processing Unit (CPU) and the like; memory 502 is a device having data storage capabilities including, but not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), FLASH memory (FLASH); an I/O interface (read/write interface) 503 is connected between the processor 501 and the memory 502, and can realize information interaction between the processor 501 and the memory 502, which includes but is not limited to a data Bus (Bus) and the like.
In some embodiments, the processor 501, memory 502, and I/O interface 503 are connected to each other and to other components of the computing device by a bus.
Finally, another embodiment of the present invention provides a computer-readable medium, on which a computer program is stored, which when executed by a processor implements any of the above-mentioned data verification methods.
It will be understood by those of ordinary skill in the art that all or some of the steps of the above inventive method, systems, functional modules/units in the apparatus may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.
Example embodiments have been invented herein, and although specific terms are employed, they are used and should be interpreted in a generic and descriptive sense only and not for purposes of limitation. In some instances, features, characteristics and/or elements described in connection with a particular embodiment may be used alone or in combination with features, characteristics and/or elements described in connection with other embodiments, unless expressly stated otherwise, as would be apparent to one skilled in the art. It will, therefore, be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.

Claims (8)

1. A data verification method based on a verification platform is characterized in that the verification platform comprises: the method comprises a data generation module and a data verification module, and comprises the following steps:
the data generation module carries out aggregation processing on multiple paths of original data corresponding to the multiple data channels according to data types to obtain aggregate transmission data, and the aggregate transmission data are transmitted through an aggregate transmission port;
the data verification module acquires the aggregation transmission data through the aggregation transmission port and executes verification processing on the acquired aggregation transmission data;
the data generation module aggregates multiple paths of original data corresponding to multiple data channels according to data types to obtain aggregated transmission data, and transmitting the aggregated transmission data through an aggregated transmission port includes:
the data generation module respectively acquires channel identification information, data function information and/or data source information of each path of original data of each data channel;
determining the data type of each path of original data according to the channel identification information, the data function information and/or the data source information, and aggregating at least two paths of original data with the same type into one path of aggregated transmission data; the aggregating at least two paths of original data with the same type into one path of aggregated transmission data comprises: respectively generating control information corresponding to each path of original data aiming at each path of original data, and aggregating according to each path of original data and the control information corresponding to each path of original data to obtain the aggregated transmission information; the control information is generated according to the channel identification information, the data function information, the data source information and/or the data sequence information of the original data corresponding to the path of original data;
determining an aggregation transmission port corresponding to the path of aggregation transmission data, and transmitting the path of aggregation transmission data through the aggregation transmission port, including: and taking a plurality of data channels corresponding to the multiple paths of original data which are determined to be of the same data type as target data channels, and dynamically establishing a connection relation between the target data channels and the aggregation transmission port by establishing an interface connection function.
2. The method of claim 1, wherein the data verification module obtains the aggregate transmission data through the aggregate transmission port, and wherein performing verification processing on the obtained aggregate transmission data comprises:
the data verification module acquires each path of original data contained in the aggregated transmission data and control information corresponding to each path of original data;
respectively storing the path of original data into a data queue matched with the control information of the path of original data aiming at each path of original data;
and verifying the original data stored in the plurality of data queues in a parallel comparison mode.
3. The method of claim 2, wherein the data queue has multidimensional identification information, the multidimensional identification information comprising: a data source dimension, a data channel dimension, and a data order dimension;
the data queue matching the control information of the original data of the path is determined by the following method:
and acquiring a plurality of dimension information contained in the control information of the path of original data, and respectively matching the plurality of dimension information contained in the control information with the multi-dimensional identification information of each data queue.
4. The method according to claim 1, wherein the aggregating at least two paths of original data with the same type into one path of aggregated transmission data comprises:
respectively generating preprocessing data corresponding to each path of original data aiming at each path of original data, and aggregating the preprocessing data of each path of original data to obtain the aggregated transmission information; wherein the pre-processing data comprises: and performing encoding processing or compression processing on the original data to obtain data.
5. The method of any of claims 1-4, wherein the validation platform is a universal validation methodology validation platform; the data verification module is a scoreboard module; the data generation module comprises: the device comprises a driving module, a monitoring module, a sequence control module and a reference model module; and, the raw data includes: data state information, and/or transaction information.
6. A data verification system, comprising: a data generation module and a data verification module, wherein,
the data generation module is suitable for aggregating multiple paths of original data corresponding to the multiple data channels according to data types to obtain aggregated transmission data, and transmitting the aggregated transmission data through an aggregated transmission port;
the data verification module is suitable for acquiring the aggregation transmission data through the aggregation transmission port and executing verification processing on the acquired aggregation transmission data;
the data generation module respectively acquires channel identification information, data function information and/or data source information of each path of original data of each data channel; determining the data type of each path of original data according to the channel identification information, the data function information and/or the data source information, and aggregating at least two paths of original data with the same type into one path of aggregated transmission data; determining an aggregation transmission port corresponding to the path of aggregation transmission data, and transmitting the path of aggregation transmission data through the aggregation transmission port, including: taking a plurality of data channels corresponding to the multiple paths of original data which are determined to be of the same data type as target data channels, and dynamically establishing a connection relation between the target data channels and the aggregation transmission port by establishing an interface connection function; the aggregating at least two paths of original data with the same type into one path of aggregated transmission data comprises: respectively generating control information corresponding to each path of original data aiming at each path of original data, and aggregating according to each path of original data and the control information corresponding to each path of original data to obtain the aggregated transmission information; the control information is generated according to the channel identification information, the data function information, the data source information and/or the data sequence information of the original data corresponding to the path of original data.
7. An electronic device, comprising:
one or more processors;
memory having one or more programs stored thereon that, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1-5;
one or more I/O interfaces connected between the processor and the memory and configured to enable information interaction between the processor and the memory.
8. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN202111635159.7A 2021-12-29 2021-12-29 Data verification method and system based on verification platform and electronic equipment Active CN114386365B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111635159.7A CN114386365B (en) 2021-12-29 2021-12-29 Data verification method and system based on verification platform and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111635159.7A CN114386365B (en) 2021-12-29 2021-12-29 Data verification method and system based on verification platform and electronic equipment

Publications (2)

Publication Number Publication Date
CN114386365A CN114386365A (en) 2022-04-22
CN114386365B true CN114386365B (en) 2022-09-27

Family

ID=81198991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111635159.7A Active CN114386365B (en) 2021-12-29 2021-12-29 Data verification method and system based on verification platform and electronic equipment

Country Status (1)

Country Link
CN (1) CN114386365B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934386B (en) * 2023-02-24 2023-05-30 济南新语软件科技有限公司 Communication simulation method and platform based on verification component with communication pipeline

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713280A (en) * 2016-11-30 2017-05-24 北京得瑞领新科技有限公司 Excitation signal processing method and device, and module verification system
CN109684681A (en) * 2018-12-06 2019-04-26 西南电子技术研究所(中国电子科技集团公司第十研究所) Using the high layering verification method of UVM verification platform
CN110515604A (en) * 2019-08-09 2019-11-29 北京物芯科技有限责任公司 The acquisition methods and device of the executable program file of verification environment
CN112291816A (en) * 2020-11-13 2021-01-29 Oppo广东移动通信有限公司 Data transmission method, device, storage medium and electronic equipment
CN113114331A (en) * 2021-02-26 2021-07-13 深圳市万联航通电子科技有限公司 Method, system, device and medium for merging and transmitting multi-channel serial interfaces
CN113438318A (en) * 2021-07-13 2021-09-24 阿波罗智联(北京)科技有限公司 Performance test system and method of cloud control platform, electronic equipment and storage medium
CN113467506A (en) * 2021-06-28 2021-10-01 北京航天飞腾装备技术有限责任公司 Core board design-based domestic flight controller and design method
CN113626343A (en) * 2021-10-12 2021-11-09 中科南京智能技术研究院 Router reusable verification platform based on UVM

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110618929B (en) * 2019-08-01 2023-03-21 广东工业大学 Verification platform and verification method of symmetric encryption algorithm based on UVM
CN112163072A (en) * 2020-09-30 2021-01-01 北京金堤征信服务有限公司 Data processing method and device based on multiple data sources
CN113656227A (en) * 2021-08-13 2021-11-16 北京百度网讯科技有限公司 Chip verification method and device, electronic equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713280A (en) * 2016-11-30 2017-05-24 北京得瑞领新科技有限公司 Excitation signal processing method and device, and module verification system
CN109684681A (en) * 2018-12-06 2019-04-26 西南电子技术研究所(中国电子科技集团公司第十研究所) Using the high layering verification method of UVM verification platform
CN110515604A (en) * 2019-08-09 2019-11-29 北京物芯科技有限责任公司 The acquisition methods and device of the executable program file of verification environment
CN112291816A (en) * 2020-11-13 2021-01-29 Oppo广东移动通信有限公司 Data transmission method, device, storage medium and electronic equipment
CN113114331A (en) * 2021-02-26 2021-07-13 深圳市万联航通电子科技有限公司 Method, system, device and medium for merging and transmitting multi-channel serial interfaces
CN113467506A (en) * 2021-06-28 2021-10-01 北京航天飞腾装备技术有限责任公司 Core board design-based domestic flight controller and design method
CN113438318A (en) * 2021-07-13 2021-09-24 阿波罗智联(北京)科技有限公司 Performance test system and method of cloud control platform, electronic equipment and storage medium
CN113626343A (en) * 2021-10-12 2021-11-09 中科南京智能技术研究院 Router reusable verification platform based on UVM

Also Published As

Publication number Publication date
CN114386365A (en) 2022-04-22

Similar Documents

Publication Publication Date Title
US6466946B1 (en) Computer implemented scalable, incremental and parallel clustering based on divide and conquer
WO2019051941A1 (en) Method, apparatus and device for identifying vehicle type, and computer-readable storage medium
CN114386365B (en) Data verification method and system based on verification platform and electronic equipment
CN107844714B (en) Verification method and device, computer device and readable storage medium
US20210383371A1 (en) Method of recording transactions based on blockchain and electronic device using the same
US11520620B2 (en) Electronic device and non-transitory storage medium implementing test path coordination method
CN114710224A (en) Frame synchronization method and device, computer readable medium and electronic device
CN112181430A (en) Code change statistical method and device, electronic equipment and storage medium
CN114816993A (en) Full link interface test method, system, medium and electronic equipment
CN113177015B (en) Frame header-based serial port communication method and serial port chip
CN109241163B (en) Electronic certificate generation method and terminal equipment
CN112995337A (en) High-performance processor chip-based high-performance Internet of things hardware platform and method
CN113806594A (en) Business data processing method, device, equipment and storage medium based on decision tree
CN108985341A (en) A kind of the training set appraisal procedure and system of neural network model
CN107844520A (en) Electronic installation, vehicle data introduction method and storage medium
CN114596331A (en) Point cloud background generation method and device and communication equipment
CN114444423B (en) Data processing method and system based on verification platform and electronic equipment
CN117499334B (en) Intelligent vehicle communication method, terminal equipment and storage medium
CN111325024B (en) Risk item statistical method
CN110874608B (en) Classification method, classification system and electronic equipment
CN111325227B (en) Data feature extraction method and device and electronic equipment
CN117828340A (en) Model training method and device and related equipment
CN114936933A (en) Method and device for supporting terminal transaction based on risk prediction
CN116961696A (en) Dual-mode module communication method and device, electronic equipment and storage medium
CN114356541A (en) Configuration method, device and system of computing core and electronic equipment

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