tnt
04/06/2024, 8:46 PMW=12 L=0.5 nf=3
The W is the total width right ? Or the per-finger one ?
I was pretty sure it was the total one given you have stuff like ad="'int((nf+1)/2) * W / nf * 0.29'"
in the param box ( the W/nf
being the clue ).Stefan Schippers
04/06/2024, 10:01 PMnfet_01v8_nf.sym
device instantiated with:
W=2 nf=3 L=0.15
you get the following netlist:
XM1 net1 net2 net3 net4 sky130_fd_pr__nfet_01v8 L=0.15 W='2 * 3 ' nf=3 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
you see the expression W='2 * 3'
, total width is calculated as product of finger width * nf
The expressions for ad, as, pd, ps use this calculated W value.
The only reason for the *nf.sym symbols was user request. Some users asked to have devices where the finger width is specified in transistor attributes, instead of the total width, as default in xschem_sky130tnt
04/06/2024, 10:05 PMnf
thing was just cosmetic.Stefan Schippers
04/06/2024, 10:13 PMtnt
04/06/2024, 10:25 PMStefan Schippers
04/06/2024, 10:35 PM