<@U03HZCR30HG> I have observed the same issue. The...
# sky130
b
@Charles White I have observed the same issue. The models need a major update...
c
Hi Professor Murmann! I'm a big fan of your book and your article. I'm glad I'm not the only one with this issue. Does this mean the models are broken? How can I work with the models knowing this? I'm actually following your book closely to implement a simple two stage miller design using sky water, but since the gm/ID function isn't monotonic I am running into issues using the PCHIP function. It also looks like only gm/ID is affected so maybe I can use the gm's to make my own interpolation similar to what you used in your article I referenced. What do you think is the best way around this?
b
The models are broken, definitely. The curves look reasonable only in strong inversion. A solution for now could be to to limit the sweep to VGS values above Vt+100mV or so. Anything below is bad data, anyway.
c
Yikes, yes that is terrible. Thanks again Professor!
t
The models have had a major update, and I have the new models all prepared, working in ngspice, and ready to go. For several months now, @Tim 'mithro' Ansell has been sitting on this and not updating the PDK. Please keep complaining to him how the existing models are a major impediment to analog design and why we desperately need the new models. I cannot publish the models myself because open sourcing SkyWater data is between SkyWater and Google, and I do not have that authority. I have already created a patch file that incorporates the new models seamlessly into the existing PDK. All that Tim Ansell has to do is apply the patch and commit the result to the repository. It will, literally, take less than a minute to complete.
πŸ™ 2
SkyWater, by the way, has already green-lighted this. Google already has the permission to publish the new continuous models.
πŸ™Œ 1
b
@Tim 'mithro' Ansell
p
discussion is happening around this in https://github.com/google/skywater-pdk/issues/380
b
any news about that discussion or resutls for now Sir ? @Boris Murmann @proppy
p
@Belal Ali did some progress on the conversion (as you can see on the linked issue), but still need to find a good way to integrate the intermediate results to the pdk repo.
c
@proppy @Tim Edwards I see that the new models address discontinuity when changing widths and lengths. But, this specific thread discusses the modeling issues when using gate-source voltages near the threshold; which was pointed out last year by @Boris Murmann and discussed in length here. Do the new models fix this as well?
p
@Charles White that's a good point, I'd love to check that the continuous models actually fix this. Do you happen to have the testbed that @Boris Murmann used in the issue he created? https://github.com/google/skywater-pdk/issues/381
πŸ‘ 1
c
Hi @proppy thanks for the quick reply, and thanks for helping with this! @Boris Murmann 's test bench is almost the same as the one I used here. The only difference is at eesim.dev they only have the "sky130_fd_pr__pfet_01v8_hvt" model. @Boris Murmann demonstrated the same thing with the "sky130_fd_pr__pfet_01v8" model. Both models show that kink in the middle, anything below that is not realistic. It's an issue with the PFET's, the NFET's seem okay.
Hi @proppy I think @Boris Murmann demonstrated that the raw data is not good enough to model the transistors below Vgs=0.5 here. Is that an accurate conclusion @Boris Murmann?
p
So a good way forward would re-run the test bed you have in your post against the continuous model, to verify they actually fix the issue you spotted?
b
Yes, the measured data is not good enough to see the device behavior below VG=0.5V. Regardless, we know that the current models are wrong in that region.
πŸ‘ 1
c
I've been playing with google colab a bit, and also playing with the raw data for the pfets. Using the data file: sky130_fd_pr__pfet_01v8_w1u_l0p5u_m1(8405_11_10_IDVG).mdm , I am getting very noisy plots:
b
Wow, this looks like a bad connection during the measurement sweep.
c
Yea, I'm hoping I'm doing something wrong, otherwise the pfet models are going to be terrible. Attached is ''sky130_fd_pr__pfet_01v8_w1u_l0p5u_m1(8405_9_8_IDVG).mdm''; what do the numbers mean, I'm thinking w1u is 1um width, l0p5u is 0.5u length and IDVG is drain current as VG changes; but I don't know (8405_9_8) earlier I used 8405_11_10.
b