Automatic compilation method and framework for generating a layout of integrated memory-compute circuit
US-2024403527-A1 · Dec 5, 2024 · US
US11636238B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11636238-B2 |
| Application number | US-201916253728-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 22, 2019 |
| Priority date | Oct 31, 2018 |
| Publication date | Apr 25, 2023 |
| Grant date | Apr 25, 2023 |
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.
Model elements of an executable model, representing a physical system, are partitioned into one or more linear portions and one or more nonlinear portions. Simulating behavior of the physical system, by executing the model, includes, for each of multiple simulation time intervals, for a first nonlinear portion, computing a correlation matrix characterizing noise associated with one or more ports of the model. A scattering matrix corresponds to a portion of the physical system represented by the first nonlinear portion without accounting for any noise within the portion of the physical system. The correlation matrix is derived from the scattering matrix based on noise within the portion of the physical system. Noise sources representing noise within the portion of the physical system are identified based on the correlation matrix. At least one characteristic of noise associated with each noise source is computed, and noise characteristics are output at selected ports.
Opening claim text (preview).
What is claimed is: 1. A method comprising: analyzing, by one or more processors, model elements of an executable model to partition the model elements into one or more linear portions of the executable model and one or more nonlinear portions of the executable model, the executable model representing a physical system comprising a hydraulic system, an electrical system, a mechanical system, or a pneumatic system; executing the executable model to simulate behavior of the physical system, the simulating including, for each of multiple time intervals of the simulation: for a first nonlinear portion, computing a correlation matrix characterizing noise associated with one or more ports of the executable model, the computing comprising (1) determining a scattering matrix that corresponds to a portion of the physical system represented by the first nonlinear portion without accounting for any noise within the portion of the physical system, and (2) based on noise within the portion of the physical system, deriving the correlation matrix from the scattering matrix, identifying noise sources representing noise within the portion of the physical system based on the correlation matrix, and computing at least one characteristic of noise associated with each noise source; and outputting noise characteristics at selected ports of the executable model; wherein the simulating further includes linearizing the first nonlinear portion at a first operating point during a first of the time intervals of the simulation, and computing the correlation matrix based on a linear representation of the first nonlinear portion, and repeating the linearizing of the first nonlinear portion at a second operating point, where the second operating point occurs during a second of the time intervals of the simulation, and the repeating occurs after a time duration between the second operating point and the first operating point exceeds a tolerance. 2. The method of claim 1 , wherein outputting noise characteristics at selected ports of the executable model includes computing at least one noise characteristic for each of the selected ports of the executable model based at least in part on a representation of the physical system that includes representations of the linear portions of the executable model and linearized representations of the nonlinear portions of the executable model. 3. The method of claim 1 , wherein outputting noise characteristics at selected ports of the executable model includes simulating at least one signal that has values computed based at least in part on the noise characteristics. 4. The method of claim 3 , wherein operations of the model elements are performed on signals without noise and on signals with noise separately, before simulating the signal. 5. The method of claim 1 , wherein, during the linearizing of the first nonlinear portion, if a number of iterations to reach the linear representation of the first nonlinear portion exceeds a threshold for converging, changing a length of the first time interval. 6. The method of claim 1 , wherein outputting the noise characteristics at selected ports of the executable model includes rendering a plot that includes a characterization of the noise associated with at least one noise source. 7. The method of claim 1 , further including, before executing the executable model, for one or more of the linear portions of the executable model, pre-computing at least one noise representation associated with a portion of the physical system represented by the one or more of the linear portions, where the pre-computed noise representation is used, during execution of the executable model, for determining noise characteristics associated with the one or more of the linear portions. 8. The method of claim 1 , wherein the simulating further includes using the outputted noise characteristics to modify the executable model to reduce noise when simulating the behavior of the physical system. 9. The method of claim 1 , wherein the partitioning includes sorting representations of equations corresponding to the model elements, where the sorting is based at least in part on one or more of: a presence of nonlinearity, a presence of memory effects, or a magnitude of a time derivative of a variable in the equations. 10. The method of claim 9 , wherein the sorting is based at least in part on a comparison between: (1) a magnitude of a time derivative of a variable in a first equation corresponding to a first model element, and (2) a magnitude of a nonlinear effect due to a presence of nonlinearity in the first equation. 11. The method of claim 9 , wherein the sorting includes determining a partial ordering of the equations. 12. The method of claim 11 , wherein the partial ordering of the equations determines a partial ordering of rows in a matrix representing a system of equations. 13. The method of claim 1 , wherein the portion of the physical system represented by the first nonlinear portion stores energy. 14. The method of claim 13 , wherein computing the scattering matrix includes: computing time varying noise parameters over multiple time instances during a first time interval of the multiple time intervals, based on an autocorrelation characterizing a memory effect of the energy storage of the portion of the physical system represented by the first nonlinear portion. 15. The method of claim 1 , wherein computed noise characteristics associated with at least one of the noise sources include noise values representing a time evolution of noise based on at least one statistical moment of second or higher order associated with signal values representing a statistical mean. 16. The method of claim 1 , wherein the noise within the portion of the physical system represented by the first nonlinear portion comprises thermal noise or temperature-dependent noise. 17. The method of claim 1 , wherein the noise within the portion of the physical system represented by the first nonlinear portion comprises internal noise generated within the portion of the physical system represented by the first nonlinear portion. 18. A computing system comprising: one or more processors configured to: analyze model elements of an executable model to partition the model elements into one or more linear portions of the executable model and one or more nonlinear portions of the executable model, the executable model representing a physical system comprising a hydraulic system, an electrical system, a mechanical system, or a pneumatic system; execute the executable model to simulate behavior of the physical system, the simulating including, for each of multiple time intervals of the simulation: for a first nonlinear portion, computing a correlation matrix characterizing noise associated with one or more ports of the executable model, the computing comprising (1) determining a scattering matrix that corresponds to a portion of the physical system represented by the first nonlinear portion without accounting for any noise within the portion of the physical system, and (2) based on noise within the portion of the physical system, deriving the correlation matrix from the scattering matrix, identifying noise sources representing noise within the portion of the physical system based on the correlation matrix, and computing at least one characteristic of noise associated with each noise source; and output noise characteristics at selected ports of the executable model; wherein the simulating further includes linearizing the first nonlinear portion at a first operating poi
Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods · CPC title
Noise analysis or noise optimisation · CPC title
Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title
of liquids or gases · CPC title
Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.