A method, apparatus, device and medium for verifying a data transmission engine
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-15
- Publication Date
- 2026-08-11
AI Technical Summary
[0004]本发明提供了一种数据传输引擎的验证方法、装置、设备及介质,以解决相关技术中的数据传输引擎的验证方案的验证场景单一,验证精度不足,验证稳定性差、验证独立性差以及验证可靠性差的问题
[0008]根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据传输引擎的验证方法。
Smart Images

Figure CN122547653A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of electronic digital data processing technology, and in particular to a method, apparatus, device, and medium for verifying a data transmission engine. Background Technology
[0002] A data transfer engine is a software or hardware module used for efficient data transfer between different systems, storage systems, or networks. Enterprise business systems can use data transfer engines for data transfer during high-performance computing, deep learning, and other operations. Data transfer engines used by enterprises include, but are not limited to, Tensor Memory Access (TMA) data transfer engines. A data transfer engine typically includes one set of configuration interfaces and two sets of data interfaces. The two sets of data interfaces are an Advanced eXtensible Interface (AXI) read bus and an AXI write bus. The core function of the data transfer engine is to execute data transfer operations from storage devices according to instructions received from the configuration interface. It supports multi-dimensional operations, stride operations, and padding operations, and can specify the starting coordinates of data transfer. Data transfer engines also support multiple data formats and are widely used in high-performance computing, deep learning, and other scenarios with extremely high requirements for data transfer accuracy and efficiency. The reliability of the data transfer engine directly determines the operational stability of the entire business system. Before deploying a data transfer engine, it is necessary to verify the engine and determine the verification information used to describe whether the data transfer engine can reliably transmit data.
[0003] In related technologies, there are two main verification schemes for data transmission engines. The first scheme verifies the data transmission engine by predicting the correctness of data transactions on the AXI read and write buses, determining verification information to describe whether the data transmission engine can reliably transmit data. The second scheme verifies the data transmission engine by reading data from memory through a backdoor and then checking whether the transmission results meet expectations, determining verification information to describe whether the data transmission engine can reliably transmit data. These verification schemes in related technologies mostly target ordinary data block transmissions, often failing to comprehensively cover the core functional scenarios of the data transmission engine and thus unable to fully verify its functional integrity, resulting in limited verification scenarios. Furthermore, these verification schemes rely on bus transaction prediction or backdoor data reading from memory for verification, resulting in coarse-grained verification that cannot achieve precise checks and does not consider precise verification of performance indicators during data transmission, leading to insufficient verification accuracy. Verification schemes for data transmission engines in related technologies typically require complete modeling of the entire design, resulting in lengthy verification cycles, low efficiency, and a strong dependence on the internal architecture of the data transmission engine. If the internal architecture changes, the verification environment needs significant modification or even reconstruction, leading to poor verification stability and independence. Furthermore, verification schemes for data transmission engines in related technologies lack compatibility verification, failing to guarantee the reliability of the data transmission engine in complex application environments, resulting in poor verification reliability. Summary of the Invention
[0004] This invention provides a method, apparatus, device, and medium for verifying a data transmission engine, in order to solve the problems of limited verification scenarios, insufficient verification accuracy, poor verification stability, poor verification independence, and poor verification reliability in related technologies.
[0005] According to one aspect of the present invention, a method for verifying a data transmission engine is provided, comprising: After obtaining the verification instructions from the target data transmission engine, each verification case is synchronously sent to the target data transmission engine and the prediction model module, so that the target data transmission engine executes the data transmission operation corresponding to each verification case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification case, and collects the transmission record data and transmission performance data of the data transmission operation corresponding to each verification case. Based on the expected data transmission results and transmission record data of the data transmission operations corresponding to each verification test case, the functional verification results of the target data transmission engine under each verification test case are determined. Based on the transmission performance data of the data transmission operations corresponding to each verification test case, the performance verification results of the target data transmission engine under each verification test case are determined. Based on the functional and performance verification results of the target data transmission engine under each verification test case, the compatibility verification result of the target data transmission engine is determined. Based on the collected data and the determined functional verification results, performance verification results, and compatibility verification results, a verification report for the target data transmission engine is generated, and the verification report is sent to the engine design end.
[0006] According to another aspect of the present invention, a verification apparatus for a data transmission engine is provided, comprising: The verification test case processing unit is used to synchronously send each verification test case to the target data transmission engine and the prediction model module after obtaining the verification instruction from the target data transmission engine, so that the target data transmission engine executes the data transmission operation corresponding to each verification test case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification test case, and collects the transmission record data and transmission performance data of the data transmission operation corresponding to each verification test case. The functional verification unit is used to determine the functional verification result of the target data transmission engine under each verification test case based on the expected data transmission result and transmission record data of the data transmission operation corresponding to each verification test case. The performance verification unit is used to determine the performance verification result of the target data transmission engine under each verification case based on the transmission performance data of the data transmission operation corresponding to each verification case. The compatibility verification unit is used to determine the compatibility verification result of the target data transmission engine based on the functional verification results and performance verification results of the target data transmission engine under each verification test case. The verification report processing unit is used to generate a verification report for the target data transmission engine based on the collected data and the determined functional verification results, performance verification results, and compatibility verification results, and then send the verification report to the engine design end.
[0007] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores a computer program that is executed by the at least one processor, which enables the at least one processor to perform the verification method of the data transmission engine according to any embodiment of the present invention.
[0008] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the verification method of the data transmission engine according to any embodiment of the present invention.
[0009] According to another aspect of the present invention, a computer program product is provided, the computer program product comprising a computer program that, when executed by a processor, implements the verification method of the data transmission engine according to any embodiment of the present invention.
[0010] The technical solution of this invention involves, after obtaining the verification instructions from the target data transmission engine, simultaneously sending each verification test case to the target data transmission engine and the prediction model module. This causes the target data transmission engine to execute data transmission operations corresponding to each verification test case, while the prediction model module generates the expected data transmission results for each verification test case and collects transmission record data and transmission performance data for each verification test case. Then, based on the expected data transmission results and transmission record data for each verification test case, the functional verification results of the target data transmission engine under each verification test case are determined. Based on the transmission performance data for each verification test case, the performance verification results of the target data transmission engine under each verification test case are determined. Finally, based on the functional verification results of the target data transmission engine under each verification test case... Based on the collected data and the determined functional, performance, and compatibility verification results, a verification report for the target data transmission engine is generated and sent to the engine design end. This solves the problems of limited verification scenarios, insufficient verification accuracy, poor verification stability, poor verification independence, and poor verification reliability in related technologies. It can comprehensively, accurately, and efficiently verify the data transmission engine based on various verification test cases and prediction model modules, determine the functional, performance, and compatibility verification results, and generate a verification report for the data transmission engine. Moreover, it does not depend on the data transmission engine design implementation and design scheme, and does not require complete modeling of the entire design, effectively improving the verification accuracy, verification stability, verification independence, and verification reliability of the verification process.
[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a flowchart of a data transmission engine verification method provided in Embodiment 1 of the present invention.
[0014] Figure 2 This is a flowchart of a data transmission engine verification method provided in Embodiment 2 of the present invention.
[0015] Figure 3 This is a schematic diagram of the structure of a data transmission engine verification device provided in Embodiment 3 of the present invention.
[0016] Figure 4 A schematic diagram of the structure of an electronic device for implementing the data transmission engine verification method of this embodiment of the invention. Detailed Implementation
[0017] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0018] It should be noted that the terms "target," "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising," "including," and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0019] Example 1 Figure 1This is a flowchart illustrating a data transmission engine verification method according to Embodiment 1 of the present invention. This embodiment is applicable to situations where a data transmission engine is verified before it is put into use to determine verification information describing whether the data transmission engine can reliably transmit data. This method can be executed by a data transmission engine verification device, which can be implemented in hardware and / or software and can be configured in an electronic device. This electronic device can be an electronic device installed within an enterprise to verify the data transmission engine and determine verification information describing whether the data transmission engine can reliably transmit data. Figure 1 As shown, the method includes: Step 101: After obtaining the verification instruction from the target data transmission engine, each verification case is synchronously sent to the target data transmission engine and the prediction model module, so that the target data transmission engine executes the data transmission operation corresponding to each verification case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification case, and collects the transmission record data and transmission performance data of the data transmission operation corresponding to each verification case.
[0020] Optionally, the target data transfer engine can be a data transfer engine that requires verification. The verification instruction for the target data transfer engine can be text sent by a technician instructing the verification of the target data transfer engine. The target data transfer engine includes a set of configuration interfaces, two sets of data interfaces (one AXI read bus and one AXI write bus), a descriptor cache, a request queue, and a request generator. The configuration interface can be an interface for receiving external instructions. The AXI read bus can be an interface for reading data from the storage device using the AXI protocol. The AXI write bus can be an interface for writing data to the storage device using the AXI protocol. The descriptor cache can be a cache for storing data such as address, format, and dimension. The request queue can be a queue for storing request information needed by the target data transfer engine. The request generator can be a software or hardware module for generating request information needed by the target data transfer engine. The core function of the target data transfer engine is to read data from the storage device via the AXI read bus and write data via the AXI write bus, according to the instructions received from the configuration interface. The target data transfer engine supports multidimensional operations, stride operations (1-16), padding operations (zero-padding, copy padding, symmetric padding), and data transfer with specified start coordinates. It also supports the transfer of various data formats, including 8-bit integers (INT8), 16-bit floating-point numbers (BF16), 16-bit half-precision floating-point numbers (FP16), 32-bit single-precision floating-point numbers (FP32), and 64-bit double-precision floating-point numbers (FP64). The engine supports tensor transfer and non-tensor block transfer from one to five dimensions. It supports bidirectional transfer and write-back functionality (reduce) between shared memory (SMEM) and global memory (GMEM). The engine can switch data formats according to configuration interface commands.
[0021] Optionally, each verification test case consists of multiple different instructions used during the verification process to instruct the target data transfer engine to read data from the source memory module via the AXI read bus and then write the data read from the source memory module to the target memory module via the AXI write bus, thereby transferring data from the source memory module to the target memory module. The format of the data transmitted in each verification test case is different. Each verification test case can cover all transmission modes, design structure characteristics, and application scenarios of the target data transfer engine, combined with the core functions and multi-data format features supported by the target data transfer engine.
[0022] Optionally, each verification test case includes a multidimensional tensor transfer verification test case. A multidimensional tensor transfer verification test case can be used to transfer tensor data of different dimensions, from one to five, from a source memory module to a target memory module. The multidimensional tensor transfer verification test cases are configured with different base addresses, start coordinates, stride sizes, box sizes, and padding rules (zero padding, copy padding, etc.), and cover multiple data formats such as INT8, BF16, FP16, FP32, and FP64, simulating scenarios where the target data transfer engine performs multidimensional data transfer via the AXI read bus and AXI write bus.
[0023] Optionally, each verification test case includes a non-tensor block transfer verification test case. A non-tensor block transfer verification test case can be used to transfer ordinary non-tensor data blocks from a source memory module to a target memory module. These test cases have different source pointers, target pointers, and data sizes, covering various data formats such as INT8, BF16, FP16, FP32, and FP64, simulating a scenario where the target data transfer engine bypasses the descriptor cache and configuration unit, directly transferring data via the AXI read bus and AXI write bus.
[0024] Optionally, each verification test case includes anomaly scenario verification test cases. These test cases can simulate abnormal transmission scenarios. Abnormal transmission scenarios include restarts, task pauses, and other abnormal scenarios. They also include boundary scenarios prone to multiple reads, multiple writes, insufficient writes, and duplicate writes (such as abnormal stride length, filling rule conflicts, and out-of-bounds start coordinates). The anomaly scenario verification test cases can cover abnormal transmission scenarios under different data formats, verifying the fault tolerance capability, anomaly handling performance, and anomaly recognition capability of the prediction model module of the target data transmission engine.
[0025] Optionally, each verification test case includes a compatibility verification test case. Compatibility verification test cases can be used to simulate scenarios with different storage types, different data formats (INT8, BF16, FP16, FP32, FP64, etc.), different workloads (CPU load below or above 30%), and different AXI bus configurations. Compatibility verification test cases can verify the compatibility and adaptability of the target data transfer engine, while also verifying the adaptability of the prediction model module under different data formats and scenarios.
[0026] Optionally, for each verification test case, the data transfer operation corresponding to the test case can refer to the operation where the target data transfer engine indicated by the test case reads data from the source memory module via the AXI read bus and then writes the data read from the source memory module to the target memory module via the AXI write bus. The expected data transfer result of the data transfer operation corresponding to the verification test case includes the predicted data to be read from the source memory module via the AXI read bus and the predicted data to be written to the target memory module via the AXI write bus during the execution of the data transfer operation. The transfer record data of the data transfer operation corresponding to the verification test case can be data collected during the execution of the data transfer operation that can be used to describe the data transfer operation corresponding to the verification test case. The transfer performance data of the data transfer operation corresponding to the verification test case can be data collected during the execution of the data transfer operation that can be used to describe the performance of the target data transfer engine.
[0027] Optionally, the prediction model module can be a software module used to simulate the data transport logic of the target data transport engine from an algorithmic perspective based on verification test cases, generate the expected data transport results corresponding to the data transport operations of the verification test cases, and compare the read / write bus transaction data of the data transport operations corresponding to the verification test cases with the expected data transport results to determine the data comparison results of the verification test cases. The prediction model module can independently construct a mapping algorithm from descriptor parameters to expected memory address sequences and data arrangements based on the tensor descriptor specification and AXI bus transport protocol publicly disclosed by the target data transport engine. By modeling the core algorithm of the target data transport engine, it does not depend on the design implementation and design scheme of the target data transport engine, and does not require complete modeling of the entire design. It simulates the data transport logic of the target data transport engine from an algorithmic perspective, supports per-element granularity verification, and can decompose the data in the AXI bus into per-element granularity for comparison with its own algorithm modeling results. The prediction model module also adapts to the verification requirements of multiple data formats such as INT8, BF16, FP16, FP32, and FP64, optimizing the comparison logic for the characteristics of different data formats.
[0028] Optionally, the source memory module can be a hardware module used to provide the raw data to be transmitted by the target data transmission engine during the verification process. The source memory module supports multi-dimensional data, different stride sizes, different padding rules, and different start coordinates. It also supports the generation and storage of multiple data formats such as INT8, BF16, FP16, FP32, and FP64. The source memory module can simulate a storage device. For example, the storage device has a capacity of 16GB and a bit width of 512 bits. The source memory module can generate tensor data and non-tensor data of any dimension from one to five. The source memory module can switch data formats according to the requirements of the verification test cases.
[0029] Optionally, the target memory module can be a hardware module used to receive data transmitted by the target data transmission engine via the AXI write bus during the verification process. The target memory module supports data storage and retrieval, can record data reception time, reception order, and data status, and is compatible with the storage and retrieval of multiple data formats such as INT8, BF16, FP16, FP32, and FP64. The target memory module corresponds to the source memory module. The target memory module can automatically identify the data format and complete the adaptation.
[0030] Optionally, each verification case is synchronously sent to the target data transmission engine and the prediction model module, so that the target data transmission engine executes the data transmission operation corresponding to each verification case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification case. This includes performing the following operation for each verification case: synchronously sending the verification case to the target data transmission engine and the prediction model module through the verification control module, so that the target data transmission engine executes the data transmission operation corresponding to the verification case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to the verification case; wherein, the verification case includes interface configuration instructions and data format configuration information.
[0031] Optionally, the verification control module can be a hardware module used to generate various verification test cases and control the verification process. The verification control module can control the start, pause, and restart of the data transmission engine, and configure the multi-dimensional operation parameters, stride parameters, filling parameters, and start coordinates of the data transmission engine. The verification control module can simultaneously control the modeling, start, and verification processes of the prediction model module. The verification control module supports dynamic adjustment of verification test cases and can configure verification parameters for different data formats (INT8, BF16, FP16, FP32, FP64, etc.) to achieve batch verification of different data formats.
[0032] Optionally, for each verification test case, the verification control module can synchronously send the verification test case to the target data transmission engine and the prediction model module. The verification test case includes interface configuration instructions and data format configuration information. Interface configuration instructions can be control instructions that need to be sent to the configuration interface. Control instructions can include parameters used to configure the target data transmission engine, such as multi-dimensional operation parameters, stride parameters, padding parameters, and start coordinates. Data format configuration information can be information used to configure the format (INT8, BF16, FP16, FP32, FP64, etc.) of the data to be transmitted by the target data transmission engine.
[0033] Optionally, by sending verification test cases to the target data transmission engine through the verification control module, the target data transmission engine can be controlled to execute the operation indicated by the verification test cases. The target data transmission engine reads data from the source memory module through the AXI read bus and then writes the data read from the source memory module to the target memory module through the AXI write bus.
[0034] Optionally, by sending verification test cases to the prediction model module through the verification control module, the prediction model module can be controlled to generate the expected data transmission results of the data transmission operations corresponding to the verification test cases. Based on the received verification test cases, the prediction model module can model the data transport logic of the target data transmission engine from an algorithmic perspective, without needing to fully model the design of the target data transmission engine. It can simulate the element-wise granular data transmission process under the same parameters (multi-dimensional operation parameters, stride parameters, filling parameters, and start coordinates) and different data formats, generating the expected data transmission results of the data transmission operations corresponding to the verification test cases. The modeling logic can be optimized for the characteristics of different data formats.
[0035] Optionally, the data transmission record data and transmission performance data corresponding to each verification test case are collected, including: performing the following operation for each verification test case: collecting the data transmission record data and transmission performance data corresponding to the data transmission operation of the verification test case through the data acquisition module; wherein, the transmission record data includes read / write bus transaction data, source memory raw data, target memory received data, and engine transmission status data.
[0036] Optionally, the data acquisition module can be a hardware module used to collect data and operating parameters during the transmission process of the target data transmission engine. The data acquisition module can collect transmission record data and transmission performance data of the data transmission operations corresponding to the verification test cases. Read / write bus transaction data can be data read via the AXI read bus and data written via the AXI write bus during the execution of the data transmission operations corresponding to the verification test cases. Source memory raw data can be data stored in the source memory module that needs to be read during the execution of the data transmission operations corresponding to the verification test cases. Target memory received data can be data written to the target memory module during the execution of the data transmission operations corresponding to the verification test cases. Engine transmission status data can be data generated in the target data transmission engine to describe the transmission status of the target data transmission engine. For example, describing the request queue scheduling, descriptor cache hit status, and address calculation results during the transmission process of the target data transmission engine. The data acquisition module can use a high-speed data acquisition card, sampling at a frequency of 100MHz, to collect transmission record data and transmission performance data of the data transmission operations corresponding to the verification test cases. The data collected by the data acquisition module can be stored in real time to the local hard drive. The data acquisition module focuses on collecting parameter differences during the transmission of different data formats.
[0037] Step 102: Determine the functional verification results of the target data transmission engine under each verification case based on the expected data transmission results and transmission record data of the data transmission operations corresponding to each verification case.
[0038] Optionally, for each verification test case, the functional verification result of the target data transmission engine under the verification test case can be text describing whether the transmission function of the target data transmission engine is normal during the execution of the data transmission operation corresponding to the verification test case. The functional verification result is either qualified or unqualified. A qualified functional verification result indicates that the transmission function of the target data transmission engine is normal during the execution of the data transmission operation corresponding to the verification test case. A unqualified functional verification result indicates that the transmission function of the target data transmission engine is abnormal during the execution of the data transmission operation corresponding to the verification test case.
[0039] Optionally, based on the expected data transmission results and transmission record data of the data transmission operations corresponding to each verification case, the functional verification results of the target data transmission engine under each verification case are determined, including: performing the following operations for each verification case: through the prediction model module, comparing the read / write bus transaction data and the expected data transmission results of the data transmission operations corresponding to the verification case to determine the data comparison result of the verification case; through the result analysis module, based on the source memory raw data and target memory received data of the data transmission operations corresponding to the verification case and the data comparison result of the verification case, determining the functional verification result of the target data transmission engine under the verification case.
[0040] Optionally, for each verification test case, the data comparison result can be text describing whether the read / write bus transaction data and the expected data transmission result of the data transmission operation corresponding to the verification test case are consistent. The prediction model module can compare the read / write bus transaction data and the expected data transmission result of the data transmission operation corresponding to the verification test case to generate the data comparison result. The prediction model module decomposes the collected read / write bus transaction data into element-by-element granularity and compares it element-by-element with the expected data transmission result generated by its own model, adapting to the comparison requirements of different data formats. The data comparison result can label consistent and inconsistent items, clearly identifying anomaly types and data format-related issues.
[0041] Optionally, the results analysis module can be a hardware module used to summarize and analyze the data collected and determined during the verification process. Through the results analysis module, the comparison results of the source memory raw data and target memory received data of the data transmission operation corresponding to the verification test case can be summarized and analyzed to determine whether the transmission function of the target data transmission engine is normal during the execution of the data transmission operation corresponding to the verification test case, and to generate the functional verification results of the target data transmission engine under the verification test case. The results analysis module also compares the consistency between the source memory raw data and the target memory received data, and combines this with the data comparison results determined by the prediction model module to determine whether the transmission function of the target data transmission engine is normal during the execution of the data transmission operation corresponding to the verification test case, and to generate the functional verification results of the target data transmission engine under the verification test case. The results analysis module can focus on identifying anomalies such as multiple reads, multiple writes, insufficient writes, and duplicate writes, while analyzing performance differences and compatibility issues during the transmission of different data formats, verifying the accuracy of the request generator's multi-dimensional coordinate iteration, address calculation (AGU), and data sharding (L2 cache line size) functions, and analyzing the correctness of transmission under different data formats.
[0042] Step 103: Determine the performance verification results of the target data transmission engine under each verification case based on the transmission performance data of the data transmission operations corresponding to each verification case.
[0043] Optionally, for each verification test case, the performance verification result of the target data transmission engine under the verification test case can be text describing whether the performance of the target data transmission engine meets the design requirements during the execution of the data transmission operation corresponding to the verification test case. The performance verification result is either qualified or unqualified. A qualified performance verification result indicates that the performance of the target data transmission engine meets the design requirements during the execution of the data transmission operation corresponding to the verification test case. A unqualified performance verification result indicates that the performance of the target data transmission engine does not meet the design requirements during the execution of the data transmission operation corresponding to the verification test case. The transmission performance data of the data transmission operation corresponding to the verification test case can be performance parameters of the target data transmission engine collected during the execution of the data transmission operation corresponding to the verification test case, such as transmission latency, bandwidth, cache hit rate, CPU utilization, and memory utilization.
[0044] Optionally, the performance verification result of the target data transmission engine under each verification case is determined based on the transmission performance data of the data transmission operation corresponding to each verification case, including: performing the following operation for each verification case: comparing the transmission performance data of the data transmission operation corresponding to the verification case with a preset threshold through the result analysis module to determine the performance verification result of the target data transmission engine under the verification case.
[0045] Optionally, the preset threshold can be a pre-set value used to measure whether the transmission performance data was collected under normal performance conditions of the data transmission engine. The result analysis module can compare the transmission performance data of the data transmission operation corresponding to the verification test case with the preset threshold to determine whether the performance of the target data transmission engine meets the design requirements during the execution of the data transmission operation corresponding to the verification test case, and generate the performance verification results of the target data transmission engine under the verification test case.
[0046] Optionally, it also includes: determining the verification process evaluation information of the target data transmission engine through a result analysis module, based on the verification efficiency of the prediction model module under each verification test case and the transmission performance data of the data transmission operations corresponding to each verification test case collected by the data acquisition module. The verification efficiency of the prediction model module under each verification test case can be the time consumed by the prediction model module to generate the expected data transmission result of the data transmission operation corresponding to the verification test case. The verification process evaluation information of the target data transmission engine can be text describing the effect of the target data transmission engine in achieving overlapping execution of computation and data transmission, the impact of the verification efficiency of the prediction model module on the overall verification process, and the impact of different data formats on transmission performance. The result analysis module can summarize and analyze the verification efficiency of the prediction model module under each verification test case and the transmission performance data of the data transmission operations corresponding to each verification test case collected by the data acquisition module, verify the effect of the target data transmission engine in achieving overlapping execution of computation and data transmission, evaluate the impact of the verification efficiency of the prediction model module on the overall verification process, analyze the impact of different data formats on transmission performance, and generate the verification process evaluation information of the target data transmission engine.
[0047] Step 104: Determine the compatibility verification result of the target data transmission engine based on the functional verification results and performance verification results of the target data transmission engine under each verification test case.
[0048] Optionally, the compatibility verification result of the target data transmission engine can be text characterizing whether the target data transmission engine can reliably transmit data in different complex application environments. The compatibility verification result can include functional stability verification results and performance consistency verification results. The functional stability verification result can be text characterizing whether the target data transmission engine is functionally stable in different scenarios. The functional stability verification result is either "pass" or "fail". A "pass" result indicates that the target data transmission engine is functionally stable in different scenarios. A "fail" result indicates that the target data transmission engine cannot be functionally stable in different scenarios. The performance consistency verification result can be text characterizing whether the target data transmission engine has consistent performance in different scenarios. The performance consistency verification result is either "pass" or "fail". A "pass" result indicates that the target data transmission engine performs consistently in different scenarios. A "fail" result indicates that the target data transmission engine cannot perform consistently in different scenarios. If both the functional stability verification result and the performance consistency verification result are "pass", it indicates that the target data transmission engine can reliably transmit data in different complex application environments. If either the functional stability verification result or the performance consistency verification result is "fail", it indicates that the target data transmission engine cannot reliably transmit data in different complex application environments.
[0049] Optionally, based on the functional verification results and performance verification results of the target data transmission engine under each verification test case, the compatibility verification result of the target data transmission engine is determined, including: based on the functional verification results of the target data transmission engine under each verification test case, the functional stability verification result of the target data transmission engine is determined; based on the performance verification results of the target data transmission engine under each verification test case, the performance consistency verification result of the target data transmission engine is determined.
[0050] Optionally, the functional stability verification result of the target data transmission engine is determined based on the functional verification results of the target data transmission engine under each verification test case, including: if the functional verification results of the target data transmission engine under each verification test case are all qualified, then the functional stability verification result of the target data transmission engine is determined to be qualified; if at least one of the functional verification results of the target data transmission engine under each verification test case is unqualified, then the functional stability verification result of the target data transmission engine is determined to be unqualified.
[0051] Optionally, the performance consistency verification result of the target data transmission engine is determined based on the performance verification results of the target data transmission engine under each verification test case, including: if the performance verification results of the target data transmission engine under each verification test case are all qualified, then the performance consistency verification result of the target data transmission engine is determined to be qualified; if at least one of the performance verification results of the target data transmission engine under each verification test case is unqualified, then the performance consistency verification result of the target data transmission engine is determined to be unqualified.
[0052] Step 105: Based on the collected data and the determined functional verification results, performance verification results, and compatibility verification results, generate a verification report for the target data transmission engine and send the verification report to the engine design end.
[0053] Optionally, the verification report for the target data transmission engine can be a text document summarizing the data collected during the verification process and the determined functional verification results, performance verification results, and compatibility verification results. The verification report for the target data transmission engine includes the data collected during the verification process and the determined functional verification results, performance verification results, and compatibility verification results, which can be used to clarify the verification pass / fail status of the target data transmission engine. The results analysis module can summarize and analyze the collected data and the determined functional verification results, performance verification results, and compatibility verification results to generate the verification report for the target data transmission engine. The engine design end can be a terminal device used by the technical personnel responsible for designing the target data transmission engine.
[0054] Optionally, if there are any unqualified items, the result analysis module can locate the cause of the unqualified items (including address calculation errors, cache invalidation, request scheduling abnormalities, data verification failures, AXI bus transmission abnormalities, data format adaptation errors, etc.) and feed it back to the engine design end for optimization. After optimization, the verification is repeated until the verification is qualified.
[0055] The technical solution of this invention involves, after obtaining the verification instructions from the target data transmission engine, simultaneously sending each verification test case to the target data transmission engine and the prediction model module. This causes the target data transmission engine to execute data transmission operations corresponding to each verification test case, while the prediction model module generates the expected data transmission results for each verification test case and collects transmission record data and transmission performance data for each verification test case. Then, based on the expected data transmission results and transmission record data for each verification test case, the functional verification results of the target data transmission engine under each verification test case are determined. Based on the transmission performance data for each verification test case, the performance verification results of the target data transmission engine under each verification test case are determined. Finally, based on the functional verification results of the target data transmission engine under each verification test case... Based on the collected data and the determined functional, performance, and compatibility verification results, a verification report for the target data transmission engine is generated and sent to the engine design end. This solves the problems of limited verification scenarios, insufficient verification accuracy, poor verification stability, poor verification independence, and poor verification reliability in related technologies. It can comprehensively, accurately, and efficiently verify the data transmission engine based on various verification test cases and prediction model modules, determine the functional, performance, and compatibility verification results, and generate a verification report for the data transmission engine. Moreover, it does not depend on the data transmission engine design implementation and design scheme, and does not require complete modeling of the entire design, effectively improving the verification accuracy, verification stability, verification independence, and verification reliability of the verification process.
[0056] The technical solution of this invention provides comprehensive verification scenarios, covering multi-dimensional tensor transmission, non-tensor block transmission, cache interaction, abnormal scenarios, and compatibility scenarios of the data transmission engine. It fully integrates the design structure (configuration interface, AXI read bus, AXI write bus) and core functions (multi-dimensional operation, stride, filling, specifying start coordinates) of the data transmission engine. At the same time, it fully adapts to the verification requirements of multiple data formats such as INT8, BF16, FP16, FP32, and FP64, solving the problem of existing methods having limited verification scenarios and not covering multiple data formats. It can comprehensively verify the functional integrity of the data transmission engine.
[0057] The technical solution of this invention has high verification accuracy. By adding a brand-new prediction model module, an independent mapping algorithm is constructed based on the tensor descriptor specification and AXI bus transmission protocol publicly available in the data transmission engine. The data transmission engine is modeled from an algorithmic perspective, without relying on design implementation and design scheme. AXI bus transactions are decomposed into element-by-element granularity for element-by-element verification, which can accurately identify subtle anomalies such as multiple reads, multiple writes, missing writes, and duplicate writes during data transmission. At the same time, the verification logic is optimized for multiple data formats such as INT8, BF16, FP16, FP32, and FP64. By combining full comparison with key parameter verification, the performance parameters and data format adaptability are accurately quantified, solving the problem of insufficient verification accuracy of existing methods.
[0058] The technical solution of this invention offers high verification efficiency. By developing the prediction model module and the data transmission engine in parallel, the verification environment can be built and modeling completed without waiting for the design to be finished. It also eliminates the need for complete modeling of the entire design, shifting the verification cycle to the left and significantly shortening the overall R&D and verification cycle. This is a key advantage of this invention compared to traditional verification methods. Furthermore, the technical solution of this invention combines the asynchronous transmission characteristics and pipeline design of the data transmission engine to optimize the verification process. By employing parallel verification logic, it further improves verification efficiency and adapts to the rapid iteration requirements of the data transmission engine.
[0059] The technical solution of this invention has strong verification independence and high stability. The prediction model module in this invention is based on algorithm modeling and does not depend on the design and implementation of the data transmission engine. It does not require complete modeling of the entire design. Even if the internal architecture of the data transmission engine changes, only the modeling logic needs to be adjusted, without reconstructing the verification environment. This significantly reduces the impact of design architecture changes on the verification environment, reduces verification convergence and delivery risks, and effectively solves the shortcomings of traditional verification methods that depend on design implementation and are greatly affected by architecture changes.
[0060] The technical solution of this invention has strong compatibility. By designing verification test cases with multiple storage types, multiple data formats (INT8, BF16, FP16, FP32, FP64, etc.), multiple service loads, and multiple AXI bus configurations, the adaptability of the data transmission engine in complex application environments is verified. At the same time, the adaptability of the prediction model module under different scenarios and different data formats is verified, ensuring that the data transmission engine can stably adapt to different system architectures, application scenarios and data formats, thus solving the problem of lack of compatibility in existing methods.
[0061] The technical solution of this invention is highly practical, with a clear verification process and strong operability. The modeling logic of the prediction model module in this invention is simple and easy to understand, and can be directly applied to the research and development and testing of data transmission engines. This helps developers quickly locate design flaws (especially subtle anomalies such as multiple reads and multiple writes, and data format adaptation issues), improve the reliability and performance of the data transmission engine, reduce research and development costs and testing costs, and reduce verification and delivery risks.
[0062] The prediction model module in this invention can be developed in parallel with the data transmission engine design. It does not require waiting for the data transmission engine design to be completed; only the core algorithms of the data transmission engine (multidimensional operations, stride operations, fill operations, start coordinate configuration, etc.) and supported data formats (INT8, BF16, FP16, FP32, FP64, etc.) need to be defined to complete modeling. This allows for the pre-establishment of the verification environment, shifting the verification cycle to the left and significantly shortening the overall R&D and verification cycle. Furthermore, since the prediction model module does not depend on the data transmission engine design implementation and scheme, it does not require complete modeling of the entire design. When the internal architecture of the data transmission engine changes, only the modeling logic needs to be adjusted according to the changes in the core algorithms, without reconstructing the entire verification environment. This significantly reduces the impact of design architecture changes on the verification environment, minimizing verification convergence and delivery risks. This is one of the core advantages of this invention in improving verification efficiency and enhancing stability.
[0063] Optionally, if multiple read or multiple write exceptions occur, the result analysis module can investigate the address calculation logic of the request generator, the AXI bus transmission timing, and the step size to check for errors. If short write or duplicate write exceptions occur, the result analysis module can investigate the filling rule processing logic and the accuracy of the starting coordinate positioning. If data format-related exceptions occur, the result analysis module can investigate the data format adaptation logic of the data transmission engine and the format adaptation modeling of the prediction model module. If the prediction model module comparison is abnormal, the result analysis module can investigate whether the modeling logic is consistent with the core algorithm of the data transmission engine.
[0064] Example 2 Figure 2 This is a flowchart illustrating a data transmission engine verification method provided in Embodiment 2 of the present invention. The embodiments of the present invention can be combined with various optional solutions from one or more of the above embodiments. For example... Figure 2 As shown, the method includes: Step 201: After obtaining the verification instruction from the target data transmission engine, each verification case is synchronously sent to the target data transmission engine and the prediction model module, so that the target data transmission engine executes the data transmission operation corresponding to each verification case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification case, and collects the transmission record data and transmission performance data of the data transmission operation corresponding to each verification case.
[0065] Step 202: For each verification case, the prediction model module compares the read / write bus transaction data of the data transmission operation corresponding to the verification case with the expected data transmission result to determine the data comparison result of the verification case.
[0066] Step 203: For each verification test case, the result analysis module determines the functional verification result of the target data transmission engine under the verification test case based on the source memory raw data and target memory received data of the data transmission operation corresponding to the verification test case and the data comparison result of the verification test case.
[0067] Step 204: For each verification test case, the result analysis module compares the transmission performance data of the data transmission operation corresponding to the verification test case with a preset threshold to determine the performance verification result of the target data transmission engine under the verification test case.
[0068] Step 205: Determine the compatibility verification result of the target data transmission engine based on the functional verification results and performance verification results of the target data transmission engine under each verification test case.
[0069] Step 206: Based on the collected data and the determined functional verification results, performance verification results, and compatibility verification results, generate a verification report for the target data transmission engine and send the verification report to the engine design end.
[0070] The technical solution of this invention can comprehensively, accurately, and efficiently verify the data transmission engine based on various verification test cases and prediction model modules, determine the functional verification results, performance verification results, and compatibility verification results of the data transmission engine, and generate a verification report of the data transmission engine. Moreover, it does not depend on the design implementation and design scheme of the data transmission engine, and does not require complete modeling of the entire design, effectively improving the verification accuracy, verification stability, verification independence, and verification reliability of the verification process.
[0071] Example 3 Figure 3 This is a schematic diagram of a verification device for a data transmission engine provided in Embodiment 3 of the present invention. The device can be configured in an electronic device. Figure 3As shown, the device includes: a verification test case processing unit 301, a functional verification unit 302, a performance verification unit 303, a compatibility verification unit 304, and a verification report processing unit 305.
[0072] The system includes the following components: a verification test case processing unit 301, which, upon receiving verification instructions from the target data transmission engine, synchronously sends each verification test case to the target data transmission engine and the prediction model module, enabling the target data transmission engine to execute data transmission operations corresponding to each verification test case. The prediction model module generates expected data transmission results for the data transmission operations corresponding to each verification test case and collects transmission record data and transmission performance data for the data transmission operations corresponding to each verification test case. A functional verification unit 302 determines the functional verification results of the target data transmission engine under each verification test case based on the expected data transmission results and transmission record data for the data transmission operations corresponding to each verification test case. A performance verification unit 303 determines the performance verification results of the target data transmission engine under each verification test case based on the transmission performance data for the data transmission operations corresponding to each verification test case. A compatibility verification unit 304 determines the compatibility verification results of the target data transmission engine based on the functional and performance verification results of the target data transmission engine under each verification test case. A verification report processing unit 305 generates a verification report for the target data transmission engine based on the collected data and the determined functional, performance, and compatibility verification results, and sends the verification report to the engine design end.
[0073] The technical solution of this invention involves, after obtaining the verification instructions from the target data transmission engine, simultaneously sending each verification test case to the target data transmission engine and the prediction model module. This causes the target data transmission engine to execute data transmission operations corresponding to each verification test case, while the prediction model module generates the expected data transmission results for each verification test case and collects transmission record data and transmission performance data for each verification test case. Then, based on the expected data transmission results and transmission record data for each verification test case, the functional verification results of the target data transmission engine under each verification test case are determined. Based on the transmission performance data for each verification test case, the performance verification results of the target data transmission engine under each verification test case are determined. Finally, based on the functional verification results of the target data transmission engine under each verification test case... Based on the collected data and the determined functional, performance, and compatibility verification results, a verification report for the target data transmission engine is generated and sent to the engine design end. This solves the problems of limited verification scenarios, insufficient verification accuracy, poor verification stability, poor verification independence, and poor verification reliability in related technologies. It can comprehensively, accurately, and efficiently verify the data transmission engine based on various verification test cases and prediction model modules, determine the functional, performance, and compatibility verification results, and generate a verification report for the data transmission engine. Moreover, it does not depend on the data transmission engine design implementation and design scheme, and does not require complete modeling of the entire design, effectively improving the verification accuracy, verification stability, verification independence, and verification reliability of the verification process.
[0074] In an optional embodiment of the present invention, the verification test case processing unit 301, when performing the operation of synchronously sending each verification test case to the target data transmission engine and the prediction model module, so that the target data transmission engine executes the data transmission operation corresponding to each verification test case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification test case, is specifically configured to: perform the following operation for each verification test case: synchronously sending the verification test case to the target data transmission engine and the prediction model module through the verification control module, so that the target data transmission engine executes the data transmission operation corresponding to the verification test case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to the verification test case; wherein, the verification test case includes interface configuration instructions and data format configuration information.
[0075] In an optional embodiment of the present invention, the verification test case processing unit 301, when performing the operation of collecting transmission record data and transmission performance data of the data transmission operation corresponding to each verification test case, is specifically used to: perform the following operation for each verification test case: collect transmission record data and transmission performance data of the data transmission operation corresponding to the verification test case through the data acquisition module; wherein, the transmission record data includes read / write bus transaction data, source memory raw data, target memory received data, and engine transmission status data.
[0076] In an optional embodiment of the present invention, the functional verification unit 302 is specifically configured to: perform the following operations for each verification case: compare the read / write bus transaction data and the expected data transmission result of the data transmission operation corresponding to the verification case with the prediction model module to determine the data comparison result of the verification case; and determine the functional verification result of the target data transmission engine under the verification case based on the source memory raw data and target memory received data of the data transmission operation corresponding to the verification case and the data comparison result of the verification case with the result analysis module.
[0077] In an optional embodiment of the present invention, the performance verification unit 303 is specifically configured to: perform the following operation for each verification case: compare the transmission performance data of the data transmission operation corresponding to the verification case with a preset threshold through the result analysis module, and determine the performance verification result of the target data transmission engine under the verification case.
[0078] In an optional embodiment of the present invention, the performance verification unit 303 may be further configured to: determine the verification process evaluation information of the target data transmission engine by means of the result analysis module, based on the verification efficiency of the prediction model module under each verification test case and the transmission performance data of the data transmission operation corresponding to each verification test case collected by the data acquisition module.
[0079] In an optional embodiment of the present invention, the compatibility verification unit 304 is specifically configured to: determine the functional stability verification result of the target data transmission engine based on the functional verification results of the target data transmission engine under each verification test case; and determine the performance consistency verification result of the target data transmission engine based on the performance verification results of the target data transmission engine under each verification test case.
[0080] The data transmission engine verification device provided in this embodiment of the invention can execute the data transmission engine verification method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0081] Example 4 Figure 4 A schematic diagram of an electronic device 10, which can be used to implement the verification method of the data transmission engine in embodiments of the present invention, is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, electronic devices, blade electronic devices, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0082] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory 12 or a random access memory 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the read-only memory 12 or loaded from storage unit 18 into the random access memory 13. The random access memory 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, read-only memory 12, and random access memory 13 are interconnected via a bus 14. An input / output interface 15 is also connected to the bus 14.
[0083] Multiple components in electronic device 10 are connected to input / output interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of monitors, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0084] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, central processing units, graphics processing units, various special-purpose artificial intelligence computing chips, various processors running machine learning model algorithms, digital signal processors, and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as the verification method of the data transfer engine.
[0085] In some embodiments, the verification method of the data transmission engine can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as a storage unit. In some embodiments, part or all of the computer program can be loaded and / or installed on a heterogeneous hardware accelerator via read-only memory and / or a communication unit. When the computer program is loaded into random access memory and executed by a processor, one or more steps of the verification method of the data transmission engine described above can be performed. Alternatively, in other embodiments, the processor can be configured to perform the verification method of the data transmission engine by any other suitable means (e.g., by means of firmware).
[0086] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays, application-specific integrated circuits (ASICs), application-specific standard products (ASICs), systems-on-a-chip (SoCs), payload programmable logic devices (PLCs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0087] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or electronic device.
[0088] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0089] To provide user interaction, the systems and techniques described herein can be implemented on a heterogeneous hardware accelerator, which includes: a display device (e.g., a cathode ray tube or liquid crystal display monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the heterogeneous hardware accelerator. Other types of devices can also be used to provide user interaction; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or haptic feedback); and input from the user can be received in any form (including sound input, voice input, or haptic input).
[0090] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data electronic devices), or computing systems that include middleware components (e.g., application electronic devices), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0091] A computing system can include clients and electronic devices. Clients and electronic devices are generally geographically separated and typically interact via communication networks. The client-electronic device relationship is created by computer programs running on the respective computers and establishing a client-electronic device relationship between them. Electronic devices can be cloud electronic devices, also known as cloud computing electronic devices or cloud servers, which are host products within the cloud computing service system. These address the shortcomings of traditional physical hosts and virtual private server services, such as high management difficulty and weak business scalability.
[0092] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0093] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A verification method for a data transmission engine, characterized in that, include: After obtaining the verification instructions from the target data transmission engine, each verification case is synchronously sent to the target data transmission engine and the prediction model module, so that the target data transmission engine executes the data transmission operation corresponding to each verification case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification case, and collects the transmission record data and transmission performance data of the data transmission operation corresponding to each verification case. Based on the expected data transmission results and transmission record data of the data transmission operations corresponding to each verification test case, the functional verification results of the target data transmission engine under each verification test case are determined. Based on the transmission performance data of the data transmission operations corresponding to each verification test case, the performance verification results of the target data transmission engine under each verification test case are determined. Based on the functional and performance verification results of the target data transmission engine under each verification test case, the compatibility verification result of the target data transmission engine is determined. Based on the collected data and the determined functional verification results, performance verification results, and compatibility verification results, a verification report for the target data transmission engine is generated, and the verification report is sent to the engine design end.
2. The verification method for the data transmission engine according to claim 1, characterized in that, Each verification test case is synchronously sent to the target data transmission engine and the prediction model module, respectively, so that the target data transmission engine executes the data transmission operation corresponding to each verification test case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification test case, including: Perform the following operations for each validation test case: The verification control module synchronously sends verification test cases to the target data transmission engine and the prediction model module, so that the target data transmission engine executes the data transmission operation corresponding to the verification test case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to the verification test case; wherein, the verification test case includes interface configuration instructions and data format configuration information.
3. The verification method for the data transmission engine according to claim 1, characterized in that, Collect transmission record data and transmission performance data corresponding to each verification test case, including: Perform the following operations for each validation test case: The data acquisition module collects and verifies the transmission record data and transmission performance data corresponding to the data transmission operations of the test cases; wherein, the transmission record data includes read / write bus transaction data, source memory raw data, target memory received data, and engine transmission status data.
4. The verification method for the data transmission engine according to claim 3, characterized in that, Based on the expected data transmission results and transmission record data of the data transmission operations corresponding to each verification test case, the functional verification results of the target data transmission engine under each verification test case are determined, including: Perform the following operations for each validation test case: The prediction model module compares the read / write bus transaction data of the data transmission operation corresponding to the verification case with the expected data transmission result to determine the data comparison result of the verification case. The result analysis module determines the functional verification result of the target data transmission engine under the verification case based on the source memory raw data and target memory received data of the data transmission operation corresponding to the verification case and the data comparison result of the verification case.
5. The verification method for the data transmission engine according to claim 3, characterized in that, Based on the transmission performance data of the data transmission operations corresponding to each verification test case, the performance verification results of the target data transmission engine under each verification test case are determined, including: Perform the following operations for each validation test case: The results analysis module compares the transmission performance data of the data transmission operation corresponding to the verification case with a preset threshold to determine the performance verification result of the target data transmission engine under the verification case.
6. The verification method for the data transmission engine according to claim 5, characterized in that, Also includes: The result analysis module determines the evaluation information of the target data transmission engine's verification process based on the verification efficiency of the prediction model module under each verification test case and the transmission performance data of the data transmission operation corresponding to each verification test case, collected by the data acquisition module.
7. The verification method for the data transmission engine according to claim 1, characterized in that, Based on the functional and performance verification results of the target data transmission engine under various verification test cases, the compatibility verification results of the target data transmission engine are determined, including: Based on the functional verification results of the target data transmission engine under each verification test case, determine the functional stability verification results of the target data transmission engine; Based on the performance verification results of the target data transmission engine under each verification test case, the performance consistency verification result of the target data transmission engine is determined.
8. A verification device for a data transmission engine, characterized in that, include: The verification test case processing unit is used to synchronously send each verification test case to the target data transmission engine and the prediction model module after obtaining the verification instruction from the target data transmission engine, so that the target data transmission engine executes the data transmission operation corresponding to each verification test case, and the prediction model module generates the expected data transmission result of the data transmission operation corresponding to each verification test case, and collects the transmission record data and transmission performance data of the data transmission operation corresponding to each verification test case. The functional verification unit is used to determine the functional verification result of the target data transmission engine under each verification test case based on the expected data transmission result and transmission record data of the data transmission operation corresponding to each verification test case. The performance verification unit is used to determine the performance verification result of the target data transmission engine under each verification case based on the transmission performance data of the data transmission operation corresponding to each verification case. The compatibility verification unit is used to determine the compatibility verification result of the target data transmission engine based on the functional verification results and performance verification results of the target data transmission engine under each verification test case. The verification report processing unit is used to generate a verification report for the target data transmission engine based on the collected data and the determined functional verification results, performance verification results, and compatibility verification results, and then send the verification report to the engine design end.
9. An electronic device, characterized in that, The electronic device includes: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores a computer program that is executed by the at least one processor, which enables the at least one processor to perform the verification method of the data transmission engine according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the verification method of the data transmission engine according to any one of claims 1-7.