Hi everyone, I am working with a bandgap circuit a...
# analog-design
s
Hi everyone, I am working with a bandgap circuit and was moving to process corners simulation. From what I could find there is corner.sym which defines the same corner for cmos and bjts. Is there a way in a sim to define different corner for cmos and bjts ?
t
In theory, the
sky130.lib.spice
file defines the corners and what goes into each, and you can just copy that file and add your own "corner" definitions. However, looking into it, the bipolars are not as easy as just selecting the right parameter file. Starting from
libs.tech/combined/continuous/models_bjt.spice
, there are relatively few parameters defined outside the model file.
sw_mm_npn_is
and
sw_mm_npn_bf
are defined in models_global.spice (therefore not corner-specific); the only parameter I found that is corner-specific is
sw_func_pw_rs
which is pwell resistance and found in the resistor corner parameter files (high/low/nom). One would expect parameters like
dkisnpn1x1
and
dkbfnpn1x1
(Is and beta, respectively) to have corner values, but I can't find any. The older models from
libs.tech/ngspice/
are including one set of corner parameters for the NPN bipolars (
/usr/share/pdk/sky130A/libs.ref/sky130_fd_pr/spice/sky130_fd_pr__npn_05v5__[f,s,t].corner.spice
); the includes for these parameters are buried inside files like
ngspice/corners/ff.spice
where a lot of extra effort would be needed to pull them apart, namely by abandoning the
.lib sky130.lib.spice
method and just including individual files for devices. Which would be a royal pain, but the only solution I can see.