Method and apparatus for selecting data path elements for cloning

US9542523B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9542523-B2
Application numberUS-201214424220-A
CountryUS
Kind codeB2
Filing dateSep 14, 2012
Priority dateSep 14, 2012
Publication dateJan 10, 2017
Grant dateJan 10, 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 method and apparatus for selecting data path elements for cloning within an integrated circuit (IC) design is described. The method comprises performing timing analysis of at least one data path within the IC design to determine at least one timing slack value for the at least one data path, calculating at least one annotated delay value for cloning a candidate element within the at least one data path, calculating at least one modified slack value for the at least one data path in accordance with the at least one calculated annotated delay value, and validating the cloning of the candidate element based at least partly on the at least one modified slack value.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of selecting data path elements for cloning within an integrated circuit (IC) design, the method comprising: performing timing analysis of at least one data path within the IC design to determine at least one timing slack value for the at least one data path; calculating at least one annotated delay value for cloning a candidate element within the at least one data path; calculating at least one modified slack value for the at least one data path in accordance with the at least one calculated annotated delay value; validating the cloning of the candidate element based at least partly on the at least one modified slack value; and fabricating the IC design based at least on the validated cloning of the candidate element. 2. The method of claim 1 , wherein the method further comprises: identifying at least one timing critical path comprising a negative slack value; and selecting the candidate element for cloning from the at least one timing critical path comprising a negative slack value. 3. The method of claim 2 , wherein the method comprises: identifying a timing critical path comprising a worst negative slack value; and selecting the candidate element for cloning from the at least one timing critical path comprising the worst negative slack value. 4. The method of claim 1 , wherein calculating the at least one annotated delay value for cloning the candidate element comprises calculating at least one from a group comprising: an annotated delay value for a driving data path of the candidate element representative of an additional load of a clone element to be driven; a negative annotated delay value for at least one timing critical data path driven by the candidate element representative of a reduced load for a first candidate clone element when driving the at least one timing critical data path; a negative annotated delay value for at least one timing critical data path driven by the candidate element representative of a reduced element size for the first candidate clone element when driving the at least one timing critical data path; a negative annotated delay value for at least one timing non-critical data path driven by the candidate element representative of a reduced load for a second candidate clone element when driving the at least one timing non-critical data path; and a negative annotated delay value for at least one timing non-critical data path driven by the candidate element representative of a reduced element size for the second candidate clone element when driving the at least one timing non-critical data path. 5. The method of claim 1 , wherein the method comprises: calculating at least one modified slack value for each data path comprising a candidate stage; and validating the cloning of the candidate element based at least partly on the modified slack values for all of the data paths comprising the candidate stage. 6. The method of claim 1 , where the method comprises: identifying a timing critical path comprising a worst negative slack value; selecting a candidate element for cloning from the at least one timing critical path comprising a worst negative slack value; calculating at least one modified slack value for each data path comprising the candidate stage in accordance with the at least one calculated annotated delay value; determining a new worst negative slack value; and validating the cloning of the candidate element if the new worst negative slack value for modified slack values is less than the worst negative slack value for unmodified slack values. 7. The method of claim 1 , wherein the method comprises; identifying timing critical paths comprising negative slack values; and incrementally validating at least one candidate element within each identified timing critical path comprising a negative slack value. 8. The method of claim 7 , wherein the method comprises: incrementally validating at least one candidate element within each identified timing critical path comprising a negative slack value starting with a timing critical path comprising a worst negative slack value and sequentially progressing through the identified timing critical paths from the timing critical path comprising a worst negative slack value through to the timing critical path comprising a least negative slack value. 9. The method of claim 1 , wherein the method further comprises assessing a suitability of each stage of the at least one data path for cloning. 10. The method of claim 9 , wherein the method comprises sequentially selecting candidate elements from stages identified as being suitable for cloning, starting at a capture end of the at least one data path and stepping back up towards a launch end of the at least one data path. 11. The method of claim 9 , wherein assessing the suitability of a stage of the at least one data path for cloning comprises determining whether the stage fulfils at least one criteria from a group comprising: an output load of the stage being greater than an output load threshold value; an output of the stage comprising a fan-out greater than one; and an output wire load of the stage exceeding a combined load of driven cells by more than a delta threshold value. 12. The method of claim 11 , wherein the method comprises identifying a stage of the at least one data path as a candidate stage for buffer insertion if an output wire load of said stage exceeds a combined load of driven cells by more than a delta threshold value. 13. The method of claim 11 , wherein the method comprises identifying a stage of the at least one data path as a candidate stage for distance reduction between itself and at least one stage driven thereby if at least one criterion is met from a group comprising: an output of said stage comprises a fan-out of one; and an output wire load of said stage exceed a combined load of driven cells by more than a delta threshold value.

Assignees

Inventors

Classifications

  • 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

  • Timing analysis · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

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 US9542523B2 cover?
A method and apparatus for selecting data path elements for cloning within an integrated circuit (IC) design is described. The method comprises performing timing analysis of at least one data path within the IC design to determine at least one timing slack value for the at least one data path, calculating at least one annotated delay value for cloning a candidate element within the at least one…
Who is the assignee on this patent?
Priel Michael, Berkovitz Asher, Fleshel Slavaf, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F30/398. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 10 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).