I'm designing a MOS only current reference with tr...
# ieee-sscs-dc-21q3
l
I'm designing a MOS only current reference with transistor arrays. Every transistor array is made of single transistors with the same dimensions: 1.0 um/ 0.5 um. This design has exactly 512 transistors. https://github.com/lhrodovalho/AFEBioPICO/blob/main/ngspice/iref_tb.spice https://github.com/lhrodovalho/AFEBioPICO/blob/main/ngspice/iref.spice The spice testbench has one OP, two DC sweep and one transient simulations. Yet it takes about 4 minutes to start the simulations. After that, the simulations run in a few seconds. Why does it take so much time? By the way, I'm using ngspice-35 and set ngbehavior=hs.
b
I think this has to do with parsing the huge model library. Try taking out some model paths that you don't need. I think there are other posts on this workspace about this.
t
@Luis Henrique Rodovalho: Make sure you are using
set ng_nomodcheck
in addition to
set ngbehavior=hsa
(I don't think the extra
a
will make any difference to you). Startup time is still lengthy, but it should cut it from four minutes to around half a minute.
l
I'm using the spinit from open_pdks. It is in the same folder as the spice testbench. I've tried also to rename it to .spinit with no luck. I've also tried to make another setup file with just the 1.8 V FET libraries, as @Boris Murmann suggested, and also no luck. Later I'll try to remake this design to use longer L, maybe 8 um, but the ideal design should use more transistors in series. Later I'll have to simulate the full system, using several OTAs with even larger arrays. Then, the simulations will be really slow.
t
@Luis Henrique Rodovalho: What I discovered is that contrary to documented behavior, ngspice only recognizes the file if it is named
.spiceinit
.
l
It worked! Mere seconds to start the simulation now! Thanks!
@Matt Venn You should try this solution. It may solve your problem with long simulations.
👍 1
t
Probably somebody should raise this issue with the ngspice developers, since it really is contrary to what the documentation says.