bluecmd
10/04/2020, 9:47 AMbluecmd
10/04/2020, 9:47 AMyrrapt
10/04/2020, 9:49 AMyrrapt
10/04/2020, 9:49 AMbluecmd
10/04/2020, 9:50 AMbluecmd
10/04/2020, 9:50 AMPepijn de Vos
10/04/2020, 10:09 AMbluecmd
10/04/2020, 10:11 AMbluecmd
10/04/2020, 10:11 AM**.subckt testar
V.10MHz in GND pulse(0 3 2ns 2ns 2ns 50ns 100ns)
C1 in filter_out 1p m=1
R1 filter_out GND 10k m=1
M1 inv_out in vcc vcc sky130_fd_pr__pfet_01v8 w=1 l=1 mult=1
M2 inv_out in GND GND sky130_fd_pr__nfet_01v8__model.0 w=5u l=0.18u m=1
V.3V vcc GND pwl 0 3
**** begin user architecture code
.lib /home/bluecmd/eda/sky130_fd_pr/models/sky130.lib.spice tt
.tran 0.1n 1u uic
.save all
**** end user architecture code
**.ends
.GLOBAL GND
.end
bluecmd
10/04/2020, 10:12 AMbluecmd
10/04/2020, 10:12 AMwarning, can't find model sky130_fd_pr__pfet_01v8
warning, can't find model sky130_fd_pr__nfet_01v8__model.0
ngspice stopped due to error, no simulation run!
ERROR: fatal error in ngspice, exit(1)
Circuit: **.subckt testar
Scale set
Error on line 5 :
m1 inv_out in vcc vcc sky130_fd_pr__pfet_01v8 w=1 l=1 mult=1
could not find a valid modelname
Error on line 6 :
m2 inv_out in 0 0 sky130_fd_pr__nfet_01v8__model.0 w=5u l=0.18u m=1
could not find a valid modelname
** ngspice exited with error code 0 **
Press enter to close
yrrapt
10/04/2020, 10:17 AMdiadatp
10/04/2020, 10:17 AMyrrapt
10/04/2020, 10:17 AMbluecmd
10/04/2020, 10:18 AMPepijn de Vos
10/04/2020, 10:21 AMPepijn de Vos
10/04/2020, 10:22 AMPepijn de Vos
10/04/2020, 10:23 AMbluecmd
10/04/2020, 10:25 AMbluecmd
10/04/2020, 10:26 AMbluecmd
10/04/2020, 11:55 AMbluecmd
10/04/2020, 11:56 AMTim Edwards
10/04/2020, 1:49 PM.option scale=1E-6
. This causes all of the dimension units to be interpreted as microns. Therefore w=5u
is no longer valid and should be changed to w=5
; likewise with all other length units (area units correspondingly get multiplied up by 1e12). This is a horrible practice and I wish they had not done that inside the model files, but I have looked at what it would take to pull it out, and it's not pretty. Looks like a lot of hard work to track down every equation involving a dimension.Adrian Freed
10/04/2020, 4:15 PM.subckt sky130_fd_sc_hvl__inv_1 A VGND VNB VPB VPWR Y
X0 VPWR A Y VPB sky130_fd_pr__pfet_g5v0d10v5 w=1.5e+06u l=500000u
X1 VGND A Y VNB sky130_fd_pr__nfet_g5v0d10v5 w=750000u l=500000u
.ends
Where they are still using the “u” suffix. I reflexively copied from this model when adapting the OSU cells which are posted with the M cards instead of the X cards in the earlier style. Should I be doing w=1.5 l=0.5 ?
As you noted it is a tricky to remove scale= because the scaling is only done on values that are related to length (e.g. lengths, widths and areas).Pepijn de Vos
10/04/2020, 4:49 PMTim Edwards
10/04/2020, 4:49 PMTim Edwards
10/04/2020, 5:01 PMrhead0 = 188.2 / (weff-0.0672*max(0.69-w,0)+1.41)
. I cannot think of any reasonable automated way to determine how to convert this from scaled units to unscaled units.Pepijn de Vos
10/04/2020, 6:07 PMyrrapt
10/04/2020, 6:57 PMAdrian Freed
10/04/2020, 8:35 PM