CN114880972A - Verification method supporting error injection verification test and computer readable medium - Google Patents

Verification method supporting error injection verification test and computer readable medium Download PDF

Info

Publication number
CN114880972A
CN114880972A CN202210418192.2A CN202210418192A CN114880972A CN 114880972 A CN114880972 A CN 114880972A CN 202210418192 A CN202210418192 A CN 202210418192A CN 114880972 A CN114880972 A CN 114880972A
Authority
CN
China
Prior art keywords
error injection
verification
type
error
sequence
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.)
Pending
Application number
CN202210418192.2A
Other languages
Chinese (zh)
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.)
Hangzhou Clounix Technology Ltd
Original Assignee
Hangzhou Clounix Technology 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 Hangzhou Clounix Technology Ltd filed Critical Hangzhou Clounix Technology Ltd
Priority to CN202210418192.2A priority Critical patent/CN114880972A/en
Publication of CN114880972A publication Critical patent/CN114880972A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

The invention discloses a verification method and a computer readable medium for supporting error injection verification test, wherein the verification method comprises the following steps: creating a sequence element, wherein the sequence element carries the type of error injection to be tested; creating a driver, performing error injection and modification on the received data of the sequence elements by the driver according to the type of the error injection, and driving the modified data of the sequence elements to an external interface bus; adding a member variable capable of identifying the type of error injection into the transaction data; creating a monitor, wherein the monitor monitors the type of error injection contained in the current path of the interface bus; a verification analysis component is created and the monitor inputs the type of error injection monitored under the verification analysis component and a functional component of an error monitoring mechanism associated with the DUT for verification analysis. The invention can flexibly control the switch according to the actual project requirements, thus being completely compatible with the structure of the verification platform under the existing scheme.

Description

