Tcl SpiceGenTcl package (v0.70)

::SpiceGenTcl::Ngspice::BasicDevicesTop, Main, Index

ClassesTop, Main, Index

C [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

Capacitor

Capacitor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

C

constructor [::SpiceGenTcl::Ngspice::BasicDevices::Capacitor]Capacitor, Top, Main, Index

Creates object of class Capacitor that describes capacitor.

OBJECT constructor name np nm -c value ?-tc1 value? ?-tc2 value? ?-m value? ?-temp value|-dtemp value? ?-scale value? ?-ic value?
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
-behSelects behavioural type of resistor, optional.
-cCapacitance value or equation.
-dtempTemperature offset, optional.
-icInitial voltage on capacitor, optional.
-lLength of semiconductor capacitor, optional.
-mMultiplier value, optional.
-modelModel of the resistor, optional.
-qCharge equation.
-scaleScaling factor, optional.
-tc1Linear thermal coefficient, optional.
-tc2Quadratic thermal coefficient, optional.
-tempDevice temperature, optional.
-wWidth of semiconductor capacitor, optional.
nameName of the device without first-letter designator C.
nmName of node connected to negative pin.
npName 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 {temp -eq}

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 {temp -eq}
    # ```
    # 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 c $cVal -eq]
        } elseif {([llength $cVal]>1) && ([@ $cVal 1] eq {-eq})} {
            lappend params [list c [@ $cVal 0] -poseq]
        } else {
            lappend params [list c $cVal -pos]
        }
    } 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 q $qVal -eq]
    }
    if {[dexist $arguments model]} {
        lappend params [list model [dget $arguments model] -posnocheck]
    }
    dict for {paramName value} $arguments {
        if {$paramName ni {c q beh model name np nm}} {
            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
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Model.addParam
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Model.deleteParam
genSPICEStringSee ::SpiceGenTcl::Model.genSPICEString
getParamsSee ::SpiceGenTcl::Model.getParams
setParamValueSee ::SpiceGenTcl::Model.setParamValue
Properties

Readable: -name, -type

Writable: -name, -type

Superclasses

::SpiceGenTcl::Model

constructor [::SpiceGenTcl::Ngspice::BasicDevices::CModel]CModel, Top, Main, Index

Creates object of class CModel that describes semiconductor capacitor model.

OBJECT constructor name ?-option value ...?
Details
Parameters
argsKeyword instance parameters.
nameName 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
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

K

constructor [::SpiceGenTcl::Ngspice::BasicDevices::Coupling]Coupling, Top, Main, Index

Creates object of class Coupling that describes inductance coupling between inductors.

OBJECT constructor name -l1 value -l2 value -k value #nagelfar implicitvarcmd argparse *Creates object of class `Coupling`* name l1 l2 k
Details
Parameters
-kCoupling coefficient.
-l1First inductor name.
-l2Second inductor name.
nameName 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 1] eq {-eq})} {
        ##nagelfar ignore {Found constant "k"}
        set k [list k [@ $k 0] -poseq]
    } else {
        ##nagelfar ignore {Found constant "k"}
        set k [list k $k -pos]
    }
    ##nagelfar ignore {Found constant "l*"}
    next k$name {} [list [list l1 $l1 -posnocheck] [list l2 $l2 -posnocheck] $k]
}

