IP Library Granted Patent US 7,353,488
Granted Patent B1
US 7,353,488 · App. 10/856,268 · Granted Apr 1, 2008

Flow definition language for designing integrated circuit implementation flows

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 7,353,488
App. No.
10/856,268
Granted
Apr 1, 2008
Kind
B1
Abstract

An instance of a flow definition language for designing an integrated circuit implementation flow. The instance of the flow definition language includes a hierarchical collection of stages for a physical chip design. Relational constraints define the execution order of a plurality of tasks in the hierarchical collection of stages. Parameters customize the plurality of tasks. The relational constraints and parameters are hierarchically defined, such that higher order definitions in the hierarchical collection of stages override lower level definitions of the relational constraints and parameterized knobs.

Claims (56)

1. A method for generating a hierarchical flow definition language for designing integrated circuit implementation flows, the method comprising:

generating a plurality of command file templates defining tasks associated with a physical chip design, each of which are customized through one or more parameters;

generating a plurality of stage definition files defining relational constraints of execution order of tasks in associated stages of said physical chip design, execution order between stages of said physical chip design, and values for parameters used within a corresponding stage, wherein each of said plurality of stage definition files is comprised of at least one of said plurality of command file templates; and

generating a plurality of subflow definition files defining relational constraints between stages and subflows in said physical chip design, wherein each said plurality of subflow definition files is comprised of at least one of said plurality of stage definition files.

2. The method of claim 1 , further comprising:

generating a flow definition file for defining relational constraints between stages and subflows in said physical chip design, and comprising at least one of said plurality of subflow definition files.

3. The method of claim 2 , wherein each of said plurality of stage definition files comprises:

an internal ordering of the execution of tasks in that stage;

an external ordering of the execution of stages in relation to that stage;

default values for parameters used in that stage; and

values substituting corresponding parameters.

4. The method of claim 3 , wherein relational constraints and parameter values are hierarchically defined, such that higher order definitions override lower level definitions of said relational constraints and parameter values.

5. The method of claim 4 , wherein an order of a top down hierarchy of said physical chip design comprises: said flow definition file; said plurality of subflow definition files; and said plurality of stage definition files.

6. The method of claim 1 , wherein each of said plurality of command file templates executes a task of a point tool.

7. The method of claim 1 , further comprising:

receiving a join target template defined at a first stage for identifying a collection of stages that precede said first stage in execution of said physical chip design.

8. The method of claim 1 , further comprising:

receiving a side target template defined at a first stage for identifying a collection of stages that follow said first stage in execution of said physical chip design.

9. A hierarchical flow definition language data structure embodied in a computer-readable medium, the hierarchical flow definition language data structure being arranged to allow an application executed by a processor of a computer system to generate integrated circuit implementation flows, the computer-readable medium comprising:

a plurality of command file templates defining tasks associated with a physical chip design, each of which are customized through one or more parameters;

a plurality of stage definition files defining relational constraints of execution order of tasks in associated stages of said physical chip design, execution order between stages of said physical chip design, and values for parameters used within a corresponding stage, wherein each of said plurality of stage definition files is comprised of at least one of said plurality of command file templates; and

a plurality of subflow definition files defining relational constraints between stages and subflows in said physical chip design, wherein each said plurality of subflow definition files is comprised of at least one of said plurality of stage definition files.

10. The computer-readable medium of claim 9 , further comprising:

a flow definition file for defining relational constraints between stages and subflows in said physical chip design, and comprising at least one of said plurality of subflow definition files.

11. The computer-readable medium of claim 10 , wherein each of said plurality of stage definition files comprises:

an internal ordering of the execution of tasks in that stage;

an external ordering of the execution of stages in relation to that stage;

default values for parameters used in that stage; and

values substituting corresponding parameters.

12. The computer-readable medium of claim 11 , wherein relational constraints and parameter values are hierarchically defined, such that higher order definitions override lower level definitions of said relational constraints and parameter values.

13. The computer-readable medium of claim 12 , wherein an order of a top down hierarchy of said physical chip design comprises: said flow definition file; said plurality of subflow definition files; and said plurality of stage definition files.

14. The computer-readable medium of claim 10 , wherein each of said plurality of command file templates executes a task of a point tool.

15. The computer-readable medium of claim 10 , further comprising:

code for receiving a join target template defined at a first stage for identifying a collection of stages that precede said first stage in execution of said physical chip design.

16. The computer-readable medium of claim 10 , further comprising:

code for receiving a side target template defined at a first stage for identifying a collection of stages that follow said first stage in execution of said physical chip design.

17. A data processing system comprising:

a processor; and

a memory coupled to the processor, the memory configured to store a set of data structures arranged to allow an application executed by the processor to generate integrated circuit implementation flows, the memory comprising:

a plurality of command file templates defining tasks associated with a physical chip design, each of which are customized through one or more parameters;

a plurality of stage definition files defining relational constraints of execution order of tasks in associated stages of said physical chip design, execution order between stages of said physical chip design, and values for parameters used within a corresponding stage, wherein each of said plurality of stage definition files is comprised of at least one of said plurality of command file templates; and

a plurality of subflow definition files defining relational constraints between stages and subflows in said physical chip design, wherein each said plurality of subflow definition files is comprised of at least one of said plurality of stage definition files.

18. The system of claim 17 , further comprising:

a flow definition file for defining relational constraints between stages and subflows in said physical chip design, and comprising at least one of said plurality of subflow definition files.

19. The system of claim 18 , wherein each of said plurality of stage definition files comprises:

an internal ordering of the execution of tasks in that stage;

an external ordering of the execution of stages in relation to that stage;

default values for parameters used in that stage; and

values substituting corresponding parameters.

20. The system of claim 19 , wherein relational constraints and parameter values are hierarchically defined, such that higher order definitions override lower level definitions of said relational constraints and parameter values.

21. The system of claim 20 , wherein an order of a top down hierarchy of said physical chip design comprises: said flow definition file; said plurality of subflow definition files; and said plurality of stage definition files.

22. The system of claim 17 , wherein each of said plurality of command file templates executes a task of a point tool.

23. The system of claim 17 , further comprising:

receiving a join target template defined at a first stage for identifying a collection of stages that precede said first stage in execution of said physical chip design.

24. The system of claim 17 , further comprising:

receiving a side target template defined at a first stage for identifying a collection of stages that follow said first stage in execution of said physical chip design.

Assignments (6)
CHANGE OF NAME Recorded Sep 2, 2020
From: MAGMA DESIGN AUTOMATION, INC.
To: MAGMA DESIGN AUTOMATION LLC
Reel/Frame 053669/0442 →
RELEASE OF SECURITY INTEREST Recorded Nov 11, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC
To: SYNOPSYS, INC.
Reel/Frame 040607/0632 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 19, 2012
From: MAGMA DESIGN AUTOMATION LLC
To: SYNOPSYS, INC.
Reel/Frame 029161/0846 →
SECURITY AGREEMENT Recorded Mar 23, 2010
From: MAGMA DESIGN AUTOMATION, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC
Reel/Frame 024120/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2006
From: RESHAPE, INC.
To: MAGMA DESIGN AUTOMATION, INC.
Reel/Frame 017586/0927 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2004
From: COFFIN, MIKE; DAHL, PETER; YEN, CHENG-YEH
To: RESHAPE, INC.
Reel/Frame 016021/0868 →