Voltage-Controlled Current Source (VCCS)
Symbol
Information

A Voltage-Controlled Current Source (VCCS) is a dependent current source whose output current is proportional to a reference (control) voltage applied across a separate circuit branch. The fundamental equation governing VCCS is:
Where:
\(I_{out}\) is the output current (Amperes)
\(V_{control}\) is the controlling input voltage (Volts)
\(G_m\) is the transconductance gain (Siemens)
VCCS is widely used in analog amplifiers, active filters, and transistor models.
Ports
cp, cn: Control voltage terminals
p, n: Output current terminals
Symbol description
Field |
Value |
---|---|
Symbol.name |
VCCS |
Symbol.file |
VCCS.sym |
Symbol.directory |
Basic |
Symbol.referance |
|
Model.name |
|
Model.file |
VCCS.py |
Model
The VCCS model implements an ideal voltage-controlled current source.
A VCCS provides an output current proportional to the control voltage.
Attributes:
V_control (signal): Input voltage signal that controls the output current, defined between nodes (cp, cn).
I_out (signal): Output current signal delivered to the circuit, defined between nodes (p, n).
Gm (param): Transconductance gain (Siemens), default is 1.0 S.
Methods:
analog(): Defines the VCCS behavior using the equation:
from pyams.lib import model, signal, param, voltage, current
class VCCS(model):
"""
Voltage-Controlled Current Source (VCCS) model.
Implements the equation: I_out = Gm * V_control
"""
def __init__(self, cp, cn, p, n):
# Signal declaration
self.V_control = signal('in', voltage, cp, cn)
self.I_out = signal('out', current, p, n)
# Parameter declaration
self.Gm = param(1.0, 'S', 'Transconductance gain')
def analog(self):
"""Defines the VCCS behavior"""
self.I_out += self.Gm * self.V_control
Command syntax
The syntax for defining a VCCS in a PyAMS simulation:
# Import the model
from pyams.models import VCCS
# VCCSname: is the name of the VCCS instance
# cp, cn: The control voltage terminals
# p, n: The output current terminals
VCCSname = VCCS(cp, cn, p, n)