IP Library Granted Patent US 11,361,137
Granted Patent B2
US 11,361,137 · App. 16/915,549 · Granted Jun 14, 2022

Integrated simulator and analysis and optimization engine

Inventors: Yang Wu (Los Altos Hills, CA); Ping-San Tzeng (Fremont, CA); Geng Bai (ShenZhen, CN); Chao-Yung Wang (Taipei, TW); Wen Kung Chu (San Jose, CA)
Assignee: Siemens Industry Software Inc.
G06F30/337G06F30/31G06F30/3308G06F2119/06
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 11,361,137
App. No.
16/915,549
Granted
Jun 14, 2022
Kind
B2
Abstract

A signoff process includes: accessing circuit information of a circuit; performing, using an analysis and optimization engine, power analysis and optimization on the circuit to generate an optimized circuit, the power analysis and optimization being performed using an input pattern; performing, using a simulator, a simulation on at least a portion of an optimized circuit, the simulation being performed using the input pattern used in the power analysis and optimization; and outputting a simulation result to the analysis and optimization engine; wherein the analysis and optimization engine and the simulator are integrated.

Claims (48)

1. A system, comprising:

one or more processors configured to:

access circuit information of a circuit;

perform, using an analysis and optimization engine, power analysis and optimization on the circuit to generate an optimized circuit, the power analysis and optimization being performed using an input pattern;

perform, using a simulator, a simulation on at least a portion of an optimized circuit, the simulation being performed using the input pattern used in the power analysis and optimization; and

output a simulation result to the analysis and optimization engine;

wherein the analysis and optimization engine and the simulator are integrated; and

one or more memories coupled to the one or more processors, configured to provide the one or more processors with instructions.

2. The system of claim 1 , wherein the analysis and optimization engine communicates with the simulator via application programming interfaces (APIs).

3. The system of claim 1 , wherein the input pattern is extracted from an initial project data associated with the circuit, derived from the initial project data associated with the circuit, or generated as a randomized pattern.

4. The system of claim 1 , wherein the input pattern is a randomized pattern whose characteristics are determined based on a circuit type associated with the circuit.

5. The system of claim 1 , wherein:

the input pattern is a randomized pattern whose characteristics are determined based on a circuit type associated with the circuit; and

the circuit type is determined by analyzing the circuit or specified by a user via a user interface.

6. The system of claim 1 , wherein the simulation is performed incrementally in time, area, or both.

7. The system of claim 1 , wherein to perform the simulation includes to:

define a plurality of localized window areas corresponding to respective ones of a plurality of optimization moves;

perform a plurality of simulations corresponding to the plurality of localized window areas; and

select one or more optimization moves among the plurality of optimization moves based on results of the plurality of simulations.

8. The system of claim 1 , where the simulation is event-driven.

9. The system of claim 1 , where the simulation is event-driven, and simulation events are stored on a hierarchical set of time wheels.

10. The system of claim 1 , wherein in response to an anti-event, the simulator is configured to invalidate a previous event specified by the anti-event.

11. The system of claim 1 , wherein the simulation is performed by multiple threads.

12. A method, comprising:

accessing circuit information of a circuit;

performing, using an analysis and optimization engine, power analysis and optimization on the circuit to generate an optimized circuit, the power analysis and optimization being performed using an input pattern;

performing, using a simulator, a simulation on at least a portion of an optimized circuit, the simulation being performed using the input pattern used in the power analysis and optimization; and

outputting a simulation result to the analysis and optimization engine; wherein the analysis and optimization engine and the simulator are integrated.

13. The method of claim 12 , wherein the analysis and optimization engine communicates with the simulator via application programming interfaces (APIs).

14. The method of claim 12 , wherein the input pattern is extracted from an initial project data associated with the circuit, derived from the initial project data associated with the circuit, or generated as a randomized pattern.

15. The method of claim 12 , wherein the input pattern is a randomized pattern whose characteristics are determined based on a circuit type associated with the circuit.

16. The method of claim 12 , wherein:

the input pattern is a randomized pattern whose characteristics are determined based on a circuit type associated with the circuit; and

the circuit type is determined by analyzing the circuit or specified by a user via a user interface.

17. The method of claim 12 , wherein the simulation is performed incrementally in time, area, or both.

18. The method of claim 12 , wherein performing the simulation includes:

defining a plurality of localized window areas corresponding to respective ones of a plurality of optimization moves;

performing a plurality of simulations corresponding to the plurality of localized window areas; and

selecting one or more optimization moves among the plurality of optimization moves based on results of the plurality of simulations.

19. The method of claim 12 , where the simulation is event-driven.

20. The method of claim 12 , where the simulation is event-driven, and simulation events are stored on a hierarchical set of time wheels.

21. The method of claim 12 , wherein in response to an anti-event, the simulator is configured to invalidate a previous event specified by the anti-event.

22. The method of claim 12 , wherein the simulation is performed by multiple threads.

23. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

accessing circuit information of a circuit;

performing, using an analysis and optimization engine, power analysis and optimization on the circuit to generate an optimized circuit, the power analysis and optimization being performed using an input pattern;

performing, using a simulator, a simulation on at least a portion of an optimized circuit, the simulation being performed using the input pattern used in the power analysis and optimization; and

outputting a simulation result to the analysis and optimization engine; wherein the analysis and optimization engine and the simulator are integrated.

Assignments (5)
MERGER AND CHANGE OF NAME Recorded Mar 22, 2021
From: AVATAR INTEGRATED SYSTEMS, INC.; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 055666/0360 →
MERGER Recorded Feb 24, 2021
From: AVATAR INTEGRATED SYSTEMS, INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 055388/0136 →
RELEASE OF SECURITY INTEREST Recorded Aug 21, 2020
From: MENTOR GRAPHICS CORPORATION
To: AVATAR INTEGRATED SYSTEMS, INC.
Reel/Frame 053558/0632 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: WU, YANG; TZENG, PING-SAN; BAI, GENG; WANG, CHAO-YUNG; CHU, WEN KUNG
To: AVATAR INTEGRATED SYSTEMS, INC.
Reel/Frame 053413/0555 →
SECURITY INTEREST Recorded Jul 23, 2020
From: AVATAR INTEGRATED SYSTEMS, INC.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 053288/0081 →
Continuity (2)
Provisional Application 63034329 · Jun 3, 2020
Related Publication 20210383045A1 · Dec 9, 2021