Merge branch 'pre-master-44' into bt_dev
This commit is contained in:
commit
03d968e467
|
|
@ -134,16 +134,16 @@ foundError(int error)
|
||||||
switch( error ) {
|
switch( error ) {
|
||||||
/* Removed for Spice3e1 Compatibility
|
/* Removed for Spice3e1 Compatibility
|
||||||
case spSMALL_PIVOT:
|
case spSMALL_PIVOT:
|
||||||
printf( "Warning: LU Decomposition Problem - SMALL PIVOT\n" );
|
fprintf(stderr, "Warning: LU Decomposition Problem - SMALL PIVOT\n" );
|
||||||
matrixError = FALSE;
|
matrixError = FALSE;
|
||||||
break;
|
break;
|
||||||
*/
|
*/
|
||||||
case spPANIC:
|
case spPANIC:
|
||||||
printf( "Error: LU Decomposition Failed - PANIC\n" );
|
fprintf(stderr, "Error: LU Decomposition Failed - PANIC\n" );
|
||||||
matrixError = TRUE;
|
matrixError = TRUE;
|
||||||
break;
|
break;
|
||||||
case spSINGULAR:
|
case spSINGULAR:
|
||||||
printf( "Error: LU Decomposition Failed - SINGULAR\n" );
|
fprintf(stderr, "Error: LU Decomposition Failed - SINGULAR\n" );
|
||||||
matrixError = TRUE;
|
matrixError = TRUE;
|
||||||
break;
|
break;
|
||||||
/* Removed for Spice3e1 Compatibility
|
/* 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, " rms ") ||
|
||||||
strstr(dd->line, " integ "))
|
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");
|
fprintf(stderr, "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, " AUTOSTOP being disabled...\n");
|
||||||
cp_remvar("autostop");
|
cp_remvar("autostop");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ NIiter(CKTcircuit *ckt, int maxIter)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (ckt->CKTniState & NIUNINITIALIZED) {
|
if (ckt->CKTniState & NIUNINITIALIZED) {
|
||||||
error = NIreinit(ckt);
|
error = NIreinit(ckt); /* always returns 0 */
|
||||||
if (error) {
|
if (error) {
|
||||||
#ifdef STEPDEBUG
|
#ifdef STEPDEBUG
|
||||||
printf("re-init returned error \n");
|
printf("re-init returned error \n");
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,7 @@ CKTsetup(CKTcircuit *ckt)
|
||||||
#ifdef KLU
|
#ifdef KLU
|
||||||
if (ckt->CKTmatrix->CKTkluMODE)
|
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 */
|
/* Convert the COO Storage to CSC for KLU and Fill the Binding Table */
|
||||||
SMPconvertCOOtoCSC (matrix) ;
|
SMPconvertCOOtoCSC (matrix) ;
|
||||||
|
|
@ -171,10 +171,12 @@ CKTsetup(CKTcircuit *ckt)
|
||||||
BindNode.CSC = NULL ;
|
BindNode.CSC = NULL ;
|
||||||
BindNode.CSC_Complex = NULL ;
|
BindNode.CSC_Complex = NULL ;
|
||||||
matched = (BindElement *) bsearch (&BindNode, BindStruct, nz, sizeof (BindElement), BindCompare) ;
|
matched = (BindElement *) bsearch (&BindNode, BindStruct, nz, sizeof (BindElement), BindCompare) ;
|
||||||
if (matched == NULL) {
|
if (!matched) {
|
||||||
printf ("Ptr %p not found in BindStruct Table\n", ckt->enh->rshunt_data.diag [i]) ;
|
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++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -182,7 +184,7 @@ CKTsetup(CKTcircuit *ckt)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
fprintf (stderr, "Using SPARSE 1.3 as Direct Linear Solver\n") ;
|
fprintf (stdout, "Using SPARSE 1.3 as Direct Linear Solver\n") ;
|
||||||
}
|
}
|
||||||
#endif
|
#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(VBICtempSubsPtr, VBICtempSubsBinding, VBICtempNode, VBICsubsNode);
|
||||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICtempSubsSIPtr, VBICtempSubsSIBinding, VBICtempNode, VBICsubsSINode);
|
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICtempSubsSIPtr, VBICtempSubsSIBinding, VBICtempNode, VBICsubsSINode);
|
||||||
CONVERT_KLU_BINDING_TABLE_TO_COMPLEX(VBICtempTempPtr, VBICtempTempBinding, VBICtempNode, VBICtempNode);
|
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(VBICtempSubsSIPtr, VBICtempSubsSIBinding, VBICtempNode, VBICsubsSINode);
|
||||||
CONVERT_KLU_BINDING_TABLE_TO_REAL(VBICtempTempPtr, VBICtempTempBinding, VBICtempNode, VBICtempNode);
|
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
|
*.test
|
||||||
*.log
|
*.log
|
||||||
*.out
|
*.out
|
||||||
|
*.vcd
|
||||||
|
|
||||||
ngspiceCkt
|
ngspiceCkt
|
||||||
hspiceCkt
|
hspiceCkt
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ fi
|
||||||
SPICE=$1
|
SPICE=$1
|
||||||
TEST=$2
|
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`
|
testname=`basename $TEST .cir`
|
||||||
testdir=`dirname $TEST`
|
testdir=`dirname $TEST`
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ if "%2" == "fftw" goto copy2
|
||||||
if "%3" == "fftw" goto copy2
|
if "%3" == "fftw" goto copy2
|
||||||
|
|
||||||
copy %1\ngspice.exe %dst%\bin\
|
copy %1\ngspice.exe %dst%\bin\
|
||||||
|
copy .\spinitr .\spinit
|
||||||
goto end
|
goto end
|
||||||
|
|
||||||
:copy2
|
:copy2
|
||||||
|
|
@ -56,6 +57,7 @@ if "%2" == "fftw" goto copy2-64
|
||||||
if "%3" == "fftw" goto copy2-64
|
if "%3" == "fftw" goto copy2-64
|
||||||
|
|
||||||
copy %1\ngspice.exe %dst%\bin\
|
copy %1\ngspice.exe %dst%\bin\
|
||||||
|
copy .\spinitr64 .\spinit
|
||||||
goto end
|
goto end
|
||||||
|
|
||||||
:copy2-64
|
:copy2-64
|
||||||
|
|
@ -65,7 +67,6 @@ copy ..\..\fftw-3.3-dll64\libfftw3-3.dll %dst%\bin\
|
||||||
:end
|
:end
|
||||||
mkdir %dst%\share\ngspice\scripts\src\ngspice
|
mkdir %dst%\share\ngspice\scripts\src\ngspice
|
||||||
copy .\spinit_all %dst%\share\ngspice\scripts\spinit
|
copy .\spinit_all %dst%\share\ngspice\scripts\spinit
|
||||||
copy .\spinitr .\spinit
|
|
||||||
cd ..\src
|
cd ..\src
|
||||||
copy ciderinit %dst%\share\ngspice\scripts
|
copy ciderinit %dst%\share\ngspice\scripts
|
||||||
copy devaxis %dst%\share\ngspice\scripts
|
copy devaxis %dst%\share\ngspice\scripts
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ if "%2" == "fftw" goto copy2
|
||||||
if "%3" == "fftw" goto copy2
|
if "%3" == "fftw" goto copy2
|
||||||
|
|
||||||
copy %1\ngspice.exe %dst%\bin\
|
copy %1\ngspice.exe %dst%\bin\
|
||||||
|
copy .\spinitd .\spinit
|
||||||
goto end
|
goto end
|
||||||
|
|
||||||
:copy2
|
:copy2
|
||||||
|
|
@ -56,6 +57,7 @@ if "%2" == "fftw" goto copy2-64
|
||||||
if "%3" == "fftw" goto copy2-64
|
if "%3" == "fftw" goto copy2-64
|
||||||
|
|
||||||
copy %1\ngspice.exe %dst%\bin\
|
copy %1\ngspice.exe %dst%\bin\
|
||||||
|
copy .\spinitd64 .\spinit
|
||||||
goto end
|
goto end
|
||||||
|
|
||||||
:copy2-64
|
:copy2-64
|
||||||
|
|
@ -65,7 +67,7 @@ copy ..\..\fftw-3.3-dll64\libfftw3-3.dll %dst%\bin\
|
||||||
:end
|
:end
|
||||||
mkdir %dst%\share\ngspice\scripts\src\ngspice
|
mkdir %dst%\share\ngspice\scripts\src\ngspice
|
||||||
copy .\spinit_all %dst%\share\ngspice\scripts\spinit
|
copy .\spinit_all %dst%\share\ngspice\scripts\spinit
|
||||||
copy .\spinitr .\spinit
|
|
||||||
cd ..\src
|
cd ..\src
|
||||||
copy ciderinit %dst%\share\ngspice\scripts
|
copy ciderinit %dst%\share\ngspice\scripts
|
||||||
copy devaxis %dst%\share\ngspice\scripts
|
copy devaxis %dst%\share\ngspice\scripts
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue