pingspice.test.analysis.test_mosfet_model.Test_MOSFET_Model(tb.TestCase) class documentation
Part of pingspice.test.analysis.test_mosfet_model
(View In Hierarchy)
| Method | setUp | Undocumented |
| Method | makeModel | Undocumented |
| Method | plot | Undocumented |
| Method | test_params | Undocumented |
| Method | test_sameSuffix | Undocumented |
| Method | test_mv_vacc | Diagram: |
| Method | test_mv_vacc_PMOS | Undocumented |
| Method | test_mi_vsat | Diagram: |
| Method | test_mi_vsat_PMOS | Diagram: |
| Method | test_mi_vsat_tj | Diagram: |
| Method | DC_drift_region | Builds a circuit with analysis.mosfet_model.MOSFET_Model.drift_region
and does a DC analysis on it with the supplied args. |
| Method | test_drift_region_Vds | Internal MOS3 primitive, Vds=V(19)-V(39), saturates at around 274 A, Vds 60V. |
| Method | test_drift_region_Vds_PMOS | Voltage across V(19,39) of internal MOS3 primitive never goes above about 15 mV. All saturation behavior for this device comes from drift region, at around 108 A. |
| Method | test_drift_region_Vgs | Undocumented |
| Method | test_drift_region_Vgs_PMOS | Undocumented |
| Method | test_drift_region_Vtj | Mobility reduction in drift region with increased temperature, NMOS. |
| Method | test_drift_region_Vtj_PMOS | Mobility reduction in drift region with increased temperature, PMOS. |
| Method | DC_channel | Builds a circuit with analysis.mosfet_model.MOSFET_Model.channel
and does a DC analysis on it with the supplied args. |
| Method | test_channel_Vds | Undocumented |
| Method | test_channel_Vds_PMOS | Undocumented |
Inherited from MsgBase (via TestCase):
| Method | isVerbose | Undocumented |
| Method | verboserator | Undocumented |
| Method | msg | Undocumented |
Inherited from MsgBase (via TestCase):
| Method | isVerbose | Undocumented |
| Method | verboserator | Undocumented |
| Method | msg | Undocumented |
def test_mv_vacc(self):
Diagram:
+------+
+---|- Vd +|-- 17 ----+---------+
| +------+ | |
0 | V
| +---------+
+----- 291 -------|---x| mv_vacc |-------> mv_vacc
| | +---------+
+-----+ +----+ V
| + | | R1 | |
| Vin | +----+ |
| - | | |
+-----+ +-- 18 ---+
| |
| +----+
0 | R2 |
+----+
|
0
def test_mi_vsat(self):
Diagram:
+------+ +--------+
+-->| Rsrc |>-- 20 --+-->|+ Vsh -|>--- 30 -----+
| +------+ | +--------+ |
| | | |
10 ^ | |
| | x |
+-----+ | +---------+ V
| + | +--<| B:Isat |<---+ +-------+
| Vin | +---------+ | | |
| - | x x | | Rload |
+-----+ +------+ | | | | |
| | 1.0 |----- nmc ---+ | ^ | |
| | | | | +-------+
| | 25.0 |----- tj ------+ | V
| +------+ | |
| | | |
0 0 0 0
VTJ tj 0 25.0
VMAX nmc 0 1.0
VIN 10 0 0
R0 10 20 1.0
VSH 20 30 0
R1 30 0 1.0
B0 mv_nmc 0 v=V(nmc)/(0.26+0.74*((V(tj)+273.15)/298.15))
RB0 mv_nmc 0 1
B1 0 20 i=i(Vsh) < 0 ? 0 :
+ i(Vsh) > 1000*V(mv_nmc) ? i(Vsh) - V(mv_nmc) :
+ i(Vsh)*(1 - ((1 + (i(Vsh)/V(mv_nmc))^2)^-0.5))
.END
def test_mi_vsat_PMOS(self):
Diagram:
+------+ +--------+
+--<| Rsrc |<-- 20 --+--<|- Vsh +|<--- 30 -----+
| +------+ | +--------+ |
| | | |
10 V | |
| | x |
+-----+ | +---------+ ^
| - | +-->| B:Isat |>---+ +-------+
| Vin | +---------+ | | |
| + | x x | | Rload |
+-----+ +------+ | | | | |
| | 1.0 |----- nmc ---+ | ^ | |
| | | | | +-------+
| | 25.0 |----- tj ------+ | ^
| +------+ | |
| | | |
0 0 0 0
def test_mi_vsat_tj(self):
Diagram:
+------+ +--------+
+-->| Rsrc |>-- 20 --+-->|+ Vsh -|>--- 30 -----+
| +------+ | +--------+ |
| | | |
10 ^ | |
| | x |
+-----+ | +---------+ V
| + | +--<| B:Isat |<---+ +-------+
| Vin | +---------+ | | |
| - | x x | | Rload |
+-----+ +------+ | | | | |
| | 1.0 |----- nmc ---+ | ^ | |
| +------+ | | +-------+
| | +-------+ | | V
| +------|- Vtj +|----+ | |
| | +-------+ | |
0 0 0 0
Builds a circuit with analysis.mosfet_model.MOSFET_Model.drift_region
and does a DC analysis on it with the supplied args.
Returns a Deferred that fires with the Vectors_Ngspice
object populated with V(10), V(16), and V(19). Also internal node voltage
V(18) between the accumulation and JFET region modeling inside the drift
region.:
+-----+
+-- 10 -->| Rd |>------- 16 --+
| +-----+ |
| V
+-----+ +--------+
| + | +------+ | . |
| | | | | . ---|-----------x 18
| Vin | | Vgs |-- 29 --+--x| . |
| | | 25.0 |-- Tj --|--x| drift |
| - | | | | | region |x-- 39 --+
+-----+ +------+ | | . | |
| | | +--------+ |
| 0 | V |
| | | 19 |
| | V |
| | +---------+ |
| | | D | |
| +-x|G (MOS3) | |
| | S B | |
| +---------+ |
| V V |
| +-----+ | | |
+----<-----| Rs |----- 39 --+--+-------------+
| +-----+
|
0
| Parameters | Vtj | Fixed Vtj value (default 25.0). |
| Vds | Fixed Vds value (default 100.0). | |
| Vgs | Fixed Vgs value (default 10.0). | |
| P_channel | Set True for P-channel instead of default N-channel. |
def test_drift_region_Vds(self):
Internal MOS3 primitive, Vds=V(19)-V(39), saturates at around 274 A, Vds 60V.
def test_drift_region_Vds_PMOS(self):
Voltage across V(19,39) of internal MOS3 primitive never goes above about 15 mV. All saturation behavior for this device comes from drift region, at around 108 A.
def test_drift_region_Vtj(self):
Mobility reduction in drift region with increased temperature, NMOS.
def test_drift_region_Vtj_PMOS(self):
Mobility reduction in drift region with increased temperature, PMOS.
Builds a circuit with analysis.mosfet_model.MOSFET_Model.channel
and does a DC analysis on it with the supplied args.
Returns a Deferred that fires with the Vectors_Ngspice
object populated with V(10), V(16), and V(19). Also internal node voltage
V(18) between the accumulation and JFET region modeling inside the drift
region.:
+----+ +--------+
+-- 10 -->| Rd |>-- 16 -->| Rdrift |>--+
| +----+ +--------+ |
+-----+ |
| + | 19 |
| | |
| Vin | |
| | V
| - | +------+ +---------+
+-----+ | | | |
| | Vgs |-- 29 --------x| channel |
| | 25.0 |-- Tj --------x| |
| | | +---------+
| +------+ V
| | |
| 0 |
| |
| +-----+ |
+----<-----| Rs |<------------ 39 ----+
| +-----+
|
0
| Parameters | Vtj | Fixed Vtj value (default 25.0). |
| Vds | Fixed Vds value (default 100.0). | |
| Vgs | Fixed Vgs value (default 10.0). | |
| P_channel | Set True for P-channel instead of default N-channel. |