IP Library › Granted Patent US 11,080,443
Granted Patent B2
US 11,080,443 · App. 16/716,683 · Granted Aug 3, 2021

Memory element graph-based placement in integrated circuit design

Inventors: Myung-Chul Kim (Travis, TX); Arjen Alexander Mets (Sleepy Hollow, NY); Gi-Joon Nam (Chappaqua, NY); Shyam Ramji (Lagrangeville, NY); Lakshmi N. Reddy (Mount Kisco, NY); Alexander J. Suess (Hopewell Junction, NY); Benjamin Trombley (Hopewell Junction, NY); Paul G. Villarrubia (Austin, TX)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F30/327G06F30/3312G06F30/39G06F30/392G06F30/30G06F2119/12
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 11,080,443
App. No.
16/716,683
Granted
Aug 3, 2021
Kind
B2
Abstract

A system and method to perform physical synthesis to transition a logic design to a physical layout of an integrated circuit include obtaining an initial netlist that indicates all components of the integrated circuit including memory elements and edges that interconnect the components. The method also includes generating a graph with at least one of the memory elements and the edges carrying one or more signals to the at least one of the memory elements or from the at least one of the memory elements. The components other than memory elements are not indicated individually on the graph. The netlist is updated based on the graph.

Claims (21)

1. A method of performing physical synthesis to transition a logic design to a physical layout of an integrated circuit, the method comprising:

obtaining, using a processor, an initial netlist that indicates all components of the integrated circuit including memory elements and edges that interconnect the components;

generating a graph, using the processor, with at least one of the memory elements and the edges carrying one or more signals to the at least one of the memory elements or from the at least one of the memory elements, wherein components other than memory elements are not indicated individually on the graph; and

updating the initial netlist, using the processor, to provide an updated netlist based on the graph, wherein the updated netlist is an update of a full netlist of the initial netlist.

2. The method according to claim 1 , wherein the generating the graph includes representing all the memory elements in the graph.

3. The method according to claim 2 , wherein the generating the graph includes representing two or more of the components other than the memory elements together as nodes in the graph.

4. The method according to claim 2 , further comprising determining a changed placement for one or more of the memory elements in the graph iteratively for a specified set of iterations.

5. The method according to claim 4 , further comprising generating an interim netlist with all the components based on the changed placement for the one or more of the memory elements, wherein the updating the netlist includes adopting the interim netlist for a last iteration among the specified set of iterations.

6. A system to perform physical synthesis to transition a logic design to a physical layout of an integrated circuit, the system comprising:

a memory device configured to store an initial netlist that indicates all components of the integrated circuit including memory elements and edges that interconnect the components; and

a processor configured to generate a graph with at least one of the memory elements and the edges carrying one or more signals to the at least one of the memory elements or from the at least one of the memory elements, wherein components other than memory elements are not indicated individually on the graph, and to update the initial netlist to provide an updated netlist based on the graph, wherein the updated netlist is an update of a full netlist of the initial netlist.

7. The system according to claim 6 , wherein the graph includes a representation of all the memory elements in the graph.

8. The system according to claim 7 , wherein the graph includes a representation of two or more of the components other than the memory elements together as nodes in the graph.

9. The system according to claim 7 , wherein the processor is further configured to determine a changed placement for one or more of the memory elements in the graph iteratively for a specified set of iterations, to generate an interim netlist with all the components based on the changed placement for the one or more of the memory elements, and to update the netlist by adopting the interim netlist for a last iteration among the specified set of iterations.

10. A computer program product for performing physical synthesis to transition a logic design to a physical layout of an integrated circuit, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to perform a method comprising:

obtaining an initial netlist that indicates all components of the integrated circuit including memory elements and edges that interconnect the components;

generating a graph with at least one of the memory elements and the edges carrying one or more signals to the at least one of the memory elements or from the at least one of the memory elements, wherein components other than memory elements are not indicated individually on the graph; and

updating the initial netlist to provide an updated netlist based on the graph, wherein the updated netlist is an update of a full netlist of the initial netlist.

11. The computer program product according to claim 10 , wherein the generating the graph includes representing all the memory elements in the graph.

12. The computer program product according to claim 11 , wherein the generating the graph includes representing two or more of the components other than the memory elements together as nodes in the graph.

13. The computer program product according to claim 11 , further comprising determining a changed placement for one or more of the memory elements in the graph iteratively for a specified set of iterations and generating an interim netlist with all the components based on the changed placement for the one or more of the memory elements, wherein the updating the netlist includes adopting the interim netlist for a last iteration among the specified set of iterations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2019
From: KIM, MYUNG-CHUL; METS, ARJEN ALEXANDER; NAM, GI-JOON; RAMJI, SHYAM; REDDY, LAKSHMI N.; SUESS, ALEXANDER J.; TROMBLEY, BENJAMIN; VILLARRUBIA, PAUL G.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051303/0377 →
Continuity (2)
Continuation 15848556 · Dec 20, 2017
Related Publication 20200125779A1 · Apr 23, 2020