Spectre Syntax Support

Spectre refers to the netlist language used by the Spectre Circuit Simulator and is closely related to SPICE. CedarEDA supports the following syntax elements in Spectre, please file an issue on our public issue tracker for Spectre features that are important to you, but are not yet implemented.

Spectre Elements

TypeSpectre ElementArguments
Voltage Sourcevsourcetype=dc, type=sin, type=pwl
Current Sourceisourcetype=dc, type=sin, type=pwl
Ideal Resistorresistorr
Ideal Capacitorcapactorc
Ideal Inductorinductorl

Spectre Models

TypeModel TypeReference
BSIM4 MOSFET{n,p}mos LEVEL=54[Supported Models]

Spectre Commands

Supported CommandsExample
parametersparameters rl=10k freq=1M
Ignored CommandsScript Equivalent
infoDepends
dcSee Running DC Analysis
tranSee Running Transient Analysis
noiseComing Sooon
optionsThese parameters must be passed in the Julia driver harness

Spectre Numbers

Numbers in Spectre support the following scaling suffixes:

SuffixScale
T10^12
G10^9
M10^6
K10^3
k10^3
_1
%10^-2
c10^-2
m10^-3
u10^-6
n10^-9
p10^-12
f10^-15
a10^-18

Spectre Equations

The following mathematical operators are supported:

OperatorMeaning
+Addition
-Subtraction
*Multiplication
/Division
^Exponentiation
!Boolean not
==Boolean equal
!=Boolean not equal
>Greater than
<Less than
<=Less than or equal
>=Greater than or equal

The following mathematical functions are supported

FunctionDescription
max(x, y)Maximum of x and y
min(x, y)Minimum of x and y
abs(x)Absolute value of x
ln(x)Logarithm of x to base ℯ
log(x)Logarithm of x to base ℯ
log10(x)Logarithm of x to base 10
exp(x)ℯ^x
pow(x,y)x to the power of y
sqrt(x)Square root of x
sinh(x)Hyperbolic sine of x
cosh(x)Hyperbolic cosine of x
tanh(x)Hyperbolic tangent of x
sin(x)Sine of x (in radians)
cos(x)Cosine of x (in radians)
tan(x)Tangent of x (in radians)
atan(x)Inverse tangent of x
arctan(x)Inverse tangent of x
asinh(x)Inverse hyperbolic sine of x
acosh(x)Inverse hyperbolic cosine of x
atanh(x)Inverse hyperbolic tangent of x
int(x)Integer value less than or equal to x
floor(x)Integer value less than or equal to x
ceil(x)Integer value greater than or equal to x