::SpiceGenTcl::Ngspice::BasicDevicesTop, Main, Index
ClassesTop, Main, Index
C [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
Capacitor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::Capacitor]Capacitor, Top, Main, Index
Creates object of class Capacitor
that describes capacitor.
Capacitor new name npNode nmNode ?args?
Parameters
name | Name of the device without first-letter designator C. |
npNode | Name of node connected to positive pin. |
nmNode | Name of node connected to negative pin. |
args | Keyword instance parameters. |
Description
Capacitor type could be specified with additional switches: -beh
if we want to model circuit's variable dependent capacitor, or -model modelName
if we want to simulate capacitor with model card. Simple capacitor:
Example of class initialization as a simple capacitor:
Behavioral capacitor with C expression:
Example of class initialization:
Behavioral capacitor with Q expression:
Example of class initialization:
Capacitor with model card:
Example of class initialization:
method constructor {name npNode nmNode args} { # Creates object of class `Capacitor` that describes capacitor. # name - name of the device without first-letter designator C # npNode - name of node connected to positive pin # nmNode - name of node connected to negative pin # args - keyword instance parameters # Capacitor type could be specified with additional switches: `-beh` if we # want to model circuit's variable dependent capacitor, or `-model modelName` # if we want to simulate capacitor with model card. # Simple capacitor: # ``` # CXXXXXXX n+ n- <value> <mname> <m=val> <scale=val> <temp=val> # + <dtemp=val> <tc1=val> <tc2=val> <ic=init_condition> # ``` # Example of class initialization as a simple capacitor: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Capacitor new 1 netp netm 1e-6 -tc1 1 -temp {temp -eq} # ``` # Behavioral capacitor with C expression: # ``` # CXXXXXXX n+ n- C={expression} <tc1=value> <tc2=value> # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Capacitor new 1 netp netm -c "V(a)+V(b)+pow(V(c),2)" -beh -tc1 1 # ``` # Behavioral capacitor with Q expression: # ``` # CXXXXXXX n+ n- Q={expression} <tc1=value> <tc2=value> # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Capacitor new 1 netp netm -q "V(a)+V(b)+pow(V(c),2)" -beh -tc1 1 # ``` # Capacitor with model card: # ``` # CXXXXXXX n+ n- <value> <mname> <l=length> <w=width> <m=val> # + <scale=val> <temp=val> <dtemp=val> <ic=init_condition> # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Capacitor new 1 netp netm -model capm -l 1e-6 -w 10e-6 # ``` set arguments [argparse -inline { {-c= -forbid {q}} {-q= -require {beh} -forbid {c model}} {-beh -forbid {model}} {-model= -forbid {beh}} {-m= -forbid {beh}} {-scale= -forbid {beh}} {-temp= -forbid {beh dtemp}} {-dtemp= -forbid {beh temp}} {-tc1= -forbid {model}} {-tc2= -forbid {model}} {-ic= -forbid {beh}} {-l= -require {model}} {-w= -require {model}} }] set params "" if {[dict exists $arguments c]} { set cVal [dict get $arguments c] if {[dict exists $arguments beh]} { lappend params "c $cVal -eq" } elseif {([llength $cVal]>1) && ([lindex $cVal 1]=="-eq")} { lappend params "c [lindex $cVal 0] -poseq" } else { lappend params "c $cVal -pos" } } elseif {([dict exists $arguments model]==0) && ([dict exists $arguments q]==0)} { error "Capacitor value must be specified with '-c value'" } if {[dict exists $arguments q]} { set qVal [dict get $arguments q] if {[dict exists $arguments beh]} { lappend params "q $qVal -eq" } else { error "Charge of capacitor can't be specified without '-beh' switch" } } if {[dict exists $arguments model]} { lappend params "model [dict get $arguments model] -posnocheck" } dict for {paramName value} $arguments { if {$paramName ni {c q beh model}} { lappend params "$paramName $value" } } next c$name [list "np $npNode" "nm $nmNode"] $params }
CModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Model.addParam |
argsPreprocess | See ::SpiceGenTcl::KeyArgsBuilder.argsPreprocess |
buildArgStr | See ::SpiceGenTcl::KeyArgsBuilder.buildArgStr |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Model.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
getParams | See ::SpiceGenTcl::Model.getParams |
setParamValue | See ::SpiceGenTcl::Model.setParamValue |
Properties
Readable: -Name
, -Type
Writable: -Name
, -Type
Superclasses
Mixins
constructor [::SpiceGenTcl::Ngspice::BasicDevices::CModel]CModel, Top, Main, Index
Creates object of class CModel
that describes semiconductor capacitor model.
CModel new name ?args?
Parameters
name | Name of the model. |
args | Keyword instance parameters. |
Description
Example of class initialization:
method constructor {name args} { # Creates object of class `CModel` that describes semiconductor capacitor model. # name - name of the model # args - keyword instance parameters # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::CModel new capmod -tc1 1 -tc2 2 # ``` set paramsNames [list cap cj cjsw defw narrow short tc1 tc2 tnom di thick] next $name c [my argsPreprocess $paramsNames {*}$args] }
CSwitch [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
::SpiceGenTcl::Common::BasicDevices::CSwitch
Subclasses
CSwitchModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Model.addParam |
argsPreprocess | See ::SpiceGenTcl::KeyArgsBuilder.argsPreprocess |
buildArgStr | See ::SpiceGenTcl::KeyArgsBuilder.buildArgStr |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Model.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
getParams | See ::SpiceGenTcl::Model.getParams |
setParamValue | See ::SpiceGenTcl::Model.setParamValue |
Properties
Readable: -Name
, -Type
Writable: -Name
, -Type
Superclasses
Mixins
constructor [::SpiceGenTcl::Ngspice::BasicDevices::CSwitchModel]CSwitchModel, Top, Main, Index
Creates object of class CSwitchModel
that describes current switch model.
CSwitchModel new name ?args?
Parameters
name | Name of the model. |
args | Keyword instance parameters. |
Description
Example of class initialization:
method constructor {name args} { # Creates object of class `CSwitchModel` that describes current switch model. # name - name of the model # args - keyword instance parameters # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::CSwitchModel new cswmod -it 1 -ih 0.5 -ron 1 -roff 1e6 # ``` set paramsNames [list it ih ron roff] next $name csw [my argsPreprocess $paramsNames {*}$args] }
Inductor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::Inductor]Inductor, Top, Main, Index
Creates object of class Inductor
that describes inductor.
Inductor new name npNode nmNode ?args?
Parameters
name | Name of the device without first-letter designator L. |
npNode | Name of node connected to positive pin. |
nmNode | Name of node connected to negative pin. |
args | Keyword instance parameters. |
Description
Inductor type could be specified with additional switches: -beh
if we want to model circuit's variable dependent inductor, or -model modelName
if we want to simulate inductor with model card. Simple inductor:
Example of class initialization as a simple inductor:
Behavioral inductor:
Example of class initialization:
Inductor with model card:
Example of class initialization:
method constructor {name npNode nmNode args} { # Creates object of class `Inductor` that describes inductor. # name - name of the device without first-letter designator L # npNode - name of node connected to positive pin # nmNode - name of node connected to negative pin # args - keyword instance parameters # Inductor type could be specified with additional switches: `-beh` if we # want to model circuit's variable dependent inductor, or `-model modelName` # if we want to simulate inductor with model card. # Simple inductor: # ``` # LYYYYYYY n+ n- <value> <m=val> # + <scale=val> <temp=val> <dtemp=val> <tc1=val> # + <tc2=val> <ic=init_condition> # ``` # Example of class initialization as a simple inductor: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Inductor new 1 netp netm -l 1e-6 -tc1 1 -temp {temp -eq} # ``` # Behavioral inductor: # ``` # LYYYYYYY n+ n- L={expression} <tc1=val> <tc2=val> # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Inductor new 1 netp netm -l "V(a)+V(b)+pow(V(c),2)" -beh -tc1 1 # ``` # Inductor with model card: # ``` # LYYYYYYY n+ n- <value> <mname> <nt=val> <m=val> # + <scale=val> <temp=val> <dtemp=val> <tc1=val> # + <tc2=val> <ic=init_condition> # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Inductor new 1 netp netm -l 1e-6 -model indm # ``` set arguments [argparse -inline { -l= {-beh -forbid {model} -require {l}} {-model= -forbid {beh}} {-m= -forbid {beh}} {-scale= -forbid {beh}} {-temp= -forbid {beh dtemp}} {-dtemp= -forbid {beh temp}} -tc1= -tc2= {-nt= -require {model}} }] set params "" if {[dict exists $arguments l]} { set lVal [dict get $arguments l] if {[dict exists $arguments beh]} { lappend params "l $lVal -eq" } elseif {([llength $lVal]>1) && ([lindex $lVal 1]=="-eq")} { lappend params "l [lindex $lVal 0] -poseq" } else { lappend params "l $lVal -pos" } } elseif {[dict exists $arguments model]==0} { error "Inductor value must be specified with '-l value'" } if {[dict exists $arguments model]} { lappend params "model [dict get $arguments model] -posnocheck" } dict for {paramName value} $arguments { if {$paramName ni {l beh model}} { lappend params "$paramName $value" } } next l$name [list "np $npNode" "nm $nmNode"] $params }
L [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
LModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Model.addParam |
argsPreprocess | See ::SpiceGenTcl::KeyArgsBuilder.argsPreprocess |
buildArgStr | See ::SpiceGenTcl::KeyArgsBuilder.buildArgStr |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Model.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
getParams | See ::SpiceGenTcl::Model.getParams |
setParamValue | See ::SpiceGenTcl::Model.setParamValue |
Properties
Readable: -Name
, -Type
Writable: -Name
, -Type
Superclasses
Mixins
constructor [::SpiceGenTcl::Ngspice::BasicDevices::LModel]LModel, Top, Main, Index
Creates object of class LModel
that describes inductor model.
LModel new name ?args?
Parameters
name | Name of the model. |
args | Keyword instance parameters. |
Description
Example of class initialization:
method constructor {name args} { # Creates object of class `LModel` that describes inductor model. # name - name of the model # args - keyword instance parameters # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::LModel new indmod -tc1 1 -tc2 2 # ``` set paramsNames [list ind csect dia length tc1 tc2 tnom nt mu] next $name l [my argsPreprocess $paramsNames {*}$args] }
R [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
Resistor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::Resistor]Resistor, Top, Main, Index
Creates object of class Resistor
that describes resistor.
Resistor new name npNode nmNode ?args?
Parameters
name | Name of the device without first-letter designator R. |
npNode | Name of node connected to positive pin. |
nmNode | Name of node connected to negative pin. |
args | Keyword instance parameters. |
Description
Resistor type could be specified with additional switches: -beh
if we want to model circuit's variable dependent resistor, or -model modelName
if we want to simulate resistor with model card. Simple resistor:
Example of class initialization as a simple resistor:
Behavioral resistor:
Example of class initialization:
Resistor with model card:
Example of class initialization:
method constructor {name npNode nmNode args} { # Creates object of class `Resistor` that describes resistor. # name - name of the device without first-letter designator R # npNode - name of node connected to positive pin # nmNode - name of node connected to negative pin # args - keyword instance parameters # Resistor type could be specified with additional switches: `-beh` if we # want to model circuit's variable dependent resistor, or `-model modelName` # if we want to simulate resistor with model card. # Simple resistor: # ``` # RXXXXXXX n+ n- <resistance|r=>value <ac=val> <m=val> # + <scale=val> <temp=val> <dtemp=val> <tc1=val> <tc2=val> # + <noisy=0|1> # ``` # Example of class initialization as a simple resistor: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Resistor new 1 netp netm -r 1e3 -tc1 1 -ac 1e6 -temp {temp_amb -eq} # ``` # Behavioral resistor: # ``` # RXXXXXXX n+ n- R ={expression} <tc1=value> <tc2=value> <noisy=0> # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Resistor new 1 netp netm -r "V(a)+V(b)+pow(V(c),2)" -beh -tc1 1 # ``` # Resistor with model card: # ``` # RXXXXXXX n+ n- <value> <mname> <l=length> <w=width> # + <temp=val> <dtemp=val> <m=val> <ac=val> <scale=val> # + <noisy=0|1> # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Resistor new 1 netp netm -model resm -l 1e-6 -w 10e-6 # ``` set arguments [argparse -inline { -r= {-beh -forbid {model} -require {r}} {-model= -forbid {beh}} {-ac= -forbid {model beh}} {-m= -forbid {beh}} {-scale= -forbid {beh}} {-temp= -forbid {beh dtemp}} {-dtemp= -forbid {beh temp}} {-tc1= -forbid {model}} {-tc2= -forbid {model}} {-noisy= -enum {0 1}} {-l= -require {model}} {-w= -require {model}} }] set params "" if {[dict exists $arguments r]} { set rVal [dict get $arguments r] if {[dict exists $arguments beh]} { lappend params "r $rVal -eq" } elseif {([llength $rVal]>1) && ([lindex $rVal 1]=="-eq")} { lappend params "r [lindex $rVal 0] -poseq" } else { lappend params "r $rVal -pos" } } elseif {[dict exists $arguments model]==0} { error "Resistor value must be specified with '-r value'" } if {[dict exists $arguments model]} { lappend params "model [dict get $arguments model] -posnocheck" } dict for {paramName value} $arguments { if {$paramName ni {r beh model}} { lappend params "$paramName $value" } } next r$name [list "np $npNode" "nm $nmNode"] $params }
RModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Model.addParam |
argsPreprocess | See ::SpiceGenTcl::KeyArgsBuilder.argsPreprocess |
buildArgStr | See ::SpiceGenTcl::KeyArgsBuilder.buildArgStr |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Model.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
getParams | See ::SpiceGenTcl::Model.getParams |
setParamValue | See ::SpiceGenTcl::Model.setParamValue |
Properties
Readable: -Name
, -Type
Writable: -Name
, -Type
Superclasses
Mixins
constructor [::SpiceGenTcl::Ngspice::BasicDevices::RModel]RModel, Top, Main, Index
Creates object of class RModel
that describes semiconductor resistor model.
RModel new name ?args?
Parameters
name | Name of the model. |
args | Keyword instance parameters. |
Description
Example of class initialization:
method constructor {name args} { # Creates object of class `RModel` that describes semiconductor resistor model. # name - name of the model # args - keyword instance parameters # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::RModel new resmod -tc1 1 -tc2 2 # ``` set paramsNames [list tc1 tc2 rsh defw narrow short tnom kf af wf lf ef {r res}] next $name r [my argsPreprocess $paramsNames {*}$args] }
SubcircuitInstance [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstance]SubcircuitInstance, Top, Main, Index
Creates object of class SubcircuitInstance
that describes subcircuit instance.
SubcircuitInstance new name pins subName params
Parameters
name | Name of the device without first-letter designator X. |
pins | List of pins {{pinName nodeName} {pinName nodeName} ...} |
subName | Name of subcircuit definition. |
params | {{paramName paramValue ?-eq?} {paramName paramValue ?-eq?}} |
Description
Example of class initialization:
method constructor {name pins subName params} { # Creates object of class `SubcircuitInstance` that describes subcircuit instance. # name - name of the device without first-letter designator X # pins - list of pins {{pinName nodeName} {pinName nodeName} ...} # subName - name of subcircuit definition # params - {{paramName paramValue ?-eq?} {paramName paramValue ?-eq?}} # ``` # XYYYYYYY N1 <N2 N3 ...> SUBNAM # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstance new 1 {{plus net1} {minus net2}} rcnet {{r 1} {c cpar -eq}} # ``` set params [linsert $params 0 "model $subName -posnocheck"] next x$name $pins $params }
SubcircuitInstanceAuto [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstanceAuto]SubcircuitInstanceAuto, Top, Main, Index
Creates object of class SubcircuitInstanceAuto
that describes subcircuit instance with already created subcircuit definition object.
SubcircuitInstanceAuto new subcktObj name nodes ?args?
Parameters
subcktObj | Object of subcircuit that defines it's pins, subName and parameters. |
name | Not documented. |
nodes | List of nodes connected to pins in the same order as pins in subcircuit definition {nodeName1 nodeName2 ...} |
args | Parameters as argument in form : -paramName {paramValue ?-eq?} -paramName {paramValue ?-eq?} |
Description
Example of class initialization:
method constructor {subcktObj name nodes args} { # Creates object of class `SubcircuitInstanceAuto` that describes subcircuit instance with already created subcircuit definition object. # subcktObj - object of subcircuit that defines it's pins, subName and parameters # nodes - list of nodes connected to pins in the same order as pins in subcircuit definition {nodeName1 nodeName2 ...} # args - parameters as argument in form : -paramName {paramValue ?-eq?} -paramName {paramValue ?-eq?} # ``` # XYYYYYYY N1 <N2 N3 ...> SUBNAM # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstanceAuto new $subcktObj 1 {net1 net2} -r 1 -c {cpar -eq} # ``` # check that inputs object class is Subcircuit if {[info object class $subcktObj "::SpiceGenTcl::Subcircuit"]!=1} { set objClass [info object class $subcktObj] error "Wrong object class '$objClass' is passed as subcktObj, should be '::SpiceGenTcl::Subcircuit'" } # get name of subcircuit set subName [$subcktObj configure -Name] # get pins names of subcircuit set pinsNames [dict keys [$subcktObj getPins]] # check if number of pins in subcircuit definition matchs the number of supplied nodes if {[llength $pinsNames]!=[llength $nodes]} { error "Wrong number of nodes '[llength $nodes]' in definition, should be '[llength $pinsNames]'" } # create list of pins and connected nodes foreach pinName $pinsNames node $nodes { lappend pinsList "$pinName $node" } # get parameters names of subcircuit set paramsNames [dict keys [$subcktObj getParams]] foreach paramName $paramsNames { lappend paramDefList "-${paramName}=" } if {[info exists paramDefList]} { # create definition for argparse module for passing parameters as optional arguments set arguments [argparse -inline " [join $paramDefList \n] "] # create list of parameters and values from which were supplied by args dict for {paramName value} $arguments { lappend params "$paramName $value" } } else { set params "" } set params [linsert $params 0 "model $subName -posnocheck"] next x$name $pinsList $params }
VSw [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
VSwitch [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
::SpiceGenTcl::Common::BasicDevices::VSwitch
Subclasses
VSwitchModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
addParam | See ::SpiceGenTcl::Model.addParam |
argsPreprocess | See ::SpiceGenTcl::KeyArgsBuilder.argsPreprocess |
buildArgStr | See ::SpiceGenTcl::KeyArgsBuilder.buildArgStr |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Model.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
getParams | See ::SpiceGenTcl::Model.getParams |
setParamValue | See ::SpiceGenTcl::Model.setParamValue |
Properties
Readable: -Name
, -Type
Writable: -Name
, -Type
Superclasses
Mixins
constructor [::SpiceGenTcl::Ngspice::BasicDevices::VSwitchModel]VSwitchModel, Top, Main, Index
Creates object of class VSwitchModel
that describes voltage switch model.
VSwitchModel new name ?args?
Parameters
name | Name of the model. |
args | Keyword instance parameters. |
Description
Example of class initialization:
method constructor {name args} { # Creates object of class `VSwitchModel` that describes voltage switch model. # name - name of the model # args - keyword instance parameters # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::VSwitchModel new swmod -vt 1 -vh 0.5 -ron 1 -roff 1e6 # ``` set paramsNames [list vt vh ron roff] next $name sw [my argsPreprocess $paramsNames {*}$args] }
W [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
X [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name
Superclasses
XAuto [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
addParam | See ::SpiceGenTcl::Device.addParam |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
deleteParam | See ::SpiceGenTcl::Device.deleteParam |
duplListCheck | See ::SpiceGenTcl::DuplChecker.duplListCheck |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
getParams | See ::SpiceGenTcl::Device.getParams |
getPins | See ::SpiceGenTcl::Device.getPins |
setParamValue | See ::SpiceGenTcl::Device.setParamValue |
setPinNodeName | See ::SpiceGenTcl::Device.setPinNodeName |
Properties
Readable: -Name
Writable: -Name