Tcl SpiceGenTcl package (v0.60)

::SpiceGenTcl::Common::SourcesTop, Main, Index

ClassesTop, Main, Index

ac [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vac, Iac

constructor [::SpiceGenTcl::Common::Sources::ac]ac, Top, Main, Index

ac create OBJNAME name type npNode nmNode ?args?
ac new name type npNode nmNode ?args?
Parameters
nameNot documented.
typeNot documented.
npNodeNot documented.
nmNodeNot documented.
method constructor {name type npNode nmNode args} {

    set arguments [argparse -inline {
        {-ac= -required}
        -acphase=
    }]
    set acVal [dget $arguments ac]
    lappend params "ac -sw"
    if {([llength $acVal]>1) && ([@ $acVal 1]=="-eq")} {
        lappend params "acval [@ $acVal 0] -poseq"
    } else {
        lappend params "acval $acVal -pos"
    }
    dict for {paramName value} $arguments {
        if {$paramName ni {ac}} {
            if {([llength $value]>1) && ([@ $value 1]=="-eq")} {
                lappend params "$paramName [@ $value 0] -poseq"
            } else {
                lappend params "$paramName $value -pos"
            }
        }
    }
    next $type$name [list "np $npNode" "nm $nmNode"] $params
}

Cccs [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

F, ::SpiceGenTcl::Ngspice::Sources::Cccs, ::SpiceGenTcl::Xyce::Sources::Cccs

constructor [::SpiceGenTcl::Common::Sources::Cccs]Cccs, Top, Main, Index

Creates object of class Cccs that describes linear current-controlled current source.

OBJECT constructor name npNode nmNode -consrc value -gain value ?-m value?
Parameters
nameName of the device without first-letter designator F.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-consrcName of controlling source.
-gainCurrent gain.
-mParallel source multiplicator.
Description
FXXXXXXX N+ N- VNAM VALUE <m=val>

Example of class initialization:

::SpiceGenTcl::Common::Sources::Cccs new 1 net1 0 netc 0 -consrc vc -gain 10 -m 1
method constructor {name npNode nmNode args} {

    # Creates object of class `Cccs` that describes linear current-controlled current source.
    #  name - name of the device without first-letter designator F
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -consrc - name of controlling source
    #  -gain - current gain
    #  -m - parallel source multiplicator
    # ```
    # FXXXXXXX N+ N- VNAM VALUE <m=val>
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Cccs new 1 net1 0 netc 0 -consrc vc -gain 10 -m 1
    # ```
    # Synopsis: name npNode nmNode -consrc value -gain value ?-m value?
    set arguments [argparse -inline {
        {-consrc -required}
        {-gain -required}
        -m=
    }]
    set consrcVal [dget $arguments consrc]
    lappend params "consrc $consrcVal -posnocheck"
    set gainVal [dget $arguments gain]
    if {([llength $gainVal]>1) && ([@ $gainVal 1]=="-eq")} {
        lappend params "igain [@ $gainVal 0] -poseq"
    } else {
        lappend params "igain $gainVal -pos"
    }
    if {[dexist $arguments m]} {
        set mVal [dget $arguments m]
        if {([llength $mVal]>1) && ([@ $mVal 1]=="-eq")} {
            lappend params "m [@ $mVal 0] -eq"
        } else {
            lappend params "m $mVal"
        }
    }
    next f$name [list "np $npNode" "nm $nmNode"] $params
}

Ccvs [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

H, ::SpiceGenTcl::Ngspice::Sources::Ccvs, ::SpiceGenTcl::Xyce::Sources::Ccvs

constructor [::SpiceGenTcl::Common::Sources::Ccvs]Ccvs, Top, Main, Index

Creates object of class Ccvs that describes linear current-controlled current source.

OBJECT constructor name npNode nmNode -consrc value -transr value
Parameters
nameName of the device without first-letter designator H.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-consrcName of controlling source.
-transrTransresistance.
Description
HXXXXXXX N+ N- VNAM VALUE

Example of class initialization:

::SpiceGenTcl::Common::Sources::Ccvs new 1 net1 0 -consrc vc -transr {tres -eq}
method constructor {name npNode nmNode args} {

    # Creates object of class `Ccvs` that describes linear current-controlled current source.
    #  name - name of the device without first-letter designator H
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -consrc - name of controlling source
    #  -transr - transresistance
    # ```
    # HXXXXXXX N+ N- VNAM VALUE
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Ccvs new 1 net1 0 -consrc vc -transr {tres -eq}
    # ```
    # Synopsis: name npNode nmNode -consrc value -transr value
    set arguments [argparse -inline {
        {-consrc -required}
        {-transr -required}
    }]
    set consrcVal [dget $arguments consrc]
    lappend params "consrc $consrcVal -posnocheck"
    set transrVal [dget $arguments transr]
    if {([llength $transrVal]>1) && ([@ $transrVal 1]=="-eq")} {
        lappend params "transr [@ $transrVal 0] -poseq"
    } else {
        lappend params "transr $transrVal -pos"
    }
    next h$name [list "np $npNode" "nm $nmNode"] $params
}

dc [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vdc, Idc

constructor [::SpiceGenTcl::Common::Sources::dc]dc, Top, Main, Index

dc create OBJNAME name type npNode nmNode ?args?
dc new name type npNode nmNode ?args?
Parameters
nameNot documented.
typeNot documented.
npNodeNot documented.
nmNodeNot documented.
method constructor {name type npNode nmNode args} {

    set arguments [argparse -inline {
        {-dc= -required}
    }]
    set dcVal [dget $arguments dc]
    if {([llength $dcVal]>1) && ([@ $dcVal 1]=="-eq")} {
        lappend params "dc [@ $dcVal 0] -poseq"
    } else {
        lappend params "dc $dcVal -pos"
    }
    next $type$name [list "np $npNode" "nm $nmNode"] $params
}

E [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vcvs

exp [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vexp, Iexp

constructor [::SpiceGenTcl::Common::Sources::exp]exp, Top, Main, Index

exp create OBJNAME name type npNode nmNode ?args?
exp new name type npNode nmNode ?args?
Parameters
nameNot documented.
typeNot documented.
npNodeNot documented.
nmNodeNot documented.
method constructor {name type npNode nmNode args} {

    set arguments [argparse -inline {
        {-v1= -required}
        {-v2= -required}
        {-td1= -required}
        {-tau1= -required}
        {-td2= -required}
        {-tau2= -required}
    }]
    set paramsOrder [list v1 v2 td1 tau1 td2 tau2]
    foreach param $paramsOrder {
        if {[dexist $arguments $param]} {
            dict append argsOrdered $param [dget $arguments $param]
        }
    }
    lappend params "model exp -posnocheck"
    dict for {paramName value} $argsOrdered {
        if {([llength $value]>1) && ([@ $value 1]=="-eq")} {
            lappend params "$paramName [@ $value 0] -poseq"
        } else {
            lappend params "$paramName $value -pos"
        }
    }
    next $type$name [list "np $npNode" "nm $nmNode"] $params
}

F [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Cccs

G [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vccs

H [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Ccvs

Iac [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

ac

Subclasses

::SpiceGenTcl::Ngspice::Sources::Iac, ::SpiceGenTcl::Xyce::Sources::Iac

constructor [::SpiceGenTcl::Common::Sources::Iac]Iac, Top, Main, Index

Creates object of class Iac that describes ac current source.

Iac create OBJNAME name npNode nmNode ?args?
Iac new name npNode nmNode ?args?
Parameters
nameName of the device without first-letter designator I.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-acphasePhase of AC current.
-dcAC current value.
Description
IYYYYYYY n+ n- <AC<ACMAG<ACPHASE>>>

Example of class initialization:

::SpiceGenTcl::Common::Sources::Iac new 1 netp netm -ac 10 -acphase 45
Synopsis: name npNode nmNode -ac value ?-acphase value?
method constructor {name npNode nmNode args} {

    # Creates object of class `Iac` that describes ac current source.
    #  name - name of the device without first-letter designator I
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -dc - AC current value
    #  -acphase - phase of AC current
    # ```
    # IYYYYYYY n+ n- <AC<ACMAG<ACPHASE>>>
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Iac new 1 netp netm -ac 10 -acphase 45
    # Synopsis: name npNode nmNode -ac value ?-acphase value?
    next $name i $npNode $nmNode {*}$args
}

Idc [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

dc

Subclasses

::SpiceGenTcl::Ngspice::Sources::Idc, ::SpiceGenTcl::Xyce::Sources::Idc

constructor [::SpiceGenTcl::Common::Sources::Idc]Idc, Top, Main, Index

Creates object of class Idc that describes simple constant voltage source.

OBJECT constructor name npNode nmNode -dc value
Parameters
nameName of the device without first-letter designator I.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-dcDC voltage value.
Description
IYYYYYYY n+ n- <<DC> DC/TRAN VALUE>>

Example of class initialization:

::SpiceGenTcl::Common::Sources::Idc new 1 netp netm -dc 10
method constructor {name npNode nmNode args} {

    # Creates object of class `Idc` that describes simple constant voltage source.
    #  name - name of the device without first-letter designator I
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -dc - DC voltage value
    # ```
    # IYYYYYYY n+ n- <<DC> DC/TRAN VALUE>>
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Idc new 1 netp netm -dc 10
    # ```
    # Synopsis: name npNode nmNode -dc value
    next $name i $npNode $nmNode {*}$args
}

Iexp [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

exp

Subclasses

::SpiceGenTcl::Ngspice::Sources::Iexp, ::SpiceGenTcl::Xyce::Sources::Iexp

constructor [::SpiceGenTcl::Common::Sources::Iexp]Iexp, Top, Main, Index

Creates object of class Iexp that describes exponential current source.

OBJECT constructor name npNode nmNode -v1 value -v2 value -td1 value -tau1 value -td2 value -tau2 value
Parameters
nameName of the device without first-letter designator I.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-tau1Rise time constant.
-tau2Fall time constant.
-td1Rise delay time.
-td2Fall delay time.
-v1Initial value.
-v2Pulsed value.
Description
IYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Iexp new 1 net1 net2 -v1 0 -v2 1 -td1 1e-9 -tau1 1e-9 -td2 {td2 -eq} -tau2 10e-6
method constructor {name npNode nmNode args} {

    # Creates object of class `Iexp` that describes exponential current source.
    #  name - name of the device without first-letter designator I
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -v1 - initial value
    #  -v2 - pulsed value
    #  -td1 - rise delay time
    #  -tau1 - rise time constant
    #  -td2 - fall delay time
    #  -tau2 - fall time constant
    # ```
    # IYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Iexp new 1 net1 net2 -v1 0 -v2 1 -td1 1e-9 -tau1 1e-9 -td2 {td2 -eq} -tau2 10e-6
    # ```
    # Synopsis: name npNode nmNode -v1 value -v2 value -td1 value -tau1 value -td2 value -tau2 value
    next $name i $npNode $nmNode {*}$args
}

Ipulse [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

pulse

Subclasses

::SpiceGenTcl::Xyce::Sources::Ipulse

constructor [::SpiceGenTcl::Common::Sources::Ipulse]Ipulse, Top, Main, Index

Creates object of class Ipulse that describes pulse current source.

OBJECT constructor name npNode nmNode -low value -high value -td value -tr value -tf value -pw value -per value
Parameters
nameName of the device without first-letter designator I.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-highHigh value.
-lowLow value.
-perPeriod time.
-pwWidth of pulse.
-tdTime delay.
-tfFall time.
-trRise time.
Description
IYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Ipulse new 1 net1 net2 -low 0 -high 1 -td {td -eq} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6
method constructor {name npNode nmNode args} {

    # Creates object of class `Ipulse` that describes pulse current source.
    #  name - name of the device without first-letter designator I
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -low - low value
    #  -high - high value
    #  -td - time delay
    #  -tr - rise time
    #  -tf - fall time
    #  -pw - width of pulse
    #  -per - period time
    # ```
    # IYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Ipulse new 1 net1 net2 -low 0 -high 1 -td {td -eq} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6
    # ```
    # Synopsis: name npNode nmNode -low value -high value -td value -tr value -tf value -pw value -per value
    next $name i $npNode $nmNode {*}$args
}

Ipwl [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

pwl

Subclasses

::SpiceGenTcl::Ngspice::Sources::Ipwl, ::SpiceGenTcl::Xyce::Sources::Ipwl

constructor [::SpiceGenTcl::Common::Sources::Ipwl]Ipwl, Top, Main, Index

Creates object of class Ipwl that describes piece-wise current source.

OBJECT constructor name npNode nmNode -seq list
Parameters
nameName of the device without first-letter designator I.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-seqSequence of pwl points in form {t0 v0 t1 v1 t2 v2 t3 v3 ...}
Description
IYYYYYYY n+ n- PWL (T1 V1 <T2 V2 T3 V3 T4 V4 ...>)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Ipwl new 1 npNode nmNode -seq {0 0 {t1 -eq} 1 2 2 3 3 4 4}
method constructor {name npNode nmNode args} {

    # Creates object of class `Ipwl` that describes piece-wise current source.
    #  name - name of the device without first-letter designator I
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -seq - sequence of pwl points in form {t0 v0 t1 v1 t2 v2 t3 v3 ...}
    # ```
    # IYYYYYYY n+ n- PWL (T1 V1 <T2 V2 T3 V3 T4 V4 ...>)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Ipwl new 1 npNode nmNode -seq {0 0 {t1 -eq} 1 2 2 3 3 4 4}
    # ```
    # Synopsis: name npNode nmNode -seq list
    next $name i $npNode $nmNode {*}$args
}

Isffm [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

sffm

Subclasses

::SpiceGenTcl::Xyce::Sources::Isffm

constructor [::SpiceGenTcl::Common::Sources::Isffm]Isffm, Top, Main, Index

Creates object of class Isffm that describes single-frequency FM current source.

OBJECT constructor name npNode nmNode -v0 value -va value -fc value -mdi value -fs value
Parameters
nameName of the device without first-letter designator I.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-fcCarrier frequency.
-fsSignal frequency.
-mdiModulation index.
-v0Initial value.
-vaPulsed value.
Description
IYYYYYYY n+ n- SFFM(VO VA FC MDI FS)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Isin new 1 net1 net2 -v0 0 -va 1 -fc {freq -eq} -mdi 0 -fs 1e3
method constructor {name npNode nmNode args} {

    # Creates object of class `Isffm` that describes single-frequency FM current source.
    #  name - name of the device without first-letter designator I
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -v0 - initial value
    #  -va - pulsed value
    #  -fc - carrier frequency
    #  -mdi - modulation index
    #  -fs - signal frequency
    # ```
    # IYYYYYYY n+ n- SFFM(VO VA FC MDI FS)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Isin new 1 net1 net2 -v0 0 -va 1 -fc {freq -eq} -mdi 0 -fs 1e3
    # ```
    # Synopsis: name npNode nmNode -v0 value -va value -fc value -mdi value -fs value
    next $name i $npNode $nmNode {*}$args
}

Isin [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

sin

Subclasses

::SpiceGenTcl::Ngspice::Sources::Isin, ::SpiceGenTcl::Xyce::Sources::Isin

constructor [::SpiceGenTcl::Common::Sources::Isin]Isin, Top, Main, Index

Creates object of class Isin that describes sinusoidal current source.

OBJECT constructor name npNode nmNode -v0 value -va value -freq value ?-td value ?-theta value ?-phase value???
Parameters
nameName of the device without first-letter designator I.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-freqFrequency of sinusoidal signal.
-phasePhase of signal, optional, require -td and -phase.
-tdTime delay, optional.
-thetaDamping factor, optional, require -td.
-v0DC shift value.
-vaAmplitude value.
Description
IYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Isin new 1 net1 net2 -v0 0 -va 2 -freq {freq -eq} -td 1e-6 -theta {theta -eq}
method constructor {name npNode nmNode args} {

    # Creates object of class `Isin` that describes sinusoidal current source.
    #  name - name of the device without first-letter designator I
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -v0 - DC shift value
    #  -va - amplitude value
    #  -freq - frequency of sinusoidal signal
    #  -td - time delay, optional
    #  -theta - damping factor, optional, require -td
    #  -phase - phase of signal, optional, require -td and -phase
    # ```
    # IYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Isin new 1 net1 net2 -v0 0 -va 2 -freq {freq -eq} -td 1e-6 -theta {theta -eq}
    # ```
    # Synopsis: name npNode nmNode -v0 value -va value -freq value ?-td value ?-theta value ?-phase value???
    next $name i $npNode $nmNode {*}$args
}

pulse [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vpulse, Ipulse

constructor [::SpiceGenTcl::Common::Sources::pulse]pulse, Top, Main, Index

pulse create OBJNAME name type npNode nmNode ?args?
pulse new name type npNode nmNode ?args?
Parameters
nameNot documented.
typeNot documented.
npNodeNot documented.
nmNodeNot documented.
method constructor {name type npNode nmNode args} {

    set arguments [argparse -inline {
        {-low= -required}
        {-high= -required}
        {-td= -required}
        {-tr= -required}
        {-tf= -required}
        {-pw= -required}
        {-per= -required}
    }]
    set paramsOrder [list low high td tr tf pw per]
    foreach param $paramsOrder {
        if {[dexist $arguments $param]} {
            dict append argsOrdered $param [dget $arguments $param]
        }
    }
    lappend params "model pulse -posnocheck"
    dict for {paramName value} $argsOrdered {
        if {([llength $value]>1) && ([@ $value 1]=="-eq")} {
            lappend params "$paramName [@ $value 0] -poseq"
        } else {
            lappend params "$paramName $value -pos"
        }
    }
    next $type$name [list "np $npNode" "nm $nmNode"] $params
}

pwl [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vpwl, Ipwl

constructor [::SpiceGenTcl::Common::Sources::pwl]pwl, Top, Main, Index

pwl create OBJNAME name type npNode nmNode ?args?
pwl new name type npNode nmNode ?args?
Parameters
nameNot documented.
typeNot documented.
npNodeNot documented.
nmNodeNot documented.
method constructor {name type npNode nmNode args} {

    set arguments [argparse -inline {
        {-seq= -required}
    }]
    set pwlSeqVal [dget $arguments seq]
    set pwlSeqLen [llength $pwlSeqVal]
    if {$pwlSeqLen%2} {
        return -code error "Number of elements '$pwlSeqLen' in pwl sequence is odd in element '$type$name', must be even"
    } elseif {$pwlSeqLen<4} {
        return -code error "Number of elements '$pwlSeqLen' in pwl sequence in element '$type$name' must be >=4"
    }
    # parse pwlSeq argument
    for {set i 0} {$i<[llength $pwlSeqVal]/2} {incr i} {
        set 2i [* 2 $i]
        set 2ip1 [+ $2i 1]
        lappend params "t$i [list [@ $pwlSeqVal $2i]]" "$type$i [list [@ $pwlSeqVal $2ip1]]"
    }
    foreach param $params {
        if {([llength [@ $param 1]]>1) && ([@ [@ $param 1] 1]=="-eq")} {
            lappend paramList "[@ $param 0] [@ [@ $param 1] 0] -poseq"
        } else {
            lappend paramList "[@ $param 0] [@ $param 1] -pos"
        }
    }
    set paramList [linsert $paramList 0 "model pwl -posnocheck"]
    next $type$name [list "np $npNode" "nm $nmNode"] $paramList
}

sffm [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vsffm, Isffm

constructor [::SpiceGenTcl::Common::Sources::sffm]sffm, Top, Main, Index

sffm create OBJNAME name type npNode nmNode ?args?
sffm new name type npNode nmNode ?args?
Parameters
nameNot documented.
typeNot documented.
npNodeNot documented.
nmNodeNot documented.
method constructor {name type npNode nmNode args} {

    set arguments [argparse -inline {
        {-v0= -required}
        {-va= -required}
        {-fc= -required}
        {-mdi= -required}
        {-fs= -required}
    }]
    set paramsOrder [list v0 va fc mdi fs]
    foreach param $paramsOrder {
        if {[dexist $arguments $param]} {
            dict append argsOrdered $param [dget $arguments $param]
        }
    }
    lappend params "model sffm -posnocheck"
    dict for {paramName value} $argsOrdered {
        if {([llength $value]>1) && ([@ $value 1]=="-eq")} {
            lappend params "$paramName [@ $value 0] -poseq"
        } else {
            lappend params "$paramName $value -pos"
        }
    }
    next $type$name [list "np $npNode" "nm $nmNode"] $params
}

sin [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

Vsin, Isin

constructor [::SpiceGenTcl::Common::Sources::sin]sin, Top, Main, Index

sin create OBJNAME name type npNode nmNode ?args?
sin new name type npNode nmNode ?args?
Parameters
nameNot documented.
typeNot documented.
npNodeNot documented.
nmNodeNot documented.
method constructor {name type npNode nmNode args} {

    set arguments [argparse -inline {
        {-v0= -required}
        {-va= -required}
        {-freq= -required}
        -td=
        {-theta= -require {td}}
        {-phase= -require {td theta}}
    }]
    set paramsOrder [list v0 va freq td theta phase]
    foreach param $paramsOrder {
        if {[dexist $arguments $param]} {
            dict append argsOrdered $param [dget $arguments $param]
        }
    }
    lappend params "model sin -posnocheck"
    dict for {paramName value} $argsOrdered {
        if {([llength $value]>1) && ([@ $value 1]=="-eq")} {
            lappend params "$paramName [@ $value 0] -poseq"
        } else {
            lappend params "$paramName $value -pos"
        }
    }
    next $type$name [list "np $npNode" "nm $nmNode"] $params
}

Vac [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

ac

Subclasses

::SpiceGenTcl::Ngspice::Sources::Vac, ::SpiceGenTcl::Xyce::Sources::Vac

constructor [::SpiceGenTcl::Common::Sources::Vac]Vac, Top, Main, Index

Creates object of class Vac that describes ac voltage source.

OBJECT constructor name npNode nmNode -ac value ?-acphase value?
Parameters
nameName of the device without first-letter designator V.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-acphasePhase of AC voltage.
-dcAC voltage value.
Description
VYYYYYYY n+ n- <AC<ACMAG<ACPHASE>>>

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vac new 1 netp netm -ac 10 -acphase 45
method constructor {name npNode nmNode args} {

    # Creates object of class `Vac` that describes ac voltage source.
    #  name - name of the device without first-letter designator V
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -dc - AC voltage value
    #  -acphase - phase of AC voltage
    # ```
    # VYYYYYYY n+ n- <AC<ACMAG<ACPHASE>>>
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vac new 1 netp netm -ac 10 -acphase 45
    # ```
    # Synopsis: name npNode nmNode -ac value ?-acphase value?
    next $name v $npNode $nmNode {*}$args
}

Vccs [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

G, ::SpiceGenTcl::Ngspice::Sources::Vccs, ::SpiceGenTcl::Xyce::Sources::Vccs

constructor [::SpiceGenTcl::Common::Sources::Vccs]Vccs, Top, Main, Index

Creates object of class Vccs that describes linear voltage-controlled current source.

OBJECT constructor name npNode nmNode ncpNode ncmNode -trcond value ?-m value?
Parameters
nameName of the device without first-letter designator G.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
ncpNodeName of node connected to positive controlling pin.
ncmNodeName of node connected to negative controlling pin.
-mMultiplier factor, optional.
-trcondTransconductance.
Description
GXXXXXXX N+ N- NC+ NC- VALUE <m=val>

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vccs new 1 net1 0 netc 0 -trcond 10 -m 1
method constructor {name npNode nmNode ncpNode ncmNode args} {

    # Creates object of class `Vccs` that describes linear voltage-controlled current source.
    #  name - name of the device without first-letter designator G
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  ncpNode - name of node connected to positive controlling pin
    #  ncmNode - name of node connected to negative controlling pin
    #  -trcond - transconductance
    #  -m - multiplier factor, optional
    # ```
    # GXXXXXXX N+ N- NC+ NC- VALUE <m=val>
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vccs new 1 net1 0 netc 0 -trcond 10 -m 1
    # ```
    # Synopsis: name npNode nmNode ncpNode ncmNode -trcond value ?-m value?
    set arguments [argparse -inline {
        {-trcond -required}
        -m=
    }]
    set trcondVal [dget $arguments trcond]
    if {([llength $trcondVal]>1) && ([@ $trcondVal 1]=="-eq")} {
        lappend params "trcond [@ $trcondVal 0] -poseq"
    } else {
        lappend params "trcond $trcondVal -pos"
    }
    if {[dexist $arguments m]} {
        set mVal [dget $arguments m]
        if {([llength $mVal]>1) && ([@ $mVal 1]=="-eq")} {
            lappend params "m [@ $mVal 0] -eq"
        } else {
            lappend params "m $mVal"
        }
    }
    next g$name [list "np $npNode" "nm $nmNode" "ncp $ncpNode" "ncm $ncmNode"] $params
}

Vcvs [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

E, ::SpiceGenTcl::Ngspice::Sources::Vcvs, ::SpiceGenTcl::Xyce::Sources::Vcvs

constructor [::SpiceGenTcl::Common::Sources::Vcvs]Vcvs, Top, Main, Index

Creates object of class Vcvs that describes linear voltage-controlled current source.

OBJECT constructor name npNode nmNode ncpNode ncmNode -gain value
Parameters
nameName of the device without first-letter designator G.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
ncpNodeName of node connected to positive controlling pin.
ncmNodeName of node connected to negative controlling pin.
-gainVoltage gain.
Description
EXXXXXXX N+ N- NC+ NC- VALUE

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vcvs new 1 net1 0 netc 0 -gain 10
method constructor {name npNode nmNode ncpNode ncmNode args} {

    # Creates object of class `Vcvs` that describes linear voltage-controlled current source.
    #  name - name of the device without first-letter designator G
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  ncpNode - name of node connected to positive controlling pin
    #  ncmNode - name of node connected to negative controlling pin
    #  -gain - voltage gain
    # ```
    # EXXXXXXX N+ N- NC+ NC- VALUE
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vcvs new 1 net1 0 netc 0 -gain 10
    # ```
    # Synopsis: name npNode nmNode ncpNode ncmNode -gain value
    set arguments [argparse -inline {
        {-gain -required}
    }]
    set gainVal [dget $arguments gain]
    if {([llength $gainVal]>1) && ([@ $gainVal 1]=="-eq")} {
        lappend params "vgain [@ $gainVal 0] -poseq"
    } else {
        lappend params "vgain $gainVal -pos"
    }
    next e$name [list "np $npNode" "nm $nmNode" "ncp $ncpNode" "ncm $ncmNode"] $params
}

Vdc [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

dc

Subclasses

::SpiceGenTcl::Ngspice::Sources::Vdc, ::SpiceGenTcl::Xyce::Sources::Vdc

constructor [::SpiceGenTcl::Common::Sources::Vdc]Vdc, Top, Main, Index

Creates object of class Vdc that describes simple constant voltage source.

OBJECT constructor name npNode nmNode -dc value
Parameters
nameName of the device without first-letter designator V.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-dcDC voltage value.
Description
VYYYYYYY n+ n- <<DC> DC/TRAN VALUE>>

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vdc new 1 netp netm -dc 10
method constructor {name npNode nmNode args} {

    # Creates object of class `Vdc` that describes simple constant voltage source.
    #  name - name of the device without first-letter designator V
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -dc - DC voltage value
    # ```
    # VYYYYYYY n+ n- <<DC> DC/TRAN VALUE>>
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vdc new 1 netp netm -dc 10
    # ```
    # Synopsis: name npNode nmNode -dc value
    next $name v $npNode $nmNode {*}$args
}

Vexp [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

exp

Subclasses

::SpiceGenTcl::Ngspice::Sources::Vexp, ::SpiceGenTcl::Xyce::Sources::Vexp

constructor [::SpiceGenTcl::Common::Sources::Vexp]Vexp, Top, Main, Index

Creates object of class Vexp that describes exponential voltage source.

OBJECT constructor name npNode nmNode -v1 value -v2 value -td1 value -tau1 value -td2 value -tau2 value
Parameters
nameName of the device without first-letter designator V.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-tau1Rise time constant.
-tau2Fall time constant.
-td1Rise delay time.
-td2Fall delay time.
-v1Initial value.
-v2Pulsed value.
Description
VYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vexp new 1 net1 net2 -v1 0 -v2 1 -td1 1e-9 -tau1 1e-9 -td2 {td2 -eq} -tau2 10e-6
method constructor {name npNode nmNode args} {

    # Creates object of class `Vexp` that describes exponential voltage source.
    #  name - name of the device without first-letter designator V
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -v1 - initial value
    #  -v2 - pulsed value
    #  -td1 - rise delay time
    #  -tau1 - rise time constant
    #  -td2 - fall delay time
    #  -tau2 - fall time constant
    # ```
    # VYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vexp new 1 net1 net2 -v1 0 -v2 1 -td1 1e-9 -tau1 1e-9 -td2 {td2 -eq} -tau2 10e-6
    # ```
    # Synopsis: name npNode nmNode -v1 value -v2 value -td1 value -tau1 value -td2 value -tau2 value
    next $name v $npNode $nmNode {*}$args
}

Vpulse [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

pulse

Subclasses

::SpiceGenTcl::Xyce::Sources::Vpulse

constructor [::SpiceGenTcl::Common::Sources::Vpulse]Vpulse, Top, Main, Index

Creates object of class Vpulse that describes pulse voltage source.

OBJECT constructor name npNode nmNode -low value -high value -td value -tr value -tf value -pw value -per value
Parameters
nameName of the device without first-letter designator V.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-highHigh value.
-lowLow value.
-perPeriod time.
-pwWidth of pulse.
-tdTime delay.
-tfFall time.
-trRise time.
Description
VYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vpulse new 1 net1 net2 -low 0 -high 1 -td {td -eq} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6
method constructor {name npNode nmNode args} {

    # Creates object of class `Vpulse` that describes pulse voltage source.
    #  name - name of the device without first-letter designator V
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -low - low value
    #  -high - high value
    #  -td - time delay
    #  -tr - rise time
    #  -tf - fall time
    #  -pw - width of pulse
    #  -per - period time
    # ```
    # VYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vpulse new 1 net1 net2 -low 0 -high 1 -td {td -eq} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6
    # ```
    # Synopsis: name npNode nmNode -low value -high value -td value -tr value -tf value -pw value -per value
    next $name v $npNode $nmNode {*}$args
}

Vpwl [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

pwl

Subclasses

::SpiceGenTcl::Ngspice::Sources::Vpwl, ::SpiceGenTcl::Xyce::Sources::Vpwl

constructor [::SpiceGenTcl::Common::Sources::Vpwl]Vpwl, Top, Main, Index

Creates object of class Vpwl that describes piece-wise voltage source.

OBJECT constructor name npNode nmNode -seq list
Parameters
nameName of the device without first-letter designator V.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-seqSequence of pwl points in form {t0 v0 t1 v1 t2 v2 t3 v3 ...}
Description
VYYYYYYY n+ n- PWL (T1 V1 <T2 V2 T3 V3 T4 V4 ...>)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vpwl new 1 npNode nmNode -seq {0 0 {t1 -eq} 1 2 2 3 3 4 4}
method constructor {name npNode nmNode args} {

    # Creates object of class `Vpwl` that describes piece-wise voltage source.
    #  name - name of the device without first-letter designator V
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -seq - sequence of pwl points in form {t0 v0 t1 v1 t2 v2 t3 v3 ...}
    # ```
    # VYYYYYYY n+ n- PWL (T1 V1 <T2 V2 T3 V3 T4 V4 ...>)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vpwl new 1 npNode nmNode -seq {0 0 {t1 -eq} 1 2 2 3 3 4 4}
    # ```
    # Synopsis: name npNode nmNode -seq list
    next $name v $npNode $nmNode {*}$args
}

Vsffm [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

sffm

Subclasses

::SpiceGenTcl::Xyce::Sources::Vsffm

constructor [::SpiceGenTcl::Common::Sources::Vsffm]Vsffm, Top, Main, Index

Creates object of class Vsffm that describes single-frequency FM voltage source.

OBJECT constructor name npNode nmNode -v0 value -va value -fc value -mdi value -fs value
Parameters
nameName of the device without first-letter designator V.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-fcCarrier frequency.
-fsSignal frequency.
-mdiModulation index.
-v0Initial value.
-vaPulsed value.
Description
VYYYYYYY n+ n- SFFM(VO VA FC MDI FS)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vsin new 1 net1 net2 -v0 0 -va 1 -fc {freq -eq} -mdi 0 -fs 1e3
method constructor {name npNode nmNode args} {

    # Creates object of class `Vsffm` that describes single-frequency FM voltage source.
    #  name - name of the device without first-letter designator V
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -v0 - initial value
    #  -va - pulsed value
    #  -fc - carrier frequency
    #  -mdi - modulation index
    #  -fs - signal frequency
    # ```
    # VYYYYYYY n+ n- SFFM(VO VA FC MDI FS)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vsin new 1 net1 net2 -v0 0 -va 1 -fc {freq -eq} -mdi 0 -fs 1e3
    # ```
    # Synopsis: name npNode nmNode -v0 value -va value -fc value -mdi value -fs value
    next $name v $npNode $nmNode {*}$args
}

Vsin [::SpiceGenTcl::Common::Sources]Top, Main, Index

Method summary
constructorConstructor for the class.
addParamSee ::SpiceGenTcl::Device.addParam
argsPreprocessSee ::SpiceGenTcl::KeyArgsBuilder.argsPreprocess
buildArgStrSee ::SpiceGenTcl::KeyArgsBuilder.buildArgStr
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
deleteParamSee ::SpiceGenTcl::Device.deleteParam
duplListCheckSee ::SpiceGenTcl::DuplChecker.duplListCheck
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

sin

Mixins

::SpiceGenTcl::KeyArgsBuilder

Subclasses

::SpiceGenTcl::Ngspice::Sources::Vsin, ::SpiceGenTcl::Xyce::Sources::Vsin

constructor [::SpiceGenTcl::Common::Sources::Vsin]Vsin, Top, Main, Index

Creates object of class Vsin that describes sinusoidal voltage source.

OBJECT constructor name npNode nmNode -v0 value -va value -freq value ?-td value ?-theta value ?-phase value???
Parameters
nameName of the device without first-letter designator V.
npNodeName of node connected to positive pin.
nmNodeName of node connected to negative pin.
-freqFrequency of sinusoidal signal.
-phasePhase of signal, optional, require -td and -phase.
-tdTime delay, optional.
-thetaDamping factor, optional, require -td.
-v0DC shift value.
-vaAmplitude value.
Description
VYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)

Example of class initialization:

::SpiceGenTcl::Common::Sources::Vsin new 1 net1 net2 -v0 0 -va 2 -freq {freq -eq} -td 1e-6 -theta {theta -eq}
method constructor {name npNode nmNode args} {

    # Creates object of class `Vsin` that describes sinusoidal voltage source.
    #  name - name of the device without first-letter designator V
    #  npNode - name of node connected to positive pin
    #  nmNode - name of node connected to negative pin
    #  -v0 - DC shift value
    #  -va - amplitude value
    #  -freq - frequency of sinusoidal signal
    #  -td - time delay, optional
    #  -theta - damping factor, optional, require -td
    #  -phase - phase of signal, optional, require -td and -phase
    # ```
    # VYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Common::Sources::Vsin new 1 net1 net2 -v0 0 -va 2 -freq {freq -eq} -td 1e-6 -theta {theta -eq}
    # ```
    # Synopsis: name npNode nmNode -v0 value -va value -freq value ?-td value ?-theta value ?-phase value???
    next $name v $npNode $nmNode {*}$args
}