mos1...3: set channel thermal noise to 0 in subthreshold range for nlev=3
This commit is contained in:
parent
f44a0ede08
commit
02a5cd5ea6
|
|
@ -128,12 +128,13 @@ MOS1noise(int mode, int operation, GENmodel * genmodel, CKTcircuit * ckt,
|
|||
/* linear region */
|
||||
alpha = 1.0 - (vds*inst->MOS1mode/(model->MOS1type*inst->MOS1vdsat));
|
||||
}
|
||||
} else {
|
||||
alpha = 0.0;
|
||||
}
|
||||
beta = inst->MOS1tTransconductance * inst->MOS1m *
|
||||
beta = inst->MOS1tTransconductance * inst->MOS1m *
|
||||
inst->MOS1w/(inst->MOS1l - 2 * model->MOS1latDiff);
|
||||
Sid = 2.0 / 3.0 * beta * vgst * (1.0+alpha+alpha*alpha) / (1.0+alpha) * model->MOS1gdsnoi;
|
||||
Sid = 2.0 / 3.0 * beta * vgst * (1.0+alpha+alpha*alpha) / (1.0+alpha) * model->MOS1gdsnoi;
|
||||
} else {
|
||||
/* subthreshold region */
|
||||
Sid = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
NevalSrcInstanceTemp( & noizDens[MOS1IDNOIZ], & lnNdens[MOS1IDNOIZ],
|
||||
|
|
|
|||
|
|
@ -117,12 +117,13 @@ MOS2noise(int mode, int operation, GENmodel * genmodel, CKTcircuit * ckt,
|
|||
/* linear region */
|
||||
alpha = 1.0 - (vds*inst->MOS2mode/(model->MOS2type*inst->MOS2vdsat));
|
||||
}
|
||||
} else {
|
||||
alpha = 0.0;
|
||||
}
|
||||
beta = inst->MOS2tTransconductance * inst->MOS2m *
|
||||
beta = inst->MOS2tTransconductance * inst->MOS2m *
|
||||
inst->MOS2w/(inst->MOS2l - 2 * model->MOS2latDiff);
|
||||
Sid = 2.0 / 3.0 * beta * vgst * (1.0+alpha+alpha*alpha) / (1.0+alpha) * model->MOS2gdsnoi;
|
||||
Sid = 2.0 / 3.0 * beta * vgst * (1.0+alpha+alpha*alpha) / (1.0+alpha) * model->MOS2gdsnoi;
|
||||
} else {
|
||||
/* subthreshold region */
|
||||
Sid = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
NevalSrcInstanceTemp( & noizDens[MOS2IDNOIZ], & lnNdens[MOS2IDNOIZ],
|
||||
|
|
|
|||
|
|
@ -117,12 +117,13 @@ MOS3noise(int mode, int operation, GENmodel * genmodel, CKTcircuit * ckt,
|
|||
/* linear region */
|
||||
alpha = 1.0 - (vds*inst->MOS3mode/(model->MOS3type*inst->MOS3vdsat));
|
||||
}
|
||||
} else {
|
||||
alpha = 0.0;
|
||||
}
|
||||
beta = inst->MOS3tTransconductance * inst->MOS3m *
|
||||
beta = inst->MOS3tTransconductance * inst->MOS3m *
|
||||
inst->MOS3w/(inst->MOS3l - 2 * model->MOS3latDiff);
|
||||
Sid = 2.0 / 3.0 * beta * vgst * (1.0+alpha+alpha*alpha) / (1.0+alpha) * model->MOS3gdsnoi;
|
||||
Sid = 2.0 / 3.0 * beta * vgst * (1.0+alpha+alpha*alpha) / (1.0+alpha) * model->MOS3gdsnoi;
|
||||
} else {
|
||||
/* subthreshold region */
|
||||
Sid = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
NevalSrcInstanceTemp( & noizDens[MOS3IDNOIZ], & lnNdens[MOS3IDNOIZ],
|
||||
|
|
|
|||
Loading…
Reference in New Issue