add matrix entries for bulk diode
This commit is contained in:
parent
28d393950d
commit
2bf70fa259
|
|
@ -245,6 +245,17 @@ typedef struct sVDMOSinstance {
|
||||||
* (gate node, gate prime node) */
|
* (gate node, gate prime node) */
|
||||||
double *VDMOSGPgPtr; /* pointer to sparse matrix element at
|
double *VDMOSGPgPtr; /* pointer to sparse matrix element at
|
||||||
* (gate prime node, gate node) */
|
* (gate prime node, gate node) */
|
||||||
|
/* bulk diode */
|
||||||
|
double *VDIORPdPtr; /* pointer to sparse matrix element at
|
||||||
|
* (diode prime node, drain node) */
|
||||||
|
double *VDIODrpPtr; /* pointer to sparse matrix element at
|
||||||
|
* (drain node, diode prime node) */
|
||||||
|
double *VDIORPrpPtr; /* pointer to sparse matrix element at
|
||||||
|
* (diode prime node, diode prime node) */
|
||||||
|
double *VDIOSrpPtr; /* pointer to sparse matrix element at
|
||||||
|
* (source node, diode prime node) */
|
||||||
|
double *VDIORPsPtr; /* pointer to sparse matrix element at
|
||||||
|
* (diode prime node, source node) */
|
||||||
|
|
||||||
} VDMOSinstance ;
|
} VDMOSinstance ;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -886,6 +886,13 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
||||||
*(here->DIOposPrimePosPtr) -= gspr;
|
*(here->DIOposPrimePosPtr) -= gspr;
|
||||||
*(here->DIOposPrimeNegPtr) -= gd;
|
*(here->DIOposPrimeNegPtr) -= gd;
|
||||||
*/
|
*/
|
||||||
|
*(here->VDMOSSsPtr) += gspr;
|
||||||
|
*(here->VDMOSDdPtr) += gd;
|
||||||
|
*(here->VDIORPrpPtr) += (gd + gspr);
|
||||||
|
*(here->VDIOSrpPtr) -= gspr;
|
||||||
|
*(here->VDIODrpPtr) -= gd;
|
||||||
|
*(here->VDIOSrpPtr) -= gspr;
|
||||||
|
*(here->VDIORPdPtr) -= gd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return(OK);
|
return(OK);
|
||||||
|
|
|
||||||
|
|
@ -266,6 +266,11 @@ do { if((here->ptr = SMPmakeElt(matrix, here->first, here->second)) == NULL){\
|
||||||
TSTALLOC(VDMOSGgpPtr, VDMOSgNode, VDMOSgNodePrime);
|
TSTALLOC(VDMOSGgpPtr, VDMOSgNode, VDMOSgNodePrime);
|
||||||
TSTALLOC(VDMOSGPgPtr, VDMOSgNodePrime, VDMOSgNode);
|
TSTALLOC(VDMOSGPgPtr, VDMOSgNodePrime, VDMOSgNode);
|
||||||
|
|
||||||
|
TSTALLOC(VDIORPdPtr, VDIOposPrimeNode, VDMOSdNode);
|
||||||
|
TSTALLOC(VDIODrpPtr, VDMOSdNode, VDIOposPrimeNode);
|
||||||
|
TSTALLOC(VDIOSrpPtr, VDMOSsNode, VDIOposPrimeNode);
|
||||||
|
TSTALLOC(VDIORPsPtr, VDIOposPrimeNode, VDMOSsNode);
|
||||||
|
TSTALLOC(VDIORPrpPtr, VDIOposPrimeNode, VDIOposPrimeNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return(OK);
|
return(OK);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue