IP Library Granted Patent US 10,783,291
Granted Patent B2
US 10,783,291 · App. 16/240,185 · Granted Sep 22, 2020

Hybrid performance of electronic design automation (EDA) procedures with delayed acquisition of remote resources

Inventors: Robert A. Todd (Beaverton, OR); Laurence W. Grodd (Santa Rosa Beach, FL); Jimmy J. Tomblin (Santa Rosa Beach, FL); Patrick D. Gibson (Tualatin, OR)
Assignee: Mentor Graphics Corporation
G06F30/30G06F9/5044G06F9/5055G06F9/542
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,783,291
App. No.
16/240,185
Granted
Sep 22, 2020
Kind
B2
Abstract

A computing system may include an electronic design automation (EDA) data constructor engine and an EDA executor engine. The EDA data constructor engine may be configured to perform, using the local resources of the computing system, a data preparation phase of an EDA procedure for a circuit design. The EDA executor engine may be configured to acquire remote resources for an execution phase of the EDA procedure, wherein the remote resources include remote compute resources and remote data resources remote to the computing system; broadcast constructor data constructed from the data preparation phase of the EDA procedure to the acquired remote data resources; and manage performance of the execution phase of the EDA procedure by the acquired remote compute resources and remote data resources.

Claims (65)

1. A method comprising:

performing, by a computing system, an electronic design automation (EDA) procedure for a circuit design, wherein the EDA procedure includes a data preparation phase and an execution phase and the performing comprises:

initiating a computing process for the data preparation phase of the EDA procedure, including limiting resource usage for the computing process to local resources of the computing system such that the data preparation phase of the EDA procedure is performed without data resources remote to the computing system;

determining that the computing process has completed the data preparation phase of the EDA procedure; and

responsive to the determination that the computing process has completed the data preparation phase:

acquiring remote resources for the execution phase of the EDA procedure, including remote compute resources and remote data resources remote to the computing system;

broadcasting constructor data constructed from the data preparation phase of the EDA procedure to the acquired remote data resources; and

managing performance of the execution phase of the EDA procedure by the acquired remote compute resources and remote data resources.

2. The method of claim 1 , wherein performing the EDA procedure further comprises, responsive to the determination that the computing process has completed:

initiating a different computing process for performing the execution phase of the EDA procedure, and wherein the acquiring, broadcasting, and managing are performed by the different computing process.

3. The method of claim 1 , wherein:

the constructor data constructed from the data preparation phase comprises a hierarchical dataset representative of the circuit design; and

broadcasting the constructor data comprises broadcasting portions of the hierarchical dataset to different remote data resources acquired for the execution phase of the EDA procedure.

4. The method of claim 1 , wherein performing the EDA procedure further comprises:

acquiring the local resources of the computing system for the data preparation phase of the EDA procedure; and

maintaining the local resources of the computing system for the execution phase of the EDA procedure.

5. The method of claim 1 , wherein performing the EDA procedure further comprises, prior to initiating the computing process for the data preparation phase of the EDA procedure:

initiating a parent computing process for performing the EDA procedure; and

wherein the initiating, determining, acquiring, broadcasting, and managing are performed by the parent computing process.

6. The method of claim 5 , wherein performing the EDA procedure further comprises, by the parent computing process:

acquiring, from the computing process, the constructor data constructed from the data preparation phase of the EDA procedure through an inter-process channel.

7. The method of claim 5 , further comprising, by the parent computing process:

terminating the computing process after the constructor data has been acquired from the computing process.

8. A computing system comprising:

local resources, including local compute resources and local data resources;

an electronic design automation (EDA) data constructor engine configured to:

perform, using the local resources of the computing system, a data preparation phase of an EDA procedure for a circuit design; and

an EDA executor engine configured to:

determine that the EDA data constructor engine has completed the data preparation phase of the EDA procedure; and responsive to the determination:

acquire remote resources for an execution phase of the EDA procedure, wherein the remote resources include remote compute resources and remote data resources remote to the computing system;

