Charles White
08/21/2022, 10:39 PMLuis Henrique Rodovalho
08/23/2022, 8:05 PM* PMOS diode testbench
* Include SkyWater sky130 device models
.lib "/usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice" tt
.param mc_mm_switch=0
X0 D G S B sky130_fd_pr__pfet_01v8 ad=4e+11p pd=2.8e+06u as=4e+11p ps=2.8e+06u w=1.0 l=0.5 m={1}
VG G 0 -1
VS S 0 0
VD D G 0
VB B 0 0
.option gmin = 1e-15
.control
dc VG -2.0 -0.1 1m
let vgs = abs(v(g)-v(s))
let id = abs(i(vd))
let gm = abs(deriv(id)/deriv(vgs))
let gmid = gm/id
plot id vs vgs
plot id vs vgs ylog ylimit 1e-15 1e-3
plot gmid vs id xlog
.endc
.end
The transistors seems to be fine.Charles White
08/23/2022, 10:48 PM* NMOS diode testbench
* Include SkyWater sky130 device models
.lib "/usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice" tt
.param mc_mm_switch=0
X0 D G S B sky130_fd_pr__nfet_01v8 ad=4e+11p pd=2.8e+06u as=4e+11p ps=2.8e+06u w=1.0 l=0.5 m={1}
VG G 0 1
VS S 0 0
VD D G 0
VB B 0 0
.option gmin = 1e-15
.control
dc VG 0.1 2.0 1m
let vgs = abs(v(g)-v(s))
let id = abs(i(vd))
let gm = abs(deriv(id)/deriv(vgs))
let gmid = gm/id
plot id vs vgs
plot id vs vgs ylog ylimit 1e-15 1e-3
plot gmid vs id xlog
.endc
.end
Charles White
08/23/2022, 10:50 PMLuis Henrique Rodovalho
08/24/2022, 8:21 PMLuis Henrique Rodovalho
08/24/2022, 8:21 PM* PMOS diode testbench
* Include SkyWater sky130 device models
.lib "/usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice" tt
.param mc_mm_switch=0
X0 D G S B sky130_fd_pr__pfet_01v8 ad=4e+11p pd=2.8e+06u as=4e+11p ps=2.8e+06u w=1.0 l=0.5 m={1}
VG G 0 -1
VS S 0 0
VD D 0 -0.013
VB B 0 0
.option gmin = 1e-15
.control
dc VG -2.0 -0.1 1m
let vgs = abs(v(g)-v(s))
let id = abs(i(vd))
let gm = abs(deriv(id)/deriv(vgs))
let gmid = gm/id
plot id vs vgs
plot id vs vgs ylog ylimit 1e-15 1e-3
plot gmid vs id xlog
.endc
.end
Luis Henrique Rodovalho
08/24/2022, 8:27 PM* PMOS diode testbench
* Include SkyWater sky130 device models
.lib "/usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice" tt
.param mc_mm_switch=0
X0 D G S B sky130_fd_pr__pfet_01v8 ad=4e+11p pd=2.8e+06u as=4e+11p ps=2.8e+06u w=1.0 l=0.5 m={1}
VG G 0 -1
VS S 0 0
VD D 0 -0.013
VB B 0 0
.option gmin = 1e-15
.control
dc VG -2.0 -0.1 1m
let vgs = abs(v(g)-v(s))
let id = abs(i(vd))
let gm = abs(deriv(id)/deriv(vgs))
let gmid = gm/id
plot id vs vgs
plot id vs vgs ylog ylimit 1e-15 1e-3
plot gmid vs id xlog
dc VD -2.0 -0.1 1m
let vds = abs(v(d)-v(s))
let id = abs(i(vd))
plot id vs vds
.endc
.end
See, there is very low rds, due to the small transistor length. That is why the transistors must be characterized in the linear region.Linen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by