Hi everyone,
It's been about a week I'm playing with sky130. Now I'm trying to characterize the transistor in relation to W, L and nf parameters. Here an example of the testbench I'm working with:
*********************************
**.subckt tb_characteristics
vg q GND dc 1
vd d GND dc 1
XM1 d q GND GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
+ sa=0 sb=0 sd=0 mult=1 m=1
.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr_ngspice/latest/models/sky130.lib.spice tt
.control
dc vd 0 5 0.1 vg 0.7 1 0.1
plot -i(vd)
.endc
.GLOBAL GND
.end
*********************************
The problem is that when I change the nf parameter (to nf=2, for example), ngspice throws the error:
Error on line 0 :
m.xm1.msky130_fd_pr__nfet_01v8 d q 0 0 xm1:sky130_fd_pr__nfet_01v8__model l= 1.49999999999999994e-01 w= 1.00000000000000000e+00 nf= 2.00000000000000000e+00 ad= 1.44999999999999990e-01 as=
2.89999999999999980e-01 pd= 1.58000000000000007e+00 ps= 3.16000000000000014e+00 nrd= 2.89999999999999980e-01 nrs= 2.89999999999999980e-01 sa= 0.00000000000000000e+00 sb= 0.0000000
0000000000e+00 sd= 0.00000000000000000e+00 m= 1.00000000000000000e+00
could not find a valid modelname
Simulation interrupted due to error!
Can anyone help me?
Regards,
Rafael