Closed kcaisley closed 11 months ago
Thanks for digging in here!
MosFamily.RF
variant makes sense to meULTRA_HIGH
a real one you've encountered, or just, like, for symmetry with ULTRA_LOW
? FIXME
s all over to move the primitives.MosParams
field names to nf
and mult
. They just haven't happened since they require updating the downstream PDK packages, including the non-built-in ones. We can roll those in as they come up. Okay, great. I've made the changes for the enums, and renamed all instances of npar
-> nf
and all instances of m
, mf
, and vm
-> mult
. I've grouped them together with my outstanding PR #164 as all the changes are related to device MosParams
.
Regarding ULTRA_HIGH
Vth class devices: Yes, I know some PDKs that have them. One publicly documented is a TSMC 28nm PDK, which has ULVT, LVT, SVT, HVT, UHVT (and even an 'extremely high' EHVT variety, to boot). From the linked page:
Closing now (as this is implemented in #164 )
I have a couple of questions/proposed changes regarding the
Enums
andParams
for primitive transistors. Relevant snippet fromprimitives.py
:I understand (from Dicussion #103) that the
MosParams.model
field is designed as an "escape hatch" to allow specifying less-common device flavors that don't warrant covering in theMosFamily
,MosVth
, andMosType
enums.With that in mind, two of the PDKs I use have separate RF devices, which share the same core BSIM model as the normal baseband devices but include more accurate parasitic + LDE modeling. (The associated layout pcell includes a guard ring and bulk/well contacts, etc.) I am currently using the
model
escape hatch to tell<mypdk>.compile()
to convert primitives toExternalModule
s for the RF devices. But I'm curious if you feel the RF transistor type is appropriate and common enough to warrant adding aRF="RF"
member to theMosFamily
enum?Can I propose adding a
ULTRA_HIGH = "ULTRA_HIGH"
member to theMosVth
enum?Can I propose addressing the
# FIXME: rename
forMosParams.npar
below, by renaming it toMosParams.nf
?Will open a pull request if these changes are useful. (Will be sure to go through the examples to update the references to
npar
.)