I am using the freepdk45nm. I simulated the drain current vs. the gate-source voltage. I found discrepancy between the two when the gate-source voltage is very low, probably due to the fact that ngspice does not model the leakage current?
I see a discrepancy between your dc sweep command and the two figures, which should show a length parametric sweep @ 0.5V. You are sure that you picked the 0.5V VDS sweep for ngspice?
The op template @m1[id] reflect not the true drain current for analysis. Use abs(i(vds)) for save, write and plot and everything is OK.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Last edit: Chad Winters 2023-11-03
I see a discrepancy between your dc sweep command and the two figures, which should show a length parametric sweep @ 0.5V. You are sure that you picked the 0.5V VDS sweep for ngspice?
The op template @m1[id] reflect not the true drain current for analysis. Use abs(i(vds)) for save, write and plot and everything is OK.
@dwarning, thanks for reply. The issue was due to me using
@m1[id]. Usingi(vds)fixed the issue.Yes, the op variable [id] is the pure channel current and did not include d/s diode contributions.