Method and apparatus for master-clone optimization during circuit analysis

US9639644B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9639644-B1
Application numberUS-201514606559-A
CountryUS
Kind codeB1
Filing dateJan 27, 2015
Priority dateJan 27, 2015
Publication dateMay 2, 2017
Grant dateMay 2, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system, method and/or computer program for optimizing a circuit design. In some embodiments, a target block with an external boundary and external boundary pins is identified in an integrated circuit design. An area outside the target block is converted into a first macro, wherein the first macro has a physical library and a timing library and wherein the physical library has an internal boundary that corresponds to the external boundary of the target block and wherein the physical library has internal boundary pins that correspond to the external boundary pins of the target block. The target block is represented as a single block netlist and the block netlist is optimized with respect to the first macro. The steps may be repeated with respect to a master and clone(s) on the same integrated circuit enabling a single block netlist to be optimized for multiple instances of the same design IP.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for optimizing a circuit design stored in a computer memory, the method comprising: identifying a target block with an external boundary and external boundary pins in an integrated circuit design; converting an area outside the target block into a first macro, wherein the first macro has a physical library and a timing library, wherein the physical library represents physical attributes of the area outside the target block including an internal boundary that corresponds to the external boundary of the target block and internal boundary pins that correspond to the external boundary pins of the target block, wherein the timing library represents the timing information of the area outside the target block; representing the target block as a netlist; using a computer, optimizing timing characteristics of the netlist with respect to the first macro, wherein optimizing is performed by modifying the netlist to include additional buffers, repeaters, or by re zing gates within a net; wherein the identifying and converting steps are performed with both a master and a clone as the target block forming a first macro and a second macro, and both the master and clone are represented by a netlist in the representing step, and the netlist is optimized with respect to both the first and second macro in the optimizing step; and wherein the optimizing step further comprises defining a first mode/corner definition for a first timing library of the first macro and a second mode/corner definition for a second timing library of the second macro and combining the first mode/corner definition and the second mode/corner definition into a single multi-mode multi-corner definition and optimizing the block netlist using the multi-mode multi-corner definition. 2. The method of claim 1 , wherein the identifying and converting steps are performed with both a first piece of design IP and a second identical piece of design IP as the target block forming a first macro and a second macro, and both the first piece of design IP and the second piece of design IP are represented by a netlist in the representing step, and the block netlist is optimized with respect to both the first and second macro in the optimizing step. 3. The method of claim 1 , wherein the first macro is a donut macro. 4. The method of claim 1 , wherein the physical library is a cloud library. 5. The method of claim 1 , wherein the physical library includes information that corresponds to the external boundary of the integrated circuit and the information that corresponds to the external boundary of the integrated circuit is not used during the optimizing step. 6. The method of claim 1 , wherein the area outside the target block corresponds to the entire area of the integrated circuit outside the target block. 7. The method of claim 1 implemented as part of a ReverseILM analysis. 8. The method of claim 1 , wherein the optimizing step optimizes the timing of the block netlist. 9. The method of claim 2 , wherein the master and clone are both processor cores. 10. The method of claim 1 , wherein the optimizing step optimizes a property selected from the group consisting of performance, power and area. 11. A non-transitory computer readable medium storing instructions that, when executed by a processor, perform a method for optimizing a circuit design stored in a computer memory comprising: identifying a target block with an external boundary and external boundary pins in an integrated circuit design; converting an area outside the target block into a first macro, wherein the first macro has a physical library and a timing library, wherein the physical library represents physical attributes of the area outside the target block including an internal boundary that corresponds to the external boundary of the target block and internal boundary pins that correspond to the external boundary pins of the target block, wherein the timing library represents the timing information of the area outside the target block; representing the target block as a netlist; and, using a computer, optimizing timing characteristics of the netlist with respect to the first macro, wherein optimizing is performed by modifying the netlist to include additional buffers, repeaters, or by re zing gates within a net; wherein the identifying and converting steps are performed with both a master and a clone as the target block forming a first macro and a second macro, and both the master and clone are represented by a netlist in the representing step, and the block netlist is optimized with respect to both the first and second macro in the optimizing step; and wherein the optimizing step further comprises defining a first mode/corner definition for a first timing library of the first macro and a second mode/corner definition for a second timing library of the second macro and combining the first mode/corner definition and the second mode/corner definition into a single multi-mode multi-corner definition and optimizing the block netlist using the multi-mode multi-corner definition. 12. The medium of claim 11 , wherein the identifying and converting steps are performed with both a first piece of design IP and a second identical piece of design IP as the target block forming a first macro and a second macro, and both the first piece of design IP and the second piece of design IP are represented by a netlist in the representing step, and the block netlist is optimized with respect to both the first and second macro in the optimizing step. 13. The medium of claim 11 , wherein the first macro is a donut macro. 14. The medium of claim 11 , wherein the physical library is a cloud library. 15. The medium of claim 11 , wherein the physical library includes information that corresponds to the external boundary of the integrated circuit and the information that corresponds to the external boundary of the integrated circuit is not used during the optimizing step. 16. The medium of claim 11 , wherein the area outside the target block corresponds to the entire area of the integrated circuit outside the target block. 17. The medium of claim 11 implemented as part of a ReverseILM analysis. 18. The medium of claim 11 , wherein the optimizing step optimizes the timing of the block netlist. 19. The medium of claim 14 wherein the master and clone are both processor cores. 20. The medium of claim 11 , wherein the optimizing step optimizes a property selected from the group consisting of performance, power and area. 21. A computer-implemented method for optimizing a circuit design stored in a computer memory, the method comprising: identifying a master having external boundary pins and a clone having external boundary pins in an integrated circuit design having input output pins; converting an area outside the master into a first macro with internal boundary pins corresponding to the external boundary pins of the master and external boundary pins corresponding to the input output pins of the integrated circuit; converting an area outside the clone into a second macro with internal boundary pins corresponding to the external boundary pins of the clone and external boundary pins corresponding to the chip input output pins; representing both the master and the clone with a netlist; and, using a computer, optimizing timing characteristics of the netlist with respect to the first macro and the second macro, wherein optimizing is performed by modifying the netlist to inclu

Assignees

Inventors

Classifications

  • G06F30/327Primary

    Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist · CPC title

  • Circuit design at the physical level (physical level design for reconfigurable circuits G06F30/347) · CPC title

  • Physics · mapped topic

  • G06F30/398Primary

    Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36) · CPC title

  • Circuit design · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9639644B1 cover?
A system, method and/or computer program for optimizing a circuit design. In some embodiments, a target block with an external boundary and external boundary pins is identified in an integrated circuit design. An area outside the target block is converted into a first macro, wherein the first macro has a physical library and a timing library and wherein the physical library has an internal boun…
Who is the assignee on this patent?
Cadence Design Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F30/327. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 02 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).