CSwitch [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::BasicDevices::CSwitch

Subclasses

W

CSwitchModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Model.addParam
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Model.deleteParam
genSPICEStringSee ::SpiceGenTcl::Model.genSPICEString
getParamsSee ::SpiceGenTcl::Model.getParams
setParamValueSee ::SpiceGenTcl::Model.setParamValue
Properties

Readable: -name, -type

Writable: -name, -type

Superclasses

::SpiceGenTcl::Model

constructor [::SpiceGenTcl::Ngspice::BasicDevices::CSwitchModel]CSwitchModel, Top, Main, Index

Creates object of class CSwitchModel that describes current switch model.

OBJECT constructor name ?-option value ...?
Details
Parameters
argsKeyword instance parameters.
nameName 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
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

L

constructor [::SpiceGenTcl::Ngspice::BasicDevices::Inductor]Inductor, Top, Main, Index

Creates object of class Inductor that describes inductor.

OBJECT constructor name np nm -l value ?-tc1 value? ?-tc2 value? ?-m value? ?-temp value|-dtemp value? ?-scale value? ?-ic value?
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
-behSelects behavioural type of inductor, optional.
-dtempTemperature offset, optional.
-icInitial current through inductor, optional.
-lInductance value or equation.
-mMultiplier value, optional.
-modelModel of the inductor, optional.
-ntNumber of turns, optional.
-scaleScaling factor, optional.
-tc1Linear thermal coefficient, optional.
-tc2Quadratic thermal coefficient, optional.
-tempDevice temperature, optional.
nameName of the device without first-letter designator L.
nmName of node connected to negative pin.
npName 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 {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
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 {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
    # ```
    # 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 l $lVal -eq]
        } elseif {([llength $lVal]>1) && ([@ $lVal 1] eq {-eq})} {
            lappend params [list l [@ $lVal 0] -poseq]
        } else {
            lappend params [list l $lVal -pos]
        }
    } elseif {![dexist $arguments model]} {
        return -code error {Inductor value must be specified with '-l value'}
    }
    if {[dexist $arguments model]} {
        lappend params [list model [dget $arguments model] -posnocheck]
    }
    dict for {paramName value} $arguments {
        if {$paramName ni {l beh model name np nm}} {
            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
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

Coupling

L [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

Inductor

LModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Model.addParam
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Model.deleteParam
genSPICEStringSee ::SpiceGenTcl::Model.genSPICEString
getParamsSee ::SpiceGenTcl::Model.getParams
setParamValueSee ::SpiceGenTcl::Model.setParamValue
Properties

Readable: -name, -type

Writable: -name, -type

Superclasses

::SpiceGenTcl::Model

constructor [::SpiceGenTcl::Ngspice::BasicDevices::LModel]LModel, Top, Main, Index

Creates object of class LModel that describes inductor model.

OBJECT constructor name ?-option value ...?
Details
Parameters
argsKeyword instance parameters.
nameName 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
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

VerilogA

R [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

Resistor

Resistor [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

R

constructor [::SpiceGenTcl::Ngspice::BasicDevices::Resistor]Resistor, Top, Main, Index

Creates object of class Resistor that describes resistor.

OBJECT constructor name np nm -r value ?-tc1 value? ?-tc2 value? ?-ac value? ?-m value? ?-noisy 0|1? ?-temp value|-dtemp value? ?-scale value?
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
-acAC resistance value, optional.
-behSelects behavioural type of resistor, optional.
-dtempTemperature offset, optional.
-lLength of semiconductor resistor, optional.
-mMultiplier value, optional.
-modelModel of the resistor, optional.
-noisySelects noise behaviour.
-rResistance value or equation.
-scaleScaling factor, optional.
-tc1Linear thermal coefficient, optional.
-tc2Quadratic thermal coefficient, optional.
-tempDevice temperature, optional.
-wWidth of semiconductor resistor, optional.
nameName of the device without first-letter designator R.
nmName of node connected to negative pin.
npName 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 {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
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 {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
    # ```
    # 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 r $rVal -eq]
        } elseif {([llength $rVal]>1) && ([@ $rVal 1] eq {-eq})} {
            lappend params [list r [@ $rVal 0] -poseq]
        } else {
            lappend params [list r $rVal -pos]
        }
    } elseif {![dexist $arguments model]} {
        return -code error {Resistor value must be specified with '-r value'}
    }
    if {[dexist $arguments model]} {
        lappend params [list model [dget $arguments model] -posnocheck]
    }
    dict for {paramName value} $arguments {
        if {$paramName ni {r beh model name np nm}} {
            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
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Model.addParam
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Model.deleteParam
genSPICEStringSee ::SpiceGenTcl::Model.genSPICEString
getParamsSee ::SpiceGenTcl::Model.getParams
setParamValueSee ::SpiceGenTcl::Model.setParamValue
Properties

Readable: -name, -type

Writable: -name, -type

Superclasses

::SpiceGenTcl::Model

constructor [::SpiceGenTcl::Ngspice::BasicDevices::RModel]RModel, Top, Main, Index

Creates object of class RModel that describes semiconductor resistor model.

OBJECT constructor name ?-option value ...?
Details
Parameters
argsKeyword instance parameters.
nameName 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
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

VSwitch

SubcircuitInstance [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

X

constructor [::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstance]SubcircuitInstance, Top, Main, Index

Creates object of class SubcircuitInstance that describes subcircuit instance.

SubcircuitInstance create OBJNAME ?args?
SubcircuitInstance new ?args?
Details
Parameters
nameName of the device without first-letter designator X.
params{{paramName paramValue ?-eq?} {paramName paramValue ?-eq?}}
pinsList of pins {{pinName nodeName} {pinName nodeName} ...}
subNameName 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} {c cpar -eq}}

#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 - {{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}}
    # ```
    ##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 {{paramName paramValue ?-eq?} {paramName paramValue ?-eq?}}}}
    }
    set params [linsert $params 0 [list model $subName -posnocheck]]
    next x$name $pins $params
}

SubcircuitInstanceAuto [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

XAuto

constructor [::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstanceAuto]SubcircuitInstanceAuto, Top, Main, Index

Creates object of class SubcircuitInstanceAuto that describes subcircuit instance with already created subcircuit definition object.

OBJECT constructor subcktObj name nodes ?-paramName paramValue ?-eq? ...?
Details
Parameters
subcktObjObject of subcircuit that defines it's pins, subName and parameters.
nameNot documented.
nodesList of nodes connected to pins in the same order as pins in subcircuit definition {nodeName1 nodeName2 ...}
argsParameters as argument in form : -paramName {paramValue ?-eq?} -paramName {paramValue ?-eq?}
Description
XYYYYYYY N1 <N2 N3 ...> SUBNAM

Example of class initialization:

::SpiceGenTcl::Ngspice::BasicDevices::SubcircuitInstanceAuto new $subcktObj 1 {net1 net2} -r 1 -c {cpar -eq}
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}
    # ```
    # Synopsis: subcktObj name nodes ?-paramName {paramValue ?-eq?} ...?

    # 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 getPins]]
    # 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 {![catch {$subcktObj getParams}]} {
        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 [list $paramName {*}$value]
        }
    } else {
        set params {}
    }
    set params [linsert $params 0 [list model $subName -posnocheck]]
    next x$name $pinsList $params
}

VerilogA [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

N

constructor [::SpiceGenTcl::Ngspice::BasicDevices::VerilogA]VerilogA, Top, Main, Index

Creates object of class VerilogA that describes Verilog-A instance.

VerilogA create OBJNAME ?args?
VerilogA new ?args?
Details
Parameters
modNameName of Verilog-A model.
nameName of the device without first-letter designator N.
params{{paramName paramValue ?-eq?} {paramName paramValue ?-eq?}}
pinsList 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} {c cpar -eq}}

#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 - {{paramName paramValue ?-eq?} {paramName paramValue ?-eq?}}
    # ```
    # NYYYYYYY N1 <N2 N3 ...> MODNAME
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::BasicDevices::VerilogA new 1 {{plus net1} {minus net2}} vmod {{r 1} {c cpar -eq}}
    # ```
    ##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 {{paramName paramValue ?-eq?} {paramName paramValue ?-eq?}}}}
    }
    set params [linsert $params 0 [list model $modName -posnocheck]]
    next n$name $pins $params
}

