Skip to main content

Mos3Model

Struct Mos3Model 

Source
pub struct Mos3Model {
Show 39 fields pub nmos: bool, pub vto: Option<f64>, pub kp: Option<f64>, pub gamma: Option<f64>, pub phi: Option<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 vmax: f64, pub xj: f64, pub nfs: f64, pub eta: f64, pub delta: f64, pub theta: f64, pub kappa: f64, pub kf: f64, pub af: f64, pub nlev: i64, pub gdsnoi: f64, pub tnom: Option<f64>,
}
Expand description

.model … nmos(level=3 …)/pmos(level=3 …) parameters, 3f5 names and defaults (mos3.c keyword table; defaults from mos3set.c and mos3temp.c). Option marks parameters whose given-ness changes the preprocessing, as in crate::Mos1Model.

Fields§

§nmos: bool

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

§vto: Option<f64>

VTO/VT0, default 0, or computed from NSUB/NSS/TPG.

§kp: Option<f64>

KP, default U0·COX.

§gamma: Option<f64>

GAMMA, default 0, or computed from NSUB.

§phi: Option<f64>

PHI, default 0.6, or from NSUB.

§rd: Option<f64>

RD/RS, default 0.

§rs: Option<f64>§cbd: Option<f64>

CBD/CBS, default 0.

§cbs: Option<f64>§is: f64

IS, default 1e-14.

§pb: f64

PB, default 0.8.

§cgso: f64

CGSO/CGDO/CGBO, default 0.

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

RSH, default 0.

§cj: Option<f64>

CJ, per m², default 0.

§mj: f64

MJ, default 0.5.

§cjsw: Option<f64>

CJSW, per meter, default 0.

§mjsw: f64

MJSW, default 0.33 (as MOS2).

§js: f64

JS, per m², default 0.

§tox: Option<f64>

TOX, default 1e-7 m (MOS3 always has an oxide).

§ld: f64

LD, default 0.

§u0: Option<f64>

U0/UO, cm²/V·s, default 600.

§fc: f64

FC, default 0.5.

§nsub: Option<f64>

NSUB, 1/cm³.

§tpg: Option<f64>

TPG, default 1 when NSUB is given.

§nss: Option<f64>

NSS, 1/cm², default 0.

§vmax: f64

VMAX: maximum carrier drift velocity, m/s, default 0 (off).

§xj: f64

XJ: metallurgical junction depth, default 0.

§nfs: f64

NFS: fast surface state density, 1/cm², default 0.

§eta: f64

ETA: static feedback (Vds dependence of threshold), default 0.

§delta: f64

DELTA: width effect on threshold, default 0.

§theta: f64

THETA: mobility modulation by the gate field, 1/V, default 0.

§kappa: f64

KAPPA: saturation field factor, default 0.2.

§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 Mos3Model

Source

pub fn new(nmos: bool) -> Self

Trait Implementations§

Source§

impl Clone for Mos3Model

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 Mos3Model

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.