Skip to main content

Bsim2Model

Struct Bsim2Model 

Source
pub struct Bsim2Model {
Show 136 fields pub nmos: bool, pub vfb: f64, pub lvfb: f64, pub wvfb: f64, pub phi: f64, pub lphi: f64, pub wphi: f64, pub k1: f64, pub lk1: f64, pub wk1: f64, pub k2: f64, pub lk2: f64, pub wk2: f64, pub eta0: f64, pub leta0: f64, pub weta0: f64, pub etab: f64, pub letab: f64, pub wetab: f64, pub mu0b: f64, pub lmu0b: f64, pub wmu0b: f64, pub mus0: f64, pub lmus0: f64, pub wmus0: f64, pub musb: f64, pub lmusb: f64, pub wmusb: f64, pub mu20: f64, pub lmu20: f64, pub wmu20: f64, pub mu2b: f64, pub lmu2b: f64, pub wmu2b: f64, pub mu2g: f64, pub lmu2g: f64, pub wmu2g: f64, pub mu30: f64, pub lmu30: f64, pub wmu30: f64, pub mu3b: f64, pub lmu3b: f64, pub wmu3b: f64, pub mu3g: f64, pub lmu3g: f64, pub wmu3g: f64, pub mu40: f64, pub lmu40: f64, pub wmu40: f64, pub mu4b: f64, pub lmu4b: f64, pub wmu4b: f64, pub mu4g: f64, pub lmu4g: f64, pub wmu4g: f64, pub ua0: f64, pub lua0: f64, pub wua0: f64, pub uab: f64, pub luab: f64, pub wuab: f64, pub ub0: f64, pub lub0: f64, pub wub0: f64, pub ubb: f64, pub lubb: f64, pub wubb: f64, pub u10: f64, pub lu10: f64, pub wu10: f64, pub u1b: f64, pub lu1b: f64, pub wu1b: f64, pub u1d: f64, pub lu1d: f64, pub wu1d: f64, pub n0: f64, pub ln0: f64, pub wn0: f64, pub nb: f64, pub lnb: f64, pub wnb: f64, pub nd: f64, pub lnd: f64, pub wnd: f64, pub vof0: f64, pub lvof0: f64, pub wvof0: f64, pub vofb: f64, pub lvofb: f64, pub wvofb: f64, pub vofd: f64, pub lvofd: f64, pub wvofd: f64, pub ai0: f64, pub lai0: f64, pub wai0: f64, pub aib: f64, pub laib: f64, pub waib: f64, pub bi0: f64, pub lbi0: f64, pub wbi0: f64, pub bib: f64, pub lbib: f64, pub wbib: f64, pub vghigh: f64, pub lvghigh: f64, pub wvghigh: f64, pub vglow: f64, pub lvglow: f64, pub wvglow: f64, pub mu0: f64, pub dl: f64, pub dw: f64, pub tox: f64, pub temp: f64, pub vdd: f64, pub vgg: f64, pub vbb: f64, pub cgso: f64, pub cgdo: f64, pub cgbo: f64, pub xpart: f64, pub rsh: f64, pub js: f64, pub pb: f64, pub mj: f64, pub pbsw: f64, pub mjsw: f64, pub cj: f64, pub cjsw: f64, pub wdf: f64, pub dell: f64, pub kf: f64, pub af: f64,
}
Expand description

.model … nmos(level=5 …) parameters, 3f5 names (b2.c). Bsim2Model::new carries the b2set.c defaults; junction potentials are clamped to ≥ 0.1 like BSIM1’s.

Fields§

§nmos: bool§vfb: f64

VFB and its L/W dependences.

§lvfb: f64§wvfb: f64§phi: f64

PHI and its L/W dependences.

§lphi: f64§wphi: f64§k1: f64

K1 and its L/W dependences.

§lk1: f64§wk1: f64§k2: f64

K2 and its L/W dependences.

§lk2: f64§wk2: f64§eta0: f64

ETA0 and its L/W dependences.

§leta0: f64§weta0: f64§etab: f64

ETAB and its L/W dependences.

§letab: f64§wetab: f64§mu0b: f64

MU0B and its L/W dependences.

§lmu0b: f64§wmu0b: f64§mus0: f64

MUS0 and its L/W dependences.

§lmus0: f64§wmus0: f64§musb: f64

MUSB and its L/W dependences.

§lmusb: f64§wmusb: f64§mu20: f64

MU20 and its L/W dependences.

§lmu20: f64§wmu20: f64§mu2b: f64

MU2B and its L/W dependences.

§lmu2b: f64§wmu2b: f64§mu2g: f64

MU2G and its L/W dependences.

§lmu2g: f64§wmu2g: f64§mu30: f64

MU30 and its L/W dependences.

§lmu30: f64§wmu30: f64§mu3b: f64

MU3B and its L/W dependences.

§lmu3b: f64§wmu3b: f64§mu3g: f64

MU3G and its L/W dependences.

§lmu3g: f64§wmu3g: f64§mu40: f64

MU40 and its L/W dependences.

§lmu40: f64§wmu40: f64§mu4b: f64

MU4B and its L/W dependences.

§lmu4b: f64§wmu4b: f64§mu4g: f64

MU4G and its L/W dependences.

§lmu4g: f64§wmu4g: f64§ua0: f64

UA0 and its L/W dependences.

§lua0: f64§wua0: f64§uab: f64

UAB and its L/W dependences.

§luab: f64§wuab: f64§ub0: f64

UB0 and its L/W dependences.

§lub0: f64§wub0: f64§ubb: f64

UBB and its L/W dependences.

§lubb: f64§wubb: f64§u10: f64

U10 and its L/W dependences.

§lu10: f64§wu10: f64§u1b: f64

U1B and its L/W dependences.

§lu1b: f64§wu1b: f64§u1d: f64

U1D and its L/W dependences.

§lu1d: f64§wu1d: f64§n0: f64

N0 and its L/W dependences.

§ln0: f64§wn0: f64§nb: f64

NB and its L/W dependences.

§lnb: f64§wnb: f64§nd: f64

ND and its L/W dependences.

§lnd: f64§wnd: f64§vof0: f64

VOF0 and its L/W dependences.

§lvof0: f64§wvof0: f64§vofb: f64

VOFB and its L/W dependences.

§lvofb: f64§wvofb: f64§vofd: f64

VOFD and its L/W dependences.

§lvofd: f64§wvofd: f64§ai0: f64

AI0 and its L/W dependences.

§lai0: f64§wai0: f64§aib: f64

AIB and its L/W dependences.

§laib: f64§waib: f64§bi0: f64

BI0 and its L/W dependences.

§lbi0: f64§wbi0: f64§bib: f64

BIB and its L/W dependences.

§lbib: f64§wbib: f64§vghigh: f64

VGHIGH and its L/W dependences.

§lvghigh: f64§wvghigh: f64§vglow: f64

VGLOW and its L/W dependences.

§lvglow: f64§wvglow: f64§mu0: f64

MU0 (no L/W triple of its own).

§dl: f64

DL/DW in µm; TOX in µm.

§dw: f64§tox: f64§temp: f64

TEMP in °C (BSIM2 uses it for its own Vtm).

§vdd: f64

VDD/VGG/VBB: measurement ranges.

§vgg: f64§vbb: f64§cgso: f64

Overlap capacitances per meter.

§cgdo: f64§cgbo: f64§xpart: f64

XPART (channelChargePartitionFlag).

§rsh: f64§js: f64§pb: f64§mj: f64§pbsw: f64§mjsw: f64§cj: f64§cjsw: f64§wdf: f64

WDF/DELL (accepted, unused by the load).

§dell: f64§kf: f64

KF/AF (noise only; ngspice-47’s b2noi.c — the 3f5’s BSIM2 has no noise and no such parameters). Defaults 0 and 1; new sets AF, the derived Default leaves it 0.

§af: f64

Implementations§

Source§

impl Bsim2Model

Source

pub fn new(nmos: bool) -> Self

The b2set.c defaults (everything not listed is 0).

Trait Implementations§

Source§

impl Clone for Bsim2Model

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 Bsim2Model

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Bsim2Model

Source§

fn default() -> Self

Returns the “default value” for a type. 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.