src/spicelib/devices/*/*set.c, XXXunsetup(), reset local node variables unconditionally
and use a more robust test for local node numbers.
That is, transform this pattern :
if (here->Node && ...) {
CKTdltNNum(ckt, here->Node);
here->Node = 0;
}
into this :
if (here->Node > 0 && ...)
CKTdltNNum(ckt, here->Node);
here->Node = 0;
The change of "!= 0" ==> "> 0" accounts for rare cases where "Node"
might have been set to -1, (meaning "unconnected")
The unconditional execution of the zero assignment is for those cases
where "Node" might have been assigned to some external or other local Node.
If so, the variable would not be set to zero, confusing the "guarding" if's
in the corresponding XXXsetup() routine.
The Pattern to follow is:
1) unset and delete *all* local Nodes in XXXunsetup()
2) allocate all of them again in a re-invocation of XXXsetup(),
exactly the same way as in the very first invocation.
This commit is contained in:
parent
00c743c37d
commit
2f1219811e
|
|
@ -128,10 +128,10 @@ ASRCunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
for (; model; model = model->ASRCnextModel)
|
||||
for (here = model->ASRCinstances; here; here = here->ASRCnextInstance) {
|
||||
if (here->ASRCbranch) {
|
||||
if (here->ASRCbranch > 0)
|
||||
CKTdltNNum(ckt, here->ASRCbranch);
|
||||
here->ASRCbranch = 0;
|
||||
}
|
||||
here->ASRCbranch = 0;
|
||||
|
||||
FREE(here->ASRCposPtr);
|
||||
FREE(here->ASRCvars);
|
||||
FREE(here->ASRCacValues);
|
||||
|
|
|
|||
|
|
@ -481,24 +481,20 @@ BJTunsetup(
|
|||
for (here = model->BJTinstances; here != NULL;
|
||||
here=here->BJTnextInstance)
|
||||
{
|
||||
if (here->BJTemitPrimeNode
|
||||
if (here->BJTemitPrimeNode > 0
|
||||
&& here->BJTemitPrimeNode != here->BJTemitNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BJTemitPrimeNode);
|
||||
here->BJTemitPrimeNode = 0;
|
||||
}
|
||||
if (here->BJTbasePrimeNode
|
||||
CKTdltNNum(ckt, here->BJTemitPrimeNode);
|
||||
here->BJTemitPrimeNode = 0;
|
||||
|
||||
if (here->BJTbasePrimeNode > 0
|
||||
&& here->BJTbasePrimeNode != here->BJTbaseNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BJTbasePrimeNode);
|
||||
here->BJTbasePrimeNode = 0;
|
||||
}
|
||||
if (here->BJTcolPrimeNode
|
||||
CKTdltNNum(ckt, here->BJTbasePrimeNode);
|
||||
here->BJTbasePrimeNode = 0;
|
||||
|
||||
if (here->BJTcolPrimeNode > 0
|
||||
&& here->BJTcolPrimeNode != here->BJTcolNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BJTcolPrimeNode);
|
||||
here->BJTcolPrimeNode = 0;
|
||||
}
|
||||
here->BJTcolPrimeNode = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -412,18 +412,15 @@ B1unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->B1instances; here != NULL;
|
||||
here=here->B1nextInstance)
|
||||
{
|
||||
if (here->B1sNodePrime
|
||||
if (here->B1sNodePrime > 0
|
||||
&& here->B1sNodePrime != here->B1sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B1sNodePrime);
|
||||
here->B1sNodePrime = 0;
|
||||
}
|
||||
if (here->B1dNodePrime
|
||||
here->B1sNodePrime = 0;
|
||||
|
||||
if (here->B1dNodePrime > 0
|
||||
&& here->B1dNodePrime != here->B1dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B1dNodePrime);
|
||||
here->B1dNodePrime = 0;
|
||||
}
|
||||
here->B1dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -581,18 +581,15 @@ B2unsetup(
|
|||
for (here = model->B2instances; here != NULL;
|
||||
here=here->B2nextInstance)
|
||||
{
|
||||
if (here->B2sNodePrime
|
||||
if (here->B2sNodePrime > 0
|
||||
&& here->B2sNodePrime != here->B2sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B2sNodePrime);
|
||||
here->B2sNodePrime = 0;
|
||||
}
|
||||
if (here->B2dNodePrime
|
||||
here->B2sNodePrime = 0;
|
||||
|
||||
if (here->B2dNodePrime > 0
|
||||
&& here->B2dNodePrime != here->B2dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B2dNodePrime);
|
||||
here->B2dNodePrime = 0;
|
||||
}
|
||||
here->B2dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -1144,23 +1144,19 @@ BSIM3unsetup(
|
|||
for (here = model->BSIM3instances; here != NULL;
|
||||
here=here->BSIM3nextInstance)
|
||||
{
|
||||
if (here->BSIM3qNode)
|
||||
{
|
||||
if (here->BSIM3qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM3qNode);
|
||||
here->BSIM3qNode = 0;
|
||||
}
|
||||
if (here->BSIM3sNodePrime
|
||||
here->BSIM3qNode = 0;
|
||||
|
||||
if (here->BSIM3sNodePrime > 0
|
||||
&& here->BSIM3sNodePrime != here->BSIM3sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3sNodePrime);
|
||||
here->BSIM3sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM3dNodePrime
|
||||
here->BSIM3sNodePrime = 0;
|
||||
|
||||
if (here->BSIM3dNodePrime > 0
|
||||
&& here->BSIM3dNodePrime != here->BSIM3dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3dNodePrime);
|
||||
here->BSIM3dNodePrime = 0;
|
||||
}
|
||||
here->BSIM3dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -1363,251 +1363,203 @@ B3SOIDDunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here=here->B3SOIDDnextInstance)
|
||||
{
|
||||
/* here for debugging purpose only */
|
||||
if (here->B3SOIDDdum5Node)
|
||||
{
|
||||
if (here->B3SOIDDdum5Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum5Node);
|
||||
here->B3SOIDDdum5Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDdum4Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum4Node);
|
||||
here->B3SOIDDdum4Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDdum3Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum3Node);
|
||||
here->B3SOIDDdum3Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDdum2Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum2Node);
|
||||
here->B3SOIDDdum2Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDdum1Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum1Node);
|
||||
here->B3SOIDDdum1Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDcbeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbeNode);
|
||||
here->B3SOIDDcbeNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvcscvNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvcscvNode);
|
||||
here->B3SOIDDvcscvNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvdscvNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvdscvNode);
|
||||
here->B3SOIDDvdscvNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqgNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqgNode);
|
||||
here->B3SOIDDqgNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqdNode);
|
||||
here->B3SOIDDqdNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqeNode);
|
||||
here->B3SOIDDqeNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqsubs2Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqsubs2Node);
|
||||
here->B3SOIDDqsubs2Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDqsubs1Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqsubs1Node);
|
||||
here->B3SOIDDqsubs1Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDqsub0Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqsub0Node);
|
||||
here->B3SOIDDqsub0Node = 0;
|
||||
}
|
||||
if (here->B3SOIDDqaccNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqaccNode);
|
||||
here->B3SOIDDqaccNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDxcsatNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDxcsatNode);
|
||||
here->B3SOIDDxcsatNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvgsteffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvgsteffNode);
|
||||
here->B3SOIDDvgsteffNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvthNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvthNode);
|
||||
here->B3SOIDDvthNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvbs0teffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbs0teffNode);
|
||||
here->B3SOIDDvbs0teffNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDgmeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDgmeNode);
|
||||
here->B3SOIDDgmeNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDgdsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDgdsNode);
|
||||
here->B3SOIDDgdsNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDgmbsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDgmbsNode);
|
||||
here->B3SOIDDgmbsNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDgmNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDgmNode);
|
||||
here->B3SOIDDgmNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqjdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqjdNode);
|
||||
here->B3SOIDDqjdNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqjsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqjsNode);
|
||||
here->B3SOIDDqjsNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqbfNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqbfNode);
|
||||
here->B3SOIDDqbfNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDqbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDqbNode);
|
||||
here->B3SOIDDqbNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDcbgNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbgNode);
|
||||
here->B3SOIDDcbgNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDcbdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbdNode);
|
||||
here->B3SOIDDcbdNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDcbbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbbNode);
|
||||
here->B3SOIDDcbbNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDxcNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDxcNode);
|
||||
here->B3SOIDDxcNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvbseffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbseffNode);
|
||||
here->B3SOIDDvbseffNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvbs0effNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbs0effNode);
|
||||
here->B3SOIDDvbs0effNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDabeffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDabeffNode);
|
||||
here->B3SOIDDabeffNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDibpNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDibpNode);
|
||||
here->B3SOIDDibpNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDitunNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDitunNode);
|
||||
here->B3SOIDDitunNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDigidlNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDigidlNode);
|
||||
here->B3SOIDDigidlNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDiiiNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDiiiNode);
|
||||
here->B3SOIDDiiiNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDibdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDibdNode);
|
||||
here->B3SOIDDibdNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDibsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDibsNode);
|
||||
here->B3SOIDDibsNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDicNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDicNode);
|
||||
here->B3SOIDDicNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDidsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDidsNode);
|
||||
here->B3SOIDDidsNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDvbsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbsNode);
|
||||
here->B3SOIDDvbsNode = 0;
|
||||
}
|
||||
here->B3SOIDDdum5Node = 0;
|
||||
|
||||
if (here->B3SOIDDtempNode &&
|
||||
if (here->B3SOIDDdum4Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum4Node);
|
||||
here->B3SOIDDdum4Node = 0;
|
||||
|
||||
if (here->B3SOIDDdum3Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum3Node);
|
||||
here->B3SOIDDdum3Node = 0;
|
||||
|
||||
if (here->B3SOIDDdum2Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum2Node);
|
||||
here->B3SOIDDdum2Node = 0;
|
||||
|
||||
if (here->B3SOIDDdum1Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDdum1Node);
|
||||
here->B3SOIDDdum1Node = 0;
|
||||
|
||||
if (here->B3SOIDDcbeNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbeNode);
|
||||
here->B3SOIDDcbeNode = 0;
|
||||
|
||||
if (here->B3SOIDDvcscvNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvcscvNode);
|
||||
here->B3SOIDDvcscvNode = 0;
|
||||
|
||||
if (here->B3SOIDDvdscvNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvdscvNode);
|
||||
here->B3SOIDDvdscvNode = 0;
|
||||
|
||||
if (here->B3SOIDDqgNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqgNode);
|
||||
here->B3SOIDDqgNode = 0;
|
||||
|
||||
if (here->B3SOIDDqdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqdNode);
|
||||
here->B3SOIDDqdNode = 0;
|
||||
|
||||
if (here->B3SOIDDqeNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqeNode);
|
||||
here->B3SOIDDqeNode = 0;
|
||||
|
||||
if (here->B3SOIDDqsubs2Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqsubs2Node);
|
||||
here->B3SOIDDqsubs2Node = 0;
|
||||
|
||||
if (here->B3SOIDDqsubs1Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqsubs1Node);
|
||||
here->B3SOIDDqsubs1Node = 0;
|
||||
|
||||
if (here->B3SOIDDqsub0Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqsub0Node);
|
||||
here->B3SOIDDqsub0Node = 0;
|
||||
|
||||
if (here->B3SOIDDqaccNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqaccNode);
|
||||
here->B3SOIDDqaccNode = 0;
|
||||
|
||||
if (here->B3SOIDDxcsatNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDxcsatNode);
|
||||
here->B3SOIDDxcsatNode = 0;
|
||||
|
||||
if (here->B3SOIDDvgsteffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvgsteffNode);
|
||||
here->B3SOIDDvgsteffNode = 0;
|
||||
|
||||
if (here->B3SOIDDvthNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvthNode);
|
||||
here->B3SOIDDvthNode = 0;
|
||||
|
||||
if (here->B3SOIDDvbs0teffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbs0teffNode);
|
||||
here->B3SOIDDvbs0teffNode = 0;
|
||||
|
||||
if (here->B3SOIDDgmeNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDgmeNode);
|
||||
here->B3SOIDDgmeNode = 0;
|
||||
|
||||
if (here->B3SOIDDgdsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDgdsNode);
|
||||
here->B3SOIDDgdsNode = 0;
|
||||
|
||||
if (here->B3SOIDDgmbsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDgmbsNode);
|
||||
here->B3SOIDDgmbsNode = 0;
|
||||
|
||||
if (here->B3SOIDDgmNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDgmNode);
|
||||
here->B3SOIDDgmNode = 0;
|
||||
|
||||
if (here->B3SOIDDqjdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqjdNode);
|
||||
here->B3SOIDDqjdNode = 0;
|
||||
|
||||
if (here->B3SOIDDqjsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqjsNode);
|
||||
here->B3SOIDDqjsNode = 0;
|
||||
|
||||
if (here->B3SOIDDqbfNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqbfNode);
|
||||
here->B3SOIDDqbfNode = 0;
|
||||
|
||||
if (here->B3SOIDDqbNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDqbNode);
|
||||
here->B3SOIDDqbNode = 0;
|
||||
|
||||
if (here->B3SOIDDcbgNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbgNode);
|
||||
here->B3SOIDDcbgNode = 0;
|
||||
|
||||
if (here->B3SOIDDcbdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbdNode);
|
||||
here->B3SOIDDcbdNode = 0;
|
||||
|
||||
if (here->B3SOIDDcbbNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDcbbNode);
|
||||
here->B3SOIDDcbbNode = 0;
|
||||
|
||||
if (here->B3SOIDDxcNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDxcNode);
|
||||
here->B3SOIDDxcNode = 0;
|
||||
|
||||
if (here->B3SOIDDvbseffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbseffNode);
|
||||
here->B3SOIDDvbseffNode = 0;
|
||||
|
||||
if (here->B3SOIDDvbs0effNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbs0effNode);
|
||||
here->B3SOIDDvbs0effNode = 0;
|
||||
|
||||
if (here->B3SOIDDabeffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDabeffNode);
|
||||
here->B3SOIDDabeffNode = 0;
|
||||
|
||||
if (here->B3SOIDDibpNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDibpNode);
|
||||
here->B3SOIDDibpNode = 0;
|
||||
|
||||
if (here->B3SOIDDitunNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDitunNode);
|
||||
here->B3SOIDDitunNode = 0;
|
||||
|
||||
if (here->B3SOIDDigidlNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDigidlNode);
|
||||
here->B3SOIDDigidlNode = 0;
|
||||
|
||||
if (here->B3SOIDDiiiNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDiiiNode);
|
||||
here->B3SOIDDiiiNode = 0;
|
||||
|
||||
if (here->B3SOIDDibdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDibdNode);
|
||||
here->B3SOIDDibdNode = 0;
|
||||
|
||||
if (here->B3SOIDDibsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDibsNode);
|
||||
here->B3SOIDDibsNode = 0;
|
||||
|
||||
if (here->B3SOIDDicNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDicNode);
|
||||
here->B3SOIDDicNode = 0;
|
||||
|
||||
if (here->B3SOIDDidsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDidsNode);
|
||||
here->B3SOIDDidsNode = 0;
|
||||
|
||||
if (here->B3SOIDDvbsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIDDvbsNode);
|
||||
here->B3SOIDDvbsNode = 0;
|
||||
|
||||
|
||||
if (here->B3SOIDDtempNode > 0 &&
|
||||
here->B3SOIDDtempNode != here->B3SOIDDtempNodeExt &&
|
||||
here->B3SOIDDtempNode != here->B3SOIDDbNodeExt &&
|
||||
here->B3SOIDDtempNode != here->B3SOIDDpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDtempNode);
|
||||
here->B3SOIDDtempNode = 0;
|
||||
}
|
||||
if (here->B3SOIDDbNode &&
|
||||
here->B3SOIDDtempNode = 0;
|
||||
|
||||
if (here->B3SOIDDbNode > 0 &&
|
||||
here->B3SOIDDbNode != here->B3SOIDDbNodeExt &&
|
||||
here->B3SOIDDbNode != here->B3SOIDDpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDbNode);
|
||||
here->B3SOIDDbNode = 0;
|
||||
}
|
||||
here->B3SOIDDbNode = 0;
|
||||
|
||||
here->B3SOIDDpNode = 0;
|
||||
|
||||
if (here->B3SOIDDsNodePrime
|
||||
if (here->B3SOIDDsNodePrime > 0
|
||||
&& here->B3SOIDDsNodePrime != here->B3SOIDDsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDsNodePrime);
|
||||
here->B3SOIDDsNodePrime = 0;
|
||||
}
|
||||
if (here->B3SOIDDdNodePrime
|
||||
here->B3SOIDDsNodePrime = 0;
|
||||
|
||||
if (here->B3SOIDDdNodePrime > 0
|
||||
&& here->B3SOIDDdNodePrime != here->B3SOIDDdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIDDdNodePrime);
|
||||
here->B3SOIDDdNodePrime = 0;
|
||||
}
|
||||
here->B3SOIDDdNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -1352,251 +1352,203 @@ B3SOIFDunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here=here->B3SOIFDnextInstance)
|
||||
{
|
||||
/* here for debugging purpose only */
|
||||
if (here->B3SOIFDdum5Node)
|
||||
{
|
||||
if (here->B3SOIFDdum5Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum5Node);
|
||||
here->B3SOIFDdum5Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDdum4Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum4Node);
|
||||
here->B3SOIFDdum4Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDdum3Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum3Node);
|
||||
here->B3SOIFDdum3Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDdum2Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum2Node);
|
||||
here->B3SOIFDdum2Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDdum1Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum1Node);
|
||||
here->B3SOIFDdum1Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDcbeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbeNode);
|
||||
here->B3SOIFDcbeNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvcscvNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvcscvNode);
|
||||
here->B3SOIFDvcscvNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvdscvNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvdscvNode);
|
||||
here->B3SOIFDvdscvNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqgNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqgNode);
|
||||
here->B3SOIFDqgNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqdNode);
|
||||
here->B3SOIFDqdNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqeNode);
|
||||
here->B3SOIFDqeNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqsubs2Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqsubs2Node);
|
||||
here->B3SOIFDqsubs2Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDqsubs1Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqsubs1Node);
|
||||
here->B3SOIFDqsubs1Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDqsub0Node)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqsub0Node);
|
||||
here->B3SOIFDqsub0Node = 0;
|
||||
}
|
||||
if (here->B3SOIFDqaccNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqaccNode);
|
||||
here->B3SOIFDqaccNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDxcsatNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDxcsatNode);
|
||||
here->B3SOIFDxcsatNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvgsteffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvgsteffNode);
|
||||
here->B3SOIFDvgsteffNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvthNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvthNode);
|
||||
here->B3SOIFDvthNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvbs0teffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbs0teffNode);
|
||||
here->B3SOIFDvbs0teffNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDgmeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDgmeNode);
|
||||
here->B3SOIFDgmeNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDgdsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDgdsNode);
|
||||
here->B3SOIFDgdsNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDgmbsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDgmbsNode);
|
||||
here->B3SOIFDgmbsNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDgmNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDgmNode);
|
||||
here->B3SOIFDgmNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqjdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqjdNode);
|
||||
here->B3SOIFDqjdNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqjsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqjsNode);
|
||||
here->B3SOIFDqjsNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqbfNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqbfNode);
|
||||
here->B3SOIFDqbfNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDqbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDqbNode);
|
||||
here->B3SOIFDqbNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDcbgNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbgNode);
|
||||
here->B3SOIFDcbgNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDcbdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbdNode);
|
||||
here->B3SOIFDcbdNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDcbbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbbNode);
|
||||
here->B3SOIFDcbbNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDxcNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDxcNode);
|
||||
here->B3SOIFDxcNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvbseffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbseffNode);
|
||||
here->B3SOIFDvbseffNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvbs0effNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbs0effNode);
|
||||
here->B3SOIFDvbs0effNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDabeffNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDabeffNode);
|
||||
here->B3SOIFDabeffNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDibpNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDibpNode);
|
||||
here->B3SOIFDibpNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDitunNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDitunNode);
|
||||
here->B3SOIFDitunNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDigidlNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDigidlNode);
|
||||
here->B3SOIFDigidlNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDiiiNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDiiiNode);
|
||||
here->B3SOIFDiiiNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDibdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDibdNode);
|
||||
here->B3SOIFDibdNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDibsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDibsNode);
|
||||
here->B3SOIFDibsNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDicNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDicNode);
|
||||
here->B3SOIFDicNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDidsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDidsNode);
|
||||
here->B3SOIFDidsNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDvbsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbsNode);
|
||||
here->B3SOIFDvbsNode = 0;
|
||||
}
|
||||
here->B3SOIFDdum5Node = 0;
|
||||
|
||||
if (here->B3SOIFDtempNode &&
|
||||
if (here->B3SOIFDdum4Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum4Node);
|
||||
here->B3SOIFDdum4Node = 0;
|
||||
|
||||
if (here->B3SOIFDdum3Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum3Node);
|
||||
here->B3SOIFDdum3Node = 0;
|
||||
|
||||
if (here->B3SOIFDdum2Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum2Node);
|
||||
here->B3SOIFDdum2Node = 0;
|
||||
|
||||
if (here->B3SOIFDdum1Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDdum1Node);
|
||||
here->B3SOIFDdum1Node = 0;
|
||||
|
||||
if (here->B3SOIFDcbeNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbeNode);
|
||||
here->B3SOIFDcbeNode = 0;
|
||||
|
||||
if (here->B3SOIFDvcscvNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvcscvNode);
|
||||
here->B3SOIFDvcscvNode = 0;
|
||||
|
||||
if (here->B3SOIFDvdscvNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvdscvNode);
|
||||
here->B3SOIFDvdscvNode = 0;
|
||||
|
||||
if (here->B3SOIFDqgNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqgNode);
|
||||
here->B3SOIFDqgNode = 0;
|
||||
|
||||
if (here->B3SOIFDqdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqdNode);
|
||||
here->B3SOIFDqdNode = 0;
|
||||
|
||||
if (here->B3SOIFDqeNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqeNode);
|
||||
here->B3SOIFDqeNode = 0;
|
||||
|
||||
if (here->B3SOIFDqsubs2Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqsubs2Node);
|
||||
here->B3SOIFDqsubs2Node = 0;
|
||||
|
||||
if (here->B3SOIFDqsubs1Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqsubs1Node);
|
||||
here->B3SOIFDqsubs1Node = 0;
|
||||
|
||||
if (here->B3SOIFDqsub0Node > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqsub0Node);
|
||||
here->B3SOIFDqsub0Node = 0;
|
||||
|
||||
if (here->B3SOIFDqaccNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqaccNode);
|
||||
here->B3SOIFDqaccNode = 0;
|
||||
|
||||
if (here->B3SOIFDxcsatNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDxcsatNode);
|
||||
here->B3SOIFDxcsatNode = 0;
|
||||
|
||||
if (here->B3SOIFDvgsteffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvgsteffNode);
|
||||
here->B3SOIFDvgsteffNode = 0;
|
||||
|
||||
if (here->B3SOIFDvthNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvthNode);
|
||||
here->B3SOIFDvthNode = 0;
|
||||
|
||||
if (here->B3SOIFDvbs0teffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbs0teffNode);
|
||||
here->B3SOIFDvbs0teffNode = 0;
|
||||
|
||||
if (here->B3SOIFDgmeNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDgmeNode);
|
||||
here->B3SOIFDgmeNode = 0;
|
||||
|
||||
if (here->B3SOIFDgdsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDgdsNode);
|
||||
here->B3SOIFDgdsNode = 0;
|
||||
|
||||
if (here->B3SOIFDgmbsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDgmbsNode);
|
||||
here->B3SOIFDgmbsNode = 0;
|
||||
|
||||
if (here->B3SOIFDgmNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDgmNode);
|
||||
here->B3SOIFDgmNode = 0;
|
||||
|
||||
if (here->B3SOIFDqjdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqjdNode);
|
||||
here->B3SOIFDqjdNode = 0;
|
||||
|
||||
if (here->B3SOIFDqjsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqjsNode);
|
||||
here->B3SOIFDqjsNode = 0;
|
||||
|
||||
if (here->B3SOIFDqbfNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqbfNode);
|
||||
here->B3SOIFDqbfNode = 0;
|
||||
|
||||
if (here->B3SOIFDqbNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDqbNode);
|
||||
here->B3SOIFDqbNode = 0;
|
||||
|
||||
if (here->B3SOIFDcbgNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbgNode);
|
||||
here->B3SOIFDcbgNode = 0;
|
||||
|
||||
if (here->B3SOIFDcbdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbdNode);
|
||||
here->B3SOIFDcbdNode = 0;
|
||||
|
||||
if (here->B3SOIFDcbbNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDcbbNode);
|
||||
here->B3SOIFDcbbNode = 0;
|
||||
|
||||
if (here->B3SOIFDxcNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDxcNode);
|
||||
here->B3SOIFDxcNode = 0;
|
||||
|
||||
if (here->B3SOIFDvbseffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbseffNode);
|
||||
here->B3SOIFDvbseffNode = 0;
|
||||
|
||||
if (here->B3SOIFDvbs0effNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbs0effNode);
|
||||
here->B3SOIFDvbs0effNode = 0;
|
||||
|
||||
if (here->B3SOIFDabeffNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDabeffNode);
|
||||
here->B3SOIFDabeffNode = 0;
|
||||
|
||||
if (here->B3SOIFDibpNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDibpNode);
|
||||
here->B3SOIFDibpNode = 0;
|
||||
|
||||
if (here->B3SOIFDitunNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDitunNode);
|
||||
here->B3SOIFDitunNode = 0;
|
||||
|
||||
if (here->B3SOIFDigidlNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDigidlNode);
|
||||
here->B3SOIFDigidlNode = 0;
|
||||
|
||||
if (here->B3SOIFDiiiNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDiiiNode);
|
||||
here->B3SOIFDiiiNode = 0;
|
||||
|
||||
if (here->B3SOIFDibdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDibdNode);
|
||||
here->B3SOIFDibdNode = 0;
|
||||
|
||||
if (here->B3SOIFDibsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDibsNode);
|
||||
here->B3SOIFDibsNode = 0;
|
||||
|
||||
if (here->B3SOIFDicNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDicNode);
|
||||
here->B3SOIFDicNode = 0;
|
||||
|
||||
if (here->B3SOIFDidsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDidsNode);
|
||||
here->B3SOIFDidsNode = 0;
|
||||
|
||||
if (here->B3SOIFDvbsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIFDvbsNode);
|
||||
here->B3SOIFDvbsNode = 0;
|
||||
|
||||
|
||||
if (here->B3SOIFDtempNode > 0 &&
|
||||
here->B3SOIFDtempNode != here->B3SOIFDtempNodeExt &&
|
||||
here->B3SOIFDtempNode != here->B3SOIFDbNodeExt &&
|
||||
here->B3SOIFDtempNode != here->B3SOIFDpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDtempNode);
|
||||
here->B3SOIFDtempNode = 0;
|
||||
}
|
||||
if (here->B3SOIFDbNode &&
|
||||
here->B3SOIFDtempNode = 0;
|
||||
|
||||
if (here->B3SOIFDbNode > 0 &&
|
||||
here->B3SOIFDbNode != here->B3SOIFDbNodeExt &&
|
||||
here->B3SOIFDbNode != here->B3SOIFDpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDbNode);
|
||||
here->B3SOIFDbNode = 0;
|
||||
}
|
||||
here->B3SOIFDbNode = 0;
|
||||
|
||||
here->B3SOIFDpNode = 0;
|
||||
|
||||
if (here->B3SOIFDsNodePrime
|
||||
if (here->B3SOIFDsNodePrime > 0
|
||||
&& here->B3SOIFDsNodePrime != here->B3SOIFDsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDsNodePrime);
|
||||
here->B3SOIFDsNodePrime = 0;
|
||||
}
|
||||
if (here->B3SOIFDdNodePrime
|
||||
here->B3SOIFDsNodePrime = 0;
|
||||
|
||||
if (here->B3SOIFDdNodePrime > 0
|
||||
&& here->B3SOIFDdNodePrime != here->B3SOIFDdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIFDdNodePrime);
|
||||
here->B3SOIFDdNodePrime = 0;
|
||||
}
|
||||
here->B3SOIFDdNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -1467,131 +1467,107 @@ B3SOIPDunsetup(
|
|||
here=here->B3SOIPDnextInstance)
|
||||
{
|
||||
/* here for debugging purpose only */
|
||||
if (here->B3SOIPDqjdNode)
|
||||
{
|
||||
if (here->B3SOIPDqjdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDqjdNode);
|
||||
here->B3SOIPDqjdNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDqjsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDqjsNode);
|
||||
here->B3SOIPDqjsNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDqbfNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDqbfNode);
|
||||
here->B3SOIPDqbfNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDcbgNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDcbgNode);
|
||||
here->B3SOIPDcbgNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDcbdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDcbdNode);
|
||||
here->B3SOIPDcbdNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDcbbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDcbbNode);
|
||||
here->B3SOIPDcbbNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDibpNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDibpNode);
|
||||
here->B3SOIPDibpNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDitunNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDitunNode);
|
||||
here->B3SOIPDitunNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDigidlNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDigidlNode);
|
||||
here->B3SOIPDigidlNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDgigbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDgigbNode);
|
||||
here->B3SOIPDgigbNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDgigdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDgigdNode);
|
||||
here->B3SOIPDgigdNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDgiggNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDgiggNode);
|
||||
here->B3SOIPDgiggNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDigNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDigNode);
|
||||
here->B3SOIPDigNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDiiiNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDiiiNode);
|
||||
here->B3SOIPDiiiNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDibdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDibdNode);
|
||||
here->B3SOIPDibdNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDibsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDibsNode);
|
||||
here->B3SOIPDibsNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDicNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDicNode);
|
||||
here->B3SOIPDicNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDidsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDidsNode);
|
||||
here->B3SOIPDidsNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDvbsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDvbsNode);
|
||||
here->B3SOIPDvbsNode = 0;
|
||||
}
|
||||
here->B3SOIPDqjdNode = 0;
|
||||
|
||||
if (here->B3SOIPDtempNode &&
|
||||
if (here->B3SOIPDqjsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDqjsNode);
|
||||
here->B3SOIPDqjsNode = 0;
|
||||
|
||||
if (here->B3SOIPDqbfNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDqbfNode);
|
||||
here->B3SOIPDqbfNode = 0;
|
||||
|
||||
if (here->B3SOIPDcbgNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDcbgNode);
|
||||
here->B3SOIPDcbgNode = 0;
|
||||
|
||||
if (here->B3SOIPDcbdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDcbdNode);
|
||||
here->B3SOIPDcbdNode = 0;
|
||||
|
||||
if (here->B3SOIPDcbbNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDcbbNode);
|
||||
here->B3SOIPDcbbNode = 0;
|
||||
|
||||
if (here->B3SOIPDibpNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDibpNode);
|
||||
here->B3SOIPDibpNode = 0;
|
||||
|
||||
if (here->B3SOIPDitunNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDitunNode);
|
||||
here->B3SOIPDitunNode = 0;
|
||||
|
||||
if (here->B3SOIPDigidlNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDigidlNode);
|
||||
here->B3SOIPDigidlNode = 0;
|
||||
|
||||
if (here->B3SOIPDgigbNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDgigbNode);
|
||||
here->B3SOIPDgigbNode = 0;
|
||||
|
||||
if (here->B3SOIPDgigdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDgigdNode);
|
||||
here->B3SOIPDgigdNode = 0;
|
||||
|
||||
if (here->B3SOIPDgiggNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDgiggNode);
|
||||
here->B3SOIPDgiggNode = 0;
|
||||
|
||||
if (here->B3SOIPDigNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDigNode);
|
||||
here->B3SOIPDigNode = 0;
|
||||
|
||||
if (here->B3SOIPDiiiNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDiiiNode);
|
||||
here->B3SOIPDiiiNode = 0;
|
||||
|
||||
if (here->B3SOIPDibdNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDibdNode);
|
||||
here->B3SOIPDibdNode = 0;
|
||||
|
||||
if (here->B3SOIPDibsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDibsNode);
|
||||
here->B3SOIPDibsNode = 0;
|
||||
|
||||
if (here->B3SOIPDicNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDicNode);
|
||||
here->B3SOIPDicNode = 0;
|
||||
|
||||
if (here->B3SOIPDidsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDidsNode);
|
||||
here->B3SOIPDidsNode = 0;
|
||||
|
||||
if (here->B3SOIPDvbsNode > 0)
|
||||
CKTdltNNum(ckt, here->B3SOIPDvbsNode);
|
||||
here->B3SOIPDvbsNode = 0;
|
||||
|
||||
|
||||
if (here->B3SOIPDtempNode > 0 &&
|
||||
here->B3SOIPDtempNode != here->B3SOIPDtempNodeExt &&
|
||||
here->B3SOIPDtempNode != here->B3SOIPDbNodeExt &&
|
||||
here->B3SOIPDtempNode != here->B3SOIPDpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDtempNode);
|
||||
here->B3SOIPDtempNode = 0;
|
||||
}
|
||||
if (here->B3SOIPDbNode &&
|
||||
here->B3SOIPDtempNode = 0;
|
||||
|
||||
if (here->B3SOIPDbNode > 0 &&
|
||||
here->B3SOIPDbNode != here->B3SOIPDbNodeExt &&
|
||||
here->B3SOIPDbNode != here->B3SOIPDpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDbNode);
|
||||
here->B3SOIPDbNode = 0;
|
||||
}
|
||||
here->B3SOIPDbNode = 0;
|
||||
|
||||
here->B3SOIPDpNode = 0;
|
||||
|
||||
if (here->B3SOIPDsNodePrime
|
||||
if (here->B3SOIPDsNodePrime > 0
|
||||
&& here->B3SOIPDsNodePrime != here->B3SOIPDsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDsNodePrime);
|
||||
here->B3SOIPDsNodePrime = 0;
|
||||
}
|
||||
if (here->B3SOIPDdNodePrime
|
||||
here->B3SOIPDsNodePrime = 0;
|
||||
|
||||
if (here->B3SOIPDdNodePrime > 0
|
||||
&& here->B3SOIPDdNodePrime != here->B3SOIPDdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B3SOIPDdNodePrime);
|
||||
here->B3SOIPDdNodePrime = 0;
|
||||
}
|
||||
here->B3SOIPDdNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -904,23 +904,19 @@ BSIM3v0unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->BSIM3v0instances; here != NULL;
|
||||
here=here->BSIM3v0nextInstance)
|
||||
{
|
||||
if (here->BSIM3v0qNode)
|
||||
{
|
||||
if (here->BSIM3v0qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM3v0qNode);
|
||||
here->BSIM3v0qNode = 0;
|
||||
}
|
||||
if (here->BSIM3v0sNodePrime
|
||||
here->BSIM3v0qNode = 0;
|
||||
|
||||
if (here->BSIM3v0sNodePrime > 0
|
||||
&& here->BSIM3v0sNodePrime != here->BSIM3v0sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3v0sNodePrime);
|
||||
here->BSIM3v0sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM3v0dNodePrime
|
||||
here->BSIM3v0sNodePrime = 0;
|
||||
|
||||
if (here->BSIM3v0dNodePrime > 0
|
||||
&& here->BSIM3v0dNodePrime != here->BSIM3v0dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3v0dNodePrime);
|
||||
here->BSIM3v0dNodePrime = 0;
|
||||
}
|
||||
here->BSIM3v0dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -964,23 +964,19 @@ BSIM3v1unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->BSIM3v1instances; here != NULL;
|
||||
here=here->BSIM3v1nextInstance)
|
||||
{
|
||||
if (here->BSIM3v1qNode)
|
||||
{
|
||||
if (here->BSIM3v1qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM3v1qNode);
|
||||
here->BSIM3v1qNode = 0;
|
||||
}
|
||||
if (here->BSIM3v1sNodePrime
|
||||
here->BSIM3v1qNode = 0;
|
||||
|
||||
if (here->BSIM3v1sNodePrime > 0
|
||||
&& here->BSIM3v1sNodePrime != here->BSIM3v1sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3v1sNodePrime);
|
||||
here->BSIM3v1sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM3v1dNodePrime
|
||||
here->BSIM3v1sNodePrime = 0;
|
||||
|
||||
if (here->BSIM3v1dNodePrime > 0
|
||||
&& here->BSIM3v1dNodePrime != here->BSIM3v1dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3v1dNodePrime);
|
||||
here->BSIM3v1dNodePrime = 0;
|
||||
}
|
||||
here->BSIM3v1dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -1156,23 +1156,19 @@ BSIM3v32unsetup(
|
|||
for (here = model->BSIM3v32instances; here != NULL;
|
||||
here=here->BSIM3v32nextInstance)
|
||||
{
|
||||
if (here->BSIM3v32qNode)
|
||||
{
|
||||
if (here->BSIM3v32qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM3v32qNode);
|
||||
here->BSIM3v32qNode = 0;
|
||||
}
|
||||
if (here->BSIM3v32sNodePrime
|
||||
here->BSIM3v32qNode = 0;
|
||||
|
||||
if (here->BSIM3v32sNodePrime > 0
|
||||
&& here->BSIM3v32sNodePrime != here->BSIM3v32sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3v32sNodePrime);
|
||||
here->BSIM3v32sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM3v32dNodePrime
|
||||
here->BSIM3v32sNodePrime = 0;
|
||||
|
||||
if (here->BSIM3v32dNodePrime > 0
|
||||
&& here->BSIM3v32dNodePrime != here->BSIM3v32dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM3v32dNodePrime);
|
||||
here->BSIM3v32dNodePrime = 0;
|
||||
}
|
||||
here->BSIM3v32dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -2765,53 +2765,44 @@ CKTcircuit *ckt)
|
|||
for (here = model->BSIM4instances; here != NULL;
|
||||
here=here->BSIM4nextInstance)
|
||||
{
|
||||
if (here->BSIM4qNode)
|
||||
{
|
||||
if (here->BSIM4qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM4qNode);
|
||||
here->BSIM4qNode = 0;
|
||||
}
|
||||
if (here->BSIM4sbNode &&
|
||||
here->BSIM4qNode = 0;
|
||||
|
||||
if (here->BSIM4sbNode > 0 &&
|
||||
here->BSIM4sbNode != here->BSIM4bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4sbNode);
|
||||
here->BSIM4sbNode = 0;
|
||||
}
|
||||
if (here->BSIM4bNodePrime &&
|
||||
here->BSIM4sbNode = 0;
|
||||
|
||||
if (here->BSIM4bNodePrime > 0 &&
|
||||
here->BSIM4bNodePrime != here->BSIM4bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4bNodePrime);
|
||||
here->BSIM4bNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4dbNode &&
|
||||
here->BSIM4bNodePrime = 0;
|
||||
|
||||
if (here->BSIM4dbNode > 0 &&
|
||||
here->BSIM4dbNode != here->BSIM4bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4dbNode);
|
||||
here->BSIM4dbNode = 0;
|
||||
}
|
||||
if (here->BSIM4gNodeMid &&
|
||||
here->BSIM4dbNode = 0;
|
||||
|
||||
if (here->BSIM4gNodeMid > 0 &&
|
||||
here->BSIM4gNodeMid != here->BSIM4gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4gNodeMid);
|
||||
here->BSIM4gNodeMid = 0;
|
||||
}
|
||||
if (here->BSIM4gNodePrime &&
|
||||
here->BSIM4gNodeMid = 0;
|
||||
|
||||
if (here->BSIM4gNodePrime > 0 &&
|
||||
here->BSIM4gNodePrime != here->BSIM4gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4gNodePrime);
|
||||
here->BSIM4gNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4sNodePrime
|
||||
here->BSIM4gNodePrime = 0;
|
||||
|
||||
if (here->BSIM4sNodePrime > 0
|
||||
&& here->BSIM4sNodePrime != here->BSIM4sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4sNodePrime);
|
||||
here->BSIM4sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4dNodePrime
|
||||
here->BSIM4sNodePrime = 0;
|
||||
|
||||
if (here->BSIM4dNodePrime > 0
|
||||
&& here->BSIM4dNodePrime != here->BSIM4dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4dNodePrime);
|
||||
here->BSIM4dNodePrime = 0;
|
||||
}
|
||||
here->BSIM4dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2143,53 +2143,44 @@ BSIM4v5unsetup(
|
|||
for (here = model->BSIM4v5instances; here != NULL;
|
||||
here=here->BSIM4v5nextInstance)
|
||||
{
|
||||
if (here->BSIM4v5qNode)
|
||||
{
|
||||
if (here->BSIM4v5qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM4v5qNode);
|
||||
here->BSIM4v5qNode = 0;
|
||||
}
|
||||
if (here->BSIM4v5sbNode &&
|
||||
here->BSIM4v5qNode = 0;
|
||||
|
||||
if (here->BSIM4v5sbNode > 0 &&
|
||||
here->BSIM4v5sbNode != here->BSIM4v5bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v5sbNode);
|
||||
here->BSIM4v5sbNode = 0;
|
||||
}
|
||||
if (here->BSIM4v5bNodePrime &&
|
||||
here->BSIM4v5sbNode = 0;
|
||||
|
||||
if (here->BSIM4v5bNodePrime > 0 &&
|
||||
here->BSIM4v5bNodePrime != here->BSIM4v5bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v5bNodePrime);
|
||||
here->BSIM4v5bNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v5dbNode &&
|
||||
here->BSIM4v5bNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v5dbNode > 0 &&
|
||||
here->BSIM4v5dbNode != here->BSIM4v5bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v5dbNode);
|
||||
here->BSIM4v5dbNode = 0;
|
||||
}
|
||||
if (here->BSIM4v5gNodeMid &&
|
||||
here->BSIM4v5dbNode = 0;
|
||||
|
||||
if (here->BSIM4v5gNodeMid > 0 &&
|
||||
here->BSIM4v5gNodeMid != here->BSIM4v5gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v5gNodeMid);
|
||||
here->BSIM4v5gNodeMid = 0;
|
||||
}
|
||||
if (here->BSIM4v5gNodePrime &&
|
||||
here->BSIM4v5gNodeMid = 0;
|
||||
|
||||
if (here->BSIM4v5gNodePrime > 0 &&
|
||||
here->BSIM4v5gNodePrime != here->BSIM4v5gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v5gNodePrime);
|
||||
here->BSIM4v5gNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v5sNodePrime
|
||||
here->BSIM4v5gNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v5sNodePrime > 0
|
||||
&& here->BSIM4v5sNodePrime != here->BSIM4v5sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v5sNodePrime);
|
||||
here->BSIM4v5sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v5dNodePrime
|
||||
here->BSIM4v5sNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v5dNodePrime > 0
|
||||
&& here->BSIM4v5dNodePrime != here->BSIM4v5dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v5dNodePrime);
|
||||
here->BSIM4v5dNodePrime = 0;
|
||||
}
|
||||
here->BSIM4v5dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2476,53 +2476,44 @@ BSIM4v6unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->BSIM4v6instances; here != NULL;
|
||||
here=here->BSIM4v6nextInstance)
|
||||
{
|
||||
if (here->BSIM4v6qNode)
|
||||
{
|
||||
if (here->BSIM4v6qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM4v6qNode);
|
||||
here->BSIM4v6qNode = 0;
|
||||
}
|
||||
if (here->BSIM4v6sbNode &&
|
||||
here->BSIM4v6qNode = 0;
|
||||
|
||||
if (here->BSIM4v6sbNode > 0 &&
|
||||
here->BSIM4v6sbNode != here->BSIM4v6bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v6sbNode);
|
||||
here->BSIM4v6sbNode = 0;
|
||||
}
|
||||
if (here->BSIM4v6bNodePrime &&
|
||||
here->BSIM4v6sbNode = 0;
|
||||
|
||||
if (here->BSIM4v6bNodePrime > 0 &&
|
||||
here->BSIM4v6bNodePrime != here->BSIM4v6bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v6bNodePrime);
|
||||
here->BSIM4v6bNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v6dbNode &&
|
||||
here->BSIM4v6bNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v6dbNode > 0 &&
|
||||
here->BSIM4v6dbNode != here->BSIM4v6bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v6dbNode);
|
||||
here->BSIM4v6dbNode = 0;
|
||||
}
|
||||
if (here->BSIM4v6gNodeMid &&
|
||||
here->BSIM4v6dbNode = 0;
|
||||
|
||||
if (here->BSIM4v6gNodeMid > 0 &&
|
||||
here->BSIM4v6gNodeMid != here->BSIM4v6gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v6gNodeMid);
|
||||
here->BSIM4v6gNodeMid = 0;
|
||||
}
|
||||
if (here->BSIM4v6gNodePrime &&
|
||||
here->BSIM4v6gNodeMid = 0;
|
||||
|
||||
if (here->BSIM4v6gNodePrime > 0 &&
|
||||
here->BSIM4v6gNodePrime != here->BSIM4v6gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v6gNodePrime);
|
||||
here->BSIM4v6gNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v6sNodePrime
|
||||
here->BSIM4v6gNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v6sNodePrime > 0
|
||||
&& here->BSIM4v6sNodePrime != here->BSIM4v6sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v6sNodePrime);
|
||||
here->BSIM4v6sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v6dNodePrime
|
||||
here->BSIM4v6sNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v6dNodePrime > 0
|
||||
&& here->BSIM4v6dNodePrime != here->BSIM4v6dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v6dNodePrime);
|
||||
here->BSIM4v6dNodePrime = 0;
|
||||
}
|
||||
here->BSIM4v6dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2633,53 +2633,45 @@ CKTcircuit *ckt)
|
|||
for (here = model->BSIM4v7instances; here != NULL;
|
||||
here=here->BSIM4v7nextInstance)
|
||||
{
|
||||
if (here->BSIM4v7qNode)
|
||||
{
|
||||
if (here->BSIM4v7qNode > 0)
|
||||
CKTdltNNum(ckt, here->BSIM4v7qNode);
|
||||
here->BSIM4v7qNode = 0;
|
||||
}
|
||||
if (here->BSIM4v7sbNode &&
|
||||
here->BSIM4v7qNode = 0;
|
||||
|
||||
if (here->BSIM4v7sbNode > 0 &&
|
||||
here->BSIM4v7sbNode != here->BSIM4v7bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v7sbNode);
|
||||
here->BSIM4v7sbNode = 0;
|
||||
}
|
||||
if (here->BSIM4v7bNodePrime &&
|
||||
here->BSIM4v7sbNode = 0;
|
||||
|
||||
if (here->BSIM4v7bNodePrime > 0 &&
|
||||
here->BSIM4v7bNodePrime != here->BSIM4v7bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v7bNodePrime);
|
||||
here->BSIM4v7bNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v7dbNode &&
|
||||
here->BSIM4v7bNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v7dbNode > 0 &&
|
||||
here->BSIM4v7dbNode != here->BSIM4v7bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v7dbNode);
|
||||
here->BSIM4v7dbNode = 0;
|
||||
}
|
||||
if (here->BSIM4v7gNodeMid &&
|
||||
here->BSIM4v7dbNode = 0;
|
||||
|
||||
if (here->BSIM4v7gNodeMid > 0 &&
|
||||
here->BSIM4v7gNodeMid != here->BSIM4v7gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v7gNodeMid);
|
||||
here->BSIM4v7gNodeMid = 0;
|
||||
}
|
||||
if (here->BSIM4v7gNodePrime &&
|
||||
here->BSIM4v7gNodeMid = 0;
|
||||
|
||||
if (here->BSIM4v7gNodePrime > 0 &&
|
||||
here->BSIM4v7gNodePrime != here->BSIM4v7gNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v7gNodePrime);
|
||||
here->BSIM4v7gNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v7sNodePrime
|
||||
here->BSIM4v7gNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v7sNodePrime > 0
|
||||
&& here->BSIM4v7sNodePrime != here->BSIM4v7sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v7sNodePrime);
|
||||
here->BSIM4v7sNodePrime = 0;
|
||||
}
|
||||
if (here->BSIM4v7dNodePrime
|
||||
here->BSIM4v7sNodePrime = 0;
|
||||
|
||||
if (here->BSIM4v7dNodePrime > 0
|
||||
&& here->BSIM4v7dNodePrime != here->BSIM4v7dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->BSIM4v7dNodePrime);
|
||||
here->BSIM4v7dNodePrime = 0;
|
||||
}
|
||||
here->BSIM4v7dNodePrime = 0;
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2771,156 +2771,126 @@ B4SOIunsetup(
|
|||
here=here->B4SOInextInstance)
|
||||
{
|
||||
/* here for debugging purpose only */
|
||||
if (here->B4SOIqjdNode)
|
||||
{
|
||||
if (here->B4SOIqjdNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIqjdNode);
|
||||
here->B4SOIqjdNode = 0;
|
||||
}
|
||||
if (here->B4SOIqjsNode)
|
||||
{
|
||||
here->B4SOIqjdNode = 0;
|
||||
|
||||
if (here->B4SOIqjsNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIqjsNode);
|
||||
here->B4SOIqjsNode = 0;
|
||||
}
|
||||
if (here->B4SOIqbfNode)
|
||||
{
|
||||
here->B4SOIqjsNode = 0;
|
||||
|
||||
if (here->B4SOIqbfNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIqbfNode);
|
||||
here->B4SOIqbfNode = 0;
|
||||
}
|
||||
if (here->B4SOIcbgNode)
|
||||
{
|
||||
here->B4SOIqbfNode = 0;
|
||||
|
||||
if (here->B4SOIcbgNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIcbgNode);
|
||||
here->B4SOIcbgNode = 0;
|
||||
}
|
||||
if (here->B4SOIcbdNode)
|
||||
{
|
||||
here->B4SOIcbgNode = 0;
|
||||
|
||||
if (here->B4SOIcbdNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIcbdNode);
|
||||
here->B4SOIcbdNode = 0;
|
||||
}
|
||||
if (here->B4SOIcbbNode)
|
||||
{
|
||||
here->B4SOIcbdNode = 0;
|
||||
|
||||
if (here->B4SOIcbbNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIcbbNode);
|
||||
here->B4SOIcbbNode = 0;
|
||||
}
|
||||
if (here->B4SOIibpNode)
|
||||
{
|
||||
here->B4SOIcbbNode = 0;
|
||||
|
||||
if (here->B4SOIibpNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIibpNode);
|
||||
here->B4SOIibpNode = 0;
|
||||
}
|
||||
if (here->B4SOIitunNode)
|
||||
{
|
||||
here->B4SOIibpNode = 0;
|
||||
|
||||
if (here->B4SOIitunNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIitunNode);
|
||||
here->B4SOIitunNode = 0;
|
||||
}
|
||||
if (here->B4SOIigidlNode)
|
||||
{
|
||||
here->B4SOIitunNode = 0;
|
||||
|
||||
if (here->B4SOIigidlNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIigidlNode);
|
||||
here->B4SOIigidlNode = 0;
|
||||
}
|
||||
if (here->B4SOIgigbNode)
|
||||
{
|
||||
here->B4SOIigidlNode = 0;
|
||||
|
||||
if (here->B4SOIgigbNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIgigbNode);
|
||||
here->B4SOIgigbNode = 0;
|
||||
}
|
||||
if (here->B4SOIgigdNode)
|
||||
{
|
||||
here->B4SOIgigbNode = 0;
|
||||
|
||||
if (here->B4SOIgigdNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIgigdNode);
|
||||
here->B4SOIgigdNode = 0;
|
||||
}
|
||||
if (here->B4SOIgiggNode)
|
||||
{
|
||||
here->B4SOIgigdNode = 0;
|
||||
|
||||
if (here->B4SOIgiggNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIgiggNode);
|
||||
here->B4SOIgiggNode = 0;
|
||||
}
|
||||
if (here->B4SOIigNode)
|
||||
{
|
||||
here->B4SOIgiggNode = 0;
|
||||
|
||||
if (here->B4SOIigNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIigNode);
|
||||
here->B4SOIigNode = 0;
|
||||
}
|
||||
if (here->B4SOIiiiNode)
|
||||
{
|
||||
here->B4SOIigNode = 0;
|
||||
|
||||
if (here->B4SOIiiiNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIiiiNode);
|
||||
here->B4SOIiiiNode = 0;
|
||||
}
|
||||
if (here->B4SOIibdNode)
|
||||
{
|
||||
here->B4SOIiiiNode = 0;
|
||||
|
||||
if (here->B4SOIibdNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIibdNode);
|
||||
here->B4SOIibdNode = 0;
|
||||
}
|
||||
if (here->B4SOIibsNode)
|
||||
{
|
||||
here->B4SOIibdNode = 0;
|
||||
|
||||
if (here->B4SOIibsNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIibsNode);
|
||||
here->B4SOIibsNode = 0;
|
||||
}
|
||||
if (here->B4SOIicNode)
|
||||
{
|
||||
here->B4SOIibsNode = 0;
|
||||
|
||||
if (here->B4SOIicNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIicNode);
|
||||
here->B4SOIicNode = 0;
|
||||
}
|
||||
if (here->B4SOIidsNode)
|
||||
{
|
||||
here->B4SOIicNode = 0;
|
||||
|
||||
if (here->B4SOIidsNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIidsNode);
|
||||
here->B4SOIidsNode = 0;
|
||||
}
|
||||
if (here->B4SOIvbsNode)
|
||||
{
|
||||
here->B4SOIidsNode = 0;
|
||||
|
||||
if (here->B4SOIvbsNode > 0)
|
||||
CKTdltNNum(ckt, here->B4SOIvbsNode);
|
||||
here->B4SOIvbsNode = 0;
|
||||
}
|
||||
here->B4SOIvbsNode = 0;
|
||||
|
||||
if (here->B4SOIsbNode &&
|
||||
if (here->B4SOIsbNode > 0 &&
|
||||
here->B4SOIsbNode != here->B4SOIbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOIsbNode);
|
||||
here->B4SOIsbNode = 0;
|
||||
}
|
||||
if (here->B4SOIdbNode &&
|
||||
here->B4SOIdbNode != here->B4SOIbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOIdbNode);
|
||||
here->B4SOIdbNode = 0;
|
||||
}
|
||||
if (here->B4SOIgNodeMid &&
|
||||
here->B4SOIgNodeMid != here->B4SOIgNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOIgNodeMid);
|
||||
here->B4SOIgNodeMid = 0;
|
||||
}
|
||||
if (here->B4SOIgNode &&
|
||||
here->B4SOIgNode != here->B4SOIgNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOIgNode);
|
||||
here->B4SOIgNode = 0;
|
||||
}
|
||||
here->B4SOIsbNode = 0;
|
||||
|
||||
if (here->B4SOItempNode &&
|
||||
if (here->B4SOIdbNode > 0 &&
|
||||
here->B4SOIdbNode != here->B4SOIbNode)
|
||||
CKTdltNNum(ckt, here->B4SOIdbNode);
|
||||
here->B4SOIdbNode = 0;
|
||||
|
||||
if (here->B4SOIgNodeMid > 0 &&
|
||||
here->B4SOIgNodeMid != here->B4SOIgNodeExt)
|
||||
CKTdltNNum(ckt, here->B4SOIgNodeMid);
|
||||
here->B4SOIgNodeMid = 0;
|
||||
|
||||
if (here->B4SOIgNode > 0 &&
|
||||
here->B4SOIgNode != here->B4SOIgNodeExt)
|
||||
CKTdltNNum(ckt, here->B4SOIgNode);
|
||||
here->B4SOIgNode = 0;
|
||||
|
||||
if (here->B4SOItempNode > 0 &&
|
||||
here->B4SOItempNode != here->B4SOItempNodeExt &&
|
||||
here->B4SOItempNode != here->B4SOIbNodeExt &&
|
||||
here->B4SOItempNode != here->B4SOIpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOItempNode);
|
||||
here->B4SOItempNode = 0;
|
||||
}
|
||||
if (here->B4SOIbNode &&
|
||||
here->B4SOItempNode = 0;
|
||||
|
||||
if (here->B4SOIbNode > 0 &&
|
||||
here->B4SOIbNode != here->B4SOIbNodeExt &&
|
||||
here->B4SOIbNode != here->B4SOIpNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOIbNode);
|
||||
here->B4SOIbNode = 0;
|
||||
}
|
||||
here->B4SOIbNode = 0;
|
||||
|
||||
here->B4SOIpNode = 0;
|
||||
|
||||
if (here->B4SOIsNodePrime
|
||||
if (here->B4SOIsNodePrime > 0
|
||||
&& here->B4SOIsNodePrime != here->B4SOIsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOIsNodePrime);
|
||||
here->B4SOIsNodePrime = 0;
|
||||
}
|
||||
if (here->B4SOIdNodePrime
|
||||
here->B4SOIsNodePrime = 0;
|
||||
|
||||
if (here->B4SOIdNodePrime > 0
|
||||
&& here->B4SOIdNodePrime != here->B4SOIdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->B4SOIdNodePrime);
|
||||
here->B4SOIdNodePrime = 0;
|
||||
}
|
||||
here->B4SOIdNodePrime = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -256,12 +256,10 @@ DIOunsetup(
|
|||
here=here->DIOnextInstance)
|
||||
{
|
||||
|
||||
if (here->DIOposPrimeNode
|
||||
if (here->DIOposPrimeNode > 0
|
||||
&& here->DIOposPrimeNode != here->DIOposNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->DIOposPrimeNode);
|
||||
here->DIOposPrimeNode = 0;
|
||||
}
|
||||
here->DIOposPrimeNode = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -412,37 +412,30 @@ HFETAunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->HFETAinstances; here != NULL;
|
||||
here=here->HFETAnextInstance)
|
||||
{
|
||||
if (here->HFETAsourcePrmPrmNode
|
||||
if (here->HFETAsourcePrmPrmNode > 0
|
||||
&& here->HFETAsourcePrmPrmNode != here->HFETAsourcePrimeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HFETAsourcePrmPrmNode);
|
||||
here->HFETAsourcePrmPrmNode = 0;
|
||||
}
|
||||
if (here->HFETAdrainPrmPrmNode
|
||||
here->HFETAsourcePrmPrmNode = 0;
|
||||
|
||||
if (here->HFETAdrainPrmPrmNode > 0
|
||||
&& here->HFETAdrainPrmPrmNode != here->HFETAdrainPrimeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HFETAdrainPrmPrmNode);
|
||||
here->HFETAdrainPrmPrmNode = 0;
|
||||
}
|
||||
if (here->HFETAgatePrimeNode
|
||||
here->HFETAdrainPrmPrmNode = 0;
|
||||
|
||||
if (here->HFETAgatePrimeNode > 0
|
||||
&& here->HFETAgatePrimeNode != here->HFETAgateNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HFETAgatePrimeNode);
|
||||
here->HFETAgatePrimeNode = 0;
|
||||
}
|
||||
here->HFETAgatePrimeNode = 0;
|
||||
|
||||
if (here->HFETAdrainPrimeNode
|
||||
if (here->HFETAdrainPrimeNode > 0
|
||||
&& here->HFETAdrainPrimeNode != here->HFETAdrainNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HFETAdrainPrimeNode);
|
||||
here->HFETAdrainPrimeNode = 0;
|
||||
}
|
||||
if (here->HFETAsourcePrimeNode
|
||||
here->HFETAdrainPrimeNode = 0;
|
||||
|
||||
if (here->HFETAsourcePrimeNode > 0
|
||||
&& here->HFETAsourcePrimeNode != here->HFETAsourceNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HFETAsourcePrimeNode);
|
||||
here->HFETAsourcePrimeNode = 0;
|
||||
}
|
||||
here->HFETAsourcePrimeNode = 0;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,18 +216,15 @@ HFET2unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->HFET2instances; here != NULL;
|
||||
here=here->HFET2nextInstance)
|
||||
{
|
||||
if (here->HFET2drainPrimeNode
|
||||
if (here->HFET2drainPrimeNode > 0
|
||||
&& here->HFET2drainPrimeNode != here->HFET2drainNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HFET2drainPrimeNode);
|
||||
here->HFET2drainPrimeNode = 0;
|
||||
}
|
||||
if (here->HFET2sourcePrimeNode
|
||||
here->HFET2drainPrimeNode = 0;
|
||||
|
||||
if (here->HFET2sourcePrimeNode > 0
|
||||
&& here->HFET2sourcePrimeNode != here->HFET2sourceNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HFET2sourcePrimeNode);
|
||||
here->HFET2sourcePrimeNode = 0;
|
||||
}
|
||||
here->HFET2sourcePrimeNode = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1312,42 +1312,35 @@ HSM2unsetup(
|
|||
for (here = model->HSM2instances; here != NULL;
|
||||
here=here->HSM2nextInstance)
|
||||
{
|
||||
if (here->HSM2sbNode
|
||||
if (here->HSM2sbNode > 0
|
||||
&& here->HSM2sbNode != here->HSM2bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSM2sbNode);
|
||||
here->HSM2sbNode = 0;
|
||||
}
|
||||
if (here->HSM2bNodePrime
|
||||
here->HSM2sbNode = 0;
|
||||
|
||||
if (here->HSM2bNodePrime > 0
|
||||
&& here->HSM2bNodePrime != here->HSM2bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSM2bNodePrime);
|
||||
here->HSM2bNodePrime = 0;
|
||||
}
|
||||
if (here->HSM2dbNode
|
||||
here->HSM2bNodePrime = 0;
|
||||
|
||||
if (here->HSM2dbNode > 0
|
||||
&& here->HSM2dbNode != here->HSM2bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSM2dbNode);
|
||||
here->HSM2dbNode = 0;
|
||||
}
|
||||
if (here->HSM2gNodePrime
|
||||
here->HSM2dbNode = 0;
|
||||
|
||||
if (here->HSM2gNodePrime > 0
|
||||
&& here->HSM2gNodePrime != here->HSM2gNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSM2gNodePrime);
|
||||
here->HSM2gNodePrime = 0;
|
||||
}
|
||||
if (here->HSM2sNodePrime
|
||||
here->HSM2gNodePrime = 0;
|
||||
|
||||
if (here->HSM2sNodePrime > 0
|
||||
&& here->HSM2sNodePrime != here->HSM2sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSM2sNodePrime);
|
||||
here->HSM2sNodePrime = 0;
|
||||
}
|
||||
if (here->HSM2dNodePrime
|
||||
here->HSM2sNodePrime = 0;
|
||||
|
||||
if (here->HSM2dNodePrime > 0
|
||||
&& here->HSM2dNodePrime != here->HSM2dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSM2dNodePrime);
|
||||
here->HSM2dNodePrime = 0;
|
||||
}
|
||||
here->HSM2dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1476,62 +1476,52 @@ HSMHVunsetup(
|
|||
for (here = model->HSMHVinstances; here != NULL;
|
||||
here=here->HSMHVnextInstance)
|
||||
{
|
||||
if (here->HSMHVqbNode)
|
||||
{
|
||||
if (here->HSMHVqbNode > 0)
|
||||
CKTdltNNum(ckt, here->HSMHVqbNode);
|
||||
here->HSMHVqbNode = 0;
|
||||
}
|
||||
if (here->HSMHVqiNode)
|
||||
{
|
||||
here->HSMHVqbNode = 0;
|
||||
|
||||
if (here->HSMHVqiNode > 0)
|
||||
CKTdltNNum(ckt, here->HSMHVqiNode);
|
||||
here->HSMHVqiNode = 0;
|
||||
}
|
||||
here->HSMHVqiNode = 0;
|
||||
|
||||
if (here->HSMHVtempNode > 0 &&
|
||||
here->HSMHVtempNode != here->HSMHVtempNodeExt &&
|
||||
here->HSMHVtempNode != here->HSMHVsubNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHVtempNode);
|
||||
here->HSMHVtempNode = 0;
|
||||
}
|
||||
here->HSMHVtempNode = 0;
|
||||
|
||||
here->HSMHVsubNode = 0;
|
||||
|
||||
if (here->HSMHVsbNode
|
||||
if (here->HSMHVsbNode > 0
|
||||
&& here->HSMHVsbNode != here->HSMHVbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHVsbNode);
|
||||
here->HSMHVsbNode = 0;
|
||||
}
|
||||
if (here->HSMHVbNodePrime
|
||||
here->HSMHVsbNode = 0;
|
||||
|
||||
if (here->HSMHVbNodePrime > 0
|
||||
&& here->HSMHVbNodePrime != here->HSMHVbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHVbNodePrime);
|
||||
here->HSMHVbNodePrime = 0;
|
||||
}
|
||||
if (here->HSMHVdbNode
|
||||
here->HSMHVbNodePrime = 0;
|
||||
|
||||
if (here->HSMHVdbNode > 0
|
||||
&& here->HSMHVdbNode != here->HSMHVbNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHVdbNode);
|
||||
here->HSMHVdbNode = 0;
|
||||
}
|
||||
if (here->HSMHVgNodePrime
|
||||
here->HSMHVdbNode = 0;
|
||||
|
||||
if (here->HSMHVgNodePrime > 0
|
||||
&& here->HSMHVgNodePrime != here->HSMHVgNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHVgNodePrime);
|
||||
here->HSMHVgNodePrime = 0;
|
||||
}
|
||||
if (here->HSMHVsNodePrime
|
||||
here->HSMHVgNodePrime = 0;
|
||||
|
||||
if (here->HSMHVsNodePrime > 0
|
||||
&& here->HSMHVsNodePrime != here->HSMHVsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHVsNodePrime);
|
||||
here->HSMHVsNodePrime = 0;
|
||||
}
|
||||
if (here->HSMHVdNodePrime
|
||||
here->HSMHVsNodePrime = 0;
|
||||
|
||||
if (here->HSMHVdNodePrime > 0
|
||||
&& here->HSMHVdNodePrime != here->HSMHVdNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHVdNodePrime);
|
||||
here->HSMHVdNodePrime = 0;
|
||||
}
|
||||
here->HSMHVdNodePrime = 0;
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1747,58 +1747,48 @@ HSMHV2unsetup(
|
|||
if (here->HSMHV2tempNode > 0 &&
|
||||
here->HSMHV2tempNode != here->HSMHV2tempNodeExt &&
|
||||
here->HSMHV2tempNode != here->HSMHV2subNodeExt)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHV2tempNode);
|
||||
here->HSMHV2tempNode = 0;
|
||||
}
|
||||
here->HSMHV2tempNode = 0;
|
||||
|
||||
here->HSMHV2subNode = 0;
|
||||
|
||||
if (here->HSMHV2qbNode)
|
||||
{
|
||||
if (here->HSMHV2qbNode > 0)
|
||||
CKTdltNNum(ckt, here->HSMHV2qbNode);
|
||||
here->HSMHV2qbNode = 0;
|
||||
}
|
||||
if (here->HSMHV2qiNode)
|
||||
{
|
||||
here->HSMHV2qbNode = 0;
|
||||
|
||||
if (here->HSMHV2qiNode > 0)
|
||||
CKTdltNNum(ckt, here->HSMHV2qiNode);
|
||||
here->HSMHV2qiNode = 0;
|
||||
}
|
||||
if (here->HSMHV2sbNode
|
||||
here->HSMHV2qiNode = 0;
|
||||
|
||||
if (here->HSMHV2sbNode > 0
|
||||
&& here->HSMHV2sbNode != here->HSMHV2bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHV2sbNode);
|
||||
here->HSMHV2sbNode = 0;
|
||||
}
|
||||
if (here->HSMHV2bNodePrime
|
||||
here->HSMHV2sbNode = 0;
|
||||
|
||||
if (here->HSMHV2bNodePrime > 0
|
||||
&& here->HSMHV2bNodePrime != here->HSMHV2bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHV2bNodePrime);
|
||||
here->HSMHV2bNodePrime = 0;
|
||||
}
|
||||
if (here->HSMHV2dbNode
|
||||
here->HSMHV2bNodePrime = 0;
|
||||
|
||||
if (here->HSMHV2dbNode > 0
|
||||
&& here->HSMHV2dbNode != here->HSMHV2bNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHV2dbNode);
|
||||
here->HSMHV2dbNode = 0;
|
||||
}
|
||||
if (here->HSMHV2gNodePrime
|
||||
here->HSMHV2dbNode = 0;
|
||||
|
||||
if (here->HSMHV2gNodePrime > 0
|
||||
&& here->HSMHV2gNodePrime != here->HSMHV2gNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHV2gNodePrime);
|
||||
here->HSMHV2gNodePrime = 0;
|
||||
}
|
||||
if (here->HSMHV2sNodePrime
|
||||
here->HSMHV2gNodePrime = 0;
|
||||
|
||||
if (here->HSMHV2sNodePrime > 0
|
||||
&& here->HSMHV2sNodePrime != here->HSMHV2sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHV2sNodePrime);
|
||||
here->HSMHV2sNodePrime = 0;
|
||||
}
|
||||
if (here->HSMHV2dNodePrime
|
||||
here->HSMHV2sNodePrime = 0;
|
||||
|
||||
if (here->HSMHV2dNodePrime > 0
|
||||
&& here->HSMHV2dNodePrime != here->HSMHV2dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->HSMHV2dNodePrime);
|
||||
here->HSMHV2dNodePrime = 0;
|
||||
}
|
||||
here->HSMHV2dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -118,10 +118,9 @@ INDunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->INDinstances; here != NULL;
|
||||
here=here->INDnextInstance)
|
||||
{
|
||||
if (here->INDbrEq) {
|
||||
if (here->INDbrEq > 0)
|
||||
CKTdltNNum(ckt, here->INDbrEq);
|
||||
here->INDbrEq = 0;
|
||||
}
|
||||
here->INDbrEq = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -195,18 +195,15 @@ JFETunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->JFETinstances; here != NULL;
|
||||
here=here->JFETnextInstance)
|
||||
{
|
||||
if (here->JFETdrainPrimeNode
|
||||
if (here->JFETdrainPrimeNode > 0
|
||||
&& here->JFETdrainPrimeNode != here->JFETdrainNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->JFETdrainPrimeNode);
|
||||
here->JFETdrainPrimeNode = 0;
|
||||
}
|
||||
if (here->JFETsourcePrimeNode
|
||||
here->JFETdrainPrimeNode = 0;
|
||||
|
||||
if (here->JFETsourcePrimeNode > 0
|
||||
&& here->JFETsourcePrimeNode != here->JFETsourceNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->JFETsourcePrimeNode);
|
||||
here->JFETsourcePrimeNode = 0;
|
||||
}
|
||||
here->JFETsourcePrimeNode = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -135,18 +135,15 @@ JFET2unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->JFET2instances; here != NULL;
|
||||
here=here->JFET2nextInstance)
|
||||
{
|
||||
if (here->JFET2drainPrimeNode
|
||||
if (here->JFET2drainPrimeNode > 0
|
||||
&& here->JFET2drainPrimeNode != here->JFET2drainNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->JFET2drainPrimeNode);
|
||||
here->JFET2drainPrimeNode = 0;
|
||||
}
|
||||
if (here->JFET2sourcePrimeNode
|
||||
here->JFET2drainPrimeNode = 0;
|
||||
|
||||
if (here->JFET2sourcePrimeNode > 0
|
||||
&& here->JFET2sourcePrimeNode != here->JFET2sourceNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->JFET2sourcePrimeNode);
|
||||
here->JFET2sourcePrimeNode = 0;
|
||||
}
|
||||
here->JFET2sourcePrimeNode = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -229,14 +229,13 @@ LTRAunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
model = model->LTRAnextModel) {
|
||||
for (here = model->LTRAinstances; here != NULL;
|
||||
here = here->LTRAnextInstance) {
|
||||
if (here->LTRAbrEq2) {
|
||||
if (here->LTRAbrEq2 > 0)
|
||||
CKTdltNNum(ckt, here->LTRAbrEq2);
|
||||
here->LTRAbrEq2 = 0;
|
||||
}
|
||||
if (here->LTRAbrEq1) {
|
||||
here->LTRAbrEq2 = 0;
|
||||
|
||||
if (here->LTRAbrEq1 > 0)
|
||||
CKTdltNNum(ckt, here->LTRAbrEq1);
|
||||
here->LTRAbrEq1 = 0;
|
||||
}
|
||||
here->LTRAbrEq1 = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -168,18 +168,15 @@ MESunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->MESinstances; here != NULL;
|
||||
here=here->MESnextInstance)
|
||||
{
|
||||
if (here->MESdrainPrimeNode
|
||||
if (here->MESdrainPrimeNode > 0
|
||||
&& here->MESdrainPrimeNode != here->MESdrainNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MESdrainPrimeNode);
|
||||
here->MESdrainPrimeNode = 0;
|
||||
}
|
||||
if (here->MESsourcePrimeNode
|
||||
here->MESdrainPrimeNode = 0;
|
||||
|
||||
if (here->MESsourcePrimeNode > 0
|
||||
&& here->MESsourcePrimeNode != here->MESsourceNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MESsourcePrimeNode);
|
||||
here->MESsourcePrimeNode = 0;
|
||||
}
|
||||
here->MESsourcePrimeNode = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -419,36 +419,31 @@ MESAunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->MESAinstances; here != NULL;
|
||||
here=here->MESAnextInstance)
|
||||
{
|
||||
if (here->MESAdrainPrmPrmNode
|
||||
if (here->MESAdrainPrmPrmNode > 0
|
||||
&& here->MESAdrainPrmPrmNode != here->MESAdrainPrimeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MESAdrainPrmPrmNode);
|
||||
here->MESAdrainPrmPrmNode = 0;
|
||||
}
|
||||
if (here->MESAsourcePrmPrmNode
|
||||
here->MESAdrainPrmPrmNode = 0;
|
||||
|
||||
if (here->MESAsourcePrmPrmNode > 0
|
||||
&& here->MESAsourcePrmPrmNode != here->MESAsourcePrimeNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MESAsourcePrmPrmNode);
|
||||
here->MESAsourcePrmPrmNode = 0;
|
||||
}
|
||||
if (here->MESAgatePrimeNode
|
||||
here->MESAsourcePrmPrmNode = 0;
|
||||
|
||||
if (here->MESAgatePrimeNode > 0
|
||||
&& here->MESAgatePrimeNode != here->MESAgateNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MESAgatePrimeNode);
|
||||
here->MESAgatePrimeNode = 0;
|
||||
}
|
||||
if (here->MESAdrainPrimeNode
|
||||
here->MESAgatePrimeNode = 0;
|
||||
|
||||
if (here->MESAdrainPrimeNode > 0
|
||||
&& here->MESAdrainPrimeNode != here->MESAdrainNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MESAdrainPrimeNode);
|
||||
here->MESAdrainPrimeNode = 0;
|
||||
}
|
||||
if (here->MESAsourcePrimeNode
|
||||
here->MESAdrainPrimeNode = 0;
|
||||
|
||||
if (here->MESAsourcePrimeNode > 0
|
||||
&& here->MESAsourcePrimeNode != here->MESAsourceNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MESAsourcePrimeNode);
|
||||
here->MESAsourcePrimeNode = 0;
|
||||
}
|
||||
here->MESAsourcePrimeNode = 0;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -223,18 +223,15 @@ MOS1unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->MOS1instances; here != NULL;
|
||||
here=here->MOS1nextInstance)
|
||||
{
|
||||
if (here->MOS1sNodePrime
|
||||
if (here->MOS1sNodePrime > 0
|
||||
&& here->MOS1sNodePrime != here->MOS1sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS1sNodePrime);
|
||||
here->MOS1sNodePrime= 0;
|
||||
}
|
||||
if (here->MOS1dNodePrime
|
||||
here->MOS1sNodePrime= 0;
|
||||
|
||||
if (here->MOS1dNodePrime > 0
|
||||
&& here->MOS1dNodePrime != here->MOS1dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS1dNodePrime);
|
||||
here->MOS1dNodePrime= 0;
|
||||
}
|
||||
here->MOS1dNodePrime= 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -246,18 +246,15 @@ MOS2unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->MOS2instances; here != NULL;
|
||||
here=here->MOS2nextInstance)
|
||||
{
|
||||
if (here->MOS2sNodePrime
|
||||
if (here->MOS2sNodePrime > 0
|
||||
&& here->MOS2sNodePrime != here->MOS2sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS2sNodePrime);
|
||||
here->MOS2sNodePrime = 0;
|
||||
}
|
||||
if (here->MOS2dNodePrime
|
||||
here->MOS2sNodePrime = 0;
|
||||
|
||||
if (here->MOS2dNodePrime > 0
|
||||
&& here->MOS2dNodePrime != here->MOS2dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS2dNodePrime);
|
||||
here->MOS2dNodePrime = 0;
|
||||
}
|
||||
here->MOS2dNodePrime = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -271,18 +271,15 @@ MOS3unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->MOS3instances; here != NULL;
|
||||
here=here->MOS3nextInstance)
|
||||
{
|
||||
if (here->MOS3sNodePrime
|
||||
if (here->MOS3sNodePrime > 0
|
||||
&& here->MOS3sNodePrime != here->MOS3sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS3sNodePrime);
|
||||
here->MOS3sNodePrime= 0;
|
||||
}
|
||||
if (here->MOS3dNodePrime
|
||||
here->MOS3sNodePrime= 0;
|
||||
|
||||
if (here->MOS3dNodePrime > 0
|
||||
&& here->MOS3dNodePrime != here->MOS3dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS3dNodePrime);
|
||||
here->MOS3dNodePrime= 0;
|
||||
}
|
||||
here->MOS3dNodePrime= 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -233,18 +233,15 @@ MOS6unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->MOS6instances; here != NULL;
|
||||
here=here->MOS6nextInstance)
|
||||
{
|
||||
if (here->MOS6sNodePrime
|
||||
if (here->MOS6sNodePrime > 0
|
||||
&& here->MOS6sNodePrime != here->MOS6sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS6sNodePrime);
|
||||
here->MOS6sNodePrime= 0;
|
||||
}
|
||||
if (here->MOS6dNodePrime
|
||||
here->MOS6sNodePrime= 0;
|
||||
|
||||
if (here->MOS6dNodePrime > 0
|
||||
&& here->MOS6dNodePrime != here->MOS6dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS6dNodePrime);
|
||||
here->MOS6dNodePrime= 0;
|
||||
}
|
||||
here->MOS6dNodePrime= 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -271,18 +271,15 @@ MOS9unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->MOS9instances; here != NULL;
|
||||
here=here->MOS9nextInstance)
|
||||
{
|
||||
if (here->MOS9sNodePrime
|
||||
if (here->MOS9sNodePrime > 0
|
||||
&& here->MOS9sNodePrime != here->MOS9sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS9sNodePrime);
|
||||
here->MOS9sNodePrime= 0;
|
||||
}
|
||||
if (here->MOS9dNodePrime
|
||||
here->MOS9sNodePrime= 0;
|
||||
|
||||
if (here->MOS9dNodePrime > 0
|
||||
&& here->MOS9dNodePrime != here->MOS9dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->MOS9dNodePrime);
|
||||
here->MOS9dNodePrime= 0;
|
||||
}
|
||||
here->MOS9dNodePrime= 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -674,43 +674,36 @@ SOI3unsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->SOI3instances; here != NULL;
|
||||
here=here->SOI3nextInstance)
|
||||
{
|
||||
if (here->SOI3tout4Node)
|
||||
{
|
||||
if (here->SOI3tout4Node > 0)
|
||||
CKTdltNNum(ckt, here->SOI3tout4Node);
|
||||
here->SOI3tout4Node = 0;
|
||||
}
|
||||
if (here->SOI3tout3Node)
|
||||
{
|
||||
here->SOI3tout4Node = 0;
|
||||
|
||||
if (here->SOI3tout3Node > 0)
|
||||
CKTdltNNum(ckt, here->SOI3tout3Node);
|
||||
here->SOI3tout3Node = 0;
|
||||
}
|
||||
if (here->SOI3tout2Node)
|
||||
{
|
||||
here->SOI3tout3Node = 0;
|
||||
|
||||
if (here->SOI3tout2Node > 0)
|
||||
CKTdltNNum(ckt, here->SOI3tout2Node);
|
||||
here->SOI3tout2Node = 0;
|
||||
}
|
||||
if (here->SOI3tout1Node)
|
||||
{
|
||||
here->SOI3tout2Node = 0;
|
||||
|
||||
if (here->SOI3tout1Node > 0)
|
||||
CKTdltNNum(ckt, here->SOI3tout1Node);
|
||||
here->SOI3tout1Node = 0;
|
||||
}
|
||||
if (here->SOI3branch)
|
||||
{
|
||||
here->SOI3tout1Node = 0;
|
||||
|
||||
if (here->SOI3branch > 0)
|
||||
CKTdltNNum(ckt, here->SOI3branch);
|
||||
here->SOI3branch=0;
|
||||
}
|
||||
if (here->SOI3sNodePrime
|
||||
here->SOI3branch=0;
|
||||
|
||||
if (here->SOI3sNodePrime > 0
|
||||
&& here->SOI3sNodePrime != here->SOI3sNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->SOI3sNodePrime);
|
||||
here->SOI3sNodePrime= 0;
|
||||
}
|
||||
if (here->SOI3dNodePrime
|
||||
here->SOI3sNodePrime= 0;
|
||||
|
||||
if (here->SOI3dNodePrime > 0
|
||||
&& here->SOI3dNodePrime != here->SOI3dNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->SOI3dNodePrime);
|
||||
here->SOI3dNodePrime= 0;
|
||||
}
|
||||
here->SOI3dNodePrime= 0;
|
||||
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -126,22 +126,21 @@ TRAunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->TRAinstances; here != NULL;
|
||||
here=here->TRAnextInstance)
|
||||
{
|
||||
if (here->TRAintNode2) {
|
||||
if (here->TRAintNode2 > 0)
|
||||
CKTdltNNum(ckt, here->TRAintNode2);
|
||||
here->TRAintNode2= 0;
|
||||
}
|
||||
if (here->TRAintNode1) {
|
||||
here->TRAintNode2= 0;
|
||||
|
||||
if (here->TRAintNode1 > 0)
|
||||
CKTdltNNum(ckt, here->TRAintNode1);
|
||||
here->TRAintNode1= 0;
|
||||
}
|
||||
if (here->TRAbrEq2) {
|
||||
here->TRAintNode1= 0;
|
||||
|
||||
if (here->TRAbrEq2 > 0)
|
||||
CKTdltNNum(ckt, here->TRAbrEq2);
|
||||
here->TRAbrEq2= 0;
|
||||
}
|
||||
if (here->TRAbrEq1) {
|
||||
here->TRAbrEq2= 0;
|
||||
|
||||
if (here->TRAbrEq1 > 0)
|
||||
CKTdltNNum(ckt, here->TRAbrEq1);
|
||||
here->TRAbrEq1= 0;
|
||||
}
|
||||
here->TRAbrEq1= 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -558,45 +558,37 @@ VBICunsetup(
|
|||
for (here = model->VBICinstances; here != NULL;
|
||||
here=here->VBICnextInstance)
|
||||
{
|
||||
if (here->VBICbaseBINode)
|
||||
{
|
||||
if (here->VBICbaseBINode > 0)
|
||||
CKTdltNNum(ckt, here->VBICbaseBINode);
|
||||
here->VBICbaseBINode = 0;
|
||||
}
|
||||
if (here->VBICbaseBPNode)
|
||||
{
|
||||
here->VBICbaseBINode = 0;
|
||||
|
||||
if (here->VBICbaseBPNode > 0)
|
||||
CKTdltNNum(ckt, here->VBICbaseBPNode);
|
||||
here->VBICbaseBPNode = 0;
|
||||
}
|
||||
if (here->VBICcollCINode)
|
||||
{
|
||||
here->VBICbaseBPNode = 0;
|
||||
|
||||
if (here->VBICcollCINode > 0)
|
||||
CKTdltNNum(ckt, here->VBICcollCINode);
|
||||
here->VBICcollCINode = 0;
|
||||
}
|
||||
if (here->VBICsubsSINode
|
||||
here->VBICcollCINode = 0;
|
||||
|
||||
if (here->VBICsubsSINode > 0
|
||||
&& here->VBICsubsSINode != here->VBICsubsNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->VBICsubsSINode);
|
||||
here->VBICsubsSINode = 0;
|
||||
}
|
||||
if (here->VBICemitEINode
|
||||
here->VBICsubsSINode = 0;
|
||||
|
||||
if (here->VBICemitEINode > 0
|
||||
&& here->VBICemitEINode != here->VBICemitNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->VBICemitEINode);
|
||||
here->VBICemitEINode = 0;
|
||||
}
|
||||
if (here->VBICbaseBXNode
|
||||
here->VBICemitEINode = 0;
|
||||
|
||||
if (here->VBICbaseBXNode > 0
|
||||
&& here->VBICbaseBXNode != here->VBICbaseNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->VBICbaseBXNode);
|
||||
here->VBICbaseBXNode = 0;
|
||||
}
|
||||
if (here->VBICcollCXNode
|
||||
here->VBICbaseBXNode = 0;
|
||||
|
||||
if (here->VBICcollCXNode > 0
|
||||
&& here->VBICcollCXNode != here->VBICcollNode)
|
||||
{
|
||||
CKTdltNNum(ckt, here->VBICcollCXNode);
|
||||
here->VBICcollCXNode = 0;
|
||||
}
|
||||
here->VBICcollCXNode = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -73,10 +73,9 @@ VCVSunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->VCVSinstances; here != NULL;
|
||||
here=here->VCVSnextInstance)
|
||||
{
|
||||
if (here->VCVSbranch) {
|
||||
if (here->VCVSbranch > 0)
|
||||
CKTdltNNum(ckt, here->VCVSbranch);
|
||||
here->VCVSbranch = 0;
|
||||
}
|
||||
here->VCVSbranch = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -70,10 +70,9 @@ VSRCunsetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
for (here = model->VSRCinstances; here != NULL;
|
||||
here=here->VSRCnextInstance)
|
||||
{
|
||||
if (here->VSRCbranch) {
|
||||
if (here->VSRCbranch > 0)
|
||||
CKTdltNNum(ckt, here->VSRCbranch);
|
||||
here->VSRCbranch = 0;
|
||||
}
|
||||
here->VSRCbranch = 0;
|
||||
}
|
||||
}
|
||||
return OK;
|
||||
|
|
|
|||
Loading…
Reference in New Issue