Schottky Contact
Model
pdbSetDouble Silicon Egcond 0.55
pdbSetDouble Silicon Egval -0.55
pdbSetDouble Silicon Ncond 2.51e19
pdbSetDouble Silicon Nval 2.51e19
proc n.schottky.contact {Contact Rvel} {
pdbSetBoolean $Contact Elec Fixed 0
pdbSetBoolean $Contact Hole Fixed 0
pdbSetBoolean $Contact DevPsi Fixed 1
pdbSetBoolean $Contact Elec Flux 1
pdbSetBoolean $Contact Hole Flux 1
pdbSetBoolean $Contact DevPsi Flux 1
pdbSetDouble $Contact Hole Flux.Scale 1.619e-19
pdbSetDouble $Contact Elec Flux.Scale 1.619e-19
pdbSetString $Contact Elec Equation "$Rvel*(Elec-ND)"
set Econd "[pdbDelayDouble $Mat Egcond] - DevPsi"
set Nc "[pdbDelayDouble $Mat Ncond]"
set eqn "$Econd + 0.025 * log( (ND+1.0e-15) / $Nc) + $Contact"
pdbSetString $Contact DevPsi Equation $eqn
pdbSetString $Contact Hole Equation "$Rvel*(Hole - 1.0e20/ND)"
}
proc p.schottky.contact {Contact Rvel} {
pdbSetBoolean $Contact Elec Fixed 0
pdbSetBoolean $Contact Hole Fixed 0
pdbSetBoolean $Contact DevPsi Fixed 1
pdbSetBoolean $Contact Elec Flux 1
pdbSetBoolean $Contact Hole Flux 1
pdbSetBoolean $Contact DevPsi Flux 1
pdbSetDouble $Contact Hole Flux.Scale 1.619e-19
pdbSetDouble $Contact Elec Flux.Scale 1.619e-19
#charge neutrality for the dominant carrier w/ Recombination velocity
pdbSetString $Contact Hole Equation "$Rvel*(Hole-NA)"
set Eval "-[pdbDelayDouble $Mat Egval] + DevPsi"
set Nv "[pdbDelayDouble $Mat Nval]"
set eqn "$Eval + 0.025 * log( (NA+1.0e-15) / $Nv) + $Contact"
pdbSetString $Contact DevPsi Equation $eqn
pdbSetString $Contact Elec Equation "$Rvel*(Elec - 1.0e20/NA)"
}
Notes
Minor bug: The definitions are currently defined causing the opposite bias to give the correct result.