Multi-sided variations for creating integrated circuits
US-2018239858-A1 · Aug 23, 2018 · US
US10346569B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10346569-B2 |
| Application number | US-201715851815-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 22, 2017 |
| Priority date | Feb 20, 2017 |
| Publication date | Jul 9, 2019 |
| Grant date | Jul 9, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Creating by a computer an integrated circuit with non-linear variations, the computer identifies an integrated circuit design; identifies a timing model associated with the identified integrated circuit design; defines one or more static single sided variables; defines one or more regions of the defined one or more static single sided variables that are treated linearly; defines one or more multi-sided variables based on the defined one or more regions of the defined one or more static single sided variables; identifies one or more timing paths within the identified integrated circuit design; performs a statistical static timing analysis on the identified timing model for the identified one or more timing paths within the identified integrated circuit design utilizing the defined one or more multi-sided variables; provides one or more timing quantities that project within a multi-parameter space based on the performed statistical static timing analysis.
Opening claim text (preview).
What is claimed is: 1. A method for creating an integrated circuit with non-linear variations, the method comprising: identifying, by one or more computer processors, an integrated circuit design; identifying, by one or more computer processors, a timing model associated with the identified integrated circuit design; defining, by one or more computer processors, one or more static single sided variables; defining, by one or more computer processors, one or more regions of one or more of the defined one or more static single sided variables that are treated linearly; defining, by one or more computer processors, one or more multi-sided variables based on the defined one or more regions of the defined one or more static single sided variables, wherein the one or more multi-sided variables are parameters in which a canonical form includes a positive variation term and a negative variation term that are mutually exclusive, wherein the defining one or more regions of the defined one or more static single sided variables that are treated linearly further comprises: identifying, by one or more computer processors, a non-linearity within a parameter space associated with the identified integrated circuit design; and dividing, by one or more computer processors, the identified non-linearity into one or more regions, wherein each of the divided one or more regions identifies a linear space within the parameter space; identifying, by one or more computer processors, one or more timing paths within the identified integrated circuit design; performing, by one or more computer processors, a statistical static timing analysis on the identified timing model for the identified one or more timing paths within the identified integrated circuit design utilizing the defined one or more multi-sided variables, wherein the performing the statistical static timing analysis on the identified timing model for the identified one or more timing paths within the identified integrated circuit design utilizing the defined one or more multi-sided variables further comprises: calculating, by one or more computer processors, one or more sensitivities based on the one or more regions for each of the identified one or more timing paths utilizing the defined one or more multi-sided variables; identifying, by one or more computer processors, one or more delays with respect to the identified one or more timing paths within the identified integrated circuit design for the defined one or more multi-sided variables from within the identified timing model that identifies the one or more delays via a look-up table by a gate type and a slew/load process, voltage, temperature (PVT) condition; and generating, by one or more computer processors, canonical forms of the defined one or more multi-sided variables based on the identified one or more delays and the calculated one or more sensitivities, wherein the canonical forms represent timing quantities that include a mean value and one or more sensitivities to a source of variation; providing, by one or more computer processors, one or more timing quantities that project within a multi-parameter space based on the performed statistical static timing analysis; calculating, by one or more computer processors, a variation associated with each multi-sided variable of the defined one or more multi-sided variables within each divided region of the divided one or more regions; propagating, by one or more computer processors, each multi-sided variable of the defined one or more multi-sided variables based on the calculated variation; performing, by one or more computer processors, a maximum operation on the calculated variation of each of the defined one or more multi-sided variables; performing, by one or more computer processors, minimum operations on the calculated variation of each of the defined one or more multi-sided variables; projecting, by one or more computer processors, to a corner space based on a combination of one or more of: the performed maximum operation and the performed minimum operations; projecting, by one or more computer processors, the identified one or more timing paths to each process corner; creating, by one or more computer processors, a canonical form for the projected one or more timing paths to each process corner; merging, by one or more computer processors, the created canonical forms to calculate a statistical maximum; adjusting, by one or more computer processors, a sensitivity associated with the defined one or more multi-sided variables based on the calculated statistical maximum; utilizing, by one or more computer processors, a finite differencing scheme to calculate one or more cross terms; performing, by one or more computer processors, a statistical static timing analysis on the identified timing model associated with the identified integrated circuit design utilizing remaining single-sided variables that are not transformed to multi-sided variables; determining, by one or more computer processors, whether the identified integrated circuit design is valid, based on the provided one or more timing quantities; and responsive to determining the identified integrated circuit design is valid, providing, by one or more computer processors, an indication to create an integrated circuit based on the identified integrated circuit design.
Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist · CPC title
Timing analysis or timing optimisation · CPC title
Circuit design at the analogue level · CPC title
Design verification, e.g. functional simulation or model checking · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.