IP Library Granted Patent US 10,664,637
Granted Patent B2
US 10,664,637 · App. 14/981,524 · Granted May 26, 2020

Testbench restoration based on capture and replay

Inventors: Suresh Krishnamurthy (Noida, IN); Ruchir Prakash (Fremont, CA); Jeffrey W. Evans (Dripping Springs, TX); Deepak Kumar Garg (Noida, IN)
Assignee: Mentor Graphics Corporation
G06F30/331
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,664,637
App. No.
14/981,524
Granted
May 26, 2020
Kind
B2
Abstract

Messages transmitted from an emulator to a testbench of a part of the testbench are recorded from a starting point of an emulation operation to a checkpoint of the emulation operation. State information of the emulator at the checkpoint is captured and stored. The emulator is then configured to a state corresponding to the checkpoint based on the stored state information, and the testbench or the part of the testbench is restored to the checkpoint by running the testbench or the part of the testbench based on the recorded messages.

Claims (39)

1. A method, comprising:

recording messages transmitted from an emulator to a testbench or a part of the testbench from a starting point of an emulation operation to a checkpoint of the emulation operation, wherein the emulator is loaded with a design under verification (DUV) and the testbench or part of the testbench is separate from the DUV;

capturing and storing state information of the emulator at the checkpoint, the state information comprising signal values of state elements at the checkpoint;

configuring the emulator to a state corresponding to the checkpoint based on the stored state information; and

restoring the testbench or the part of the testbench to the checkpoint by running the testbench or the part of the testbench based on the recorded messages.

2. The method recited in claim 1 , further comprising:

running the emulator along with the testbench or the part of the testbench starting from the checkpoint.

3. The method recited in claim 1 , wherein the testbench or the part of the testbench is a standalone software model, a set of multiple connected software models, a testbench running on a software simulator, or a system including one or more connected software models and a testbench running on a software simulator.

4. The method recited in claim 1 , wherein a verification model implemented in the emulator represents a design of a processor, and the emulation operation performed by the verification model between the starting pointing and the checkpoint comprises a booting process of the processor.

5. The method recited in claim 1 , further comprising:

recording output messages transmitted from the testbench or the part of the testbench to the emulator from the starting point of the emulation operation to the checkpoint of the emulation operation; and

comparing output messages transmitted from the testbench or the part of the testbench to the emulator during the restoring with the recorded output messages.

6. The method recited in claim 1 , wherein the recorded messages do not include messages transmitted to another part of the testbench that is mapped to the emulator.

7. A system, comprising:

an emulator and a workstation coupled to the emulator, the emulator and the workstation being configured to perform a method, the method comprising:

recording messages transmitted from an emulator to a testbench or a part of the testbench from a starting point of an emulation operation to a checkpoint of the emulation operation, wherein the emulator is loaded with a design under verification (DUV) and the testbench or the part of the testbench is separate from the DUV and implemented by the workstation;

capturing and storing state information of the emulator at the checkpoint, the state information comprising signal values of state elements at the checkpoint;

configuring the emulator to a state corresponding to the checkpoint based on the stored state information; and

restoring the testbench or the part of the testbench to the checkpoint by running the testbench or the part of the testbench based on the recorded messages.

8. The system recited in claim 7 , wherein the method further comprises:

running the emulator along with the testbench or the part of the testbench starting from the checkpoint.

9. The system recited in claim 7 , wherein the testbench or the part of the testbench is a standalone software model, a set of multiple connected software models, a testbench running on a software simulator, or a system including one or more connected software models and a testbench running on a software simulator.

10. The system recited in claim 7 , wherein a verification model implemented in the emulator represents a design of a processor, and the emulation operation performed by the verification model between the starting pointing and the checkpoint comprises a booting process of the processor.

11. The system recited in claim 7 , wherein the method further comprises:

recording output messages transmitted from the testbench or the part of the testbench to the emulator from the starting point of the emulation operation to the checkpoint of the emulation operation; and

comparing output messages transmitted from the testbench or the part of the testbench to the emulator during the restoring with the recorded output messages.

12. The system recited in claim 7 , wherein the recorded messages do not include messages transmitted to another part of the testbench that is mapped to the emulator.

13. A non-transitory computer readable medium comprising instructions that, when executed by a processor, cause a computing system to:

configure an emulator to a state corresponding to a checkpoint of an emulation operation based on stored state information of the emulator, wherein the emulator is loaded with a design under verification (DUV) and the stored state information is captured and stored at the checkpoint during performing the emulation operation; and

restore a testbench or a part of the testbench to the checkpoint by running the testbench or the part of the testbench based on recorded messages, wherein:

the testbench or part of the testbench is separate from the DUV; and

the recorded messages are messages transmitted from the emulator to the testbench or the part of the testbench from a starting point of the emulation operation to the checkpoint of the emulation operation and are recorded during the performing the emulation operation.

14. The non-transitory computer readable medium recited in claim 13 , wherein the instructions, when executed, further cause the computing system to:

run the emulator along with the testbench or the part of the testbench starting from the checkpoint.

15. The non-transitory computer readable medium recited in claim 13 , wherein the testbench or the part of the testbench is a standalone software model, a set of multiple connected software models, a testbench running on a software simulator, or a system including one or more connected software models and a testbench running on a software simulator.

16. The non-transitory computer readable medium recited in claim 13 , wherein a verification model implemented in the emulator represents a design of a processor, and the emulation operation performed by the verification model between the starting pointing and the checkpoint comprises a booting process of the processor.

17. The non-transitory computer readable medium recited in claim 13 , wherein the instructions, when executed, further cause the computing system to:

compare output messages transmitted from the testbench or the part of the testbench to the emulator during the restoring with stored output messages, the stored output messages being recorded during the performing the emulation operation.

18. The non-transitory computer readable medium recited in claim 13 , wherein the recorded messages do not include messages transmitted to another part of the testbench that is mapped to the emulator.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 29, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056702/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2016
From: SURESH, KRISHNAMURTHY; PRAKASH, RUCHIR; EVANS, JEFFREY; GARG, DEEPAK KUMAR
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 037866/0015 →
Continuity (1)
Related Publication 20170185710A1 · Jun 29, 2017
Cited By (1)
US 12,380,263