FIXME, soi stuff, very seriously broken !
This commit is contained in:
parent
fb4343a881
commit
b59e2d03b5
|
|
@ -465,14 +465,14 @@ IP( "pmos", B3SOIDD_MOD_PMOS, IF_FLAG, "Flag to indicate PMOS"),
|
|||
};
|
||||
|
||||
char *B3SOIDDnames[] = {
|
||||
"Drain",
|
||||
"Gate",
|
||||
"Source",
|
||||
"Backgate",
|
||||
"",
|
||||
"Body",
|
||||
"Temp",
|
||||
"Charge",
|
||||
"Drain", /* 1 */
|
||||
"Gate", /* 2 */
|
||||
"Source", /* 3 */
|
||||
"Backgate", /* 4 */
|
||||
"", /* 5 */ /* ouch ! */
|
||||
"Body", /* 6 */
|
||||
"Temp", /* 7 */
|
||||
"Charge", /* 8 */
|
||||
};
|
||||
|
||||
int B3SOIDDnSize = NUMELEMS(B3SOIDDnames);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ typedef struct sB3SOIDDinstance
|
|||
IFuid B3SOIDDname;
|
||||
int B3SOIDDstates; /* index into state table for this device */
|
||||
|
||||
/* GENnode[] { */
|
||||
int B3SOIDDdNode;
|
||||
int B3SOIDDgNode;
|
||||
int B3SOIDDsNode;
|
||||
|
|
@ -33,6 +34,9 @@ typedef struct sB3SOIDDinstance
|
|||
int B3SOIDDbNode;
|
||||
int B3SOIDDtempNode;
|
||||
int B3SOIDDpNode;
|
||||
// FIXME completely messed up with respect to B3SOIDDnames[] and INP2M
|
||||
/* } */
|
||||
|
||||
int B3SOIDDdNodePrime;
|
||||
int B3SOIDDsNodePrime;
|
||||
|
||||
|
|
|
|||
|
|
@ -465,14 +465,14 @@ IP( "pmos", B3SOIFD_MOD_PMOS, IF_FLAG, "Flag to indicate PMOS"),
|
|||
};
|
||||
|
||||
char *B3SOIFDnames[] = {
|
||||
"Drain",
|
||||
"Gate",
|
||||
"Source",
|
||||
"Backgate",
|
||||
"",
|
||||
"Body",
|
||||
"Temp",
|
||||
"Charge",
|
||||
"Drain", /* 1 */
|
||||
"Gate", /* 2 */
|
||||
"Source", /* 3 */
|
||||
"Backgate", /* 4 */
|
||||
"", /* 5 */ /* ouch ! */
|
||||
"Body", /* 6 */
|
||||
"Temp", /* 7 */
|
||||
"Charge", /* 8 */
|
||||
};
|
||||
|
||||
int B3SOIFDnSize = NUMELEMS(B3SOIFDnames);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ typedef struct sB3SOIFDinstance
|
|||
IFuid B3SOIFDname;
|
||||
int B3SOIFDstates; /* index into state table for this device */
|
||||
|
||||
/* GENnode[] { */
|
||||
int B3SOIFDdNode;
|
||||
int B3SOIFDgNode;
|
||||
int B3SOIFDsNode;
|
||||
|
|
@ -33,6 +34,9 @@ typedef struct sB3SOIFDinstance
|
|||
int B3SOIFDbNode;
|
||||
int B3SOIFDtempNode;
|
||||
int B3SOIFDpNode;
|
||||
// FIXME completely messed up with respect to B3SOIFDnames[] and INP2M
|
||||
/* } */
|
||||
|
||||
int B3SOIFDdNodePrime;
|
||||
int B3SOIFDsNodePrime;
|
||||
|
||||
|
|
|
|||
|
|
@ -568,14 +568,14 @@ IP( "pmos", B3SOIPD_MOD_PMOS, IF_FLAG, "Flag to indicate PMOS"),
|
|||
};
|
||||
|
||||
char *B3SOIPDnames[] = {
|
||||
"Drain",
|
||||
"Gate",
|
||||
"Source",
|
||||
"Backgate",
|
||||
"",
|
||||
"Body",
|
||||
"Temp",
|
||||
"Charge",
|
||||
"Drain", /* 1 */
|
||||
"Gate", /* 2 */
|
||||
"Source", /* 3 */
|
||||
"Backgate", /* 4 */
|
||||
"", /* 5 */ /* ouch ! */
|
||||
"Body", /* 6 */
|
||||
"Temp", /* 7 */
|
||||
"Charge", /* 8 */
|
||||
};
|
||||
|
||||
int B3SOIPDnSize = NUMELEMS(B3SOIPDnames);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ typedef struct sB3SOIPDinstance
|
|||
IFuid B3SOIPDname;
|
||||
int B3SOIPDstates; /* index into state table for this device */
|
||||
|
||||
/* GENnode[] { */
|
||||
int B3SOIPDdNode;
|
||||
int B3SOIPDgNode;
|
||||
int B3SOIPDsNode;
|
||||
|
|
@ -37,6 +38,9 @@ typedef struct sB3SOIPDinstance
|
|||
int B3SOIPDpNode;
|
||||
int B3SOIPDbNode;
|
||||
int B3SOIPDtempNode;
|
||||
/* The contract is: B3SOIPDnames, completely disordered ! */
|
||||
/* } */
|
||||
|
||||
int B3SOIPDdNodePrime;
|
||||
int B3SOIPDsNodePrime;
|
||||
|
||||
|
|
|
|||
|
|
@ -1116,14 +1116,14 @@ IP( "pmos", B4SOI_MOD_PMOS, IF_FLAG, "Flag to indicate PMOS"),
|
|||
};
|
||||
|
||||
char *B4SOInames[] = {
|
||||
"Drain",
|
||||
"Gate",
|
||||
"Source",
|
||||
"Backgate",
|
||||
"",
|
||||
"Body",
|
||||
"Temp",
|
||||
"Charge",
|
||||
"Drain", /* 1 */
|
||||
"Gate", /* 2 */
|
||||
"Source", /* 3 */
|
||||
"Backgate", /* 4 */
|
||||
"", /* 5 */ /* ouch ! */
|
||||
"Body", /* 6 */
|
||||
"Temp", /* 7 */
|
||||
"Charge", /* 8 */
|
||||
};
|
||||
|
||||
int B4SOInSize = NUMELEMS(B4SOInames);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ typedef struct sB4SOIinstance
|
|||
IFuid B4SOIname;
|
||||
int B4SOIstates; /* index into state table for this device */
|
||||
|
||||
/* GENnode[] { */
|
||||
int B4SOIdNode;
|
||||
int B4SOIgNodeExt; /* v3.1 changed gNode to gNodeExt */
|
||||
int B4SOIsNode;
|
||||
|
|
@ -38,6 +39,9 @@ typedef struct sB4SOIinstance
|
|||
int B4SOIpNode;
|
||||
int B4SOIbNode;
|
||||
int B4SOItempNode;
|
||||
// FIXME completely messed up with respect to B4SOInames[] and INP2M
|
||||
/* } */
|
||||
|
||||
int B4SOIdNodePrime;
|
||||
int B4SOIsNodePrime;
|
||||
int B4SOIgNode; /* v3.1 */
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@ ngspice integration
|
|||
|
||||
|
||||
char *SOI3names[] = {
|
||||
"Drain",
|
||||
"Front Gate",
|
||||
"Source",
|
||||
"Back Gate",
|
||||
"Bulk",
|
||||
"Thermal"
|
||||
"Drain", /* 1 */
|
||||
"Front Gate", /* 2 */
|
||||
"Source", /* 3 */
|
||||
"Back Gate", /* 4 */
|
||||
"Bulk", /* 5 */
|
||||
"Thermal" /* 6 */
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -43,13 +43,15 @@ typedef struct sSOI3instance {
|
|||
IFuid SOI3name; /* pointer to character string naming this instance */
|
||||
int SOI3states; /* index into state table for this device */
|
||||
|
||||
|
||||
/* GENnode[] { */
|
||||
int SOI3dNode; /* number of the drain node of the mosfet */
|
||||
int SOI3gfNode; /* number of the front gate node of the mosfet */
|
||||
int SOI3sNode; /* number of the source node of the mosfet */
|
||||
int SOI3gbNode; /* number of the back gate node of the mosfet */
|
||||
int SOI3bNode; /* number of the bulk node of the mosfet */
|
||||
int SOI3toutNode; /* number of thermal output node (tout) */
|
||||
// surprise, a SOI with really matching SOI3names[] !
|
||||
/* } */
|
||||
|
||||
int SOI3branch; /* branch number for zero voltage source if no thermal */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue