Tcl SpiceGenTcl package (v0.71)

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

ClassesTop, Main, Index

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Subclasses

Vac, Iac

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

ac create OBJNAME type ?args?
ac new type ?args?
Parameters
typeNot documented.
method constructor {type args} {

    if {$type eq {v}} {
        set typeName voltage
    } else {
        set typeName current
    }
    set arguments [argparse -inline -pfirst -help "Creates object of class '[string totitle ${type}ac]' that describes ac $typeName source" {
        {-dc= -default 0 -help {DC voltage value}}
        {-ac= -required -help {AC voltage value}}
        {-acphase= -help {Phase of AC voltage}}
        {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 dcVal [dget $arguments dc]
    if {([llength $dcVal]>1) && ([@ $dcVal 0] eq {-eq})} {
        lappend params [list -poseq dc [@ $dcVal 1]]
    } else {
        lappend params [list -pos dc $dcVal]
    }
    set acVal [dget $arguments ac]
    lappend params {-posnocheck acsw ac}
    if {([llength $acVal]>1) && ([@ $acVal 0] eq {-eq})} {
        lappend params [list -poseq ac [@ $acVal 1]]
    } else {
        lappend params [list -pos ac $acVal]
    }
    dict for {paramName value} $arguments {
        if {$paramName ni {ac dc name np nm}} {
            if {([llength $value]>1) && ([@ $value 0] eq {-eq})} {
                lappend params [list -poseq $paramName [@ $value 1]]
            } else {
                lappend params [list -pos $paramName $value]
            }
        }
    }
    next $type[dget $arguments name] [my FormPinNodeList $arguments {np nm}] $params
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Subclasses

F, ::SpiceGenTcl::Ngspice::Sources::Cccs, ::SpiceGenTcl::Xyce::Sources::Cccs, ::SpiceGenTcl::Ltspice::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 np nm -consrc value -gain value ?-m value?
Parameters
-consrc valueName of controlling source.
-gain valueCurrent gain.
-m valueParallel source multiplicator.
nameName of the device without first-letter designator F.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
FXXXXXXX N+ N- VNAM VALUE <m=val>

Example of class initialization:

Cccs new 1 net1 0 netc 0 -consrc vc -gain 10 -m 1
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Subclasses

H, ::SpiceGenTcl::Ngspice::Sources::Ccvs, ::SpiceGenTcl::Xyce::Sources::Ccvs, ::SpiceGenTcl::Ltspice::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 np nm -consrc value -transr value
Parameters
-consrc valueName of controlling source.
-transr valueTransresistance.
nameName of the device without first-letter designator H.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
HXXXXXXX N+ N- VNAM VALUE

Example of class initialization:

Ccvs new 1 net1 0 -consrc vc -transr {-eq tres}
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Subclasses

Vdc, Idc

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

dc create OBJNAME type ?args?
dc new type ?args?
Parameters
typeNot documented.
method constructor {type args} {

    if {$type eq {v}} {
        set typeName voltage
    } else {
        set typeName current
    }
    set arguments [argparse -inline -pfirst -help "Creates object of class '[string totitle ${type}dc]' that describes simple constant $typeName source" {
        {-dc= -required -help {DC value}}
        {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 dcVal [dget $arguments dc]
    if {([llength $dcVal]>1) && ([@ $dcVal 0] eq {-eq})} {
        lappend params [list -poseq dc [@ $dcVal 1]]
    } else {
        lappend params [list -pos dc $dcVal]
    }
    next $type[dget $arguments name] [my FormPinNodeList $arguments {np nm}] $params
}

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

Method summary
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

Vcvs

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Mixins

::SpiceGenTcl::Utility

Subclasses

Vexp, Iexp

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

exp create OBJNAME type ?args?
exp new type ?args?
Parameters
typeNot documented.
method constructor {type args} {

    if {$type eq {v}} {
        set typeName voltage
    } else {
        set typeName current
    }
    set arguments [argparse -inline -pfirst -help "Creates object of class '[string totitle ${type}exp]' that describes exponential $typeName source" {
        {-dc= -help {DC value}}
        {-ac= -help {AC value}}
        {-acphase= -require ac -help {}}
        {-i1|v1= -required -help {Initial value}}
        {-i2|v2= -required -help {Pulsed value}}
        {-td1= -required -help {Rise delay time}}
        {-tau1= -required -help {Rise time constant}}
        {-td2= -required -help {Fall delay time}}
        {-tau2= -required -help {Fall time constant}}
        {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}}
    }]
    if {[dexist $arguments dc]} {
        lappend params {-sw dc}
        set dcVal [dget $arguments dc]
        if {([llength $dcVal]>1) && ([@ $dcVal 0] eq {-eq})} {
            lappend params [list -poseq dcval [@ $dcVal 1]]
        } else {
            lappend params [list -pos dcval $dcVal]
        }
    }
    if {[dexist $arguments ac]} {
        lappend params {-posnocheck acsw ac}
        set acVal [dget $arguments ac]
        if {([llength $acVal]>1) && ([@ $acVal 0] eq {-eq})} {
            lappend params [list -poseq ac [@ $acVal 1]]
        } else {
            lappend params [list -pos ac $acVal]
        }
        if {[dexist $arguments acphase]} {
            set acphaseVal [dget $arguments acphase]
            if {([llength $acphaseVal]>1) && ([@ $acphaseVal 0] eq {-eq})} {
                lappend params [list -poseq acphase [@ $acphaseVal 1]]
            } else {
                lappend params [list -pos acphase $acphaseVal]
            }
        }
    }
    set paramsOrder {v1 v2 td1 tau1 td2 tau2}
    lappend params {-posnocheck model exp}
    my ParamsProcess $paramsOrder $arguments params
    next $type[dget $arguments name] [my FormPinNodeList $arguments {np nm}] $params
}

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

Method summary
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

Cccs

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

Method summary
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

Vccs

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

Method summary
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

Ccvs

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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.

OBJECT constructor name np nm -ac value ?-acphase value?
Parameters
-acphase valuePhase of AC current.
-dc valueAC current value.
nameName of the device without first-letter designator I.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
IYYYYYYY n+ n- <AC<ACMAG<ACPHASE>>>

Example of class initialization:

Iac new 1 netp netm -ac 10 -acphase 45
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 current source.

OBJECT constructor name np nm -dc value
Parameters
-dc valueDC voltage value.
nameName of the device without first-letter designator I.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
IYYYYYYY n+ n- <<DC> DC/TRAN VALUE>>

Example of class initialization:

Idc new 1 netp netm -dc 10
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -i1 value -i2 value -td1 value -tau1 value -td2 value -tau2 value ?-phase|phi value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-i1 valueInitial value.
-i2 valuePulsed value.
-tau1 valueRise time constant.
-tau2 valueFall time constant.
-td1 valueRise delay time.
-td2 valueFall delay time.
nameName of the device without first-letter designator I.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
IYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)

Example of class initialization:

Iexp new 1 net1 net2 -i1 0 -i2 1 -td1 1e-9 -tau1 1e-9 -td2 {-eq td2} -tau2 10e-6
method constructor {args} {

    # Creates object of class `Iexp` that describes exponential current source.
    #  name - name of the device without first-letter designator I
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -i1 value - initial value
    #  -i2 value - pulsed value
    #  -td1 value - rise delay time
    #  -tau1 value - rise time constant
    #  -td2 value - fall delay time
    #  -tau2 value - fall time constant
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # IYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)
    # ```
    # Example of class initialization:
    # ```
    # Iexp new 1 net1 net2 -i1 0 -i2 1 -td1 1e-9 -tau1 1e-9 -td2 {-eq td2} -tau2 10e-6
    # ```
    # Synopsis: name np nm -i1 value -i2 value -td1 value -tau1 value -td2 value -tau2 value
    #   ?-phase|phi value???
    next i {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -voff|ioff|low value -von|ion|high value -td value -tr value -tf value -pw|ton value ?-phase|phi value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-high valueHigh value, aliases: -von, -ion
-low valueLow value, aliases: -voff, -ioff
-per valuePeriod time, alias -tper
-pw valueWidth of pulse, alias -ton
-td valueTime delay.
-tf valueFall time.
-tr valueRise time.
nameName of the device without first-letter designator I.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
IYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)

Example of class initialization:

Ipulse new 1 net1 net2 -low 0 -high 1 -td {-eq td} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6
method constructor {args} {

    # Creates object of class `Ipulse` that describes pulse current source.
    #  name - name of the device without first-letter designator I
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -low value - low value, aliases: `-voff`, `-ioff`
    #  -high value - high value, aliases: `-von`, `-ion`
    #  -td value - time delay
    #  -tr value - rise time
    #  -tf value - fall time
    #  -pw value - width of pulse, alias `-ton`
    #  -per value - period time, alias `-tper`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # IYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)
    # ```
    # Example of class initialization:
    # ```
    # Ipulse new 1 net1 net2 -low 0 -high 1 -td {-eq td} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6
    # ```
    # Synopsis: name np nm -voff|ioff|low value -von|ion|high value -td value -tr value -tf value
    #   -pw|ton value ?-phase|phi value???
    next i {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -seq list ?-phase|phi value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-seq listSequence of pwl points in form {t0 i0 t1 i1 t2 i2 t3 i3 ...}
nameName of the device without first-letter designator I.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
IYYYYYYY n+ n- PWL (T1 I1 <T2 I2 T3 I3 T4 I4 ...>)

Example of class initialization:

Ipwl new 1 np nm -seq {0 0 {-eq t1} 1 2 2 3 3 4 4}
method constructor {args} {

    # Creates object of class `Ipwl` that describes piece-wise current source.
    #  name - name of the device without first-letter designator I
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -seq list - sequence of pwl points in form `{t0 i0 t1 i1 t2 i2 t3 i3 ...}`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # IYYYYYYY n+ n- PWL (T1 I1 <T2 I2 T3 I3 T4 I4 ...>)
    # ```
    # Example of class initialization:
    # ```
    # Ipwl new 1 np nm -seq {0 0 {-eq t1} 1 2 2 3 3 4 4}
    # ```
    # Synopsis: name np nm -seq list ?-phase|phi value???
    next i {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -i0|voff|ioff|v0 value -ia|vamp|iamp|va value -fc|fcar value -mdi value -fs|fsig value ?-phi|phase value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-fc valueCarrier frequency, alias -fcar
-fs valueSignal frequency, alias -fsig
-i0 valueInitial value, aliases: -voff, -v0, -ioff
-ia valuePulsed value, aliases: -vamp, -va, -iamp
-mdi valueModulation index.
nameName of the device without first-letter designator I.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
IYYYYYYY n+ n- SFFM(VO VA FC MDI FS)

Example of class initialization:

Isin new 1 net1 net2 -i0 0 -ia 1 -fc {-eq freq} -mdi 0 -fs 1e3
method constructor {args} {

    # Creates object of class `Isffm` that describes single-frequency FM current source.
    #  name - name of the device without first-letter designator I
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -i0 value - initial value, aliases: `-voff`, `-v0`, `-ioff`
    #  -ia value - pulsed value, aliases: `-vamp`, `-va`, `-iamp`
    #  -fc value - carrier frequency, alias `-fcar`
    #  -mdi value - modulation index
    #  -fs value - signal frequency, alias `-fsig`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # IYYYYYYY n+ n- SFFM(VO VA FC MDI FS)
    # ```
    # Example of class initialization:
    # ```
    # Isin new 1 net1 net2 -i0 0 -ia 1 -fc {-eq freq} -mdi 0 -fs 1e3
    # ```
    # Synopsis: name np nm -i0|voff|ioff|v0 value -ia|vamp|iamp|va value -fc|fcar value -mdi value
    #   -fs|fsig value ?-phi|phase value???
    next i {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -i0|ioffset value -ia|iamp value -freq value ?-td value ?-theta value ?-phase|phi value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-freq valueFrequency of sinusoidal signal.
-i0 valueDC shift value, aliases: -voffset, -v0, -ioffset
-ia valueAmplitude value, aliases: -vamp, -va, -iamp
-phase valuePhase of signal, optional, requires -td and -phase, alias -phi
-td valueTime delay, optional.
-theta valueDamping factor, optional, requires -td
nameName of the device without first-letter designator I.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
IYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)

Example of class initialization:

Isin new 1 net1 net2 -i0 0 -ia 2 -freq {-eq freq} -td 1e-6 -theta {-eq theta}
method constructor {args} {

    # Creates object of class `Isin` that describes sinusoidal current source.
    #  name - name of the device without first-letter designator I
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -i0 value - DC shift value, aliases: `-voffset`, `-v0`, `-ioffset`
    #  -ia value - amplitude value, aliases: `-vamp`, `-va`, `-iamp`
    #  -freq value - frequency of sinusoidal signal
    #  -td value - time delay, optional
    #  -theta value - damping factor, optional, requires `-td`
    #  -phase value - phase of signal, optional, requires `-td` and `-phase`, alias `-phi`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # IYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)
    # ```
    # Example of class initialization:
    # ```
    # Isin new 1 net1 net2 -i0 0 -ia 2 -freq {-eq freq} -td 1e-6 -theta {-eq theta}
    # ```
    # Synopsis: name np nm -i0|ioffset value -ia|iamp value -freq value ?-td value ?-theta value
    #   ?-phase|phi value???
    next i {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Mixins

::SpiceGenTcl::Utility

Subclasses

Vpulse, Ipulse

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

pulse create OBJNAME type ?args?
pulse new type ?args?
Parameters
typeNot documented.
method constructor {type args} {

    if {$type eq {v}} {
        set typeName voltage
    } else {
        set typeName current
    }
    set arguments [argparse -inline -pfirst -help "Creates object of class '[string totitle ${type}pulse]' that describes pulse $typeName source" {
        {-dc= -help {DC value}}
        {-ac= -help {AC value}}
        {-acphase= -require ac -help {AC phase}}
        {-voff|ioff|low= -required -help {Low value}}
        {-von|ion|high= -required -help {High value}}
        {-td= -required -help {Delay time}}
        {-tr= -required -help {Rise time}}
        {-tf= -required -help {Fall time}}
        {-pw|ton= -required -help {Width of pulse}}
        {-per|tper= -required -help {Period time}}
        {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}}
    }]
    if {[dexist $arguments dc]} {
        lappend params {-sw dc}
        set dcVal [dget $arguments dc]
        if {([llength $dcVal]>1) && ([@ $dcVal 0] eq {-eq})} {
            lappend params [list -poseq dcval [@ $dcVal 1]]
        } else {
            lappend params [list -pos dcval $dcVal]
        }
    }
    if {[dexist $arguments ac]} {
        lappend params {-posnocheck acsw ac}
        set acVal [dget $arguments ac]
        if {([llength $acVal]>1) && ([@ $acVal 0] eq {-eq})} {
            lappend params [list -poseq ac [@ $acVal 1]]
        } else {
            lappend params [list -pos ac $acVal]
        }
        if {[dexist $arguments acphase]} {
            set acphaseVal [dget $arguments acphase]
            if {([llength $acphaseVal]>1) && ([@ $acphaseVal 0] eq {-eq})} {
                lappend params [list -poseq acphase [@ $acphaseVal 1]]
            } else {
                lappend params [list -pos acphase $acphaseVal]
            }
        }
    }
    set paramsOrder {low high td tr tf ton tper}
    lappend params {-posnocheck model pulse}
    my ParamsProcess $paramsOrder $arguments params
    next $type[dget $arguments name] [my FormPinNodeList $arguments {np nm}] $params
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Subclasses

Vpwl, Ipwl

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

pwl create OBJNAME type ?args?
pwl new type ?args?
Parameters
typeNot documented.
method constructor {type args} {

    if {$type eq {v}} {
        set typeName voltage
    } else {
        set typeName current
    }
    set arguments [argparse -inline -pfirst -help "Creates object of class '[string totitle ${type}pwl]' that describes piece-wise $typeName source" {
        {-dc= -help {DC value}}
        {-ac= -help {AC value}}
        {-acphase= -require ac -help {Phase of AC signal}}
        {-seq= -required -help {Sequence of pwl points in form {t0 i0 t1 i1 t2 i2 t3 i3 ...}}}
        {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 start 0
    if {[dexist $arguments dc]} {
        lappend paramList {-sw dc}
        set dcVal [dget $arguments dc]
        if {([llength $dcVal]>1) && ([@ $dcVal 0] eq {-eq})} {
            lappend paramList [list -poseq dcval [@ $dcVal 1]]
        } else {
            lappend paramList [list -pos dcval $dcVal]
        }
        incr start 2
    }
    if {[dexist $arguments ac]} {
        lappend paramList {-posnocheck acsw ac}
        set acVal [dget $arguments ac]
        if {([llength $acVal]>1) && ([@ $acVal 0] eq {-eq})} {
            lappend paramList [list -poseq ac [@ $acVal 1]]
        } else {
            lappend paramList [list -pos ac $acVal]
        }
        if {[dexist $arguments acphase]} {
            set acphaseVal [dget $arguments acphase]
            if {([llength $acphaseVal]>1) && ([@ $acphaseVal 0] eq {-eq})} {
                lappend paramList [list -poseq acphase [@ $acphaseVal 1]]
            } else {
                lappend paramList [list -pos acphase $acphaseVal]
            }
            incr start 1
        }
        incr start 2
    }
    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[dget $arguments name]', must be even"
    } elseif {$pwlSeqLen<4} {
        return -code error "Number of elements '$pwlSeqLen' in pwl sequence in element '$type[dget $arguments 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 [list t$i [@ $pwlSeqVal $2i]] [list $type$i [@ $pwlSeqVal $2ip1]]
    }
    foreach param $params {
        if {([llength [@ $param 1]]>1) && ([@ [@ $param 1] 0] eq {-eq})} {
            lappend paramList [list -poseq [@ $param 0] [@ [@ $param 1] 1]]
        } else {
            lappend paramList [list -pos [@ $param 0] [@ $param 1]]
        }
    }
    set paramList [linsert $paramList $start {-posnocheck model pwl}]
    next $type[dget $arguments name] [my FormPinNodeList $arguments {np nm}] $paramList
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Mixins

::SpiceGenTcl::Utility

Subclasses

Vsffm, Isffm

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

sffm create OBJNAME type ?args?
sffm new type ?args?
Parameters
typeNot documented.
method constructor {type args} {

    if {$type eq {v}} {
        set typeName voltage
    } else {
        set typeName current
    }
    set arguments [argparse -inline -pfirst -help "Creates object of class '[string totitle ${type}sffm]' that describes single-frequency FM $typeName source" {
        {-dc= -help {DC value}}
        {-ac= -help {AC value}}
        {-acphase= -require ac -help {Phase of AC signal}}
        {-i0|voff|ioff|v0= -required -help {Initial value}}
        {-ia|vamp|iamp|va= -required -help {Pulsed value}}
        {-fcar|fc= -required -help {Carrier frequency}}
        {-mdi= -required -help {Modulation index}}
        {-fsig|fs= -required -help {Signal frequency}}
        {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}}
    }]
    if {[dexist $arguments dc]} {
        lappend params {-sw dc}
        set dcVal [dget $arguments dc]
        if {([llength $dcVal]>1) && ([@ $dcVal 0] eq {-eq})} {
            lappend params [list -poseq dcval [@ $dcVal 1]]
        } else {
            lappend params [list -pos dcval $dcVal]
        }
    }
    if {[dexist $arguments ac]} {
        lappend params {-posnocheck acsw ac}
        set acVal [dget $arguments ac]
        if {([llength $acVal]>1) && ([@ $acVal 0] eq {-eq})} {
            lappend params [list -poseq ac [@ $acVal 1]]
        } else {
            lappend params [list -pos ac $acVal]
        }
        if {[dexist $arguments acphase]} {
            set acphaseVal [dget $arguments acphase]
            if {([llength $acphaseVal]>1) && ([@ $acphaseVal 0] eq {-eq})} {
                lappend params [list -poseq acphase [@ $acphaseVal 1]]
            } else {
                lappend params [list -pos acphase $acphaseVal]
            }
        }
    }
    set paramsOrder {v0 va fc mdi fs}
    lappend params {-posnocheck model sffm}
    my ParamsProcess $paramsOrder $arguments params
    next $type[dget $arguments name] [my FormPinNodeList $arguments {np nm}] $params
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Mixins

::SpiceGenTcl::Utility

Subclasses

Vsin, Isin

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

sin create OBJNAME type ?args?
sin new type ?args?
Parameters
typeNot documented.
method constructor {type args} {

    if {$type eq {v}} {
        set typeName voltage
    } else {
        set typeName current
    }
    set arguments [argparse -inline -pfirst -help "Creates object of class '[string totitle ${type}sin]' that describes sinusoidal $typeName source" {
        {-dc= -help {DC value}}
        {-ac= -help {AC value}}
        {-acphase= -require ac -help {phase of AC signal}}
        {-i0|voffset|ioffset|v0= -required -help {DC shift value}}
        {-ia|vamp|iamp|va= -required -help {Amplitude value}}
        {-freq= -required -help {Frequency of sinusoidal signal}}
        {-td= -help {Time delay}}
        {-theta= -require {td} -help {Damping factor}}
        {-phi|phase= -require {td theta} -help {Phase of signal}}
        {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}}
    }]
    if {[dexist $arguments dc]} {
        lappend params {-sw dc}
        set dcVal [dget $arguments dc]
        if {([llength $dcVal]>1) && ([@ $dcVal 0] eq {-eq})} {
            lappend params [list -poseq dcval [@ $dcVal 1]]
        } else {
            lappend params [list -pos dcval $dcVal]
        }
    }
    if {[dexist $arguments ac]} {
        lappend params {-posnocheck acsw ac}
        set acVal [dget $arguments ac]
        if {([llength $acVal]>1) && ([@ $acVal 0] eq {-eq})} {
            lappend params [list -poseq ac [@ $acVal 1]]
        } else {
            lappend params [list -pos ac $acVal]
        }
        if {[dexist $arguments acphase]} {
            set acphaseVal [dget $arguments acphase]
            if {([llength $acphaseVal]>1) && ([@ $acphaseVal 0] eq {-eq})} {
                lappend params [list -poseq acphase [@ $acphaseVal 1]]
            } else {
                lappend params [list -pos acphase $acphaseVal]
            }
        }
    }
    set paramsOrder {v0 va freq td theta phase}
    lappend params {-posnocheck model sin}
    my ParamsProcess $paramsOrder $arguments params
    next $type[dget $arguments name] [my FormPinNodeList $arguments {np nm}] $params
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -ac value ?-acphase value?
Parameters
-ac valueAC voltage value.
-acphase valuePhase of AC voltage.
nameName of the device without first-letter designator V.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
VYYYYYYY n+ n- <AC<ACMAG<ACPHASE>>>

Example of class initialization:

Vac new 1 netp netm -ac 10 -acphase 45
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Subclasses

G, ::SpiceGenTcl::Ngspice::Sources::Vccs, ::SpiceGenTcl::Xyce::Sources::Vccs, ::SpiceGenTcl::Ltspice::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 np nm ncp ncm -trcond value ?-m value?
Parameters
-m valueMultiplier factor, optional.
-trcond valueTransconductance.
nameName of the device without first-letter designator G.
ncmName of node connected to negative controlling pin.
ncpName of node connected to positive controlling pin.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
GXXXXXXX N+ N- NC+ NC- VALUE <m=val>

Example of class initialization:

Vccs new 1 net1 0 netc 0 -trcond 10 -m 1
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

::SpiceGenTcl::Device

Subclasses

E, ::SpiceGenTcl::Ngspice::Sources::Vcvs, ::SpiceGenTcl::Xyce::Sources::Vcvs, ::SpiceGenTcl::Ltspice::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 np nm ncp ncm -gain value
Parameters
-gain valueVoltage gain.
nameName of the device without first-letter designator E.
ncmName of node connected to negative controlling pin.
ncpName of node connected to positive controlling pin.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
EXXXXXXX N+ N- NC+ NC- VALUE

Example of class initialization:

Vcvs new 1 net1 0 netc 0 -gain 10
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -dc value
Parameters
-dc valueDC voltage value.
nameName of the device without first-letter designator V.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
VYYYYYYY n+ n- <<DC> DC/TRAN VALUE>>

Example of class initialization:

Vdc new 1 netp netm -dc 10
method constructor {args} {

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

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -i1|v1 value -i2|v2 value -td1 value -tau1 value -td2 value -tau2 value ?-phi|phase value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-tau1 valueRise time constant.
-tau2 valueFall time constant.
-td1 valueRise delay time.
-td2 valueFall delay time.
-v1 valueInitial value.
-v2 valuePulsed value.
nameName of the device without first-letter designator V.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
VYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)

Example of class initialization:

Vexp new 1 net1 net2 -v1 0 -v2 1 -td1 1e-9 -tau1 1e-9 -td2 {-eq td2} -tau2 10e-6
method constructor {args} {

    # Creates object of class `Vexp` that describes exponential voltage source.
    #  name - name of the device without first-letter designator V
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -v1 value - initial value
    #  -v2 value - pulsed value
    #  -td1 value - rise delay time
    #  -tau1 value - rise time constant
    #  -td2 value - fall delay time
    #  -tau2 value - fall time constant
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # VYYYYYYY n+ n- EXP(V1 V2 TD1 TAU1 TD2 TAU2)
    # ```
    # Example of class initialization:
    # ```
    # Vexp new 1 net1 net2 -v1 0 -v2 1 -td1 1e-9 -tau1 1e-9 -td2 {-eq td2} -tau2 10e-6
    # ```
    # Synopsis: name np nm -i1|v1 value -i2|v2 value -td1 value -tau1 value -td2 value -tau2 value
    #   ?-phi|phase value???
    next v {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -voff|ioff|low value -von|ion|high value -td value -tr value -tf value -pw|ton value ?-dc value? ?-ac value ?-acphase value??
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-high valueHigh value, aliases: -von, -ion
-low valueLow value, aliases: -voff, -ioff
-td valueTime delay.
-tf valueFall time.
-ton valueWidth of pulse, alias -pw
-tper valuePeriod time, alias -per
-tr valueRise time.
nameName of the device without first-letter designator V.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
VYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)

Example of class initialization:

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 {args} {

    # Creates object of class `Vpulse` that describes pulse voltage source.
    #  name - name of the device without first-letter designator V
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -low value - low value, aliases: `-voff`, `-ioff`
    #  -high value - high value, aliases: `-von`, `-ion`
    #  -td value - time delay
    #  -tr value - rise time
    #  -tf value - fall time
    #  -ton value - width of pulse, alias `-pw`
    #  -tper value - period time, alias `-per`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # VYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER)
    # ```
    # Example of class initialization:
    # ```
    # 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 np nm -voff|ioff|low value -von|ion|high value -td value -tr value -tf value
    #   -pw|ton value ?-dc value? ?-ac value ?-acphase value??
    next v {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -seq list ?-phase|phi value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-seq listSequence of pwl points in form {t0 v0 t1 v1 t2 v2 t3 v3 ...}
nameName of the device without first-letter designator V.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
VYYYYYYY n+ n- PWL (T1 V1 <T2 V2 T3 V3 T4 V4 ...>)

Example of class initialization:

Vpwl new 1 np nm -seq {0 0 {-eq t1} 1 2 2 3 3 4 4}
method constructor {args} {

    # Creates object of class `Vpwl` that describes piece-wise voltage source.
    #  name - name of the device without first-letter designator V
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -seq list - sequence of pwl points in form `{t0 v0 t1 v1 t2 v2 t3 v3 ...}`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # VYYYYYYY n+ n- PWL (T1 V1 <T2 V2 T3 V3 T4 V4 ...>)
    # ```
    # Example of class initialization:
    # ```
    # Vpwl new 1 np nm -seq {0 0 {-eq t1} 1 2 2 3 3 4 4}
    # ```
    # Synopsis: name np nm -seq list ?-phase|phi value???
    next v {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
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 np nm -i0|voff|ioff|v0 value -ia|vamp|iamp|va value -fc|fcar value -mdi value -fs|fsig ?-phi|phase value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requires -ac
-dc valueDC value, optional.
-fc valueCarrier frequency, alias -fcar
-fs valueSignal frequency, alias -fsig
-mdi valueModulation index.
-v0 valueInitial value, aliases: -voff, -i0, -ioff
-va valuePulsed value, aliases: -vamp, -ia, -iamp`
nameName of the device without first-letter designator V.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
VYYYYYYY n+ n- SFFM(VO VA FC MDI FS)

Example of class initialization:

Vsin new 1 net1 net2 -v0 0 -va 1 -fc {-eq freq} -mdi 0 -fs 1e3
method constructor {args} {

    # Creates object of class `Vsffm` that describes single-frequency FM voltage source.
    #  name - name of the device without first-letter designator V
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -v0 value - initial value, aliases: `-voff`, `-i0`, `-ioff`
    #  -va value - pulsed value, aliases: `-vamp`, `-ia`, -iamp`
    #  -fc value - carrier frequency, alias `-fcar`
    #  -mdi value - modulation index
    #  -fs value - signal frequency, alias `-fsig`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requires `-ac`
    # ```
    # VYYYYYYY n+ n- SFFM(VO VA FC MDI FS)
    # ```
    # Example of class initialization:
    # ```
    # Vsin new 1 net1 net2 -v0 0 -va 1 -fc {-eq freq} -mdi 0 -fs 1e3
    # ```
    # Synopsis: name np nm -i0|voff|ioff|v0 value -ia|vamp|iamp|va value -fc|fcar value -mdi value
    #   -fs|fsig ?-phi|phase value???
    next v {*}$args
}

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

Method summary
constructorConstructor for the class.
actOnParamSee ::SpiceGenTcl::Device.actOnParam
actOnPinSee ::SpiceGenTcl::Device.actOnPin
checkFloatingPinsSee ::SpiceGenTcl::Device.checkFloatingPins
configureConfigure properties.
genSPICEStringSee ::SpiceGenTcl::Device.genSPICEString
Properties
-nameReadable, writable.
Superclasses

sin

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 np nm -i0|voffset|ioffset|v0 value -ia|vamp|iamp|va value -freq value ?-td value ?-theta value ?-phi|phase value???
Parameters
-ac valueAC value, optional.
-acphase valuePhase of AC signal, optional, requiress -ac
-dc valueDC value, optional.
-freq valueFrequency of sinusoidal signal.
-phase valuePhase of signal, optional, requires -td and -phase, alias -phi
-td valueTime delay, optional.
-theta valueDamping factor, optional, requires -td
-v0 valueDC shift value, aliases: -voffset, -i0, -ioffset
-va valueAmplitude value, aliases: -vamp, -ia, -iamp
nameName of the device without first-letter designator V.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
VYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)

Example of class initialization:

Vsin new 1 net1 net2 -v0 0 -va 2 -freq {-eq freq} -td 1e-6 -theta {-eq theta}
method constructor {args} {

    # Creates object of class `Vsin` that describes sinusoidal voltage source.
    #  name - name of the device without first-letter designator V
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -v0 value - DC shift value, aliases: `-voffset`, `-i0`, `-ioffset`
    #  -va value - amplitude value, aliases: `-vamp`, `-ia`, `-iamp`
    #  -freq value - frequency of sinusoidal signal
    #  -td value - time delay, optional
    #  -theta value - damping factor, optional, requires `-td`
    #  -phase value - phase of signal, optional, requires `-td` and `-phase`, alias `-phi`
    #  -dc value - DC value, optional
    #  -ac value - AC value, optional
    #  -acphase value - phase of AC signal, optional, requiress `-ac`
    # ```
    # VYYYYYYY n+ n- SIN(VO VA FREQ TD THETA PHASE)
    # ```
    # Example of class initialization:
    # ```
    # Vsin new 1 net1 net2 -v0 0 -va 2 -freq {-eq freq} -td 1e-6 -theta {-eq theta}
    # ```
    # Synopsis: name np nm -i0|voffset|ioffset|v0 value -ia|vamp|iamp|va value -freq value
    #   ?-td value ?-theta value ?-phi|phase value???
    next v {*}$args
}