Tcl SpiceGenTcl package (v0.71)

::SpiceGenTcl::Ngspice::SourcesTop, Main, Index

ClassesTop, Main, Index

am [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Mixins

::SpiceGenTcl::Utility

Subclasses

Vam, Iam

constructor [::SpiceGenTcl::Ngspice::Sources::am]am, Top, Main, Index

am create OBJNAME type ?args?
am new type ?args?
Details
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}am]' that describes single-frequency FM $typeName source" {
        {-dc= -help {DC value}}
        {-ac= -help {AC value}}
        {-acphase= -require ac -help {Phase of AC signal}}
        {-i0|v0= -required -help {Initial value}}
        {-ia|va= -required -help {Pulsed value}}
        {-mf= -required -help {Modulating frequency}}
        {-fc= -required -help {Carrier frequency}}
        {-td= -required -help {Signal delay}}
        {-phases= -help {Phase 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}}
    }]
    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 mf fc td phases}
    lappend params {-posnocheck model am}
    my ParamsProcess $paramsOrder $arguments params
    next $type[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params
}

B [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

BehaviouralSource

BehaviouralSource [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Subclasses

B

constructor [::SpiceGenTcl::Ngspice::Sources::BehaviouralSource]BehaviouralSource, Top, Main, Index

Creates object of class BehaviouralSource that describes behavioural source.

OBJECT constructor name np nm -i value ?-tc1 value? ?-tc2 value? ?-noisy 0|1? ?-temp value|-dtemp value?
OBJECT constructor name np nm -v value ?-tc1 value? ?-tc2 value? ?-noisy 0|1? ?-temp value|-dtemp value?
Details
Parameters
-dtempTemperature offset, optional.
-iCurrent expression.
-noisySelects noise behaviour.
-tc1Linear thermal coefficient, optional.
-tc2Quadratic thermal coefficient, optional.
-tempDevice temperature, optional.
-vVoltage expression.
nameName of the device without first-letter designator B.
nmName of node connected to negative pin.
npName of node connected to positive pin.
Description
BXXXXXXX n+ n- <i=expr> <v=expr> <tc1=value> <tc2=value> <dtemp=value> <temp=value>

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::BehaviouralSource new 1 netp netm -v "V(a)+V(b)+pow(V(c),2)" -tc1 1
method constructor {args} {

    # Creates object of class `BehaviouralSource` that describes behavioural source.
    #  name - name of the device without first-letter designator B
    #  np - name of node connected to positive pin
    #  nm - name of node connected to negative pin
    #  -i - current expression
    #  -v - voltage expression
    #  -temp - device temperature, optional
    #  -dtemp - temperature offset, optional
    #  -tc1 - linear thermal coefficient, optional
    #  -tc2 - quadratic thermal coefficient, optional
    #  -noisy - selects noise behaviour
    # ```
    # BXXXXXXX n+ n- <i=expr> <v=expr> <tc1=value> <tc2=value> <dtemp=value> <temp=value>
    # ```
    # Example of class initialization:
     # ```
    # ::SpiceGenTcl::Ngspice::Sources::BehaviouralSource new 1 netp netm -v "V(a)+V(b)+pow(V(c),2)" -tc1 1
    # ```
    # Synopsis: name np nm -i value ?-tc1 value? ?-tc2 value? ?-noisy 0|1? ?-temp value|-dtemp value?
    # Synopsis: name np nm -v value ?-tc1 value? ?-tc2 value? ?-noisy 0|1? ?-temp value|-dtemp value?
    set arguments [argparse -inline -pfirst -help {Creates object of class 'BehaviouralSource' that describes behavioural source} {
        {-i= -forbid {v} -help {Current expression}}
        {-v= -forbid {i} -help {Voltage expression}}
        {-tc1=  -help {Linear thermal coefficient}}
        {-tc2=  -help {Quadratic thermal coefficient}}
        {-noisy= -enum {0 1} -help {Selects noise behaviour}}
        {-temp= -forbid {dtemp} -help {Device temperature}}
        {-dtemp= -forbid {temp} -help {Temperature offset}}
        {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 i]} {
        lappend params [list -eq i [dget $arguments i]]
    } elseif {[dexist $arguments v]} {
        lappend params [list -eq v [dget $arguments v]]
    } else {
        return -code error "Equation must be specified as argument to -i or -v"
    }
    dict for {paramName value} $arguments {
        if {$paramName ni {i v name np nm}} {
            if {[@ $value 0] eq {-eq}} {
                lappend params [list -eq $paramName [@ $value 1]]
            } else {
                lappend params [list $paramName $value]
            }
        }
    }
    next b[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params
}

Cccs [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Cccs

Subclasses

F

Ccvs [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Ccvs

Subclasses

H

E [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

Vcvs

F [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

Cccs

G [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

Vccs

H [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

Ccvs

Iac [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Iac

Iam [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

am

constructor [::SpiceGenTcl::Ngspice::Sources::Iam]Iam, Top, Main, Index

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

OBJECT constructor name np nm -i0 value -ia value -mf value -fc value ?-td value ?-phases value??
Details
Parameters
-fcCarrier frequency.
-i0Initial value.
-iaPulsed value.
-mfModulating frequency.
-phasesPhase, optional, require -td.
-tdSignal delay, optional.
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- AM(VA VO MF FC TD PHASES)

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::Iam new 1 net1 net2 -i0 0 -ia 2 -mf 1e3 -fc {-eq freq} -td 1e-6 -phases {-eq phase}
method constructor {args} {

    # Creates object of class `Iam` 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 - initial value
    #  -ia - pulsed value
    #  -mf - modulating frequency
    #  -fc - carrier frequency
    #  -td - signal delay, optional
    #  -phases - phase, optional, require -td
    # ```
    # IYYYYYYY n+ n- AM(VA VO MF FC TD PHASES)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::Sources::Iam new 1 net1 net2 -i0 0 -ia 2 -mf 1e3 -fc {-eq freq} -td 1e-6 -phases {-eq phase}
    # ```
    # Synopsis: name np nm -i0 value -ia value -mf value -fc value ?-td value ?-phases value??
    next i {*}$args
}

Idc [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Idc

Iexp [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Iexp

Ipulse [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

pulse

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

Creates object of class Ipulse that describes pulse current source.

OBJECT constructor name np nm -low value -high value -td value -tr value -tf value -pw value -per value ?-np value?
Details
Parameters
-acAC value, optional.
-acphasePhase of AC signal, optional, requires -ac.
-dcDC value, optional.
-highHigh value.
-lowLow value.
-npulsesNumber of pulses, optional.
-perPeriod time.
-pwWidth of pulse.
-tdTime delay.
-tfFall time.
-trRise 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 NP)

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::Ipulse new 1 net1 net2 -low 0 -high 1 -td {-eq td} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6 -npulses {-eq np}
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 - low value
    #  -high - high value
    #  -td - time delay
    #  -tr - rise time
    #  -tf - fall time
    #  -pw - width of pulse
    #  -per - period time
    #  -npulses - number of pulses, optional
    #  -dc - DC value, optional
    #  -ac - AC value, optional
    #  -acphase - phase of AC signal, optional, requires -ac
    # ```
    # IYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER NP)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::Sources::Ipulse new 1 net1 net2 -low 0 -high 1 -td {-eq td} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6 -npulses {-eq np}
    # ```
    # Synopsis: name np nm -low value -high value -td value -tr value -tf value -pw value -per value
    #   ?-np value?
    next i {*}$args
}

Ipwl [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Ipwl

Isffm [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

sffm

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

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

OBJECT constructor name np nm -i0|ioff value -ia|iamp value -fc|fcar value -mdi value -fs|fsig value ?-phasec value ?-phases value??
Details
Parameters
-acAC value, optional.
-acphasePhase of AC signal, optional, requires -ac.
-dcDC value, optional.
-fcCarrier frequency, alias -fcar.
-fsSignal frequency, alias -fsig.
-i0Initial value, aliases: -voff, -v0, -ioff.
-iaPulsed value, aliases: -vamp, -va, -iamp.
-mdiModulation index.
-phasecCarrier phase, optional.
-phasesSignal phase, optional, require -phasec.
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 PHASEC PHASES)

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::Isin new 1 net1 net2 -i0 0 -ia 1 -fc {-eq freq} -mdi 0 -fs 1e3 -phasec {-eq phase}
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 - initial value, aliases: -voff, -v0, -ioff
    #  -ia - pulsed value, aliases: -vamp, -va, -iamp
    #  -fc - carrier frequency, alias -fcar
    #  -mdi - modulation index
    #  -fs - signal frequency, alias -fsig
    #  -phasec - carrier phase, optional
    #  -phases - signal phase, optional, require -phasec
    #  -dc - DC value, optional
    #  -ac - AC value, optional
    #  -acphase - phase of AC signal, optional, requires -ac
    # ```
    # IYYYYYYY n+ n- SFFM(VO VA FC MDI FS PHASEC PHASES)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::Sources::Isin new 1 net1 net2 -i0 0 -ia 1 -fc {-eq freq} -mdi 0 -fs 1e3 -phasec {-eq phase}
    # ```
    # Synopsis: name np nm -i0|ioff value -ia|iamp value -fc|fcar value -mdi value -fs|fsig value
    #   ?-phasec value ?-phases value??
    next i {*}$args
}

Isin [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Isin

pulse [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Mixins

::SpiceGenTcl::Utility

Subclasses

Vpulse, Ipulse

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

pulse create OBJNAME type ?args?
pulse new type ?args?
Details
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 {}}
        {-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}}
        {-ncycles|npulses= -help {Number of pulses}}
        {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 npulses}
    lappend params {-posnocheck model pulse}
    my ParamsProcess $paramsOrder $arguments params
    next $type[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params
}

sffm [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

Mixins

::SpiceGenTcl::Utility

Subclasses

Vsffm, Isffm

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

sffm create OBJNAME type ?args?
sffm new type ?args?
Details
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}}
        {-phasec= -help {Modulation signal phase}}
        {-phases= -require {phasec} -help {Carrier signal phase}}
        {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 phasec phases}
    lappend params {-posnocheck model sffm}
    my ParamsProcess $paramsOrder $arguments params
    next $type[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params
}

Vac [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Vac

Vam [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

am

constructor [::SpiceGenTcl::Ngspice::Sources::Vam]Vam, Top, Main, Index

Creates object of class Vam that describes single-frequency AM voltage source.

OBJECT constructor name np nm -v0 value -va value -mf value -fc value ?-td value ?-phases value??
Details
Parameters
-acAC value, optional.
-acphasePhase of AC signal, optional, requires -ac.
-dcDC value, optional.
-fcCarrier frequency.
-mfModulating frequency.
-phasesPhase, optional, require -td.
-tdSignal delay, optional.
-v0Initial value.
-vaPulsed 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- AM(VA VO MF FC TD PHASES)

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::Vam new 1 net1 net2 -v0 0 -va 2 -mf 1e3 -fc {-eq freq} -td 1e-6 -phases {-eq phase}
method constructor {args} {

    # Creates object of class `Vam` that describes single-frequency AM 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 - initial value
    #  -va - pulsed value
    #  -mf - modulating frequency
    #  -fc - carrier frequency
    #  -td - signal delay, optional
    #  -phases - phase, optional, require -td
    #  -dc - DC value, optional
    #  -ac - AC value, optional
    #  -acphase - phase of AC signal, optional, requires -ac
    # ```
    # VYYYYYYY n+ n- AM(VA VO MF FC TD PHASES)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::Sources::Vam new 1 net1 net2 -v0 0 -va 2 -mf 1e3 -fc {-eq freq} -td 1e-6 -phases {-eq phase}
    # ```
    # Synopsis: name np nm -v0 value -va value -mf value -fc value ?-td value ?-phases value??
    next v {*}$args
}

Vccs [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Vccs

Subclasses

G

Vcvs [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Vcvs

Subclasses

E

Vdc [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Vdc

Vexp [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Vexp

Vport [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Device

constructor [::SpiceGenTcl::Ngspice::Sources::Vport]Vport, Top, Main, Index

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

OBJECT constructor name np nm -dc value -ac value -portnum value ?-z0 value?
Details
Parameters
-acAC voltage value.
-dcDC voltage value.
-portnumNumber of port.
-z0Internal source impedance.
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 0 AC 1 portnum n1 <z0 n2>

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::Vport new 1 netp netm -dc 1 -ac 1 -portnum 1 -z0 100
method constructor {args} {

    # Creates object of class `Vport` 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 - DC voltage value
    #  -ac - AC voltage value
    #  -portnum - number of port
    #  -z0 - internal source impedance
    # ```
    # VYYYYYYY n+ n- DC 0 AC 1 portnum n1 <z0 n2>
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::Sources::Vport new 1 netp netm -dc 1 -ac 1 -portnum 1 -z0 100
    # ```
    # Synopsis: name np nm -dc value -ac value -portnum value ?-z0 value?
    set arguments [argparse -inline -pfirst -help {Creates object of class `Vport` that describes simple constant voltage source} {
        {-dc= -required -help {DC voltage value}}
        {-ac= -required -help {AC voltage value}}
        {-portnum= -required -help {Number of port}}
        {-z0= -help {Internal source impedance}}
        {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 paramsOrder {dc ac portnum z0}
    foreach param $paramsOrder {
        if {[dexist $arguments $param]} {
            dict append argsOrdered $param [dget $arguments $param]
        }
    }
    dict for {paramName value} $argsOrdered {
        lappend params [list -sw $paramName]
        if {([llength $value]>1) && ([@ $value 0] eq {-eq})} {
            lappend params [list -poseq ${paramName}val [@ $value 1]]
        } else {
            lappend params [list -pos ${paramName}val $value]
        }
    }
    next v[dget $arguments name] [list [list np [dget $arguments np]] [list nm [dget $arguments nm]]] $params
}

Vpulse [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

pulse

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

Creates object of class Vpulse that describes pulse voltage source.

OBJECT constructor name np nm -low|voff value -high|von value -td value -tr value -tf value -pw|ton value -per|tper value ?-np value?
Details
Parameters
-acAC value, optional.
-acphasePhase of AC signal, optional, requires -ac.
-dcDC value, optional.
-highHigh value, aliases: -von, ion.
-lowLow value, aliases: -voff, -ioff.
-npulsesNumber of pulses, optional.
-perPeriod time, alias -tper.
-pwWidth of pulse, alias -ton.
-tdTime delay.
-tfFall time.
-trRise 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 NP)

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::Vpulse new 1 net1 net2 -low 0 -high 1 -td {-eq td} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6 -npulses {-eq np}
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 - low value, aliases: -voff, -ioff
    #  -high - high value, aliases: -von, ion
    #  -td - time delay
    #  -tr - rise time
    #  -tf - fall time
    #  -pw - width of pulse, alias -ton
    #  -per - period time, alias -tper
    #  -npulses - number of pulses, optional
    #  -dc - DC value, optional
    #  -ac - AC value, optional
    #  -acphase - phase of AC signal, optional, requires -ac
    # ```
    # VYYYYYYY n+ n- PULSE(V1 V2 TD TR TF PW PER NP)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::Sources::Vpulse new 1 net1 net2 -low 0 -high 1 -td {-eq td} -tr 1e-9 -tf 1e-9 -pw 10e-6 -per 20e-6 -npulses {-eq np}
    # ```
    # Synopsis: name np nm -low|voff value -high|von value -td value -tr value -tf value -pw|ton value
    #   -per|tper value ?-np value?
    next v {*}$args
}

Vpwl [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Vpwl

Vsffm [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

sffm

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

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

OBJECT constructor name np nm -v0|voff value -va|vamp value -fc|fcar value -mdi value -fs|fsig value ?-phasec value ?-phases value??
Details
Parameters
-acAC value, optional.
-acphasePhase of AC signal, optional, requires -ac.
-dcDC value, optional.
-fcCarrier frequency, alias -fcar.
-fsSignal frequency, alias -fsig.
-mdiModulation index.
-phasecCarrier phase, optional.
-phasesSignal phase, optional, require -phasec.
-v0Initial value, aliases: -voff, -i0, -ioff.
-vaPulsed 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 PHASEC PHASES)

Example of class initialization:

::SpiceGenTcl::Ngspice::Sources::Vsin new 1 net1 net2 -v0 0 -va 1 -fc {-eq freq} -mdi 0 -fs 1e3 -phasec {-eq phase}
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 - initial value, aliases: -voff, -i0, -ioff
    #  -va - pulsed value, aliases: -vamp, -ia, -iamp
    #  -fc - carrier frequency, alias -fcar
    #  -mdi - modulation index
    #  -fs - signal frequency, alias -fsig
    #  -phasec - carrier phase, optional
    #  -phases - signal phase, optional, require -phasec
    #  -dc - DC value, optional
    #  -ac - AC value, optional
    #  -acphase - phase of AC signal, optional, requires -ac
    # ```
    # VYYYYYYY n+ n- SFFM(VO VA FC MDI FS PHASEC PHASES)
    # ```
    # Example of class initialization:
    # ```
    # ::SpiceGenTcl::Ngspice::Sources::Vsin new 1 net1 net2 -v0 0 -va 1 -fc {-eq freq} -mdi 0 -fs 1e3 -phasec {-eq phase}
    # ```
    # Synopsis: name np nm -v0|voff value -va|vamp value -fc|fcar value -mdi value -fs|fsig value
    #   ?-phasec value  ?-phases value??
    next v {*}$args
}

Vsin [::SpiceGenTcl::Ngspice::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

Readable: -name

Writable: -name

Superclasses

::SpiceGenTcl::Common::Sources::Vsin