Circuit Solver
The circuit solver takes circuit netlists in spice format and performs desired set of simulations.
Salient Features |
|
Supported component, analyses and Parametrization
- Linear components - R, L, C, and mutual-inductance,
- Voltage- and current-controlled switches,
- Lossless and lossy transmission lines, RC network,
- Non-linear components - Diode, JFET, MOSFET, MESFET, and BJT,
- AC, DC, and transient I/V sources,
- Dependent sources - VCVS, CCVS, VCCS, CCCS,
- Subcircuits - can be parametrized and math functions can be defined,
- Heat generation - enabled in passive components,
- Heat conduction - use thermal "R" and "C"
Collaboration
- We are open to collaborating with the users to add customized non-linear components.
Circuit Draw - A user-friendly GUI for --
- Circuit drawing
- Setting analyses and simulations
- Results visualization
- Circuit optimization.
User-manual and examples
- Equations corresponding to each of the components
- Parameters of various components and their usage
- Various analyses and default parameters
- Python interface and various functions therein.
Functional compact models
- Functional modeling interface: A quick way of modeling functionality of a digital chip (e.g. drivers, signal-processors) in the analog circuit.
- An example code (without all the functions) looks as follows:
class SimpleDriver (cs.functionalmodel):
def updateOutputPinVoltages (self, isOutputPin, inputV, time):
return outV - For detailed description, please refer to the user-guide and the examples therein.
Behavioural compact models
- Behavioural modeling interface: Define a custom compact model of non-linear devices in Python.
- An example code (without all the functions) looks as follows:
class MyDiode (cs.behaviouralmodel):
def getDerivativesAndPinCurrents (self, inputV, time):
return np.append (outdI, outI) - For detailed description, please refer to the user-guide and the examples therein.
Python Interface
- Python-interface allows modifying model parameters, analysis, and result extraction.
- An example code (without arguments) looks as follows:
import circuitsolver as cs
p = cs.circuit()
p.readSpiceCircuitFile(...)
R3Now = p.getComponentParamVal(...)
p.setComponentParamVal(...) - For detailed description, please refer to the user-guide and the examples therein.
Circuit Optimizer
- Built-in circuit-optimizer: compact model calibration and performance optimization.
- An example code (without arguments) looks as follows:
f = cs.optimizer(p)
f.setOptimizationAlgorithm(...)
f.addOptimizationParameter(...)
f.addExperimentalDataAndPower(...)
f.optimize() - For detailed description, please refer to the user-guide and the examples therein.
License Purchase
- Please send an email to info@semivi.ch.