Verification method supporting error injection verification test and computer readable medium
Technical Field
The present invention relates to the field of chip verification technologies, and in particular, to a verification method and a computer readable medium for supporting an error injection verification test.
Background
In a verification environment, a verification platform for an RTL (Register Transfer Level) design (here, DUT, design to be tested) is usually built by using a UVM, as shown in fig. 1, which is a typical architecture based on the UVM verification platform, where a DUT is connected to the verification platform by using an interface, and then a sequence stimulus is written and driven to the interface via a related verification component to be applied to an input end of the DUT, and then an output end signal of the DUT is monitored and broadcast to an analysis component for analysis and comparison, so as to determine correctness of a behavior function of the DUT.
The above scheme is the verification scheme for the DUT that we usually adopt, but in the actual verification work, the following two cases of data errors need to be considered:
(1) violation errors of the timing bus protocol may occur in a real verification platform
This should not be the case and should be avoided by design and verification personnel, but the verification platform needs to be able to identify and alert developers to make corrections.
(2) Errors in signal transmission
During data transmission in an actual chip, errors occur in one or more frame data transmitted on a link due to a transmission system. In this case, it is necessary for the RTL design to have an error detection mechanism, and only receive the data when the detection result is correct, so as to improve the correctness of data transmission as much as possible.
In this case, then, we correspondingly need to test the RTL design with error detection mechanism for error injection to verify the relevant error detection function of the RTL design in case of erroneous transmission data.
The above prior art schemes do not take the scenario of the erroneous injection test into consideration at the beginning, and therefore, the prior art schemes need to be improved to meet the requirement of the actual chip verification. The patent provides a verification platform structure suitable for error injection test on the basis of the existing scheme, and can be conveniently applied to perform verification of behavior function on an RTL design with a similar error detection mechanism function.
Disclosure of Invention
According to an embodiment of the present invention, a verification method supporting an error injection verification test is provided, which includes the following steps:
creating a sequence element, wherein the sequence element carries the type of error injection to be tested;
creating a driver, performing error injection and modification on the received data of the sequence elements by the driver according to the type of the error injection, and driving the modified data of the sequence elements to an external interface bus;
adding a member variable capable of identifying the type of error injection into the transaction data;
creating a monitor, wherein the monitor monitors the type of error injection contained in the current path of the interface bus;
a verification analysis component is created and the monitor inputs the type of error injection monitored under the verification analysis component and a functional component of an error monitoring mechanism associated with the DUT for verification analysis.
Further, the type of error injection carried by the sequence element and required to be tested is specifically:
adding data members related to local error injection in sequence elements;
creating a sequence with error injection, and randomly generating sequence elements contained in the sequence with error injection;
and covering the error injection related data member variable of the contained sequence element by using the local error injection related data member variable as the type of error injection needing to be tested.
Further, error injection is turned off by default through random constraints when adding local error injection related data members in the sequence elements.
Further, a driving logic with error injection is added to a driving method in the driver.
Further, error injection monitoring logic is added in the monitor.
Further, the monitor broadcasts the type of error injection monitored to the verification analysis component and the functional component of the DUT related error monitoring mechanism through the communication port for verification analysis.
According to yet another embodiment of the present invention, there is provided a computer readable medium having non-volatile program code executable by a processor, the program code causing the processor to execute a verification method that supports an error injection verification test.
The verification method and the computer readable medium for supporting the error injection verification test according to the embodiment of the invention have the following beneficial effects:
(1) under the default condition, the error injection test is not carried out, and the on-off control can be flexibly carried out according to the actual project requirement, so that the method is completely compatible with the verification platform structure under the existing scheme.
(2) And sufficient flexibility is provided, and a verification developer can select a fault injection mode to be added by himself so as to carry out various types of fault injection tests according to actual project requirements, thereby comprehensively verifying the fault monitoring behavior function of the DUT.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and are intended to provide further explanation of the claimed technology.
Drawings
Fig. 1 is a typical architecture diagram of a UVM-based verification platform.
FIG. 2 is a flowchart of a verification method for supporting error injection verification testing according to an embodiment of the present invention.
Fig. 3 is a schematic view of the method according to fig. 2.
FIG. 4 is a diagram of an example of a frame data format of an error monitoring mechanism of a verification method supporting an error injection verification test according to an embodiment of the invention.
Detailed Description
The present invention will be further explained by describing preferred embodiments of the present invention in detail with reference to the accompanying drawings.
First, a verification method supporting error injection verification testing according to an embodiment of the present invention will be described with reference to fig. 2 to 3, which is used for verifying chips with different performances and different modes, and has a wide application range.
As shown in fig. 2 to 3, the verification method for supporting the error injection verification test according to the embodiment of the present invention includes the following steps:
in S1, as shown in fig. 2, a sequence element sequence _ item is created, which carries the type of error injection that needs to be tested.
Further, the type of error injection carried by the sequence element and required to be tested is specifically: adding a local error injection related data member in the sequence _ item of the sequence element; creating a sequence with error injection, and randomly generating a sequence element sequence item contained in the sequence with error injection; and covering the error injection related data member variable of the contained sequence element sequence item by using the local error injection related data member variable as the type of error injection needing to be tested.
Further, error injection is turned off by default through random constraints when adding local error injection related data members in the sequence elements.
In S2, as shown in fig. 2, a driver is created, and the driver performs error injection and modification on the received data of the sequence element sequence _ item according to the type of error injection, and drives the modified data of the sequence element sequence _ item to an external interface bus. In this embodiment, a driving logic with error injection is added to the driving method in the driver.
In S3, as shown in fig. 2, a member variable capable of identifying the type of error injection is added to the transaction data transaction. In this embodiment, transaction data (transaction) is the smallest data unit in each submodule of the chip, which is a class, and interface signal data for communication between modules is packaged. Adding member variables of the type of error injection means that the input excitation signal which we want to apply is driven to an interface of the design to be tested by writing transaction data, and signals which can cause errors or abnormalities of the function of the design to be tested are added in the input excitation signal to detect the behavior and output of the design to be tested in the error excitation scene, so as to further judge whether the function of the design to be tested meets the design target.
In S4, as shown in fig. 2, a monitor is created that monitors the type of error injection contained on the current path of the interface bus. In this embodiment, an error injection monitoring logic is added to the monitor.
At S5, as shown in fig. 2, a verification analysis component is created, and the monitor broadcasts and inputs the type of error injection monitored to the verification analysis component and the DUT-related error monitoring mechanism functional component for verification analysis through the communication port. In this embodiment, as shown in fig. 4, an example of a frame data format of the error monitoring mechanism includes: start of frame data (SOF), Payload data (Payload), Cyclic Redundancy Check (CRC) data, and end of frame data (EOF).
Verification methods for supporting error injection verification tests according to embodiments of the present invention are described above with reference to fig. 2-3. Further, the present invention can also be applied to a computer-readable medium having a non-volatile program code executable by a processor.
A computer-readable medium having non-volatile program code executable by a processor, the program code causing the processor to run a verification method that supports an error injection verification test, in accordance with an embodiment of the present invention.
The verification method and the computer readable medium for supporting the error injection verification test according to the embodiment of the invention are described above with reference to fig. 2 to 3, and have the following beneficial effects:
(1) under the default condition, the error injection test is not carried out, and the on-off control can be flexibly carried out according to the actual project requirement, so that the method is completely compatible with the verification platform structure under the existing scheme.
(2) And sufficient flexibility is provided, and a verification developer can select a fault injection mode to be added by himself so as to carry out various types of fault injection tests according to actual project requirements, thereby comprehensively verifying the fault monitoring behavior function of the DUT.
It should be noted that, in the present specification, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
While the present invention has been described in detail with reference to the preferred embodiments, it should be understood that the above description should not be taken as limiting the invention. Various modifications and alterations to this invention will become apparent to those skilled in the art upon reading the foregoing description. Accordingly, the scope of the invention should be limited only by the attached claims.

Claims (7)

