Product Documentation
Spectre Circuit Simulator Components and Device Models Reference
Product Version 23.1, June 2023

Behavioral Source (bsource)

Behavioral source enables you to model a resistor, inductor, capacitor, voltage or current source as a behavioral component. Using bsource, you can express the value of a resistance, capacitance, voltage or current as a combination of device operating points, node voltages, branch currents, and built in Spectre® circuit simulator expressions. bsource simulation performance has now been improved by compiling the bsource devices.

Bsource simulation performance has been improved by compiling the bsource devices. This is explained in more detail in the bsource compilation section below.

Sample Instance Statement

name (node1 node2) bsource behav_param param_list 

where behav_param can be

c=simple_expr

Capacitance between the nodes

g=simple_expr

Conductance between the nodes

i=generic_expr

Current through bsource

l=simple_expr

Inductance between the nodes

phi=simple_expr

Flux in the bsource device

q=simple_expr

Charge in bsource device

r=simple_expr

Resistance between the nodes

v=generic_expr

Voltage across the nodes

A simple_expr is defined as a spectre expression containing,

  1. netlist parameters
  2. current simulation time, $time
  3. node voltages, v(a,b), where a and b are nodes in the spectre netlist or v(a), which is voltage between node a and ground
  4. branch currents, i("inst_id:index"), where inst_id is an instance name given in the netlist and index is the port index. The default value for index is 0.

A generic_expr is defined as a simple_expr or ddt() or idt() of simple_expr. The param_list is param_name=value.

Multiplicity factor

m

The value of m will be default to1.

Temperature Parameters

tc1

Linear temperature co-efficient. Valid for all behavioral elements. Default value is 0 1/C.

tc2

Quadratic temperature co-efficient. Valid for all behavioral elements. Default value is 0 C^-2

tnom

Parameters measurement temperature. Valid for all behavioral elements. Default value is 27.0.

trise

Temperature rise for ambient. Valid for all behavioral elements. Default value is 0.0.

T

Effective value of temperature. Valid for all behaviroal elements. Default value is temp+trise-tnom.

tc1c

Linear temperature coefficient of capacitor. valid for transistor type behavioral element. Default is 0 1/C

tc2c

Quadratic temperature coefficient of capacitor. valid for transistor type behavioral element. Default is 0 C-2

Clipping Parameters

max_val

Maximum value of bsource expression. Valid for all behavioral elements, but mostly used with i and v elements for clipping the current or voltage between the specified values.

min_val

Minimum value of bsource expression. Valid for all behavioral elements, but mostly used with i and v elements for clipping the current or voltage between the specified values.

bv_max

Generate a warning when bsource voltage of two terminals exceeds the value specified by bv_max.

Noise Parameters

af

Flicker noise exponent, Valid for r and g elements Default value is 2.

fexp

Flicker noise frequency exponent. Valid for r, g, v, and i elements. Default value is 1.

ef

Alias of fexp.

ldexp

Flicker (1/f) noise L component. Valid for r and g elements. Default value is 1.0.

lf

Alias of ldexp.

wdexp

Flicker (1/f) noise W component. Valid for r and g elements. Default value is 1.0.

wf

Alias of wdexp.

isnoisy

Specifies whether to generate noise. Valid for r, g, i, and v elements Valid values are yes and no. Default value is yes.

kf

Flicker noise co-efficient. Valid for r and g elements.

white_noise

White noise expression. Valid for v and i elements.

flicker_noise

Flicker noise expression. Valid for v and i elements.

DC Mismatch Parameters

mr

DC-Mismatch parameter. Valid only for r.

Other Parameters

scale/scaleb/scaler/scalei/scalec

Bsource scaling factor. Default value is 1.0.

ctype

Different implementations of a capacitor. When the value is 1, bsource current is ddt(cap*V(node1, node2)), where cap is the bsource capacitor value with temp effect, mfactor effect, scale effect and so on. V(node1, node2) is the voltage between the bsource terminals. When the value is 2, the current is ddt(cap). When the value is 0, or any other value, the current value is cap*ddt(V(node1, node2)).

All the parameters in the param_name table are instance parameters. white_noise and flicker_noise may be assigned behavioral expressions; the other parameters must be assigned constant or parametric expressions.

Instance Parameters

bsource supports the following instance parameters for the Spectre primitives.

Resistor

isnoisy, m, r, tc1, tc2, trise, kf, af, fexp, ldexp, wdexp, l, w, mr.

Capacitor

c, m, tc1, tc2, trise, ic.

Inductor

l, m, tc1, tc2, trise.

Related Topics

Mathematical Definitions

Noise Model for bsource

Circuit Components

Mathematical Definitions

The i and v elements are current and voltage sources respectively with the current and voltage values specified by the generic_expression.

The q and phi elements are defined as:

(-1)

(-2)

The r, g, c, and l elements are defined as:

(-3)

(-4)

(-5)

(-6)

The elements r, g, c, and l are provided for compatibility reasons. The correct resistance, conductance, capacitance, and inductance are different from the expressions you specify. For example, a non-linear conductance is defined as:

(-7)

where i and v are the conductance branch current and voltage respectively. If we use the conductance element (equation 5-4), and specify the conductance as a function of the branch voltage:

(-8)

then the true conductance is given by:

(-9)

(-10)

The true conductance is different from the specified conductance. The correct way to implement a conductance gs(v) is to use the i element and specify the current expression as:

(-11)

Related Topics

Behavioral Source (bsource)

Noise Model for bsource

Temperature Effect on bsource

Circuit Components

Noise Model for bsource

Noise sources are implemented for the elements i, v, r, and g.

Noise for Elements i and v

You need to specify the expression for Power Spectrel Density (PSD) using the white_noise and flicker_noise parameters.

(-12)

(-13)

where simple_expr is the power of the flicker noise (or white noise) source at 1Hz and fexp is the exponent of the frequency.

(-14)

The noise source unit is A2/Hz for i and V2/Hz for v. The following is an example of a noise parameter specification for a current source:

(-15)

where k is the Boltzman constant (1.380626e-23) and

T is the temperature.

(-16)

where V(p,n) is the voltage across the i element.

The following is an example of a noise parameter specification for a voltage source:

(-17)

(-18)

Noise for elements g and r

The syntax is:

name (node1 node2) bsource { r | g }=simple_expr kf=value af=value fexp=value isnoisy={ yes | no }

The white_noise and flicker_noise values are calculated from the above expression. When isnoisy=no, noise contributions are turned off. By default the white noise source is on and the flicker noise source is off (default is kf=0).

The noise source for g is a current source in parallel with the g element and the noise power is in units of A2/Hz. If x is the expression for the g element,

(-19)

(-20)

where kf , af , and fexp are the values specified for these parameters

k is the Boltzman constant (1.380626e-23)

T is the temperature and

v(p,n) is the voltage across the g element.

The noise source for r is a current source in parallel with the r element and the noise power is in units of V2/Hz. If x is the expression for the r element,

(-21)

(-22)

where kf , af , and fexp are the values specified for these parameters

k is the Boltzman constant (1.380626e-23)

T is the temperature and

I(relement) is the current through r element.

Temperature Effect on bsource

The equation for calculating temperature effect is:

(-23)

Related Topics

Behavioral Source (bsource)

Mathematical Definitions

Circuit Components


Return to top
 ⠀
X