IP Library Granted Patent US 8,156,458
Granted Patent B2
US 8,156,458 · App. 12/201,685 · Granted Apr 10, 2012

Uniquification and parent-child constructs for 1xN VLSI design

Assignee: International Business Machines Corporation
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 8,156,458
App. No.
12/201,685
Granted
Apr 10, 2012
Kind
B2
Abstract

Embodiments that create parent-child relationships for reuse of 1×N building blocks in a closed-loop 1×N system are disclosed. Some methods comprise generating a representation of an IC design, inserting a first 1×N building block into the representation, and creating an association between the first 1×N building block and a second 1×N building block. The association enables the first 1×N building block to inherit alterations of attributes of the second 1×N building block and enables unique alterations of attributes of the first 1×N building block which differ from the second 1×N building block. Further embodiments comprise an apparatus having an equivalency determiner to determine a logical equivalence between a two 1×N building blocks, an attribute creator that creates a set of attributes and enables one of the 1×N building blocks to inherit parent attributes and comprise child attributes.

Claims (37)

1. A method, comprising:

generating, by a computing system, a representation of an integrated circuit design;

inserting a first 1×N building block into the representation; and

creating a relationship between the first 1×N building block and a second 1×N building block, wherein the first 1×N building block and the second 1×N building block are logically equivalent, and wherein the relationship enables the first 1×N building block to inherit attributes of the second 1×N building block and enables the first 1×N building block to comprise attributes which differ from attributes of the second 1×N building block, and wherein the representation comprises the first 1×N building block and the second 1×N building block, and wherein the representation comprises one of a behavioral representation, a logical representation, and a physical design representation of the integrated circuit design, and wherein the attributes which differ comprise one of drive-strength, Vt-hybridization, voltage-island, overhead cell type, and bit width; and

determining the logical equivalency of the first 1×N building block and the second 1×N building block via a call of a 1×N compiler to an equivalency-checker tool, wherein the creating the relationship comprises comparing the representation with a uniquification list of the second 1×N building block to determine the logical equivalency.

2. The method of claim 1 , further comprising saving the relationship in a second representation.

3. The method of claim 2 , wherein the saving the relationship in the second representation comprises saving a line of text for the relationship for a definition of the first 1×N building block in the second representation.

4. The method of claim 1 , wherein the creating the relationship comprises generating a unique name for the first 1×N building block, and wherein the saving the relationship comprises saving the relationship in one of a behavioral representation, a logical representation, and a physical design representation.

5. The method of claim 1 , wherein the saving the relationship comprises incorporating a cloned bit if the logical equivalency is a non-inverted logical equivalency or incorporating an inverted bit if the logical equivalency is an inverted logical equivalency.

6. The method of claim 1 , further comprising changing an attribute of the first 1×N building block , wherein the changing the attribute comprises changing at least one of the drive-strength, the Vt-hybridization, the voltage-island, the overhead cell type, the bit width, and physical cell placement.

7. The method of claim 6 , wherein the changing the attribute of the first 1×N building block comprises altering an element of the first 1×N building via at least one of a logic design tool, a synthesis tool, a physical design tool, and a timing analysis tool.

8. An apparatus, comprising:

an equivalency determiner to determine a logical equivalence between a first 1×N building block and a second 1×N building block, wherein the first 1×N building block is of a first representation of an integrated circuit;

an attribute creator to create a set of attributes of the first 1×N building block, wherein the set of attributes enables the second 1×N building block to inherit a parent attribute of the first 1×N building block and enables the second 1×N building block to comprise a child attribute, and wherein the child attribute differs from a corresponding attribute of the first 1×N building, and wherein the creation of the set of attributes comprises comparing the first representation with a uniquification list of the second 1×N building block block, and wherein the child attribute comprises one of drive-strength, Vt-hybridization, voltage-island, and overhead cell type; and

a representation generator to generate a second representation based on the first representation, wherein the second representation comprises the parent attribute and the child attribute.

