sycan.components.basic.varactor

Varactor — voltage-controlled capacitor (junction-style C(V) model).

  • DC: ideal open (a capacitor sees zero current at steady state).

  • AC: small-signal admittance s · C(V_op) where the operating-point voltage V_op linearises the bias-dependent capacitance:

    C(V) = C0 / (1 - V / V_J) ** M
    

    V is taken as V(n_plus) - V(n_minus). Setting V_op = 0 (default) recovers C0. The form is the standard SPICE CJO, VJ, M junction-capacitance trio.

Classes

Varactor(name, n_plus, n_minus, C0[, V_J, ...])

Junction-style voltage-controlled capacitor.

class sycan.components.basic.varactor.Varactor(name, n_plus, n_minus, C0, V_J=0.7, M=0.5, *, V_op=None, include_noise=None)[source]

Bases: Component

Junction-style voltage-controlled capacitor.

Parameters:
  • name (str) – Designator and the two terminals.

  • n_plus (str) – Designator and the two terminals.

  • n_minus (str) – Designator and the two terminals.

  • C0 (sympy.core.expr.Expr) – Zero-bias capacitance (CJO).

  • V_J (sympy.core.expr.Expr) – Junction potential (default 0.7).

  • M (sympy.core.expr.Expr) – Grading coefficient (default 0.5, abrupt junction).

  • V_op (sympy.core.expr.Expr | None) – Operating-point bias used to linearise C(V) for AC. Default 0 (no bias) — useful when the user later substitutes the DC operating point into the symbolic AC result.

  • include_noise (None | str | list[str] | tuple[str, ...] | frozenset[str])

name: str
n_plus: str
n_minus: str
C0: Expr
V_J: Expr = 0.7
M: Expr = 0.5
V_op: Expr | None = None
include_noise: None | str | list[str] | tuple[str, ...] | frozenset[str] = None
ports: ClassVar[tuple[str, ...]] = ('n_plus', 'n_minus')
SUPPORTED_NOISE: ClassVar[frozenset[str]] = frozenset({})
stamp(ctx)[source]
Parameters:

ctx (StampContext)

Return type:

None