transistor w/l parameters

167 views
Skip to first unread message

Rafael Marinho

unread,
Jan 8, 2021, 9:28:04 PM1/8/21
to skywater-pdk-users
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
Reply all
Reply to author
Forward
0 new messages