::SpiceGenTcl::Ngspice::BasicDevicesTop, Main, Index
ClassesTop, Main, Index
C [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
Capacitor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::Capacitor]Capacitor, Top, Main, Index
Creates object of class Capacitor
that describes capacitor.
OBJECT constructor name np nm -beh -c value ?-tc1 value? ?-tc2 value?
OBJECT constructor name np nm -beh -q value ?-tc1 value? ?-tc2 value?
OBJECT constructor name np nm -model value ?-c value? ?-l value? ?-w value? ?-temp value|-dtemp value? ?-m value? ?scale value? ?-ic value?
Details
Parameters
-beh | Selects behavioural type of resistor, optional. |
-c | Capacitance value or equation. |
-dtemp | Temperature offset, optional. |
-ic | Initial voltage on capacitor, optional. |
-l | Length of semiconductor capacitor, optional. |
-m | Multiplier value, optional. |
-model | Model of the resistor, optional. |
-q | Charge equation. |
-scale | Scaling factor, optional. |
-tc1 | Linear thermal coefficient, optional. |
-tc2 | Quadratic thermal coefficient, optional. |
-temp | Device temperature, optional. |
-w | Width of semiconductor capacitor, optional. |
name | Name of the device without first-letter designator C. |
nm | Name of node connected to negative pin. |
np | Name of node connected to positive pin. |
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 (semiconductor capacitor). 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 {-eq temp}
Behavioral capacitor with C =ession:
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
method constructor {args} { # Creates object of class `Capacitor` that describes capacitor. # name - name of the device without first-letter designator C # np - name of node connected to positive pin # nm - name of node connected to negative pin # -c - capacitance value or equation # -q - charge equation # -m - multiplier value, optional # -scale - scaling factor, optional # -temp - device temperature, optional # -dtemp - temperature offset, optional # -tc1 - linear thermal coefficient, optional # -tc2 - quadratic thermal coefficient, optional # -model - model of the resistor, optional # -beh - selects behavioural type of resistor, optional # -l - length of semiconductor capacitor, optional # -w - width of semiconductor capacitor, optional # -ic - initial voltage on capacitor, optional # 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 (semiconductor capacitor). # 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 {-eq temp} # ``` # Behavioral capacitor with C =ession: # ``` # 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 # ``` # Synopsis: name np nm -c value ?-tc1 value? ?-tc2 value? ?-m value? ?-temp value|-dtemp value? # ?-scale value? ?-ic value? # Synopsis: name np nm -beh -c value ?-tc1 value? ?-tc2 value? # Synopsis: name np nm -beh -q value ?-tc1 value? ?-tc2 value? # Synopsis: name np nm -model value ?-c value? ?-l value? ?-w value? ?-temp value|-dtemp value? # ?-m value? ?scale value? ?-ic value? set arguments [argparse -inline -pfirst -help {Creates object of class 'Capacitor' that describes capacitor} { {-c= -forbid {q} -help {Capacitance value or equation}} {-q= -require {beh} -forbid {c model} -help {Charge equation}} {-beh -forbid {model} -help {Selects behavioural type of capacitor}} {-model= -forbid {beh} -help {Model of the capacitor}} {-m= -forbid {beh} -help {Multiplier value}} {-scale= -forbid {beh} -help {Scaling factor}} {-temp= -forbid {beh dtemp} -help {Device temperature}} {-dtemp= -forbid {beh temp} -help {Temperature offset}} {-tc1= -forbid {model} -help {Linear thermal coefficient}} {-tc2= -forbid {model} -help {Quadratic thermal coefficient}} {-ic= -forbid {beh} -help {Initial voltage on capacitor}} {-l= -require {model} -help {Length of semiconductor capacitor}} {-w= -require {model} -help {Width of semiconductor capacitor}} {name -help {Name of the device without first-letter designator}} {np -help {Name of node connected to positive pin}} {nm -help {Name of node connected to negative pin}} }] set params {} if {[dexist $arguments c]} { set cVal [dget $arguments c] if {[dexist $arguments beh]} { lappend params [list -eq c $cVal] } elseif {([llength $cVal]>1) && ([@ $cVal 0] eq {-eq})} { lappend params [list -poseq c [@ $cVal 1]] } else { lappend params [list -pos c $cVal] } } elseif {![dexist $arguments model] && ![dexist $arguments q]} { return -code error {Capacitor value must be specified with '-c value'} } if {[dexist $arguments q]} { set qVal [dget $arguments q] lappend params [list -eq q $qVal] } if {[dexist $arguments model]} { lappend params [list -posnocheck model [dget $arguments model]] } dict for {paramName value} $arguments { if {$paramName ni {c q beh model name np nm}} { if {[@ $value 0] eq {-eq}} { lappend params [list -eq $paramName [@ $value 1]] } else { lappend params [list $paramName $value] } } } next c[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params }
CModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Model.actOnParam |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
Properties
Readable: -name
, -type
Writable: -name
, -type
Superclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::CModel]CModel, Top, Main, Index
Creates object of class CModel
that describes semiconductor capacitor model.
Details
Parameters
args | Keyword instance parameters. |
name | Name of the model. |
Description
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::CModel new capmod -tc1 1 -tc2 2
method constructor {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 # ``` # Synopsis: name ?-option value ...? next {*}[my ArgsPreprocess {cap cj cjsw defw narrow short tc1 tc2 tnom di thick} {name type} type {*}[linsert $args 1 c]] }
Coupling [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::Coupling]Coupling, Top, Main, Index
Creates object of class Coupling
that describes inductance coupling between inductors.
Details
Parameters
-k | Coupling coefficient. |
-l1 | First inductor name. |
-l2 | Second inductor name. |
name | Name of the device without first-letter designator L. |
Description
KXXXXXXX LYYYYYYY LZZZZZZZ value
Example of class initialization as a simple inductor:
::SpiceGenTcl::Ngspice::BasicDevices::Coupling new 1 -l1 la -l2 lb -k 0.5
method constructor {args} { # Creates object of class `Coupling` that describes inductance coupling between inductors. # name - name of the device without first-letter designator L # -l1 - first inductor name # -l2 - second inductor name # -k - coupling coefficient # ``` # KXXXXXXX LYYYYYYY LZZZZZZZ value # ``` # Example of class initialization as a simple inductor: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::Coupling new 1 -l1 la -l2 lb -k 0.5 # ``` # Synopsis: name -l1 value -l2 value -k value ##nagelfar implicitvarcmd {argparse *Creates object of class `Coupling`*} name l1 l2 k argparse -pfirst -help {Creates object of class `Coupling` that describes inductance coupling between inductors} { {name -help {Name of the device without first-letter designator}} {-l1= -required -help {First inductor name}} {-l2= -required -help {Second inductor name}} {-k= -required -help {Coupling coefficient}} } if {([llength $k]>1) && ([@ $k 0] eq {-eq})} { ##nagelfar ignore {Found constant "k"} set k [list -poseq k [@ $k 1]] } else { ##nagelfar ignore {Found constant "k"} set k [list -pos k $k] } ##nagelfar ignore {Found constant "l*"} next k$name {} [list [list -posnocheck l1 $l1] [list -posnocheck l2 $l2] $k] }
CSwitch [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
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. |
actOnParam | See ::SpiceGenTcl::Model.actOnParam |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
Properties
Readable: -name
, -type
Writable: -name
, -type
Superclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::CSwitchModel]CSwitchModel, Top, Main, Index
Creates object of class CSwitchModel
that describes current switch model.
Details
Parameters
args | Keyword instance parameters. |
name | Name of the model. |
Description
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::CSwitchModel new cswmod -it 1 -ih 0.5 -ron 1 -roff 1e6
method constructor {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 # ``` # Synopsis: name ?-option value ...? next {*}[my ArgsPreprocess {it ih ron roff} {name type} type {*}[linsert $args 1 csw]] }
Inductor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::Inductor]Inductor, Top, Main, Index
Creates object of class Inductor
that describes inductor.
OBJECT constructor name np nm -beh -l value ?-tc1 value? ?-tc2 value?
OBJECT constructor name np nm -model value ?-l value? ?-temp value|-dtemp value? ?-m value? ?scale value? ?-ic value? ?-nt value? ?-tc1 value? ?-tc2 value?
Details
Parameters
-beh | Selects behavioural type of inductor, optional. |
-dtemp | Temperature offset, optional. |
-ic | Initial current through inductor, optional. |
-l | Inductance value or equation. |
-m | Multiplier value, optional. |
-model | Model of the inductor, optional. |
-nt | Number of turns, optional. |
-scale | Scaling factor, optional. |
-tc1 | Linear thermal coefficient, optional. |
-tc2 | Quadratic thermal coefficient, optional. |
-temp | Device temperature, optional. |
name | Name of the device without first-letter designator L. |
nm | Name of node connected to negative pin. |
np | Name of node connected to positive pin. |
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:
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 {-eq temp}
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
method constructor {args} { # Creates object of class `Inductor` that describes inductor. # name - name of the device without first-letter designator L # np - name of node connected to positive pin # nm - name of node connected to negative pin # -l - inductance value or equation # -m - multiplier value, optional # -scale - scaling factor, optional # -temp - device temperature, optional # -dtemp - temperature offset, optional # -tc1 - linear thermal coefficient, optional # -tc2 - quadratic thermal coefficient, optional # -model - model of the inductor, optional # -beh - selects behavioural type of inductor, optional # -ic - initial current through inductor, optional # -nt - number of turns, optional # 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 {-eq temp} # ``` # 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 # ``` # Synopsis: name np nm -l value ?-tc1 value? ?-tc2 value? ?-m value? ?-temp value|-dtemp value? # ?-scale value? ?-ic value? # Synopsis: name np nm -beh -l value ?-tc1 value? ?-tc2 value? # Synopsis: name np nm -model value ?-l value? ?-temp value|-dtemp value? ?-m value? ?scale value? # ?-ic value? ?-nt value? ?-tc1 value? ?-tc2 value? set arguments [argparse -inline -pfirst -help {Creates object of class 'Inductor' that describes inductor} { {-l= -help {Inductance value or equation}} {-beh -forbid {model} -require {l} -help {Selects behavioural type of inductor}} {-model= -forbid {beh} -help {Model of the inductor}} {-m= -forbid {beh} -help {Multiplier value}} {-scale= -forbid {beh} -help {Scaling factor}} {-temp= -forbid {beh dtemp} -help {Device temperature}} {-dtemp= -forbid {beh temp} -help {Temperature offset}} {-tc1= -help {Linear thermal coefficient}} {-tc2= -help {Quadratic thermal coefficient}} {-nt= -require {model} -help {Number of turns}} {-ic= -forbid {beh} -help {Initial current through inductor}} {name -help {Name of the device without first-letter designator}} {np -help {Name of node connected to positive pin}} {nm -help {Name of node connected to negative pin}} }] set params {} if {[dexist $arguments l]} { set lVal [dget $arguments l] if {[dexist $arguments beh]} { lappend params [list -eq l $lVal] } elseif {([llength $lVal]>1) && ([@ $lVal 0] eq {-eq})} { lappend params [list -poseq l [@ $lVal 1]] } else { lappend params [list -pos l $lVal] } } elseif {![dexist $arguments model]} { return -code error {Inductor value must be specified with '-l value'} } if {[dexist $arguments model]} { lappend params [list -posnocheck model [dget $arguments model]] } dict for {paramName value} $arguments { if {$paramName ni {l beh model name np nm}} { if {[@ $value 0] eq {-eq}} { lappend params [list -eq $paramName [@ $value 1]] } else { lappend params [list $paramName $value] } } } next l[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params }
K [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
L [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
LModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Model.actOnParam |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
Properties
Readable: -name
, -type
Writable: -name
, -type
Superclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::LModel]LModel, Top, Main, Index
Creates object of class LModel
that describes inductor model.
Details
Parameters
args | Keyword instance parameters. |
name | Name of the model. |
Description
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::LModel new indmod -tc1 1 -tc2 2
method constructor {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 # ``` # Synopsis: name ?-option value ...? next {*}[my ArgsPreprocess {ind csect dia length tc1 tc2 tnom nt mu} {name type} type {*}[linsert $args 1 l]] }
N [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
R [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
Resistor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::Resistor]Resistor, Top, Main, Index
Creates object of class Resistor
that describes resistor.
OBJECT constructor name np nm -beh -r value ?-tc1 value? ?-tc2 value?
OBJECT constructor name np nm -model value ?-r value? ?-l value? ?-w value? ?-temp value|-dtemp value? ?-m value? ?-noisy 0|1? ?-ac value? ?scale value?
Details
Parameters
-ac | AC resistance value, optional. |
-beh | Selects behavioural type of resistor, optional. |
-dtemp | Temperature offset, optional. |
-l | Length of semiconductor resistor, optional. |
-m | Multiplier value, optional. |
-model | Model of the resistor, optional. |
-noisy | Selects noise behaviour. |
-r | Resistance value or equation. |
-scale | Scaling factor, optional. |
-tc1 | Linear thermal coefficient, optional. |
-tc2 | Quadratic thermal coefficient, optional. |
-temp | Device temperature, optional. |
-w | Width of semiconductor resistor, optional. |
name | Name of the device without first-letter designator R. |
nm | Name of node connected to negative pin. |
np | Name of node connected to positive pin. |
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 (semiconductor resistor). 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 {-eq temp_amb}
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
method constructor {args} { # Creates object of class `Resistor` that describes resistor. # name - name of the device without first-letter designator R # np - name of node connected to positive pin # nm - name of node connected to negative pin # -r - resistance value or equation # -ac - AC resistance value, optional # -m - multiplier value, optional # -scale - scaling factor, optional # -temp - device temperature, optional # -dtemp - temperature offset, optional # -tc1 - linear thermal coefficient, optional # -tc2 - quadratic thermal coefficient, optional # -model - model of the resistor, optional # -beh - selects behavioural type of resistor, optional # -noisy - selects noise behaviour # -l - length of semiconductor resistor, optional # -w - width of semiconductor resistor, optional # 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 (semiconductor resistor). # 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 {-eq temp_amb} # ``` # 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 # ``` # Synopsis: name np nm -r value ?-tc1 value? ?-tc2 value? ?-ac value? ?-m value? ?-noisy 0|1? # ?-temp value|-dtemp value? ?-scale value? # Synopsis: name np nm -beh -r value ?-tc1 value? ?-tc2 value? # Synopsis: name np nm -model value ?-r value? ?-l value? ?-w value? ?-temp value|-dtemp value? # ?-m value? ?-noisy 0|1? ?-ac value? ?scale value? set arguments [argparse -inline -pfirst -help {Creates object of class `Resistor` that describes resistor} { {-r= -help {Resistance value or equation}} {-beh -forbid {model} -require {r} -help {Selects behavioural type of resistor}} {-model= -forbid {beh} -help {Model of the resistor}} {-ac= -forbid {model beh} -help {AC resistance value}} {-m= -forbid {beh} -help {Multiplier value,}} {-scale= -forbid {beh} -help {Scaling factor}} {-temp= -forbid {beh dtemp} -help {Device temperature}} {-dtemp= -forbid {beh temp} -help {Temperature offset}} {-tc1= -forbid {model} -help {Linear thermal coefficient}} {-tc2= -forbid {model} -help {Quadratic thermal coefficient}} {-noisy= -enum {0 1} -help {Selects noise behaviour}} {-l= -require {model} -help {Length of semiconductor resistor}} {-w= -require {model} -help {Width of semiconductor resistor}} {name -help {Name of the device without first-letter designator}} {np -help {Name of node connected to positive pin}} {nm -help {Name of node connected to negative pin}} }] set params {} if {[dexist $arguments r]} { set rVal [dget $arguments r] if {[dexist $arguments beh]} { lappend params [list -eq r $rVal] } elseif {([llength $rVal]>1) && ([@ $rVal 0] eq {-eq})} { lappend params [list -poseq r [@ $rVal 1]] } else { lappend params [list -pos r $rVal] } } elseif {![dexist $arguments model]} { return -code error {Resistor value must be specified with '-r value'} } if {[dexist $arguments model]} { lappend params [list -posnocheck model [dget $arguments model]] } dict for {paramName value} $arguments { if {$paramName ni {r beh model name np nm}} { if {[@ $value 0] eq {-eq}} { lappend params [list -eq $paramName [@ $value 1]] } else { lappend params [list $paramName $value] } } } next r[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params }
RModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Model.actOnParam |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
Properties
Readable: -name
, -type
Writable: -name
, -type
Superclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::RModel]RModel, Top, Main, Index
Creates object of class RModel
that describes semiconductor resistor model.
Details
Parameters
args | Keyword instance parameters. |
name | Name of the model. |
Description
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::RModel new resmod -tc1 1 -tc2 2
method constructor {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 # ``` # Synopsis: name ?-option value ...? next {*}[my ArgsPreprocess {tc1 tc2 rsh defw narrow short tnom kf af wf lf ef r} {name type} type {*}[linsert $args 1 r]] }
S [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
SubcircuitInstance [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
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 ?args?
Details
Parameters
name | Name of the device without first-letter designator X. |
params | {{?-eq? paramName paramValue} {?-eq? paramName paramValue}} |
pins | List of pins {{pinName nodeName} {pinName nodeName} ...} |
subName | Name of subcircuit definition. |
Description
XYYYYYYY N1 <N2 N3 ...> SUBNAM
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstance new 1 {{plus net1} {minus net2}} rcnet {{r 1} {-eq c cpar}}
#nagelfar implicitvarcmd {argparse Creates object of class 'SubcircuitInstance'} name pins subName params
method constructor {args} { # 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 - {{?-eq? paramName paramValue} {?-eq? paramName paramValue}} # ``` # XYYYYYYY N1 <N2 N3 ...> SUBNAM # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstance new 1 {{plus net1} {minus net2}} rcnet {{r 1} {-eq c cpar}} # ``` ##nagelfar implicitvarcmd {argparse *Creates object of class 'SubcircuitInstance'*} name pins subName params argparse -pfirst -help {Creates object of class 'SubcircuitInstance' that describes subcircuit instance} { {name -help {Name of the device without first-letter designator}} {pins -help {List of pins {{pinName nodeName} {pinName nodeName} ...}}} {subName -help {Name of subcircuit definition}} {params -help {List of parameters {{?-eq? paramName paramValue} {?-eq? paramName paramValue}}}} } set params [linsert $params 0 [list -posnocheck model $subName]] next x$name $pins $params }
SubcircuitInstanceAuto [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
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.
Details
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 {?-eq? paramValue} -paramName {?-eq? paramValue} |
Description
XYYYYYYY N1 <N2 N3 ...> SUBNAM
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstanceAuto new $subcktObj 1 {net1 net2} -r 1 -c {-eq cpar}
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 {?-eq? paramValue} -paramName {?-eq? paramValue} # ``` # XYYYYYYY N1 <N2 N3 ...> SUBNAM # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstanceAuto new $subcktObj 1 {net1 net2} -r 1 -c {-eq cpar} # ``` # Synopsis: subcktObj name nodes ?-paramName {?-eq? paramValue} ...? # check that inputs object class is Subcircuit if {![info object class $subcktObj "::SpiceGenTcl::Subcircuit"]} { set objClass [info object class $subcktObj] return -code 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 actOnPin -get -all]] # check if number of pins in subcircuit definition matchs the number of supplied nodes if {[llength $pinsNames]!=[llength $nodes]} { return -code 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 [list $pinName $node] } # get parameters names of subcircuit if {[$subcktObj actOnParam -get -all] ne {}} { set paramsNames [dict keys [$subcktObj actOnParam -get -all]] 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 { if {[@ $value 0] eq {-eq}} { lappend params [list -eq $paramName [@ $value 1]] } else { lappend params [list $paramName $value] } } } else { set params {} } set params [linsert $params 0 [list -posnocheck model $subName]] next x$name $pinsList $params }
VerilogA [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
constructor | Constructor for the class. |
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
Subclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::VerilogA]VerilogA, Top, Main, Index
Creates object of class VerilogA
that describes Verilog-A instance.
VerilogA new ?args?
Details
Parameters
modName | Name of Verilog-A model. |
name | Name of the device without first-letter designator N. |
params | {{?-eq? paramName paramValue} {?-eq? paramName paramValue}} |
pins | List of pins {{pinName nodeName} {pinName nodeName} ...} |
Description
NYYYYYYY N1 <N2 N3 ...> MODNAME
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::VerilogA new 1 {{plus net1} {minus net2}} vmod {{r 1} {-eq c cpar}}
#nagelfar implicitvarcmd {argparse Creates object of class 'VerilogA'} name pins modName params
method constructor {args} { # Creates object of class `VerilogA` that describes Verilog-A instance. # name - name of the device without first-letter designator N # pins - list of pins {{pinName nodeName} {pinName nodeName} ...} # modName - name of Verilog-A model # params - {{?-eq? paramName paramValue} {?-eq? paramName paramValue}} # ``` # NYYYYYYY N1 <N2 N3 ...> MODNAME # ``` # Example of class initialization: # ``` # ::SpiceGenTcl::Ngspice::BasicDevices::VerilogA new 1 {{plus net1} {minus net2}} vmod {{r 1} {-eq c cpar}} # ``` ##nagelfar implicitvarcmd {argparse *Creates object of class 'VerilogA'*} name pins modName params argparse -pfirst -help {Creates object of class 'VerilogA' that describes Verilog-A instance} { {name -help {Name of the device without first-letter designator}} {pins -help {List of pins {{pinName nodeName} {pinName nodeName} ...}}} {modName -help {name of Verilog-A model}} {params -help {List of parameters {{?-eq? paramName paramValue} {?-eq? paramName paramValue}}}} } set params [linsert $params 0 [list -posnocheck model $modName]] next n$name $pins $params }
VSwitch [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
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. |
actOnParam | See ::SpiceGenTcl::Model.actOnParam |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Model.genSPICEString |
Properties
Readable: -name
, -type
Writable: -name
, -type
Superclasses
constructor [::SpiceGenTcl::Ngspice::BasicDevices::VSwitchModel]VSwitchModel, Top, Main, Index
Creates object of class VSwitchModel
that describes voltage switch model.
Details
Parameters
args | Keyword instance parameters. |
name | Name of the model. |
Description
Example of class initialization:
::SpiceGenTcl::Ngspice::BasicDevices::VSwitchModel new swmod -vt 1 -vh 0.5 -ron 1 -roff 1e6
method constructor {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 # ``` # Synopsis: name ?-option value ...? next {*}[my ArgsPreprocess {vt vh ron roff} {name type} type {*}[linsert $args 1 sw]] }
W [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
X [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name
Superclasses
XAuto [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index
Method summary
actOnParam | See ::SpiceGenTcl::Device.actOnParam |
actOnPin | See ::SpiceGenTcl::Device.actOnPin |
checkFloatingPins | See ::SpiceGenTcl::Device.checkFloatingPins |
configure | Configure properties. |
genSPICEString | See ::SpiceGenTcl::Device.genSPICEString |
Properties
Readable: -name
Writable: -name