Merge branch 'pre-master-44' into bt_dev
This commit is contained in:
commit
03d968e467
|
|
@ -134,16 +134,16 @@ foundError(int error)
|
|||
switch( error ) {
|
||||
/* Removed for Spice3e1 Compatibility
|
||||
case spSMALL_PIVOT:
|
||||
printf( "Warning: LU Decomposition Problem - SMALL PIVOT\n" );
|
||||
fprintf(stderr, "Warning: LU Decomposition Problem - SMALL PIVOT\n" );
|
||||
matrixError = FALSE;
|
||||
break;
|
||||
*/
|
||||
case spPANIC:
|
||||
printf( "Error: LU Decomposition Failed - PANIC\n" );
|
||||
fprintf(stderr, "Error: LU Decomposition Failed - PANIC\n" );
|
||||
matrixError = TRUE;
|
||||
break;
|
||||
case spSINGULAR:
|
||||
printf( "Error: LU Decomposition Failed - SINGULAR\n" );
|
||||
fprintf(stderr, "Error: LU Decomposition Failed - SINGULAR\n" );
|
||||
matrixError = TRUE;
|
||||
break;
|
||||
/* Removed for Spice3e1 Compatibility
|
||||
|
|
|
|||
|
|
@ -1107,8 +1107,8 @@ inp_spsource(FILE *fp, bool comfile, char *filename, bool intfile)
|
|||
strstr(dd->line, " rms ") ||
|
||||
strstr(dd->line, " integ "))
|
||||
{
|
||||
printf("Warning: .OPTION AUTOSTOP will not be effective because one of 'max|min|avg|rms|integ' is used in .meas\n");
|
||||
printf(" AUTOSTOP being disabled...\n");
|
||||
fprintf(stderr, "Warning: .OPTION AUTOSTOP will not be effective because one of 'max|min|avg|rms|integ' is used in .meas\n");
|
||||
fprintf(stderr, " AUTOSTOP being disabled...\n");
|
||||
cp_remvar("autostop");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ NIiter(CKTcircuit *ckt, int maxIter)
|
|||
#endif
|
||||
|
||||
if (ckt->CKTniState & NIUNINITIALIZED) {
|
||||
error = NIreinit(ckt);
|
||||
error = NIreinit(ckt); /* always returns 0 */
|
||||
if (error) {
|
||||
#ifdef STEPDEBUG
|
||||
printf("re-init returned error \n");
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ CKTsetup(CKTcircuit *ckt)
|
|||
#ifdef KLU
|
||||
if (ckt->CKTmatrix->CKTkluMODE)
|
||||
{
|
||||
fprintf (stderr, "Using KLU as Direct Linear Solver\n") ;
|
||||
fprintf (stdout, "Using KLU as Direct Linear Solver\n") ;
|
||||
|
||||
/* Convert the COO Storage to CSC for KLU and Fill the Binding Table */
|
||||
SMPconvertCOOtoCSC (matrix) ;
|
||||
|
|
@ -171,10 +171,12 @@ CKTsetup(CKTcircuit *ckt)
|
|||
BindNode.CSC = NULL ;
|
||||
BindNode.CSC_Complex = NULL ;
|
||||
matched = (BindElement *) bsearch (&BindNode, BindStruct, nz, sizeof (BindElement), BindCompare) ;
|
||||
if (matched == NULL) {
|
||||
printf ("Ptr %p not found in BindStruct Table\n", ckt->enh->rshunt_data.diag [i]) ;
|
||||
if (!matched) {
|
||||
fprintf (stderr, "Error: Ptr %p not found in BindStruct Table\n", ckt->enh->rshunt_data.diag [i]) ;
|
||||
ckt->enh->rshunt_data.diag[i] = NULL;
|
||||
}
|
||||
ckt->enh->rshunt_data.diag [i] = matched->CSC ;
|
||||
else
|
||||
ckt->enh->rshunt_data.diag [i] = matched->CSC ;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
|
@ -182,7 +184,7 @@ CKTsetup(CKTcircuit *ckt)
|
|||
#endif
|
||||
|
||||
} else {
|
||||
fprintf (stderr, "Using SPARSE 1.3 as Direct Linear Solver\n") ;
|
||||
fprintf (stdout, "Using SPARSE 1.3 as Direct Linear Solver\n") ;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -223,6 +223,25 @@ VBICbindCSCComplex (GENmodel *inModel, CKTcircuit *ckt)
|
|||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICtempSubsPtr, VBICtempSubsBinding, VBICtempNode, VBICsubsNode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICtempSubsSIPtr, VBICtempSubsSIBinding, VBICtempNode, VBICsubsSINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICtempTempPtr, VBICtempTempBinding, VBICtempNode, VBICtempNode);
|
||||
|
||||
if (here->VBIC_excessPhase) {
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf1Xf1Ptr , VBICxf1Xf1Binding , VBICxf1Node , VBICxf1Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf1Xf2Ptr , VBICxf1Xf2Binding , VBICxf1Node , VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf1CollCIPtr, VBICxf1CollCIBinding, VBICxf1Node , VBICcollCINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf1BaseBIPtr, VBICxf1BaseBIBinding, VBICxf1Node , VBICbaseBINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf1EmitEIPtr, VBICxf1EmitEIBinding, VBICxf1Node , VBICemitEINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf2Xf2Ptr , VBICxf2Xf2Binding , VBICxf2Node , VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf2Xf1Ptr , VBICxf2Xf1Binding , VBICxf2Node , VBICxf1Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICcollCIXf2Ptr, VBICcollCIXf2Binding, VBICcollCINode, VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICbaseBIXf2Ptr, VBICbaseBIXf2Binding, VBICbaseBINode, VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICemitEIXf2Ptr, VBICemitEIXf2Binding, VBICemitEINode, VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf1IbrPtr , VBICxf1IbrBinding , VBICxf1Node , VBICbrEq);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICxf2IbrPtr , VBICxf2IbrBinding , VBICxf2Node , VBICbrEq);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICibrXf2Ptr , VBICibrXf2Binding , VBICbrEq , VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICibrXf1Ptr , VBICibrXf1Binding , VBICbrEq , VBICxf1Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICibrIbrPtr , VBICibrIbrBinding , VBICbrEq , VBICbrEq);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -321,6 +340,25 @@ VBICbindCSCComplexToReal (GENmodel *inModel, CKTcircuit *ckt)
|
|||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICtempSubsSIPtr, VBICtempSubsSIBinding, VBICtempNode, VBICsubsSINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICtempTempPtr, VBICtempTempBinding, VBICtempNode, VBICtempNode);
|
||||
}
|
||||
|
||||
if (here->VBIC_excessPhase) {
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf1Xf1Ptr , VBICxf1Xf1Binding , VBICxf1Node , VBICxf1Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf1Xf2Ptr , VBICxf1Xf2Binding , VBICxf1Node , VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf1CollCIPtr, VBICxf1CollCIBinding, VBICxf1Node , VBICcollCINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf1BaseBIPtr, VBICxf1BaseBIBinding, VBICxf1Node , VBICbaseBINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf1EmitEIPtr, VBICxf1EmitEIBinding, VBICxf1Node , VBICemitEINode);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf2Xf2Ptr , VBICxf2Xf2Binding , VBICxf2Node , VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf2Xf1Ptr , VBICxf2Xf1Binding , VBICxf2Node , VBICxf1Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICcollCIXf2Ptr, VBICcollCIXf2Binding, VBICcollCINode, VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICbaseBIXf2Ptr, VBICbaseBIXf2Binding, VBICbaseBINode, VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICemitEIXf2Ptr, VBICemitEIXf2Binding, VBICemitEINode, VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf1IbrPtr , VBICxf1IbrBinding , VBICxf1Node , VBICbrEq);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICxf2IbrPtr , VBICxf2IbrBinding , VBICxf2Node , VBICbrEq);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICibrXf2Ptr , VBICibrXf2Binding , VBICbrEq , VBICxf2Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICibrXf1Ptr , VBICibrXf1Binding , VBICbrEq , VBICxf1Node);
|
||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICibrIbrPtr , VBICibrIbrBinding , VBICbrEq , VBICbrEq);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
*.test
|
||||
*.log
|
||||
*.out
|
||||
*.vcd
|
||||
|
||||
ngspiceCkt
|
||||
hspiceCkt
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ fi
|
|||
SPICE=$1
|
||||
TEST=$2
|
||||
|
||||
FILTER="CPU|Dynamic|Note|Circuit|Trying|Reference|Date|Doing|---|v-sweep|time|est|Error|Warning|Data|Index|trans|acan|oise|nalysis|ole|Total|memory|urrent|Got|Added|BSIM|bsim|B4SOI|b4soi|codemodel|^binary raw file|^ngspice.*done|Operating"
|
||||
FILTER="SPARSE|KLU|CPU|Dynamic|Note|Circuit|Trying|Reference|Date|Doing|---|v-sweep|time|est|Error|Warning|Data|Index|trans|acan|oise|nalysis|ole|Total|memory|urrent|Got|Added|BSIM|bsim|B4SOI|b4soi|codemodel|^binary raw file|^ngspice.*done|Operating"
|
||||
|
||||
testname=`basename $TEST .cir`
|
||||
testdir=`dirname $TEST`
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ if "%2" == "fftw" goto copy2
|
|||
if "%3" == "fftw" goto copy2
|
||||
|
||||
copy %1\ngspice.exe %dst%\bin\
|
||||
copy .\spinitr .\spinit
|
||||
goto end
|
||||
|
||||
:copy2
|
||||
|
|
@ -56,6 +57,7 @@ if "%2" == "fftw" goto copy2-64
|
|||
if "%3" == "fftw" goto copy2-64
|
||||
|
||||
copy %1\ngspice.exe %dst%\bin\
|
||||
copy .\spinitr64 .\spinit
|
||||
goto end
|
||||
|
||||
:copy2-64
|
||||
|
|
@ -65,7 +67,6 @@ copy ..\..\fftw-3.3-dll64\libfftw3-3.dll %dst%\bin\
|
|||
:end
|
||||
mkdir %dst%\share\ngspice\scripts\src\ngspice
|
||||
copy .\spinit_all %dst%\share\ngspice\scripts\spinit
|
||||
copy .\spinitr .\spinit
|
||||
cd ..\src
|
||||
copy ciderinit %dst%\share\ngspice\scripts
|
||||
copy devaxis %dst%\share\ngspice\scripts
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ if "%2" == "fftw" goto copy2
|
|||
if "%3" == "fftw" goto copy2
|
||||
|
||||
copy %1\ngspice.exe %dst%\bin\
|
||||
copy .\spinitd .\spinit
|
||||
goto end
|
||||
|
||||
:copy2
|
||||
|
|
@ -56,6 +57,7 @@ if "%2" == "fftw" goto copy2-64
|
|||
if "%3" == "fftw" goto copy2-64
|
||||
|
||||
copy %1\ngspice.exe %dst%\bin\
|
||||
copy .\spinitd64 .\spinit
|
||||
goto end
|
||||
|
||||
:copy2-64
|
||||
|
|
@ -65,7 +67,7 @@ copy ..\..\fftw-3.3-dll64\libfftw3-3.dll %dst%\bin\
|
|||
:end
|
||||
mkdir %dst%\share\ngspice\scripts\src\ngspice
|
||||
copy .\spinit_all %dst%\share\ngspice\scripts\spinit
|
||||
copy .\spinitr .\spinit
|
||||
|
||||
cd ..\src
|
||||
copy ciderinit %dst%\share\ngspice\scripts
|
||||
copy devaxis %dst%\share\ngspice\scripts
|
||||
|
|
|
|||
Loading…
Reference in New Issue