VSwitch [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::BasicDevices::VSwitch

Subclasses

S

VSwitchModel [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Model.addParam
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Model.deleteParam
genSPICEStringSee ::SpiceGenTcl::Model.genSPICEString
getParamsSee ::SpiceGenTcl::Model.getParams
setParamValueSee ::SpiceGenTcl::Model.setParamValue
Properties

Readable: -name, -type

Writable: -name, -type

Superclasses

::SpiceGenTcl::Model

constructor [::SpiceGenTcl::Ngspice::BasicDevices::VSwitchModel]VSwitchModel, Top, Main, Index

Creates object of class VSwitchModel that describes voltage switch model.

OBJECT constructor name ?-option value ...?
Details
Parameters
argsKeyword instance parameters.
nameName 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
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

CSwitch

X [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

SubcircuitInstance

XAuto [::SpiceGenTcl::Ngspice::BasicDevices]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
addPinSee ::SpiceGenTcl::Device.addPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
getParamsSee ::SpiceGenTcl::Device.getParams
getPinsSee ::SpiceGenTcl::Device.getPins
setParamValueSee ::SpiceGenTcl::Device.setParamValue
setPinNodeNameSee ::SpiceGenTcl::Device.setPinNodeName
Properties

Readable: -name

Writable: -name

Superclasses

SubcircuitInstanceAuto