From 2355fc8a4ed740421331ec18b9f976e4f074f5a2 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Tue, 27 Dec 2022 11:02:59 +0100 Subject: [PATCH 1/3] Add missing includes --- visualc/sharedspice.vcxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/visualc/sharedspice.vcxproj b/visualc/sharedspice.vcxproj index 302d22ba5..78ef738c9 100644 --- a/visualc/sharedspice.vcxproj +++ b/visualc/sharedspice.vcxproj @@ -198,8 +198,8 @@ Disabled - ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) + ..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) false false false @@ -248,8 +248,8 @@ Full Speed true - ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) + ..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) false @@ -338,8 +338,8 @@ Full Speed true - ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) + ..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) false From af902ed975016632ded1b934064b3072739d29cb Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Tue, 27 Dec 2022 11:05:33 +0100 Subject: [PATCH 2/3] Rename projetc to OR (OR-gate) Add new path (absolute, so has to be modified by any user) --- examples/osdi/hicuml0/KiCad/ECL-OR.kicad_pro | 4 ++-- examples/osdi/hicuml0/KiCad/ECL-OR.kicad_sch | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_pro b/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_pro index c10facd6a..fe06be860 100644 --- a/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_pro +++ b/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_pro @@ -216,7 +216,7 @@ "pinned_symbol_libs": [] }, "meta": { - "filename": "ECL-RO.kicad_pro", + "filename": "ECL-OR.kicad_pro", "version": 1 }, "net_settings": { @@ -289,7 +289,7 @@ "page_layout_descr_file": "", "plot_directory": "", "spice_adjust_passive_values": false, - "spice_external_command": "C:\\Spice64\\bin\\ngspice-2022-osdi.exe \"%I\"", + "spice_external_command": "C:\\Spice64\\bin\\ngspice.exe \"%I\"", "subpart_first_id": 65, "subpart_id_separator": 0 }, diff --git a/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_sch b/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_sch index 117e550f1..9560ee715 100644 --- a/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_sch +++ b/examples/osdi/hicuml0/KiCad/ECL-OR.kicad_sch @@ -823,8 +823,8 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 323369ca-7b3f-476e-866f-1c1d7820c037) ) - (text ".tran 0.1n 100u\n.control\npre_osdi test_osdi_win/HICUML0-2.osdi\nrun\nplot a1 a2+2 in1+4 in2+6\n.endc" - (at 242.824 120.142 0) + (text ".tran 0.1n 100u\n.control\npre_osdi D:/Spice_general/ngspice-master/examples/osdi/hicuml0/osdi_libs/HICUML0-2.osdi\nrun\nplot a1 a2+2 in1+4 in2+6\n.endc" + (at 180.34 139.7 0) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid be5001b9-96d7-45a3-8a97-97b78d9916ae) ) @@ -943,7 +943,7 @@ (property "Spice_Netlist_Enabled" "Y" (id 6) (at 187.96 97.536 0) (effects (font (size 1.27 1.27)) hide) ) - (property "Spice_Lib_File" "model-card-hicumL0V1p11_mod.lib" (id 7) (at 187.96 97.536 0) + (property "Spice_Lib_File" "D:\\Spice_general\\ngspice-master\\examples\\osdi\\hicuml0\\Modelcards\\model-card-hicumL0V1p11_mod.lib" (id 7) (at 187.96 97.536 0) (effects (font (size 1.27 1.27)) hide) ) (pin "4" (uuid f11ebe79-902d-47f0-99c2-7adbb580de22)) @@ -977,7 +977,7 @@ (property "Spice_Netlist_Enabled" "Y" (id 6) (at 208.788 97.536 0) (effects (font (size 1.27 1.27)) hide) ) - (property "Spice_Lib_File" "model-card-hicumL0V1p11_mod.lib" (id 7) (at 208.788 97.536 0) + (property "Spice_Lib_File" "D:\\Spice_general\\ngspice-master\\examples\\osdi\\hicuml0\\Modelcards\\model-card-hicumL0V1p11_mod.lib" (id 7) (at 208.788 97.536 0) (effects (font (size 1.27 1.27)) hide) ) (pin "4" (uuid ba57784c-be23-47ec-9a64-6546cb680975)) @@ -1205,7 +1205,7 @@ (property "Spice_Netlist_Enabled" "Y" (id 6) (at 227.33 97.536 0) (effects (font (size 1.27 1.27)) hide) ) - (property "Spice_Lib_File" "model-card-hicumL0V1p11_mod.lib" (id 7) (at 227.33 97.536 0) + (property "Spice_Lib_File" "D:\\Spice_general\\ngspice-master\\examples\\osdi\\hicuml0\\Modelcards\\model-card-hicumL0V1p11_mod.lib" (id 7) (at 227.33 97.536 0) (effects (font (size 1.27 1.27)) hide) ) (pin "4" (uuid fb1d4c0a-39e2-4e36-afd9-917f4603bfae)) @@ -1330,7 +1330,7 @@ (property "Spice_Netlist_Enabled" "Y" (id 6) (at 175.514 97.536 0) (effects (font (size 1.27 1.27)) hide) ) - (property "Spice_Lib_File" "model-card-hicumL0V1p11_mod.lib" (id 7) (at 175.514 97.536 0) + (property "Spice_Lib_File" "D:\\Spice_general\\ngspice-master\\examples\\osdi\\hicuml0\\Modelcards\\model-card-hicumL0V1p11_mod.lib" (id 7) (at 175.514 97.536 0) (effects (font (size 1.27 1.27)) hide) ) (pin "4" (uuid 5545ef00-0c6b-4a5c-9e6e-2db47f95ef53)) @@ -1392,7 +1392,7 @@ (property "Spice_Netlist_Enabled" "Y" (id 6) (at 214.63 97.536 0) (effects (font (size 1.27 1.27)) hide) ) - (property "Spice_Lib_File" "model-card-hicumL0V1p11_mod.lib" (id 7) (at 214.63 97.536 0) + (property "Spice_Lib_File" "D:\\Spice_general\\ngspice-master\\examples\\osdi\\hicuml0\\Modelcards\\model-card-hicumL0V1p11_mod.lib" (id 7) (at 214.63 97.536 0) (effects (font (size 1.27 1.27)) hide) ) (pin "4" (uuid eddec639-ce06-4cb4-88f6-39f706acdaa1)) From aacd4350c308b9658e68508f0336f83e7d66360e Mon Sep 17 00:00:00 2001 From: holger Date: Tue, 27 Dec 2022 18:02:04 +0100 Subject: [PATCH 3/3] Prevent memory leak while "PREDICTOR" is selected --- src/maths/ni/nidest.c | 7 +++++++ src/spicelib/analysis/cktdest.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/maths/ni/nidest.c b/src/maths/ni/nidest.c index 3258f3c89..06827285c 100644 --- a/src/maths/ni/nidest.c +++ b/src/maths/ni/nidest.c @@ -16,6 +16,7 @@ Author: 1985 Thomas L. Quarles void NIdestroy(CKTcircuit *ckt) { + int i; if (ckt->CKTmatrix) SMPdestroy(ckt->CKTmatrix); ckt->CKTmatrix = NULL; @@ -33,4 +34,10 @@ NIdestroy(CKTcircuit *ckt) SENdestroy(ckt->CKTsenInfo); } #endif +#ifdef PREDICTOR + if(ckt->CKTpred) FREE(ckt->CKTpred); + for( i=0;i<8;i++) { + if(ckt->CKTsols[i]) FREE(ckt->CKTsols[i]); + } +#endif } diff --git a/src/spicelib/analysis/cktdest.c b/src/spicelib/analysis/cktdest.c index ca4c67786..eb95283e2 100644 --- a/src/spicelib/analysis/cktdest.c +++ b/src/spicelib/analysis/cktdest.c @@ -90,6 +90,13 @@ CKTdestroy(CKTcircuit *ckt) FREE(ckt->CKTirhsOld); FREE(ckt->CKTirhsSpare); +#ifdef PREDICTOR + if(ckt->CKTpred) FREE(ckt->CKTpred); + for( i=0;i<8;i++) { + if(ckt->CKTsols[i]) FREE(ckt->CKTsols[i]); + } +#endif + FREE(ckt->CKTstat->STATdevNum); FREE(ckt->CKTstat); FREE(ckt->CKThead);