Patent US5363320A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5363320A Expired / Lapsed US ⏱️ 0.0 years remaining

Automatic compilation of model equations into a gradient based analog simulator

Assignee: Tektronix Inc
•
Filing: 1993-06-21
•
Granted: 1994-11-08
•
Expires: 2013-06-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method allows analog device model descriptions to be described in a suitable language and then automatically converted into the language of the simulator in a form that facilitates gradient-based calculations. The method can include the steps of: entering a high-level description of the component model by naming the model, declaring parameters, specifying argument-independent equations, describing a topology of the model, declaring arguments, and specifying argument-dependent equations. Then, compiling the high-level description to produce model behavior code parse trees and model structure data, analyzing the data-flow of the model behavior code parse trees to produce verified parse trees and error messages for those variables referenced but not defined, debugging the model behavior code parse trees and model structure data, translating the verified parse trees to produce scalar-code parse trees according to a selected translation mode, the scalar code parse trees including objects that manipulate expressions containing derivatives with respect to an argument, checking the argument dependence of the scalar-code parse trees to produce repartitioned scalar code parse trees, and filling in the data required by simulator model templates to convert the repartitioned scalar code parse trees into code in the computer programming language used by the simulator.

Inventors

  • 👤 Graeme R. Boyle
  • 👤 Susan C. Bergquist
  • 👤 Ernest G. McReynolds
  • 👤 Matson M. Haug

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 20:00
CPC Classifications
H; H04; H04N; H04N1/00; H04N1/00681; H04N1/00684; H04N1/00708; G; G06; G06F; G06F30/00; G06F30/30; G06F30/36; G06F30/367; H04N1/00718; H04N1/00729; H04N1/00734; H04N1/00737; H04N1/00763; H04N1/00774; H04N1/00779

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 98 words
A method for incorporating a description of an analog component model into a circuit simulator in a computer programming language used by a simulator program residing in a computer, the method comprising the steps of: entering a high-level description of the component model; compiling the high-level description using the computer to produce model behavior code parse trees and model structure data; translating using the computer the parse trees to produce scalar-code parse trees; and converting using the computer the scalar-code parse trees and model structure data into code in the computer programming language used by the simulator program.
Claim 2
Independent Claim 98 words
A method for incorporating a description of an analog component model into a circuit simulator in a computer programming language used by a simulator program residing in a computer, the method comprising the steps of: entering a high-level description of the component model; compiling the high-level description using the computer to produce model behavior code parse trees and model structure data; translating using the computer the parse trees to produce scalar-code parse trees; and converting using the computer the scalar-code parse trees and model structure data into code in the computer programming language used by the simulator program.
Claim 3
Dependent Claim 26 words
A method according to claim 1 further comprising, before the translating step, the step of: debugging the model behavior code parse trees and model structure data.
Claim 4
Dependent Claim 40 words
A method according to claim 1 further comprising, before the translating step, the step of: analyzing the data-flow of the model behavior code parse trees to produce verified parse trees and error messages for those variables referenced but not defined.
Claim 5
Dependent Claim 29 words
A method according to claim 3 further comprising, before the translating step but after the analyzing step, the step of: debugging the verified parse trees and model structure data.
Claim 6
Dependent Claim 29 words
A method according to claim 1 further comprising, before the converting step, the step of: checking argument dependence of the scalar-code parse trees to produce repartitioned scalar-code parse trees.
Claim 7
Dependent Claim 31 words
A method according to claim 1 wherein the entering step comprises the steps of: naming the model; declaring parameters; describing a topology of the model; declaring arguments; and specifying argument-dependent equations.
Claim 8
Dependent Claim 18 words
A method according to claim 6 wherein the entering step further comprises the step of: specifying argument-independent equations.
Claim 9
Dependent Claim 40 words
A method according to claim 1 wherein the converting step comprises the steps of: filling in templates of information required by the simulator program with information from the scalar code parse trees; and producing code according to the filled-in templates.
Claim 10
Dependent Claim 32 words
A method according to claim 8 wherein the producing step comprises the step of: passing messages to objects representing nodes in a parse tree asking the objects to generate code representing themselves.
Claim 11
Independent Claim 136 words
A method for describing a model of an analog device for a simulator program and for using the model of an analog device in conjunction with the simulator program to perform a simulation, the method being performed within a computer and comprising the steps of: naming the model using a language and syntax recognizable by the computer; declaring parameters for the model using the language and syntax recognizable by the computer; describing a topology of the model using the language and syntax recognizable by the computer; declaring arguments for the model using the language and syntax recognizable by the computer; specifying argument-dependent equations for the model using the language and syntax recognizable by the computer; and employing the model in conjunction with the simulator program using the computer to perform a simulation of a physical phenomenon.
Claim 12
Independent Claim 136 words
A method for describing a model of an analog device for a simulator program and for using the model of an analog device in conjunction with the simulator program to perform a simulation, the method being performed within a computer and comprising the steps of: naming the model using a language and syntax recognizable by the computer; declaring parameters for the model using the language and syntax recognizable by the computer; describing a topology of the model using the language and syntax recognizable by the computer; declaring arguments for the model using the language and syntax recognizable by the computer; specifying argument-dependent equations for the model using the language and syntax recognizable by the computer; and employing the model in conjunction with the simulator program using the computer to perform a simulation of a physical phenomenon.
Claim 13
Dependent Claim 14 words
A method according to claim 10 further comprising the step of: specifying argument-independent equations.
Claim 14
Dependent Claim 35 words
A method according to claim 11 wherein the step of specifying argument-independent equations immediately precedes the step of describing a topology of the model and all of the steps are performed in the order indicated.
Claim 15
Dependent Claim 25 words
A method according to claim 10 wherein the step of declaring parameters comprises the steps of: declaring default values; and declaring legal sets of values.
Claim 16
Dependent Claim 38 words
A method according to claim 10 wherein the step of describing a topological model comprises the steps of: naming nodes, pads, and branches; connecting branches between nodes and pads; and specifying units for each node, pad, and branch.
Claim 17
Dependent Claim 23 words
A method according to claim 14 wherein the describing step further comprises the steps of: naming unknowns; and specifying units for each unknown.
Claim 18
Dependent Claim 40 words
A method according to claim 10 wherein the step of declaring arguments comprises the steps of: declaring across arguments; specifying the nodes or pads the across arguments refer to; declaring value arguments; and associating the value argument with an unknown.
Claim 19
Dependent Claim 19 words
A method according to claim 16 wherein the specifying steps further comprises the step of: further specifying a polarity.
Claim 20
Dependent Claim 32 words
A method according to claim 10 wherein the step of specifying argument-dependent equations comprises the steps of: writing expressions for a through value for branches; and writing expressions for constraints on unknowns.
Claim 21
Independent Claim 155 words
A method for creating objects representing variables and their associated vector of derivatives with respect to arguments, which are able to respond to arithmetic operators by calculating the derivatives as well as the value of the variable, and for using the objects so created in conjunction with a simulator program to perform simulations of a physical phenomenon, the method comprising the steps of: identifying an arithmetic operation; determining how the arithmetic operation is affected by differentiation to produce a derivative with respect to the plurality of arguments; writing code in a computer using a language and syntax recognizable by the computer to create a computer language object comprising: a header containing the value of the variable; and a vector associated with the header, the vector containing the determined derivative with respect to the argument; and employing the objects in conjunction with the simulator program using the computer to perform a simulation of a physical phenomenon.
Claim 22
Independent Claim 155 words
A method for creating objects representing variables and their associated vector of derivatives with respect to arguments, which are able to respond to arithmetic operators by calculating the derivatives as well as the value of the variable, and for using the objects so created in conjunction with a simulator program to perform simulations of a physical phenomenon, the method comprising the steps of: identifying an arithmetic operation; determining how the arithmetic operation is affected by differentiation to produce a derivative with respect to the plurality of arguments; writing code in a computer using a language and syntax recognizable by the computer to create a computer language object comprising: a header containing the value of the variable; and a vector associated with the header, the vector containing the determined derivative with respect to the argument; and employing the objects in conjunction with the simulator program using the computer to perform a simulation of a physical phenomenon.
Claim 23
Dependent Claim 23 words
A method according to claim 19 wherein the object created by the writing step further comprises associated methods to produce a numerical result.
Claim 24
Dependent Claim 32 words
A method according to claim 19 wherein the object created by the writing step further comprises associated methods to produce code in a second language for producing a numerical result when executed.
Claim 25
Dependent Claim 33 words
A method according to claim 21 further comprising the additional step of: linking the code produced in the second language into the code of an analog simulator program written in the second language.
Claim 26
Dependent Claim 20 words
A method according to claim 21 further comprising the step of: optimizing the code in the second language before execution.
Claim 27
Dependent Claim 38 words
A method according to claim 23 further comprising the additional step of: linking the code produced in the second language into the code of an analog simulator program written in the second language after optimization and before execution.

References Cited (Backward Citations)

US4613940A Cited
US4742473A Cited
US5092780A Cited
US5092780B1 Cited
US4868770A Cited
US4970664A Cited
US5111413A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-11-07 1998-05-09 1998-11-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-11-07 2002-05-09 2002-11-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-11-07 2006-05-09 2006-11-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag