IP Library Granted Patent US 10,157,253
Granted Patent B2
US 10,157,253 · App. 15/295,840 · Granted Dec 18, 2018

Multi-bit-mapping aware clock gating

Inventors: Peter Wilhelm Josef Zepter (Mountain View, CA); Wladimir Alejandro Plagges Martinez (La Florida, CL); Reiner Wilhelm Genevriere (San Jose, CA)
Assignee: Synopsys, Inc.
G06F17/5077
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,157,253
App. No.
15/295,840
Granted
Dec 18, 2018
Kind
B2
Abstract

Systems and techniques are described for optimizing an integrated circuit (IC) design. Some embodiments can select a wide-bus in the IC design. Next, the embodiments can divide the wide-bus into one or more subsets of bus-wires, wherein each subset of bus-wires corresponds to a unit of information. The embodiments can then optimize clock gating for each subset of bus-wires.

Claims (44)

1. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for optimizing an integrated circuit (IC) design, the method comprising:

selecting a wide-bus in the IC design;

dividing the wide-bus into one or more subsets of bus-wires, wherein each subset of bus-wires corresponds to a unit of information;

optimizing clock gating for each subset of bus-wires, wherein said optimizing comprises:

computing a first set of enable functions for all registers that correspond to the subset of bus-wires,

computing second set of enable functions for all registers that correspond to the subset of bus-wires,

dividing the subset of bus-wires into a set of segments based on a width of a multi-bit register library cell, wherein each segment in the set of segments includes a subset of the subset of bus-wires,

determining a strongest common factor based on the first set of enable functions and the second set of enable functions corresponding to the subset of the subset of bus-wires in the segment, and

adding clock gating circuitry in the IC design to gate a clock input of the multi-bit register library cell corresponding to the segment based on the strongest common factor; and

wherein the IC design is provided to a next step in an IC design and manufacturing process which, when completed, produces IC chips based on the IC design.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the IC design explicitly stores information that bidirectionally links a wide-bus data structure that represents the wide-bus with a set of data structures that implement bus-wires corresponding to the wide-bus.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the wide-bus corresponds to a multi-dimensional unit of information, and wherein each subset of bus-wires corresponds to a distinct dimension in the multi-dimensional unit of information.

4. The non-transitory computer-readable storage medium of claim 1 , wherein said determining the strongest common factor based on the first set of enable functions and the second set of enable functions comprises determining a combined logic function that is a logical conjunction of the first set of enable functions and the second set of enable functions.

5. The non-transitory computer-readable storage medium of claim 4 , wherein said determining the strongest common factor based on the first set of enable functions and the second set of enable functions further comprises simplifying the combined logic function.

6. A method for optimizing an IC design, the method comprising:

selecting a wide-bus in the IC design;

dividing the wide-bus into one or more subsets of bus-wires, wherein each subset of bus-wires corresponds to a unit of information;

optimizing clock gating for each subset of bus-wires, wherein said optimizing comprises:

computing a first set of enable functions for all registers that correspond to the subset of bus-wires,

computing second set of enable functions for all registers that correspond to the subset of bus-wires,

dividing the subset of bus-wires into a set of segments based on a width of a multi-bit register library cell, wherein each segment in the set of segments includes a subset of the subset of bus-wires,

determining a strongest common factor based on the first set of enable functions and the second set of enable functions corresponding to the subset of the subset of bus-wires in the segment, and

adding clock gating circuitry in the IC design to gate a clock input of the multi-bit register library cell corresponding to the segment based on the strongest common factor; and

wherein the IC design is provided to a next step in an IC design and manufacturing process which, when completed, produces IC chips based on the IC design.

7. The method of claim 6 , wherein the IC design explicitly stores information that bidirectionally links a wide-bus data structure that represents the wide-bus with a set of data structures that implement bus-wires corresponding to the wide-bus.

8. The method of claim 6 , wherein the wide-bus corresponds to a multi-dimensional unit of information, and wherein each subset of bus-wires corresponds to a distinct dimension in the multi-dimensional unit of information.

9. The method of claim 6 , wherein said determining the strongest common factor based on the first set of enable functions and the second set of enable functions comprises determining a combined logic function that is a logical conjunction of the first set of enable functions and the second set of enable functions.

10. The method of claim 9 , wherein said determining the strongest common factor based on the first set of enable functions and the second set of enable functions further comprises simplifying the combined logic function.

11. An integrated circuit (IC) design system, comprising:

a processor;

a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the IC design system to perform a method for optimizing an IC design, the method comprising:

selecting a wide-bus in the IC design;

dividing the wide-bus into one or more subsets of bus-wires, wherein each subset of bus-wires corresponds to a unit of information;

optimizing clock gating for each subset of bus-wires, wherein said optimizing comprises:

computing a first set of enable functions for all registers that correspond to the subset of bus-wires,

computing second set of enable functions for all registers that correspond to the subset of bus-wires,

dividing the subset of bus-wires into a set of segments based on a width of a multi-bit register library cell, wherein each segment in the set of segments includes a subset of the subset of bus-wires,

determining a strongest common factor based on the first set of enable functions and the second set of enable functions corresponding to the subset of the subset of bus-wires in the segment, and

adding clock gating circuitry in the IC design to gate a clock input of the multi-bit register library cell corresponding to the segment based on the strongest common factor; and

wherein the IC design is provided to a next step in an IC design and manufacturing process which, when completed, produces IC chips based on the IC design.

12. The IC design system of claim 11 , wherein the IC design explicitly stores information that bidirectionally links a wide-bus data structure that represents the wide-bus with a set of data structures that implement bus-wires corresponding to the wide-bus.

13. The IC design system of claim 11 , wherein the wide-bus corresponds to a multi-dimensional unit of information, and wherein each subset of bus-wires corresponds to a distinct dimension in the multi-dimensional unit of information.

14. The IC design system of claim 11 , wherein said determining the strongest common factor based on the first set of enable functions and the second set of enable functions comprises determining a combined logic function that is a logical conjunction of the first set of enable functions and the second set of enable functions.

15. The IC design system of claim 14 , wherein said determining the strongest common factor based on the first set of enable functions and the second set of enable functions further comprises simplifying the combined logic function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2016
From: ZEPTER, PETER WILHELM JOSEF; MARTINEZ, WLADIMIR ALEJANDRO PLAGGES; GENEVRIERE, REINER WILHELM
To: SYNOPSYS, INC.
Reel/Frame 040187/0751 →
Continuity (1)
Related Publication 20180107779A1 · Apr 19, 2018