Tool: Spectre sub-version 19.1.0.455.isr11
According to the equations provided in spectremod.pdf file (Model reference), aTFT RPI model calculates Ids = I_leakage + I_ab
If we make IOL = 0 and sigma0=0, then I_leakage=0. Similarly, making MUBAND=0 will make I_ab=0. So, Ids should be 0. However, I get a constant current output around 1e-11 for Vd=10V and 1e-13 for Vd=0.1V (100 times the Vd is giving 100 times the constant remaining Id).
I am wondering why this is happening. I cross-checked the code with another program called AIM-Spice which also implements LEVEL=15 atft model. AIM-Spice did not reproduce this behavior and Id was 0 for the above parameters.
PS: Circuit file and output graphs are attached for checking purpose.
Spectre output:
AIM-Spice output:
Linear Id-Vg shows Id=0
Checking Log Id-Vg for values near 1E-15 to 1E-10 shows nothing as expected
Code:
IGZO TFT
simulator lang=spectre insensitive=yes
parameters vdd=0
vg (1 0) vsource dc=0
vd (d 0) vsource dc=vdd
model tft atft type=n \
iol=0 \
sigma0=0 \
lambda=0.0 \
muband=0
atft1 (d 1 0 0) tft l=10u w=10u
vgvdsweep sweepVgVd
subckt sweepVgVd()
SweepVdDC sweep param=vdd start=0.1 stop=10 lin=1 {
SweepVgDC dc start=-15 stop=20 dev=vg step=0.1
}
ends sweepVgVd