IP Library Granted Patent US 10,789,405
Granted Patent B2
US 10,789,405 · App. 15/920,997 · Granted Sep 29, 2020

Event-driven design simulation

Inventors: Vivian Chou (Rancho Palos Verdes, CA); Sherman Lee (Rancho Palos Verdes, CA)
Assignee: Montana Systems Inc.
G06F30/331G06F30/367G06F30/39
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,789,405
App. No.
15/920,997
Granted
Sep 29, 2020
Kind
B2
Abstract

An event-driven simulation system is provided. The simulation system classifies events into bypass-events and perform-events. The simulation system performs simulation by executing instructions based on the perform-events and skips simulation for the bypass-events. The simulation system produces partial simulation result data based events that are actually simulated but not the events that are skipped. A post processor is provided to generate the missing simulation result data for the bypass-events and to merge the bypass-event with the partial simulation result to generate a complete simulation result.

Claims (28)

1. A method comprising:

receiving instructions for performing a simulation according to a testbench of a design;

receiving a set of events, each event having a scheduled time step;

for each received event, determining whether the event is a bypass-event or a perform-event;

identifying a perform-event having an earlist scheduled time step; and

performing simulation of the testbench based on the identified perform-event while bypassing simulation of the testbench for a bypass-event having a scheduled time step that is earlier than the identified perform-event.

2. The method of claim 1 , wherein the identified perform-event is a first type of transition of a particular clock signal and the bypass-event is a second type of transition of the particular clock signal.

3. The method of claim 1 , wherein performing simulation of the testbench based on the identified perform-event comprises identifying and executing instructions that are triggered by the identified perform-event.

4. The method of claim 3 , wherein for each received event, the method further comprising storing the received event in an event storage when the event is determined to be a perform-event but not when the event is determined to be a bypass-event.

5. The method of claim 4 , wherein identifying the perform-event comprises examining the event storage for a stored event having an earliest simulation time.

6. The method of claim 1 , wherein executing the received instructions generates perform-events without bypass-events.

7. The method of claim 1 , further comprising generating simulation result data based on the execution of the instructions that are triggered directly by the identified perform-event.

8. The method of claim 1 , wherein a first simulation result for the identified perform event is generated by the performed simulation and a second simulation result for the bypass event is generated by extrapolating from the first simulation result.

9. An electronic device comprising one or more integrated circuits (IC) configured to perform operations comprising:

receiving instructions for performing a simulation according to a testbench of a design;

receiving a set of events, each event having a scheduled time step;

for each received event, determining whether the event is a bypass-event or a perform-event;

identifying a perform-event having an earliest scheduled time step; and

performing simulation of the testbench based on the identified perform-event while bypassing simulation of the testbench based on a bypass-event having a scheduled time step that is earlier than the identified perform-event.

10. The electronic device of claim 9 , wherein the identified perform-event is a first type of transition of a particular clock signal and the bypass-event is a second type of transition of the particular clock signal.

11. The electronic device of claim 9 , wherein performing simulation of the testbench based on the identified perform-event comprises identifying and executing instructions that are triggered by the identified perform-event.

12. The electronic device of claim 11 , wherein the one or more ICs are further configured to perform operations comprising:

for each received event, storing the received event in an event storage when the event determined to be a perform-event but not when the event is determined to be a bypass-event.

13. The electronic device of claim 12 , wherein identifying the perform-event comprises examining the event storage for a stored event having an earliest simulation time.

14. The electronic device of claim 9 , wherein executing the received instructions generates perform-events without bypass-events.

15. The electronic device of claim 9 , wherein the one or more ICs are further configured to perform operations comprising:

generating simulation result data based on the execution of the instructions that are triggered directly by the identified perform-event.

16. The electronic device of claim 9 , wherein a first simulation result for the identified perform event is generated by the performed simulation and a second simulation result for the bypass event is generated by extrapolating from the first simulation result.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2026
From: ALTAIR ENGINEERING CANADA, LTD
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 074923/0278 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2025
From: METRICS DESIGN AUTOMATION INC.
To: ALTAIR ENGINEERING CANADA, LTD.
Reel/Frame 069776/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2022
From: MONTANA SYSTEMS, INC.
To: METRICS DESIGN AUTOMATION INC.
Reel/Frame 061212/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2018
From: CHOU, VIVIAN; LEE, SHERMAN
To: MONTANA SYSTEMS, INC.
Reel/Frame 045208/0886 →
Continuity (3)
Continuation In Part 15399982 · Jan 6, 2017
Provisional Application 62304110 · Mar 4, 2016
Related Publication 20180203964A1 · Jul 19, 2018
Cited By (1)
US 12,197,343