broadcast constructor data constructed from the data preparation phase of the EDA procedure to the acquired remote data resources; and

manage performance of the execution phase of the EDA procedure by the acquired remote compute resources and remote data resources.

9. The computing system of claim 8 , wherein the EDA executor engine is further configured to:

initialize the EDA data constructor engine to perform the data preparation phase of the EDA procedure; and

limit resource usage for EDA data constructor engine to the local resources of the computing system.

10. The computing system of claim 8 , wherein:

the EDA data constructor engine is further configured to construct the constructor data for the data preparation phase to include a hierarchical dataset representative of the circuit design; and

the EDA executor engine is configured to broadcast the constructor data by broadcasting portions of the hierarchical dataset to different remote data resources acquired for the execution phase of the EDA procedure.

11. The computing system of claim 8 , wherein the EDA executor engine is further configured to:

acquire the local resources of the computing system for the data preparation phase of the EDA procedure; and

keep the local resources of the computing system for performance of the execution phase of the EDA procedure.

12. The computing system of claim 8 , wherein the EDA executor engine is further configured to acquire the constructor data constructed by the EDA data constructor engine for the data preparation phase through an inter-process channel.

13. The computing system of claim 8 , wherein the EDA data constructor engine and the EDA executor engine are implemented, in part, as different computing processes.

14. The system of claim 8 , wherein the EDA data constructor engine is configured to perform the data preparation phase of the EDA procedure without use of any resources remote to the computing system.

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

initiate a computing process for performance of a data preparation phase of an electronic design automation (EDA) procedure for a circuit design;

limit resource usage for the computing process to local resources of the computing system, such that the data preparation phase of the EDA procedure is performed without data resources remote to the computing system;

determine that the computing process has completed the data preparation phase of the EDA procedure; and

responsive to the determination that the computing process has completed the data preparation phase:

acquire remote resources for an execution phase of the EDA procedure, including remote compute resources and remote data resources remote to the computing system;

broadcast constructor data constructed from the data preparation phase of the EDA procedure to the acquired remote data resources; and

manage performance of the execution phase of the EDA procedure by the acquired remote compute resources and remote data resources.

16. The non-transitory machine-readable medium of claim 15 , wherein the instructions, when executed by the processor, further cause the computing system to:

initiate a different computing process for performing the execution phase of the EDA procedure, and wherein acquisition of the remote resources, broadcast of the constructor data, and management of the performance of the execution phase of the EDA procedure are performed by the different computing process.

17. The non-transitory machine-readable medium of claim 15 , wherein:

the constructor data constructed from the data preparation phase comprises a hierarchical dataset representative of the circuit design; and

the instructions, when executed by the processor, cause the computing system to broadcast the constructor data by broadcasting portions of the hierarchical dataset to different remote data resources acquired for the execution phase of the EDA procedure.

18. The non-transitory machine-readable medium of claim 15 , wherein the instructions, when executed by the processor, further cause the computing system to:

acquire the local resources of the computing system for the data preparation phase of the EDA procedure; and

maintain the local resources of the computing system for the execution phase of the EDA procedure.

19. The non-transitory machine-readable medium of claim 15 , wherein the instructions, when executed by the processor, further cause the computing system to:

initiate a parent computing process for performing the EDA procedure; and

wherein initiation of the computing process, limiting of the resource usage, determination that the computing process has completed the data preparation phase, acquisition of the remote resources, broadcast of the constructor data, and management of the performance of the execution phase of the EDA procedure are performed by the parent computing process.

20. The non-transitory machine-readable medium of claim 19 , wherein the instructions, when executed by the processor, further cause the computing system to:

acquire, from the computing process and by the parent computing process, the constructor data constructed from the data preparation phase through an inter-process channel.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Mar 2, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 055460/0814 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2019
From: TODD, ROBERT A.; GRODD, LAURENCE W.; TOMBLIN, JIMMY J.; GIBSON, PATRICK D.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 048044/0274 →