Skip to main content

Mos1Model

Struct Mos1Model 

Source
pub struct Mos1Model {
Show 33 fields pub nmos: bool, pub vto: Option<f64>, pub kp: Option<f64>, pub gamma: Option<f64>, pub phi: Option<f64>, pub lambda: f64, pub rd: Option<f64>, pub rs: Option<f64>, pub cbd: Option<f64>, pub cbs: Option<f64>, pub is: f64, pub pb: f64, pub cgso: f64, pub cgdo: f64, pub cgbo: f64, pub rsh: Option<f64>, pub cj: Option<f64>, pub mj: f64, pub cjsw: Option<f64>, pub mjsw: f64, pub js: f64, pub tox: Option<f64>, pub ld: f64, pub u0: Option<f64>, pub fc: f64, pub nsub: Option<f64>, pub tpg: Option<f64>, pub nss: Option<f64>, pub kf: f64, pub af: f64, pub nlev: i64, pub gdsnoi: f64, pub tnom: Option<f64>,
}
Expand description

.model … nmos(level=1 …)/pmos(level=1 …) parameters, 3f5 names and defaults (mos1.c keyword table; defaults from mos1set.c). Option marks parameters whose given-ness changes the preprocessing in MOS1temp (e.g. KP computed from U0/TOX, VTO/PHI/GAMMA from NSUB, CBD vs CJ·AD).

Fields§

§nmos: bool

NMOS (+1) or PMOS (−1).

§vto: Option<f64>

VTO/VT0: threshold voltage; default 0, or computed from NSUB/NSS/TPG when those are given.

§kp: Option<f64>

KP: transconductance; default 2e-5, or U0·COX with TOX.

§gamma: Option<f64>

GAMMA: bulk threshold; default 0, or computed from NSUB.

§phi: Option<f64>

PHI: surface potential; default 0.6, or from NSUB.

§lambda: f64

LAMBDA: channel-length modulation, default 0.

§rd: Option<f64>

RD: drain ohmic resistance, default 0.

§rs: Option<f64>

RS: source ohmic resistance, default 0.

§cbd: Option<f64>

CBD: zero-bias B-D junction capacitance, default 0.

§cbs: Option<f64>

CBS: zero-bias B-S junction capacitance, default 0.

§is: f64

IS: bulk junction saturation current, default 1e-14.

§pb: f64

PB: bulk junction potential, default 0.8.

§cgso: f64

CGSO/CGDO/CGBO: overlap capacitances per meter, default 0.

§cgdo: f64§cgbo: f64§rsh: Option<f64>

RSH: drain/source diffusion sheet resistance, default 0.

§cj: Option<f64>

CJ: bottom junction capacitance per m², default 0.

§mj: f64

MJ: bottom grading coefficient, default 0.5.

§cjsw: Option<f64>

CJSW: sidewall capacitance per meter, default 0.

§mjsw: f64

MJSW: sidewall grading coefficient, default 0.5.

§js: f64

JS: bulk junction saturation current per m², default 0.

§tox: Option<f64>

TOX: oxide thickness, meters.

§ld: f64

LD: lateral diffusion, default 0.

§u0: Option<f64>

U0/UO: surface mobility, cm²/V·s; default 600.

§fc: f64

FC: forward-bias depletion capacitance coefficient, default 0.5.

§nsub: Option<f64>

NSUB: substrate doping, 1/cm³.

§tpg: Option<f64>

TPG: gate material type (+1 opposite of substrate, −1 same, 0 aluminum); default 1 when NSUB is given.

§nss: Option<f64>

NSS: surface state density, 1/cm².

§kf: f64

KF/AF (noise only).

§af: f64§nlev: i64

NLEV (ngspice-47 only, default 2): noise equation selector — < 3 channel thermal 4kT·(2/3)|gm|, 3 the GDSNOI-scaled form; for the MOSFETs also the flicker form (0/1/2–3).

§gdsnoi: f64

GDSNOI (ngspice-47 only, default 1): channel noise coefficient of NLEV = 3.

§tnom: Option<f64>

TNOM in kelvin.

Implementations§

Source§

impl Mos1Model

Source

pub fn new(nmos: bool) -> Self

Trait Implementations§

Source§

impl Clone for Mos1Model

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Mos1Model

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ByRef<T> for T

Source§

fn by_ref(&self) -> &T

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.