Fixed KLU binding for BJT
This commit is contained in:
parent
caf1ee7c47
commit
2bfd22c8f9
|
|
@ -25,37 +25,45 @@ BJTbindCSC (GENmodel *inModel, CKTcircuit *ckt)
|
|||
/* loop through all the instances of the model */
|
||||
for (here = BJTinstances(model); here != NULL ; here = BJTnextInstance(here))
|
||||
{
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolColPrimePtr, BJTcolColPrimeBinding, BJTcolNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbaseBasePrimePtr, BJTbaseBasePrimeBinding, BJTbaseNode, BJTbasePrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitEmitPrimePtr, BJTemitEmitPrimeBinding, BJTemitNode, BJTemitPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeColPtr, BJTcolPrimeColBinding, BJTcolPrimeNode, BJTcolNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeBasePrimePtr, BJTcolPrimeBasePrimeBinding, BJTcolPrimeNode, BJTbasePrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeEmitPrimePtr, BJTcolPrimeEmitPrimeBinding, BJTcolPrimeNode, BJTemitPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbasePrimeBasePtr, BJTbasePrimeBaseBinding, BJTbasePrimeNode, BJTbaseNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbasePrimeColPrimePtr, BJTbasePrimeColPrimeBinding, BJTbasePrimeNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcollCollCXPtr, BJTcollCollCXBinding, BJTcolNode, BJTcollCXNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbaseBasePrimePtr, BJTbaseBasePrimeBinding, BJTbaseNode, BJTbasePrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitEmitPrimePtr, BJTemitEmitPrimeBinding, BJTemitNode, BJTemitPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcollCXCollPtr, BJTcollCXCollBinding, BJTcollCXNode, BJTcolNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeBasePrimePtr, BJTcolPrimeBasePrimeBinding, BJTcolPrimeNode, BJTbasePrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeEmitPrimePtr, BJTcolPrimeEmitPrimeBinding, BJTcolPrimeNode, BJTemitPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbasePrimeBasePtr, BJTbasePrimeBaseBinding, BJTbasePrimeNode, BJTbaseNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbasePrimeColPrimePtr, BJTbasePrimeColPrimeBinding, BJTbasePrimeNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbasePrimeEmitPrimePtr, BJTbasePrimeEmitPrimeBinding, BJTbasePrimeNode, BJTemitPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitPrimeEmitPtr, BJTemitPrimeEmitBinding, BJTemitPrimeNode, BJTemitNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitPrimeColPrimePtr, BJTemitPrimeColPrimeBinding, BJTemitPrimeNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitPrimeEmitPtr, BJTemitPrimeEmitBinding, BJTemitPrimeNode, BJTemitNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitPrimeColPrimePtr, BJTemitPrimeColPrimeBinding, BJTemitPrimeNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitPrimeBasePrimePtr, BJTemitPrimeBasePrimeBinding, BJTemitPrimeNode, BJTbasePrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolColPtr, BJTcolColBinding, BJTcolNode, BJTcolNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbaseBasePtr, BJTbaseBaseBinding, BJTbaseNode, BJTbaseNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitEmitPtr, BJTemitEmitBinding, BJTemitNode, BJTemitNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeColPrimePtr, BJTcolPrimeColPrimeBinding, BJTcolPrimeNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolColPtr, BJTcolColBinding, BJTcolNode, BJTcolNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbaseBasePtr, BJTbaseBaseBinding, BJTbaseNode, BJTbaseNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitEmitPtr, BJTemitEmitBinding, BJTemitNode, BJTemitNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeColPrimePtr, BJTcolPrimeColPrimeBinding, BJTcolPrimeNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbasePrimeBasePrimePtr, BJTbasePrimeBasePrimeBinding, BJTbasePrimeNode, BJTbasePrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTemitPrimeEmitPrimePtr, BJTemitPrimeEmitPrimeBinding, BJTemitPrimeNode, BJTemitPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTsubstSubstPtr, BJTsubstSubstBinding, BJTsubstNode, BJTsubstNode);
|
||||
if (model->BJTsubs == LATERAL)
|
||||
{
|
||||
here->BJTsubstConNode = here->BJTbasePrimeNode ;
|
||||
here->BJTsubstConSubstConPtr = here->BJTbasePrimeBasePrimePtr ;
|
||||
CREATE_KLU_BINDING_TABLE(BJTsubstSubstPtr, BJTsubstSubstBinding, BJTsubstNode, BJTsubstNode);
|
||||
if (model -> BJTsubs == LATERAL) {
|
||||
here -> BJTsubstConNode = here -> BJTbasePrimeNode;
|
||||
here -> BJTsubstConSubstConPtr = here -> BJTbasePrimeBasePrimePtr;
|
||||
} else {
|
||||
here->BJTsubstConNode = here->BJTcolPrimeNode ;
|
||||
here->BJTsubstConSubstConPtr = here->BJTcolPrimeColPrimePtr ;
|
||||
here -> BJTsubstConNode = here -> BJTcolPrimeNode;
|
||||
here -> BJTsubstConSubstConPtr = here -> BJTcolPrimeColPrimePtr;
|
||||
}
|
||||
CREATE_KLU_BINDING_TABLE(BJTsubstConSubstPtr, BJTsubstConSubstBinding, BJTsubstConNode, BJTsubstNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTsubstSubstConPtr, BJTsubstSubstConBinding, BJTsubstNode, BJTsubstConNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbaseColPrimePtr, BJTbaseColPrimeBinding, BJTbaseNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeBasePtr, BJTcolPrimeBaseBinding, BJTcolPrimeNode, BJTbaseNode);
|
||||
|
||||
CREATE_KLU_BINDING_TABLE(BJTcollCXcollCXPtr, BJTcollCXcollCXBinding, BJTcollCXNode, BJTcollCXNode);
|
||||
|
||||
if(model->BJTintCollResistGiven) {
|
||||
CREATE_KLU_BINDING_TABLE(BJTcollCXBasePrimePtr, BJTcollCXBasePrimeBinding, BJTcollCXNode, BJTbasePrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbasePrimeCollCXPtr, BJTbasePrimeCollCXBinding, BJTbasePrimeNode, BJTcollCXNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeCollCXPtr, BJTcolPrimeCollCXBinding, BJTcolPrimeNode, BJTcollCXNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcollCXColPrimePtr, BJTcollCXColPrimeBinding, BJTcollCXNode, BJTcolPrimeNode);
|
||||
}
|
||||
CREATE_KLU_BINDING_TABLE(BJTsubstConSubstPtr, BJTsubstConSubstBinding, BJTsubstConNode, BJTsubstNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTsubstSubstConPtr, BJTsubstSubstConBinding, BJTsubstNode, BJTsubstConNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTbaseColPrimePtr, BJTbaseColPrimeBinding, BJTbaseNode, BJTcolPrimeNode);
|
||||
CREATE_KLU_BINDING_TABLE(BJTcolPrimeBasePtr, BJTcolPrimeBaseBinding, BJTcolPrimeNode, BJTbaseNode);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -76,37 +84,45 @@ BJTbindCSCComplex (GENmodel *inModel, CKTcircuit *ckt)
|
|||
/* loop through all the instances of the model */
|
||||
for (here = BJTinstances(model); here != NULL ; here = BJTnextInstance(here))
|
||||
{
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolColPrimePtr, BJTcolColPrimeBinding, BJTcolNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbaseBasePrimePtr, BJTbaseBasePrimeBinding, BJTbaseNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitEmitPrimePtr, BJTemitEmitPrimeBinding, BJTemitNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeColPtr, BJTcolPrimeColBinding, BJTcolPrimeNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeBasePrimePtr, BJTcolPrimeBasePrimeBinding, BJTcolPrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeEmitPrimePtr, BJTcolPrimeEmitPrimeBinding, BJTcolPrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbasePrimeBasePtr, BJTbasePrimeBaseBinding, BJTbasePrimeNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbasePrimeColPrimePtr, BJTbasePrimeColPrimeBinding, BJTbasePrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcollCollCXPtr, BJTcollCollCXBinding, BJTcolNode, BJTcollCXNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbaseBasePrimePtr, BJTbaseBasePrimeBinding, BJTbaseNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitEmitPrimePtr, BJTemitEmitPrimeBinding, BJTemitNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcollCXCollPtr, BJTcollCXCollBinding, BJTcollCXNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeBasePrimePtr, BJTcolPrimeBasePrimeBinding, BJTcolPrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeEmitPrimePtr, BJTcolPrimeEmitPrimeBinding, BJTcolPrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbasePrimeBasePtr, BJTbasePrimeBaseBinding, BJTbasePrimeNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbasePrimeColPrimePtr, BJTbasePrimeColPrimeBinding, BJTbasePrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbasePrimeEmitPrimePtr, BJTbasePrimeEmitPrimeBinding, BJTbasePrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitPrimeEmitPtr, BJTemitPrimeEmitBinding, BJTemitPrimeNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitPrimeColPrimePtr, BJTemitPrimeColPrimeBinding, BJTemitPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitPrimeEmitPtr, BJTemitPrimeEmitBinding, BJTemitPrimeNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitPrimeColPrimePtr, BJTemitPrimeColPrimeBinding, BJTemitPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitPrimeBasePrimePtr, BJTemitPrimeBasePrimeBinding, BJTemitPrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolColPtr, BJTcolColBinding, BJTcolNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbaseBasePtr, BJTbaseBaseBinding, BJTbaseNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitEmitPtr, BJTemitEmitBinding, BJTemitNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeColPrimePtr, BJTcolPrimeColPrimeBinding, BJTcolPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolColPtr, BJTcolColBinding, BJTcolNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbaseBasePtr, BJTbaseBaseBinding, BJTbaseNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitEmitPtr, BJTemitEmitBinding, BJTemitNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeColPrimePtr, BJTcolPrimeColPrimeBinding, BJTcolPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbasePrimeBasePrimePtr, BJTbasePrimeBasePrimeBinding, BJTbasePrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTemitPrimeEmitPrimePtr, BJTemitPrimeEmitPrimeBinding, BJTemitPrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTsubstSubstPtr, BJTsubstSubstBinding, BJTsubstNode, BJTsubstNode);
|
||||
if (model->BJTsubs == LATERAL)
|
||||
{
|
||||
here->BJTsubstConNode = here->BJTbasePrimeNode ;
|
||||
here->BJTsubstConSubstConPtr = here->BJTbasePrimeBasePrimePtr ;
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTsubstSubstPtr, BJTsubstSubstBinding, BJTsubstNode, BJTsubstNode);
|
||||
if (model -> BJTsubs == LATERAL) {
|
||||
here -> BJTsubstConNode = here -> BJTbasePrimeNode;
|
||||
here -> BJTsubstConSubstConPtr = here -> BJTbasePrimeBasePrimePtr;
|
||||
} else {
|
||||
here->BJTsubstConNode = here->BJTcolPrimeNode ;
|
||||
here->BJTsubstConSubstConPtr = here->BJTcolPrimeColPrimePtr ;
|
||||
here -> BJTsubstConNode = here -> BJTcolPrimeNode;
|
||||
here -> BJTsubstConSubstConPtr = here -> BJTcolPrimeColPrimePtr;
|
||||
}
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTsubstConSubstPtr, BJTsubstConSubstBinding, BJTsubstConNode, BJTsubstNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTsubstSubstConPtr, BJTsubstSubstConBinding, BJTsubstNode, BJTsubstConNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbaseColPrimePtr, BJTbaseColPrimeBinding, BJTbaseNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeBasePtr, BJTcolPrimeBaseBinding, BJTcolPrimeNode, BJTbaseNode);
|
||||
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcollCXcollCXPtr, BJTcollCXcollCXBinding, BJTcollCXNode, BJTcollCXNode);
|
||||
|
||||
if(model->BJTintCollResistGiven) {
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcollCXBasePrimePtr, BJTcollCXBasePrimeBinding, BJTcollCXNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbasePrimeCollCXPtr, BJTbasePrimeCollCXBinding, BJTbasePrimeNode, BJTcollCXNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeCollCXPtr, BJTcolPrimeCollCXBinding, BJTcolPrimeNode, BJTcollCXNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcollCXColPrimePtr, BJTcollCXColPrimeBinding, BJTcollCXNode, BJTcolPrimeNode);
|
||||
}
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTsubstConSubstPtr, BJTsubstConSubstBinding, BJTsubstConNode, BJTsubstNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTsubstSubstConPtr, BJTsubstSubstConBinding, BJTsubstNode, BJTsubstConNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTbaseColPrimePtr, BJTbaseColPrimeBinding, BJTbaseNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(BJTcolPrimeBasePtr, BJTcolPrimeBaseBinding, BJTcolPrimeNode, BJTbaseNode);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -127,37 +143,45 @@ BJTbindCSCComplexToReal (GENmodel *inModel, CKTcircuit *ckt)
|
|||
/* loop through all the instances of the model */
|
||||
for (here = BJTinstances(model); here != NULL ; here = BJTnextInstance(here))
|
||||
{
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolColPrimePtr, BJTcolColPrimeBinding, BJTcolNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbaseBasePrimePtr, BJTbaseBasePrimeBinding, BJTbaseNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitEmitPrimePtr, BJTemitEmitPrimeBinding, BJTemitNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeColPtr, BJTcolPrimeColBinding, BJTcolPrimeNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeBasePrimePtr, BJTcolPrimeBasePrimeBinding, BJTcolPrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeEmitPrimePtr, BJTcolPrimeEmitPrimeBinding, BJTcolPrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbasePrimeBasePtr, BJTbasePrimeBaseBinding, BJTbasePrimeNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbasePrimeColPrimePtr, BJTbasePrimeColPrimeBinding, BJTbasePrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcollCollCXPtr, BJTcollCollCXBinding, BJTcolNode, BJTcollCXNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbaseBasePrimePtr, BJTbaseBasePrimeBinding, BJTbaseNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitEmitPrimePtr, BJTemitEmitPrimeBinding, BJTemitNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcollCXCollPtr, BJTcollCXCollBinding, BJTcollCXNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeBasePrimePtr, BJTcolPrimeBasePrimeBinding, BJTcolPrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeEmitPrimePtr, BJTcolPrimeEmitPrimeBinding, BJTcolPrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbasePrimeBasePtr, BJTbasePrimeBaseBinding, BJTbasePrimeNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbasePrimeColPrimePtr, BJTbasePrimeColPrimeBinding, BJTbasePrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbasePrimeEmitPrimePtr, BJTbasePrimeEmitPrimeBinding, BJTbasePrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitPrimeEmitPtr, BJTemitPrimeEmitBinding, BJTemitPrimeNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitPrimeColPrimePtr, BJTemitPrimeColPrimeBinding, BJTemitPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitPrimeEmitPtr, BJTemitPrimeEmitBinding, BJTemitPrimeNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitPrimeColPrimePtr, BJTemitPrimeColPrimeBinding, BJTemitPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitPrimeBasePrimePtr, BJTemitPrimeBasePrimeBinding, BJTemitPrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolColPtr, BJTcolColBinding, BJTcolNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbaseBasePtr, BJTbaseBaseBinding, BJTbaseNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitEmitPtr, BJTemitEmitBinding, BJTemitNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeColPrimePtr, BJTcolPrimeColPrimeBinding, BJTcolPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolColPtr, BJTcolColBinding, BJTcolNode, BJTcolNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbaseBasePtr, BJTbaseBaseBinding, BJTbaseNode, BJTbaseNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitEmitPtr, BJTemitEmitBinding, BJTemitNode, BJTemitNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeColPrimePtr, BJTcolPrimeColPrimeBinding, BJTcolPrimeNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbasePrimeBasePrimePtr, BJTbasePrimeBasePrimeBinding, BJTbasePrimeNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTemitPrimeEmitPrimePtr, BJTemitPrimeEmitPrimeBinding, BJTemitPrimeNode, BJTemitPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTsubstSubstPtr, BJTsubstSubstBinding, BJTsubstNode, BJTsubstNode);
|
||||
if (model->BJTsubs == LATERAL)
|
||||
{
|
||||
here->BJTsubstConNode = here->BJTbasePrimeNode ;
|
||||
here->BJTsubstConSubstConPtr = here->BJTbasePrimeBasePrimePtr ;
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTsubstSubstPtr, BJTsubstSubstBinding, BJTsubstNode, BJTsubstNode);
|
||||
if (model -> BJTsubs == LATERAL) {
|
||||
here -> BJTsubstConNode = here -> BJTbasePrimeNode;
|
||||
here -> BJTsubstConSubstConPtr = here -> BJTbasePrimeBasePrimePtr;
|
||||
} else {
|
||||
here->BJTsubstConNode = here->BJTcolPrimeNode ;
|
||||
here->BJTsubstConSubstConPtr = here->BJTcolPrimeColPrimePtr ;
|
||||
here -> BJTsubstConNode = here -> BJTcolPrimeNode;
|
||||
here -> BJTsubstConSubstConPtr = here -> BJTcolPrimeColPrimePtr;
|
||||
}
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTsubstConSubstPtr, BJTsubstConSubstBinding, BJTsubstConNode, BJTsubstNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTsubstSubstConPtr, BJTsubstSubstConBinding, BJTsubstNode, BJTsubstConNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbaseColPrimePtr, BJTbaseColPrimeBinding, BJTbaseNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeBasePtr, BJTcolPrimeBaseBinding, BJTcolPrimeNode, BJTbaseNode);
|
||||
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcollCXcollCXPtr, BJTcollCXcollCXBinding, BJTcollCXNode, BJTcollCXNode);
|
||||
|
||||
if(model->BJTintCollResistGiven) {
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcollCXBasePrimePtr, BJTcollCXBasePrimeBinding, BJTcollCXNode, BJTbasePrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbasePrimeCollCXPtr, BJTbasePrimeCollCXBinding, BJTbasePrimeNode, BJTcollCXNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeCollCXPtr, BJTcolPrimeCollCXBinding, BJTcolPrimeNode, BJTcollCXNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcollCXColPrimePtr, BJTcollCXColPrimeBinding, BJTcollCXNode, BJTcolPrimeNode);
|
||||
}
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTsubstConSubstPtr, BJTsubstConSubstBinding, BJTsubstConNode, BJTsubstNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTsubstSubstConPtr, BJTsubstSubstConBinding, BJTsubstNode, BJTsubstConNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTbaseColPrimePtr, BJTbaseColPrimeBinding, BJTbaseNode, BJTcolPrimeNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(BJTcolPrimeBasePtr, BJTcolPrimeBaseBinding, BJTcolPrimeNode, BJTbaseNode);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -311,10 +311,10 @@ typedef struct sBJTinstance {
|
|||
/* the above to avoid allocating memory when it is not needed */
|
||||
|
||||
#ifdef KLU
|
||||
BindElement *BJTcolColPrimeBinding ;
|
||||
BindElement *BJTcollCollCXBinding ;
|
||||
BindElement *BJTbaseBasePrimeBinding ;
|
||||
BindElement *BJTemitEmitPrimeBinding ;
|
||||
BindElement *BJTcolPrimeColBinding ;
|
||||
BindElement *BJTcollCXCollBinding ;
|
||||
BindElement *BJTcolPrimeBasePrimeBinding ;
|
||||
BindElement *BJTcolPrimeEmitPrimeBinding ;
|
||||
BindElement *BJTbasePrimeBaseBinding ;
|
||||
|
|
@ -332,9 +332,13 @@ typedef struct sBJTinstance {
|
|||
BindElement *BJTsubstSubstBinding ;
|
||||
BindElement *BJTsubstConSubstBinding ;
|
||||
BindElement *BJTsubstSubstConBinding ;
|
||||
BindElement *BJTsubstConSubstConBinding ;
|
||||
BindElement *BJTbaseColPrimeBinding ;
|
||||
BindElement *BJTcolPrimeBaseBinding ;
|
||||
BindElement *BJTcollCXcollCXBinding ;
|
||||
BindElement *BJTcollCXBasePrimeBinding ;
|
||||
BindElement *BJTbasePrimeCollCXBinding ;
|
||||
BindElement *BJTcolPrimeCollCXBinding ;
|
||||
BindElement *BJTcollCXColPrimeBinding ;
|
||||
#endif
|
||||
|
||||
} BJTinstance ;
|
||||
|
|
|
|||
Loading…
Reference in New Issue