1. A verification method for supporting error injection verification testing, comprising the steps of:
creating a sequence element, wherein the sequence element carries the type of error injection to be tested;
creating a driver, performing error injection and modification on the received data of the sequence elements by the driver according to the type of the error injection, and driving the modified data of the sequence elements to an external interface bus;
adding a member variable capable of identifying the type of error injection into the transaction data;
creating a monitor that monitors a type of the error injection contained on a current path of the interface bus;
creating a verification analysis component, wherein the monitor inputs the type of error injection monitored under the verification analysis component and an error monitoring mechanism functional component related to the DUT for verification analysis.
2. The verification method supporting error injection verification testing as claimed in claim 1, wherein the type of error injection carried by the sequence element to be tested is specifically:
adding local error injection related data members in the sequence elements;
creating a sequence with error injection, and randomly distributing sequence elements contained in the sequence with error injection;
and covering the error injection related data member variable of the contained sequence element by using the local error injection related data member variable as the type of error injection needing to be tested.
3. The verification method supporting error injection verification testing of claim 2, wherein error injection defaults are turned off by random constraints when adding local error injection related data members in the sequence elements.
4. The verification method for supporting error injection verification testing of claim 1, wherein a driving logic with error injection is added to a driving method in the driver.
5. A verification method supporting error injection verification testing as claimed in claim 1, wherein error injection monitoring logic is added to said monitor.
6. A verification method supporting error injection verification testing as claimed in claim 1 wherein said monitor broadcasts the type of said error injection monitored to said verification analysis component and DUT related error monitoring mechanism functional component for verification analysis via a communication port.
7. A computer-readable medium having non-volatile program code executable by a processor, the program code causing the processor to execute the verification method supporting error injection verification testing of any one of claims 1 to 6.
CN202210418192.2A 2022-04-21 2022-04-21 Verification method supporting error injection verification test and computer readable medium Pending CN114880972A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210418192.2A CN114880972A (en) 2022-04-21 2022-04-21 Verification method supporting error injection verification test and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210418192.2A CN114880972A (en) 2022-04-21 2022-04-21 Verification method supporting error injection verification test and computer readable medium

Publications (1)

Publication Number Publication Date
CN114880972A true CN114880972A (en) 2022-08-09

Family

ID=82670688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210418192.2A Pending CN114880972A (en) 2022-04-21 2022-04-21 Verification method supporting error injection verification test and computer readable medium

Country Status (1)

Country Link
CN (1) CN114880972A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117687395A (en) * 2024-02-02 2024-03-12 苏州旗芯微半导体有限公司 Self-checking circuit and self-checking method for safety mechanism of microcontroller functional module

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117687395A (en) * 2024-02-02 2024-03-12 苏州旗芯微半导体有限公司 Self-checking circuit and self-checking method for safety mechanism of microcontroller functional module
CN117687395B (en) * 2024-02-02 2024-04-16 苏州旗芯微半导体有限公司 Self-checking circuit and self-checking method for safety mechanism of microcontroller functional module

Similar Documents

Publication Publication Date Title
US10156611B2 (en) Executing code on a test instrument in response to an event
JP4886998B2 (en) Check the robustness of the physical system model
CN109726061B (en) SoC chip verification method
CN111381150B (en) Chip automatic verification system and method thereof
Dhadyalla et al. Combinatorial testing for an automotive hybrid electric vehicle control system: a case study
CN114880972A (en) Verification method supporting error injection verification test and computer readable medium
US10613963B2 (en) Intelligent packet analyzer circuits, systems, and methods
CN113225232B (en) Hardware testing method and device, computer equipment and storage medium
CN116775394B (en) Chip verification method, device, apparatus, storage medium and computer program product
Barbosa et al. Verification and validation of (real time) COTS products using fault injection techniques
KR102279776B1 (en) AUTOSAR BSW testing automation system and testing method thereof
US20050273681A1 (en) System and method for testing nodes in a network
CN116841874A (en) Test method and device for unified diagnosis service function, storage medium and electronic equipment
US7721260B2 (en) Embedded Test I/O Engine
CN112256554B (en) Method and equipment for testing based on scene test cases
CN114443465A (en) Method for operating a control unit during testing of software of the control unit and method for operating a test computer during testing of software of the control unit
JP3357567B2 (en) Program evaluation system
KR101584717B1 (en) Method and Apparatus for testing software fail processing module mounted on embeded system for aerial Vehicle
CN109960238B (en) Automatic test system and method for vehicle diagnostic instrument
CN111752823A (en) Method, device and equipment for testing vehicle-mounted power supply application software
CN117910401B (en) Method, apparatus, device, storage medium and program product for configuring operation mode
US7174480B1 (en) Data processing method and system for simulation of hardware faults utilizing a PCI bus
RU2697629C1 (en) Device for simulating faults in software and hardware systems
JPH10269093A (en) Method and device for detecting data transmission error
CN116662159A (en) Automobile BootLoader abnormal downloading file testing system and testing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 3 / F, 665 Zhangjiang Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: Yunhe Zhiwang (Shanghai) Technology Co.,Ltd.

Address before: 311203 floor 12, building 2, Purple Orange International Center, No. 39, Jincheng Road, Xiaoshan District, Hangzhou, Zhejiang Province

Applicant before: Hangzhou yunhezhi Network Technology Co.,Ltd.

Country or region before: China