@ -1363,251 +1363,203 @@ B3SOIDDunsetup(GENmodel *inModel, CKTcircuit *ckt)
here = here - > B3SOIDDnextInstance )
here = here - > B3SOIDDnextInstance )
{
{
/* here for debugging purpose only */
/* here for debugging purpose only */
if ( here - > B3SOIDDdum5Node )
{
if ( here - > B3SOIDDdum5Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDdum5Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDdum5Node ) ;
here - > B3SOIDDdum5Node = 0 ;
}
if ( here - > B3SOIDDdum4Node )
{
here - > B3SOIDDdum5Node = 0 ;
if ( here - > B3SOIDDdum4Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDdum4Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDdum4Node ) ;
here - > B3SOIDDdum4Node = 0 ;
}
if ( here - > B3SOIDDdum3Node )
{
here - > B3SOIDDdum4Node = 0 ;
if ( here - > B3SOIDDdum3Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDdum3Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDdum3Node ) ;
here - > B3SOIDDdum3Node = 0 ;
}
if ( here - > B3SOIDDdum2Node )
{
here - > B3SOIDDdum3Node = 0 ;
if ( here - > B3SOIDDdum2Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDdum2Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDdum2Node ) ;
here - > B3SOIDDdum2Node = 0 ;
}
if ( here - > B3SOIDDdum1Node )
{
here - > B3SOIDDdum2Node = 0 ;
if ( here - > B3SOIDDdum1Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDdum1Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDdum1Node ) ;
here - > B3SOIDDdum1Node = 0 ;
}
if ( here - > B3SOIDDcbeNode )
{
here - > B3SOIDDdum1Node = 0 ;
if ( here - > B3SOIDDcbeNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDcbeNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDcbeNode ) ;
here - > B3SOIDDcbeNode = 0 ;
}
if ( here - > B3SOIDDvcscvNode )
{
here - > B3SOIDDcbeNode = 0 ;
if ( here - > B3SOIDDvcscvNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvcscvNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvcscvNode ) ;
here - > B3SOIDDvcscvNode = 0 ;
}
if ( here - > B3SOIDDvdscvNode )
{
here - > B3SOIDDvcscvNode = 0 ;
if ( here - > B3SOIDDvdscvNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvdscvNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvdscvNode ) ;
here - > B3SOIDDvdscvNode = 0 ;
}
if ( here - > B3SOIDDqgNode )
{
here - > B3SOIDDvdscvNode = 0 ;
if ( here - > B3SOIDDqgNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqgNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqgNode ) ;
here - > B3SOIDDqgNode = 0 ;
}
if ( here - > B3SOIDDqdNode )
{
here - > B3SOIDDqgNode = 0 ;
if ( here - > B3SOIDDqdNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqdNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqdNode ) ;
here - > B3SOIDDqdNode = 0 ;
}
if ( here - > B3SOIDDqeNode )
{
here - > B3SOIDDqdNode = 0 ;
if ( here - > B3SOIDDqeNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqeNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqeNode ) ;
here - > B3SOIDDqeNode = 0 ;
}
if ( here - > B3SOIDDqsubs2Node )
{
here - > B3SOIDDqeNode = 0 ;
if ( here - > B3SOIDDqsubs2Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqsubs2Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqsubs2Node ) ;
here - > B3SOIDDqsubs2Node = 0 ;
}
if ( here - > B3SOIDDqsubs1Node )
{
here - > B3SOIDDqsubs2Node = 0 ;
if ( here - > B3SOIDDqsubs1Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqsubs1Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqsubs1Node ) ;
here - > B3SOIDDqsubs1Node = 0 ;
}
if ( here - > B3SOIDDqsub0Node )
{
here - > B3SOIDDqsubs1Node = 0 ;
if ( here - > B3SOIDDqsub0Node > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqsub0Node ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqsub0Node ) ;
here - > B3SOIDDqsub0Node = 0 ;
}
if ( here - > B3SOIDDqaccNode )
{
here - > B3SOIDDqsub0Node = 0 ;
if ( here - > B3SOIDDqaccNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqaccNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqaccNode ) ;
here - > B3SOIDDqaccNode = 0 ;
}
if ( here - > B3SOIDDxcsatNode )
{
here - > B3SOIDDqaccNode = 0 ;
if ( here - > B3SOIDDxcsatNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDxcsatNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDxcsatNode ) ;
here - > B3SOIDDxcsatNode = 0 ;
}
if ( here - > B3SOIDDvgsteffNode )
{
here - > B3SOIDDxcsatNode = 0 ;
if ( here - > B3SOIDDvgsteffNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvgsteffNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvgsteffNode ) ;
here - > B3SOIDDvgsteffNode = 0 ;
}
if ( here - > B3SOIDDvthNode )
{
here - > B3SOIDDvgsteffNode = 0 ;
if ( here - > B3SOIDDvthNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvthNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvthNode ) ;
here - > B3SOIDDvthNode = 0 ;
}
if ( here - > B3SOIDDvbs0teffNode )
{
here - > B3SOIDDvthNode = 0 ;
if ( here - > B3SOIDDvbs0teffNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvbs0teffNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvbs0teffNode ) ;
here - > B3SOIDDvbs0teffNode = 0 ;
}
if ( here - > B3SOIDDgmeNode )
{
here - > B3SOIDDvbs0teffNode = 0 ;
if ( here - > B3SOIDDgmeNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDgmeNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDgmeNode ) ;
here - > B3SOIDDgmeNode = 0 ;
}
if ( here - > B3SOIDDgdsNode )
{
here - > B3SOIDDgmeNode = 0 ;
if ( here - > B3SOIDDgdsNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDgdsNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDgdsNode ) ;
here - > B3SOIDDgdsNode = 0 ;
}
if ( here - > B3SOIDDgmbsNode )
{
here - > B3SOIDDgdsNode = 0 ;
if ( here - > B3SOIDDgmbsNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDgmbsNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDgmbsNode ) ;
here - > B3SOIDDgmbsNode = 0 ;
}
if ( here - > B3SOIDDgmNode )
{
here - > B3SOIDDgmbsNode = 0 ;
if ( here - > B3SOIDDgmNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDgmNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDgmNode ) ;
here - > B3SOIDDgmNode = 0 ;
}
if ( here - > B3SOIDDqjdNode )
{
here - > B3SOIDDgmNode = 0 ;
if ( here - > B3SOIDDqjdNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqjdNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqjdNode ) ;
here - > B3SOIDDqjdNode = 0 ;
}
if ( here - > B3SOIDDqjsNode )
{
here - > B3SOIDDqjdNode = 0 ;
if ( here - > B3SOIDDqjsNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqjsNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqjsNode ) ;
here - > B3SOIDDqjsNode = 0 ;
}
if ( here - > B3SOIDDqbfNode )
{
here - > B3SOIDDqjsNode = 0 ;
if ( here - > B3SOIDDqbfNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqbfNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqbfNode ) ;
here - > B3SOIDDqbfNode = 0 ;
}
if ( here - > B3SOIDDqbNode )
{
here - > B3SOIDDqbfNode = 0 ;
if ( here - > B3SOIDDqbNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDqbNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDqbNode ) ;
here - > B3SOIDDqbNode = 0 ;
}
if ( here - > B3SOIDDcbgNode )
{
here - > B3SOIDDqbNode = 0 ;
if ( here - > B3SOIDDcbgNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDcbgNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDcbgNode ) ;
here - > B3SOIDDcbgNode = 0 ;
}
if ( here - > B3SOIDDcbdNode )
{
here - > B3SOIDDcbgNode = 0 ;
if ( here - > B3SOIDDcbdNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDcbdNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDcbdNode ) ;
here - > B3SOIDDcbdNode = 0 ;
}
if ( here - > B3SOIDDcbbNode )
{
here - > B3SOIDDcbdNode = 0 ;
if ( here - > B3SOIDDcbbNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDcbbNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDcbbNode ) ;
here - > B3SOIDDcbbNode = 0 ;
}
if ( here - > B3SOIDDxcNode )
{
here - > B3SOIDDcbbNode = 0 ;
if ( here - > B3SOIDDxcNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDxcNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDxcNode ) ;
here - > B3SOIDDxcNode = 0 ;
}
if ( here - > B3SOIDDvbseffNode )
{
here - > B3SOIDDxcNode = 0 ;
if ( here - > B3SOIDDvbseffNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvbseffNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvbseffNode ) ;
here - > B3SOIDDvbseffNode = 0 ;
}
if ( here - > B3SOIDDvbs0effNode )
{
here - > B3SOIDDvbseffNode = 0 ;
if ( here - > B3SOIDDvbs0effNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvbs0effNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvbs0effNode ) ;
here - > B3SOIDDvbs0effNode = 0 ;
}
if ( here - > B3SOIDDabeffNode )
{
here - > B3SOIDDvbs0effNode = 0 ;
if ( here - > B3SOIDDabeffNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDabeffNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDabeffNode ) ;
here - > B3SOIDDabeffNode = 0 ;
}
if ( here - > B3SOIDDibpNode )
{
here - > B3SOIDDabeffNode = 0 ;
if ( here - > B3SOIDDibpNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDibpNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDibpNode ) ;
here - > B3SOIDDibpNode = 0 ;
}
if ( here - > B3SOIDDitunNode )
{
here - > B3SOIDDibpNode = 0 ;
if ( here - > B3SOIDDitunNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDitunNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDitunNode ) ;
here - > B3SOIDDitunNode = 0 ;
}
if ( here - > B3SOIDDigidlNode )
{
here - > B3SOIDDitunNode = 0 ;
if ( here - > B3SOIDDigidlNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDigidlNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDigidlNode ) ;
here - > B3SOIDDigidlNode = 0 ;
}
if ( here - > B3SOIDDiiiNode )
{
here - > B3SOIDDigidlNode = 0 ;
if ( here - > B3SOIDDiiiNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDiiiNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDiiiNode ) ;
here - > B3SOIDDiiiNode = 0 ;
}
if ( here - > B3SOIDDibdNode )
{
here - > B3SOIDDiiiNode = 0 ;
if ( here - > B3SOIDDibdNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDibdNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDibdNode ) ;
here - > B3SOIDDibdNode = 0 ;
}
if ( here - > B3SOIDDibsNode )
{
here - > B3SOIDDibdNode = 0 ;
if ( here - > B3SOIDDibsNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDibsNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDibsNode ) ;
here - > B3SOIDDibsNode = 0 ;
}
if ( here - > B3SOIDDicNode )
{
here - > B3SOIDDibsNode = 0 ;
if ( here - > B3SOIDDicNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDicNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDicNode ) ;
here - > B3SOIDDicNode = 0 ;
}
if ( here - > B3SOIDDidsNode )
{
here - > B3SOIDDicNode = 0 ;
if ( here - > B3SOIDDidsNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDidsNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDidsNode ) ;
here - > B3SOIDDidsNode = 0 ;
}
if ( here - > B3SOIDDvbsNode )
{
here - > B3SOIDDidsNode = 0 ;
if ( here - > B3SOIDDvbsNode > 0 )
CKTdltNNum ( ckt , here - > B3SOIDDvbsNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDvbsNode ) ;
here - > B3SOIDDvbsNode = 0 ;
}
here - > B3SOIDDvbsNode = 0 ;
if ( here - > B3SOIDDtempNode & &
if ( here - > B3SOIDDtempNode > 0 & &
here - > B3SOIDDtempNode ! = here - > B3SOIDDtempNodeExt & &
here - > B3SOIDDtempNode ! = here - > B3SOIDDtempNodeExt & &
here - > B3SOIDDtempNode ! = here - > B3SOIDDbNodeExt & &
here - > B3SOIDDtempNode ! = here - > B3SOIDDbNodeExt & &
here - > B3SOIDDtempNode ! = here - > B3SOIDDpNodeExt )
here - > B3SOIDDtempNode ! = here - > B3SOIDDpNodeExt )
{
CKTdltNNum ( ckt , here - > B3SOIDDtempNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDtempNode ) ;
here - > B3SOIDDtempNode = 0 ;
}
if ( here - > B3SOIDDbNode & &
here - > B3SOIDDtempNode = 0 ;
if ( here - > B3SOIDDbNode > 0 & &
here - > B3SOIDDbNode ! = here - > B3SOIDDbNodeExt & &
here - > B3SOIDDbNode ! = here - > B3SOIDDbNodeExt & &
here - > B3SOIDDbNode ! = here - > B3SOIDDpNodeExt )
here - > B3SOIDDbNode ! = here - > B3SOIDDpNodeExt )
{
CKTdltNNum ( ckt , here - > B3SOIDDbNode ) ;
CKTdltNNum ( ckt , here - > B3SOIDDbNode ) ;
here - > B3SOIDDbNode = 0 ;
}
here - > B3SOIDDbNode = 0 ;
here - > B3SOIDDpNode = 0 ;
here - > B3SOIDDpNode = 0 ;
if ( here - > B3SOIDDsNodePrime
if ( here - > B3SOIDDsNodePrime > 0
& & here - > B3SOIDDsNodePrime ! = here - > B3SOIDDsNode )
& & here - > B3SOIDDsNodePrime ! = here - > B3SOIDDsNode )
{
CKTdltNNum ( ckt , here - > B3SOIDDsNodePrime ) ;
CKTdltNNum ( ckt , here - > B3SOIDDsNodePrime ) ;
here - > B3SOIDDsNodePrime = 0 ;
}
if ( here - > B3SOIDDdNodePrime
here - > B3SOIDDsNodePrime = 0 ;
if ( here - > B3SOIDDdNodePrime > 0
& & here - > B3SOIDDdNodePrime ! = here - > B3SOIDDdNode )
& & here - > B3SOIDDdNodePrime ! = here - > B3SOIDDdNode )
{
CKTdltNNum ( ckt , here - > B3SOIDDdNodePrime ) ;
CKTdltNNum ( ckt , here - > B3SOIDDdNodePrime ) ;
here - > B3SOIDDdNodePrime = 0 ;
}
here - > B3SOIDDdNodePrime = 0 ;
}
}
}
}
return OK ;
return OK ;