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. |