dick_freebird
Advanced Member level 7
I'm wanting to simply add a table() function to a model card
but can't find any mention of Spectre offering any native
table function. Some recommendations to use veriloga,
but really?
Something like
simulator lang=spice
.MODEL N5V_edge NMOS LEVEL=3 TPG=1 TOX=1.5E-8 UO= 500 VTO=table(VTx,0,0.5,1,0.7,2,0.9)
There are other ways to skin this example, but I can't put
what I really want in a public forum. What I'm after is a
method, with as few dependencies as possible, to push
some instance properties down into a PDK model file's
model params. Like for perturbing / looping a single
device's VT while keeping other modeling untouched.
Maybe I'm stuck with a rack of combo logic / math, like
... VTO=(VTx==0)*0.5+(VTX==1)*0.7+(VTx==2)*0.9)
but that won't interpolate, like a table function should.
I've been through the Spectre manuals I could find, and
zero relevant search hits on "table" (plenty on "acceptable"
and other derivatives, just nothing to use).
Any thoughts, hints, working examples?
but can't find any mention of Spectre offering any native
table function. Some recommendations to use veriloga,
but really?
Something like
simulator lang=spice
.MODEL N5V_edge NMOS LEVEL=3 TPG=1 TOX=1.5E-8 UO= 500 VTO=table(VTx,0,0.5,1,0.7,2,0.9)
There are other ways to skin this example, but I can't put
what I really want in a public forum. What I'm after is a
method, with as few dependencies as possible, to push
some instance properties down into a PDK model file's
model params. Like for perturbing / looping a single
device's VT while keeping other modeling untouched.
Maybe I'm stuck with a rack of combo logic / math, like
... VTO=(VTx==0)*0.5+(VTX==1)*0.7+(VTx==2)*0.9)
but that won't interpolate, like a table function should.
I've been through the Spectre manuals I could find, and
zero relevant search hits on "table" (plenty on "acceptable"
and other derivatives, just nothing to use).
Any thoughts, hints, working examples?