IP Library Granted Patent US 9,195,791
Granted Patent B2
US 9,195,791 · App. 12/791,759 · Granted Nov 24, 2015

Custom module generation

Inventors: Haichun Chen (Sunnyvale, CA); Greg Woolhiser (San Jose, CA); Scott I. Chase (Pleasanton, CA)
Assignee: SYNOPSYS, INC.
G06F17/5068H01L27/0207
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 9,195,791
App. No.
12/791,759
Granted
Nov 24, 2015
Kind
B2
Abstract

Some embodiments of the present invention create a layout for a circuit design which includes one or more circuit modules. The system can receive a nominal implementation of a circuit module, and a user-defined module generator capable of generating one or more custom implementations of the circuit module from an existing implementation of the circuit module. Next, the system can create the layout for the circuit design by executing the user-defined module generator on at least one processor to generate one or more custom implementations of the circuit module from the nominal implementation. The system can then use the one or more custom implementations of the circuit module in the layout.

Claims (39)

1. A computer-implemented method for creating a layout for a circuit design which includes a circuit module, the method comprising:

receiving a user-defined module generator to generate at least one custom implementation of the circuit module from an existing implementation of the circuit module; and

creating the layout for the circuit design by:

converting the existing implementation from an internal representation of the existing implementation of the circuit module to an open representation of the existing implementation of the circuit module, wherein the open representation of the existing implementation of the circuit module is a standardized data model and interface for representing and accessing the existing implementation of the circuit module;

executing the user-defined module generator on at least one processor to generate at least one open representation of a custom implementation of the circuit module from the open representation of the existing implementation of the circuit module, wherein the user-defined module generator generates the open representation of the custom implementation of the circuit module by modifying the open representation of the existing implementation of the circuit module to satisfy a set of constraints;

converting the custom implementation of the circuit module from the open representation of the custom implementation of the circuit module to an internal representation of the custom implementation of the circuit module; and

instantiating the internal representation of the custom implementation of the circuit module in the layout.

2. The method of claim 1 , wherein creating the layout for the circuit design includes:

receiving module generator options from a user via a graphical user interface (GUI); and

providing the module generator options to the user-defined module generator so that the user-defined module generator modifies a first custom implementation in accordance with the module generator options.

3. The method of claim 2 , wherein creating the layout for the circuit design includes displaying the modified first custom implementation to the user via the GUI.

4. The method of claim 1 , wherein the user-defined module generator performs module-level placement and routing.

5. The method of claim 1 , wherein the one or more custom implementations of the circuit module have different areas and leakage powers.

6. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for creating a layout for a circuit design which includes a circuit module, the method comprising:

receiving a user-defined module generator to generate at least one custom implementation of the circuit module from an existing implementation of the circuit module; and

creating the layout for the circuit design by:

converting the existing implementation from an internal representation of the existing implementation of the circuit module to an open representation of the existing implementation of the circuit module, wherein the open representation of the existing implementation of the circuit module is a standardized data model and interface for representing and accessing the existing implementation of the circuit module;

executing the user-defined module generator on one or more processors to generate at least one open representation of a custom implementations of the circuit module from the open representation of the existing implementation of the circuit module, wherein the user-defined module generator generates the open representation of the custom implementation of the circuit module by modifying the open representation of the existing implementation of the circuit module to satisfy a set of constraints;

converting the custom implementation of the circuit module from the open representation of the custom implementation of the circuit module to an internal representation of the custom implementation of the circuit module; and

instantiating the internal representation of the custom implementation of the circuit module in the layout.

7. The non-transitory computer-readable storage medium of claim 6 , wherein creating the layout for the circuit design includes:

receiving module generator options from a user via a graphical user interface (GUI); and

providing the module generator options to the user-defined module generator so that the user-defined module generator modifies a first custom implementation in accordance with the module generator options.

8. The non-transitory computer-readable storage medium of claim 7 , wherein creating the layout for the circuit design includes displaying the modified first custom implementation to the user via the GUI.

9. The non-transitory computer-readable storage medium of claim 6 , wherein the user-defined module generator performs module-level placement and routing.

10. The non-transitory computer-readable storage medium of claim 6 , wherein the one or more custom implementations of the circuit module have different areas and leakage powers.

11. An apparatus for creating a layout for a circuit design which includes a circuit module, comprising:

a receiving mechanism configured to receive a user-defined module generator to generate at least one custom implementation of the circuit module from an existing implementation of the circuit module; and

a creating mechanism configured to create the layout for the circuit design by:

converting the existing implementation from an internal representation of the existing implementation of the circuit module to an open representation of the existing implementation of the circuit module, wherein the open representation of the existing implementation of the circuit module is a standardized data model and interface for representing and accessing the existing implementation of the circuit module;

executing the user-defined module generator to generate at least one open representation of a custom implementation of the circuit module from the open representation of the existing implementation of the circuit module, wherein the user-defined module generator generates the open representation of the custom implementation of the circuit module by modifying the open representation of the existing implementation of the circuit module to satisfy a set of constraints;

converting the custom implementation of the circuit module from the open representation of the custom implementation of the circuit module to an internal representation of the custom implementation of the circuit module; and

instantiating the internal representation of the custom implementation of the circuit module in the layout.

12. The apparatus of claim 11 , wherein the apparatus further includes:

an option-receiving mechanism configured to receive module generator options from a user; and

a providing mechanism configured to provide the module generator options to the user-defined module generator so that the user-defined module generator modifies a first custom implementation in accordance with the module generator options.

13. The apparatus of claim 12 , wherein the apparatus further includes a display mechanism configured to display the modified first custom implementation to the user.

14. The apparatus of claim 11 , wherein the user-defined module generator performs module-level placement and routing.

15. The apparatus of claim 11 , wherein the one or more custom implementations of the circuit module have different areas and leakage powers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2010
From: CHEN, HAICHUN; WOOLHISER, GREG; CHASE, SCOTT I.
To: SYNOPSYS, INC.
Reel/Frame 024581/0828 →
Continuity (1)
Related Publication 20110296364A1 · Dec 1, 2011