9. The apparatus of claim 8 , further comprising a tool to alter the child attribute, wherein the tool comprises at least one of a logic design tool, a synthesis tool, a physical design tool, and a timing analysis tool.

10. The apparatus of claim 8 , wherein the equivalency determiner comprises an equivalency-checker tool of an integrated circuit design system.

11. The apparatus of claim 8 , wherein the attribute creator enables the second 1×N building block to comprise a cloned bit if the logical equivalence is a non-inverting logical equivalence.

12. The apparatus of claim 8 , wherein the attribute creator enables the second 1×N building block to comprise an inverted bit if the logical equivalence is an inverting logical equivalence.

13. The apparatus of claim 8 , wherein the child attribute comprises at least one of drive-strength, Vt-hybridization, voltage-island, overhead cell type, and physical cell placement, and wherein the physical cell placement determines an arrangement of bits of the second 1×N building block.

14. The apparatus of claim 8 , wherein the first representation comprises one of a logical representation and a physical design representation.

15. The apparatus of claim 8 , wherein the second representation comprises one of a behavioral representation, a logical representation, and a physical design representation.

16. The apparatus of claim 8 , wherein the second representation comprises one of a logical representation and a physical design representation, and wherein the representation generator is configured to prevent generating a behavioral representation comprising the parent attribute and the child attribute.

17. A computer program product comprising:

a tangible computer readable storage medium including stored instructions that, when executed by a processor:

determine a logical equivalency of a first 1×N building block and a second 1×N building block, wherein a representation of an integrated circuit comprises the first 1×N building block;

create a set of attributes of the first 1×N building block, wherein the set of attributes enables a first attribute of the first 1×N building block to equal a parent attribute of the second 1×N building block, and wherein the set of properties enables the first 1×N building block to comprise a child attribute that differs from attributes of the second 1×N building block, and wherein the creation of the set of attributes comprises comparing the first representation with a uniquification list of the second 1×N building block, and wherein the child attribute comprises one of drive-strength, Vt-hybridization, voltage-island, and overhead cell type; and

modify the representation based on the parent attribute and the child attribute.

18. The computer program product of claim 17 , wherein the instructions that determine the logical equivalency determine whether the logical equivalency is a non-inverting logical equivalency or an inverting logical equivalency.

19. The computer program product of claim 18 , wherein the parent attribute comprises at least one of drive-strength, Vt-hybridization, voltage-island, overhead cell type, and physical cell placement.

20. The computer program product of claim 19 , wherein the representation comprises one of a behavioral representation, a logical representation, and a physical design representation.

21. A design structure stored in a tangible machine readable medium used in a design process, the design structure comprising:

an equivalency determiner to determine a logical equivalence between a first 1×N building block and a second 1×N building block via a uniquification list of the second 1×N building block, wherein the first 1×N building block is of a first representation of an integrated circuit;

a property creator to create a set of properties of the first 1×N building block via a comparison of the first representation with a uniquification list of the second 1×N building block, wherein the set of properties enables the first 1×N building block to inherit a parent attribute of the second 1×N building block and enables the first 1×N building block to comprise a child attribute, and wherein the child attribute differs from a corresponding attribute of the second 1×N building block, and wherein the child attribute comprises one of drive-strength, Vt-hybridization, voltage-island, and overhead cell type; and

a representation generator to generate a second representation based on the first representation, wherein the second representation comprises the parent attribute and the child attribute.

22. The design structure of claim 21 , wherein the design structure comprises netlist.

23. The design structure of claim 21 , wherein the design structure comprises at least one of test data, characterization data, verification data, and design specifications.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2008
From: BAKER, MATTHEW W.; BOWERS, BENJAMIN J.; CORREALE, ANTHONY, JR.; RASHID, IRFAN; STEINMETZ, PAUL M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021468/0656 →
Continuity (1)
Related Publication 20100058269A1 · Mar 4, 2010