You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Stefan J. <ste...@mu...> - 2004-07-20 22:29:03
|
All versions are about as stable as each other, given a random variance. ( newer ones will fix bugs but might introduce new ones ... ) tclspice has the same device models as ngspice as the core engine code is the same. So if it works / does not work in ngspice, the same will happen in tclspice. What bsim / other models do you need? Look at the DEVICES file in the root of the spice source for a list. Stefan On Tue, 2004-07-20 at 15:07, Mark Aitchison wrote: > I see version 0.2.17 is available for download, > but the mailing list archives don't mention an > announcement for it. Is that because it isn't > as stable as 0.2.15 or isn't "officially" out? > > I'm new to tclspice - I've been using another spice > under linux which couldn't handle some of the model > libraries available (e.g. for the NE5534) which I > kind of need. I don't suppose there is a list somewhere > of what should work with your version, is there?? > > Mark Aitchison -- Stefan Jones <ste...@mu...> Multigig Inc |
From: Mark A. <Ait...@cy...> - 2004-07-20 22:02:23
|
I see version 0.2.17 is available for download, but the mailing list archives don't mention an announcement for it. Is that because it isn't as stable as 0.2.15 or isn't "officially" out? I'm new to tclspice - I've been using another spice under linux which couldn't handle some of the model libraries available (e.g. for the NE5534) which I kind of need. I don't suppose there is a list somewhere of what should work with your version, is there?? Mark Aitchison |
From: Stefan J. <ste...@mu...> - 2003-12-05 14:24:59
|
Dear all interested parties, tclspice-0.2.15 has been released, you can get it from http://www.sourceforge.net/projects/tclspice Notes: Major change is readline support ( thanks to Stuart Brorson) Instructions: To install do: $ tar -zxf tclspice-0.2.15.tar.gz $ cd tclspice $ ./configure --with-tcl --enable-experimental --enable-xspice $ make tcl $ make install-tcl Usage: For detailed usage instructions go to http://tclspice.sourceforge.net/ quick guide: $ spicewish <spicefile> Changes: 2003-12-03 Stefan Jones <ste...@mu...> * configure.in: Change to version 0.2.15 2003-10-31 Stuart Brorson <sd...@cl...> * Integrated readline into ngspice CLI. Code was shamelessly stolen from http://www.btae.mam.gov.tr/~genc/ngspice/ & reworked by SDB. * Fixed makefiles in src/xspice/icm and src/xspice/cmpp to make distclean without barfing. 2003-09-30 Vera Albrecht <alb...@da...> * src/include/cktdefs.h src/spicelib/analysis/noisean.c: Fix resuming noise analysis causing segfault, also fix compiler warnings. Free free to email any problems / questions to me, Stefan -- Stefan Jones <ste...@mu...> Multigig Ltd |
From: RavinderPal V. <pau...@ya...> - 2003-10-07 22:34:47
|
Hi, I am new to tclspice and I was trying something simple to learn it. For some reason when I plot a node I get the following error. The spice listing file is right below this error message Any help would be greatly appreciated, Thanks, Ravinder ERROR Bad spice variable time Bad spice variable time while executing "spice::spicetoblt time $holder_traceTimeVector" (procedure "sw_trace_vectorUpdate" line 28) invoked from within "sw_trace_vectorUpdate $viewer $traceName" (procedure "sw_update" line 34) invoked from within "sw_update $viewer" (procedure "sw_plot" line 79) invoked from within "sw_plot 1" ("eval" body line 1) invoked from within "eval "sw_plot $viewer $list" " (procedure "sw_nodeselection_loadSelection" line 28) invoked from within "sw_nodeselection_loadSelection .trace_selection_box " invoked from within ".trace_selection_box.tnb.voltage.b invoke" ("uplevel" body line 1) invoked from within "uplevel #0 [list $w invoke]" (procedure "tkButtonUp" line 7) invoked from within "tkButtonUp .trace_selection_box.tnb.voltage.b " (command bound to event) spice file commands used spicewish test3.cir >> Run >> 1 >>plot ------------------------------------------- *****Single NMOS Transistor For BSIM3V3.1 general purpose check (Id-Vd) *** .control set filetype=ascii .endc *** circuit description *** m1 2 1 0 0 n1 L=0.35u W=10.0u vgs 1 0 3.5 vds 2 0 3.5 *model = bsim3v3 *Berkeley Spice Compatibility * Lmin= .35 Lmax= 20 Wmin= .6 Wmax= 20 .model N1 NMOS +Level= 8 +Tnom=27.0 +Nch= 2.498E+17 Tox=9E-09 Xj=1.00000E-07 +Lint=9.36e-8 Wint=1.47e-7 +Vth0= .6322 K1= .756 K2= -3.83e-2 K3= -2.612 +Dvt0= 2.812 Dvt1= 0.462 Dvt2=-9.17e-2 +Nlx= 3.52291E-08 W0= 1.163e-6 +K3b= 2.233 +Vsat= 86301.58 Ua= 6.47e-9 Ub= 4.23e-18 Uc=-4.706281E-11 +Rdsw= 650 U0= 388.3203 wr=1 +A0= .3496967 Ags=.1 B0=0.546 B1= 1 + Dwg = -6.0E-09 Dwb = -3.56E-09 Prwb = -.213 +Keta=-3.605872E-02 A1= 2.778747E-02 A2= .9 +Voff=-6.735529E-02 NFactor= 1.139926 Cit= 1.622527E-04 +Cdsc=-2.147181E-05 +Cdscb= 0 Dvt0w = 0 Dvt1w = 0 Dvt2w = 0 + Cdscd = 0 Prwg = 0 +Eta0= 1.0281729E-02 Etab=-5.042203E-03 +Dsub= .31871233 +Pclm= 1.114846 Pdiblc1= 2.45357E-03 Pdiblc2= 6.406289E-03 +Drout= .31871233 Pscbe1= 5000000 Pscbe2= 5E-09 Pdiblcb = -.234 +Pvag= 0 delta=0.01 + Wl = 0 Ww = -1.420242E-09 Wwl = 0 + Wln = 0 Wwn = .2613948 Ll = 1.300902E-10 + Lw = 0 Lwl = 0 Lln = .316394 + Lwn = 0 +kt1=-.3 kt2=-.051 +At= 22400 +Ute=-1.48 +Ua1= 3.31E-10 Ub1= 2.61E-19 Uc1= -3.42e-10 +Kt1l=0 Prt=764.3 .dc vds 0 3.5 0.05 vgs 0 3.5 0.5 .options Temp=100.0 .print dc v(1) i(vds) .end __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com |
From: Stefan J. <ste...@mu...> - 2003-08-31 14:00:37
|
Dear all interested parties, tclspice-0.2.14 has been released, you can get it from http://www.sourceforge.net/projects/tclspice or if you use Gentoo do "emerge app-sci/tclspice" Notes: This release mainly consists of bugfixes and compatability fixes. I have also slightly updated the xspice README doc. Instructions: To install do: $ tar -zxf tclspice-0.2.14.tar.gz $ cd tclspice $ ./configure --with-tcl --enable-experimental --enable-xspice $ make tcl $ make install-tcl Usage: For detailed usage instructions go to http://tclspice.sourceforge.net/ quick guide: $ spicewish <spicefile> Changes: 2003-08-31 Stefan Jones <ste...@mu...> * configure.in: Change linking order of libxspmif.a and libxspcm.a * tests/TransImpedanceAmp/output.net: processed with dos2unix * configure.in src/spinit.in src/spinit src/xspice/cmpp/Makefile src/xspice/cmpp/Makefile.in: Make configure automatically set paths for lex yacc and install dir 2003-08-30 Stefan Jones <ste...@mu...> * src/Makefile.am Makefile.am README.Tcl src/xspice/README src/xspice/icm/README src/xspice/icm/spice2poly/icm_spice2poly/README: Updated to reflect codemodel support is now complete * src/xspice/{Makefile.am,xspice.c} src/xspice/cm/{cmexport.c,Makefile.am}: Moved the xspice library hooks into the cm directory * src/Makefile.am src/ngspice.idx: Remove ngspice.idx and make it auto-generated and installed * configure.in: Change version to 0.2.14 * src/xspice/enh/enhtrans.c src/xspice/mif/mif_inp2.c: Fixed version from Stuart Brorson <sd...@cl...>, http://www.brorson.com/gEDA/ngspice/ 2003-08-28 Stefan Jones <ste...@mu...> * src/spicelib/parser/inpgtok.c: Fix reading in ')' tokens at the end of a node list * src/xspice/ipc/ipc.c: Remove linux specific includes which are not needed * src/tclspice.c: Add quick support for plotting complex vectors * src/frontend/aspice.c: Add ifdef for SOLARIS * src/frontend/terminal.[ch] src/tclspice.c: Fix output redirection with tclspice 2003-08-21 Stefan Jones <ste...@mu...> * src/frontend/define.c: don't alloc pn_func if we don't need to. ditto with pn_op 2003-08-20 Stefan Jones <ste...@mu...> * src/frontend/parse.c: Fix the bad free of pn_func in free_pnode * src/Makefile.am: Fixed libspice.so dependancies to avoid src/xspice.o Free free to email any problems / questions to me, Stefan -- Stefan Jones <ste...@mu...> Multigig Ltd |
From: Stefan J. <ste...@mu...> - 2003-08-04 10:07:52
|
Dear all interested parties, tclspice-0.2.13 has been released, you can get it from http://www.sourceforge.net/projects/tclspice or if you use Gentoo do "emerge app-sci/tclspice" Notes: This release mainly contains memory leak fixes and bug fixes. Also the xspice codemodel compiler (cmpp) has been integrated together with the source and makefiles for all the xspice codemodels. A minor change was made in the configure option: Use --with-tcl[=tcl_dir] to enable Tcl support, --enable-tcl option has been removed. This is so that you can specify non-standard Tcl installations (debian). Instructions: To install do: $ tar -zxf tclspice-0.2.13.tar.gz $ cd tclspice $ ./configure --with-tcl --enable-experimental --enable-xspice $ make tcl $ make install-tcl Usage: For detailed usage instructions go to http://tclspice.sourceforge.net/ quick guide: $ spicewish <spicefile> Changes: 2003-08-01 Stefan Jones * src/xspice/mif/mif_inp2.c: Reverted to version 1.1.2.2 so POLY and codemodels work * src/Makefile.am: Fixed libspice.so dependancies * configure.in src/tclspice.c: tclspice can now be built without thread support * src/frontend/{com_let.c,device.c,evaluate.c}: more memory leak fixes by Vera Albrecht * configure.in src/xspice/icm/* src/xspice/lib/*.cm src/xspice/Makefile.am : Added some easy to use makefiles for codemodels and reordered Removed binary files Added icm to build list * src/xspice/icm/{analog,digital,xtradev,xtraevt}: added the codemodels from xspice in the same structure as spiceopus * src/frontend/misccoms.c src/tclspice.c src/spinit src/ngspice.c src/conf.c src/Makefile.am configure.in: tclspiceised the files and the email addrs. s/ngspice/tclspice/ .spiceinit and co work 2003-07-18 Vera Albrecht * src/{main.c,tclspice.c} src/frontend/{Makefile.am,control.c,control.h,display.c,dotcards.c, hcomp.c,hpgl.c,outitf.c,parse.c,postcoms.c,postsc.c,runcoms.c, spiceif.c,variable.c,variable.h,parser/complete.c,plotting/pvec.c} src/include/{cktdefs.h,ngspice.h} src/misc/{ivars.c,string.c,stringutil.h} src/spicelib/analysis/{acan.c,ckt.h,dcop.c} src/spicelib/devices/bsim3/b3temp.c src/spicelib/parser/{ifnewuid.c,inp2dot.c,inperror.c} : Memory leaks and some WINDOWS compile fixes. 2003-07-17 Stefan Jones * src/frontend/{subckt.c,vectors.c} src/spicelib/analysis/dctran.c src/spicelib/parser/inperror.c src/xspice/idn/idndig.c src/xspice/mif/mif_inp2.c : More memory leak fixes * configure.in src/xspice/xspice.c : Fix compile problems with garbage collector * configure.in : Change --enable-tcl to --with-tcl[=dir] for non-std install setup. 2003-07-17 Steven Borley * src/frontend/resource.c src/frontend/parser/complete.c src/spicelib/devices/txl/txlload.c : #ifdef fixes to get ngspice to compile on Mac OSX 2003-07-16 Vera Albrecht * frontend/{device.c,parse.c,vectors.c,com_compose.c} : More memory leaks closed in utility commands and functions. 2003-07-16 Stefan Jones * src/frontend/{com_compose.c,cpitf.c,device.c,subckt.c,vectors.c} src/frontend/plotting/plotit.c src/include/ngspice.h src/spicelib/parser/{inp2dot.c,inp2r.c,inpdomod.c,inpdpar.c,inpgmod.c,inppas3.c} : Rest of the serious deck reader leaks, plus fixes for the last batch. 2003-07-15 Stefan Jones * /src/frontend/{com_let.c,com_set.c,evaluate.c,parse.c,variable.c} src/frontend/parser/complete.c : Memory leaks plugged Free free to email any problems / questions to me, Stefan -- Stefan Jones <ste...@mu...> Multigig Ltd |
From: <sd...@cl...> - 2003-07-12 18:11:24
|
Greetings, Stefan and Tclspicers -- Here are a few random notes and observations which may be of interest to the community. 1. Stefan, I installed tclspice-0.2.12. It runs happily, and my poly stuff seems to have been integrated successfully into the release. I have not tested your cmpp yet; I will let you know about my success or failure when I do that. One funny note: When building tclspice, I find that I have to first build regular ngspice, and then build tclspice afterwards. That is, my build procedure is: ./configure --enable-xspice make && make install (makes regular ngspice) ./configure --enable-experimental --enable-tclspice --enable-xspice make && make install (makes tclspice) If I don't do this, then the compilation process barfs when compiling main.c because it is looking for tcl_fprintf and tcl_printf, but can't find them. I don't know why this is happening. It is also possible that I am doing something wrong, but I don't think so. . . . 2. I have been using tclspice to do design optimization. I wrote a TCL program which varies a bunch of circuit parameters in a SPICE source file, does a SPICE .tran analysis, compares the resulting waveform against a desired waveform, and then tries to find circuit parameters which minimize the mean square difference between the simulated and the desired waveform. I am very pleased that the program is working. Thank you to Stefan & everybody else for their great work on creating tclspice, which has enabled me to do this! This is a great application, and I am using it intensively! However, there is one small problem: tclspice has a memory leak. Therefore, I can't let the optimizer run for a long time, because it doesn't take long for tclspice to eat up all memory in my machine. I have run valgrind-1.9.6 [1] against tclspice; the valgrind log is attached below. There are several leaks, but the main one seems to be related to invoking the copy function in strings.c. The invocation occurs when performing cp_addkword, as well as in gettok. Since I still don't understand the big picture enough to know what these programs are intending to do, I haven't tried to fix these memory leaks. Perhaps a greater mind than mine can use this info to fix the leaks. (Additionally, I would recommend that a smarter person than I should try running valgrind on tclspice to try fixing these memory leaks.) ------------------- begin valgrind log --------------------------- ==9963== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==9963== Copyright (C) 2002, and GNU GPL'd, by Julian Seward. ==9963== Using valgrind-1.9.6, a program instrumentation system for x86-linux. ==9963== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward. ==9963== ==9963== My PID = 9963, parent PID = 1094. Prog and args are: ==9963== tclsh ==9963== Optimize.tcl ==9963== ==9963== Startup, with flags: ==9963== --suppressions=/home/binaries/lib/valgrind/default.supp ==9963== --leak-check=yes ==9963== --num-callers=10 ==9963== --logfile=ValgrindLog ==9963== -v ==9963== Reading suppressions file: /home/binaries/lib/valgrind/default.supp ==9963== Estimated CPU clock rate is 298 MHz ==9963== ==9963== Reading syms from /home/binaries/bin/tclsh8.4 ==9963== Reading syms from /lib/ld-2.2.4.so ==9963== Reading syms from /home/binaries/lib/valgrind/vgskin_memcheck.so ==9963== Reading syms from /home/binaries/lib/valgrind/valgrind.so ==9963== Reading syms from /home/binaries/lib/libtcl8.4.so ==9963== Reading syms from /lib/libdl-2.2.4.so ==9963== Reading syms from /lib/i686/libm-2.2.4.so ==9963== Reading syms from /lib/i686/libc-2.2.4.so ==9963== Reading syms from /home/binaries/lib/libBLTlite24.so ==9963== object doesn't have any debug info ==9963== Reading syms from /home/binaries/lib/libspice.so ==9963== Reading syms from /usr/lib/libncurses.so.5.2 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /home/binaries/lib/valgrind/libpthread.so ==9963== Conditional jump or move depends on uninitialised value(s) ==9963== at 0x4036CA1F: strchr (in /lib/i686/libc-2.2.4.so) ==9963== ==9963== Invalid read of size 1 ==9963== at 0x416D2F1E: ft_cpinit (cpitf.c:214) ==9963== by 0x416C9E45: Spice_Init (tclspice.c:1282) ==9963== by 0x40275B05: Tcl_LoadObjCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402581B7: TclExecuteByteCode (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40257681: TclCompEvalObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40283DB7: TclObjInterpProc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402363BC: Tcl_Eval (in /home/binaries/lib/libtcl8.4.so) ==9963== Address 0x4235C83C is 48 bytes inside a block of size 49 free'd ==9963== at 0x40169B6E: free (vg_clientfuncs.c:185) ==9963== by 0x416D2EC5: ft_cpinit (cpitf.c:219) ==9963== by 0x416C9E45: Spice_Init (tclspice.c:1282) ==9963== by 0x40275B05: Tcl_LoadObjCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402581B7: TclExecuteByteCode (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40257681: TclCompEvalObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40283DB7: TclObjInterpProc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== Reading syms from /home/sources/tclspice-0.2.10-sdb/src/xspice/icm/spice2poly.cm ==9963== Reading syms from /usr/X11R6/lib/libX11.so.6.2 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /usr/X11R6/lib/libXt.so.6.0 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /usr/X11R6/lib/libXext.so.6.4 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /usr/X11R6/lib/libXmu.so.6.2 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /usr/X11R6/lib/libXaw.so.7.0 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /usr/X11R6/lib/libSM.so.6.0 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /usr/X11R6/lib/libICE.so.6.3 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== Reading syms from /usr/X11R6/lib/libXpm.so.4.11 ==9963== object doesn't have a symbol table ==9963== object doesn't have any debug info ==9963== ==9963== Conditional jump or move depends on uninitialised value(s) ==9963== at 0x4036CA64: strchr (in /lib/i686/libc-2.2.4.so) ==9963== ==9963== Invalid read of size 1 ==9963== at 0x416C8483: _tcl_dispatch (tclspice.c:424) ==9963== by 0x402346A7: TclInvokeStringCommand (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402700F5: Tcl_FSEvalFile (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40276210: Tcl_Main (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x8048726: main (in /home/binaries/bin/tclsh8.4) ==9963== by 0x40303506: __libc_start_main (../sysdeps/generic/libc-start.c:129) ==9963== by 0x8048620: (within /home/binaries/bin/tclsh8.4) ==9963== Address 0x423EDD6C is 0 bytes after a block of size 12 alloc'd ==9963== at 0x40169890: malloc (vg_clientfuncs.c:103) ==9963== by 0x4023334D: TclpAlloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40239994: Tcl_Alloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402878AF: Tcl_NewStringObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235C8B: Tcl_EvalTokensStandard (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235F45: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402700F5: Tcl_FSEvalFile (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40276210: Tcl_Main (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x8048726: main (in /home/binaries/bin/tclsh8.4) ==9963== by 0x40303506: __libc_start_main (../sysdeps/generic/libc-start.c:129) ==9963== ==9963== Invalid read of size 8 ==9963== at 0x41812AB4: ISRCload (isrcload.c:174) ==9963== by 0x418A59F3: CKTload (cktload.c:69) ==9963== by 0x418C8EC2: NIiter (niiter.c:79) ==9963== by 0x418A10D0: DCtran (dctran.c:662) ==9963== by 0x41898F3B: CKTdoJob (cktdojob.c:160) ==9963== by 0x416E7B34: if_run (spiceif.c:313) ==9963== by 0x416E49F4: dosim (runcoms.c:267) ==9963== by 0x416E4646: com_tran (runcoms.c:135) ==9963== by 0x416CE3C4: docommand (control.c:200) ==9963== by 0x416CE89D: doblock (control.c:458) ==9963== Address 0x42DC5754 is 0 bytes after a block of size 144 alloc'd ==9963== at 0x40169E99: realloc (vg_clientfuncs.c:276) ==9963== by 0x418D09AD: trealloc (alloc.c:75) ==9963== by 0x418B4982: INPgetValue (inpgval.c:38) ==9963== by 0x418C0077: INPdevParse (inpdpar.c:55) ==9963== by 0x418BB039: INP2I (inp2i.c:54) ==9963== by 0x418B4DBC: INPpas2 (inppas2.c:154) ==9963== by 0x416E734E: if_inpdeck (spiceif.c:115) ==9963== by 0x416D9BBB: inp_dodeck (inp.c:586) ==9963== by 0x416D9A6B: inp_spsource (inp.c:497) ==9963== by 0x416DA2DD: com_source (inp.c:844) ==9963== ==9963== Invalid read of size 1 ==9963== at 0x416C8483: _tcl_dispatch (tclspice.c:424) ==9963== by 0x402346A7: TclInvokeStringCommand (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402581B7: TclExecuteByteCode (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40257681: TclCompEvalObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40236526: Tcl_EvalObjEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4023C0D3: Tcl_ForObjCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402700F5: Tcl_FSEvalFile (in /home/binaries/lib/libtcl8.4.so) ==9963== Address 0x411B40B4 is 0 bytes after a block of size 12 alloc'd ==9963== at 0x40169890: malloc (vg_clientfuncs.c:103) ==9963== by 0x4023334D: TclpAlloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40239994: Tcl_Alloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40274DF8: TclRegisterLiteral (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024EA3D: TclCompileScript (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024FB80: TclCompileCmdWord (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40247694: TclCompileForCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024E9FA: TclCompileScript (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024FB80: TclCompileCmdWord (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40247694: TclCompileForCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== ==9963== ERROR SUMMARY: 2115 errors from 6 contexts (suppressed: 43111 from 3) ==9963== ==9963== 1 errors in context 1 of 6: ==9963== Invalid read of size 1 ==9963== at 0x416C8483: _tcl_dispatch (tclspice.c:424) ==9963== by 0x402346A7: TclInvokeStringCommand (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402700F5: Tcl_FSEvalFile (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40276210: Tcl_Main (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x8048726: main (in /home/binaries/bin/tclsh8.4) ==9963== by 0x40303506: __libc_start_main (../sysdeps/generic/libc-start.c:129) ==9963== by 0x8048620: (within /home/binaries/bin/tclsh8.4) ==9963== Address 0x423EDD6C is 0 bytes after a block of size 12 alloc'd ==9963== at 0x40169890: malloc (vg_clientfuncs.c:103) ==9963== by 0x4023334D: TclpAlloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40239994: Tcl_Alloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402878AF: Tcl_NewStringObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235C8B: Tcl_EvalTokensStandard (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235F45: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402700F5: Tcl_FSEvalFile (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40276210: Tcl_Main (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x8048726: main (in /home/binaries/bin/tclsh8.4) ==9963== by 0x40303506: __libc_start_main (../sysdeps/generic/libc-start.c:129) ==9963== ==9963== 1 errors in context 2 of 6: ==9963== Conditional jump or move depends on uninitialised value(s) ==9963== at 0x4036CA64: strchr (in /lib/i686/libc-2.2.4.so) ==9963== ==9963== 1 errors in context 3 of 6: ==9963== Invalid read of size 1 ==9963== at 0x416D2F1E: ft_cpinit (cpitf.c:214) ==9963== by 0x416C9E45: Spice_Init (tclspice.c:1282) ==9963== by 0x40275B05: Tcl_LoadObjCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402581B7: TclExecuteByteCode (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40257681: TclCompEvalObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40283DB7: TclObjInterpProc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402363BC: Tcl_Eval (in /home/binaries/lib/libtcl8.4.so) ==9963== Address 0x4235C83C is 48 bytes inside a block of size 49 free'd ==9963== at 0x40169B6E: free (vg_clientfuncs.c:185) ==9963== by 0x416D2EC5: ft_cpinit (cpitf.c:219) ==9963== by 0x416C9E45: Spice_Init (tclspice.c:1282) ==9963== by 0x40275B05: Tcl_LoadObjCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402581B7: TclExecuteByteCode (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40257681: TclCompEvalObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40283DB7: TclObjInterpProc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== ==9963== 4 errors in context 4 of 6: ==9963== Invalid read of size 1 ==9963== at 0x416C8483: _tcl_dispatch (tclspice.c:424) ==9963== by 0x402346A7: TclInvokeStringCommand (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402581B7: TclExecuteByteCode (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40257681: TclCompEvalObj (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40236526: Tcl_EvalObjEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4023C0D3: Tcl_ForObjCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235668: TclEvalObjvInternal (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40235FD0: Tcl_EvalEx (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x402700F5: Tcl_FSEvalFile (in /home/binaries/lib/libtcl8.4.so) ==9963== Address 0x411B40B4 is 0 bytes after a block of size 12 alloc'd ==9963== at 0x40169890: malloc (vg_clientfuncs.c:103) ==9963== by 0x4023334D: TclpAlloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40239994: Tcl_Alloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40274DF8: TclRegisterLiteral (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024EA3D: TclCompileScript (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024FB80: TclCompileCmdWord (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40247694: TclCompileForCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024E9FA: TclCompileScript (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4024FB80: TclCompileCmdWord (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40247694: TclCompileForCmd (in /home/binaries/lib/libtcl8.4.so) ==9963== ==9963== 5 errors in context 5 of 6: ==9963== Conditional jump or move depends on uninitialised value(s) ==9963== at 0x4036CA1F: strchr (in /lib/i686/libc-2.2.4.so) ==9963== ==9963== 2103 errors in context 6 of 6: ==9963== Invalid read of size 8 ==9963== at 0x41812AB4: ISRCload (isrcload.c:174) ==9963== by 0x418A59F3: CKTload (cktload.c:69) ==9963== by 0x418C8EC2: NIiter (niiter.c:79) ==9963== by 0x418A10D0: DCtran (dctran.c:662) ==9963== by 0x41898F3B: CKTdoJob (cktdojob.c:160) ==9963== by 0x416E7B34: if_run (spiceif.c:313) ==9963== by 0x416E49F4: dosim (runcoms.c:267) ==9963== by 0x416E4646: com_tran (runcoms.c:135) ==9963== by 0x416CE3C4: docommand (control.c:200) ==9963== by 0x416CE89D: doblock (control.c:458) ==9963== Address 0x42DC5754 is 0 bytes after a block of size 144 alloc'd ==9963== at 0x40169E99: realloc (vg_clientfuncs.c:276) ==9963== by 0x418D09AD: trealloc (alloc.c:75) ==9963== by 0x418B4982: INPgetValue (inpgval.c:38) ==9963== by 0x418C0077: INPdevParse (inpdpar.c:55) ==9963== by 0x418BB039: INP2I (inp2i.c:54) ==9963== by 0x418B4DBC: INPpas2 (inppas2.c:154) ==9963== by 0x416E734E: if_inpdeck (spiceif.c:115) ==9963== by 0x416D9BBB: inp_dodeck (inp.c:586) ==9963== by 0x416D9A6B: inp_spsource (inp.c:497) ==9963== by 0x416DA2DD: com_source (inp.c:844) --9963-- --9963-- supp: 85 _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond) --9963-- supp: 14342 __mpn_construct_double/*(Addr8) --9963-- supp: 28684 __mpn_construct_double/*(Addr4) ==9963== ==9963== IN SUMMARY: 2115 errors from 6 contexts (suppressed: 43111 from 3) ==9963== ==9963== malloc/free: in use at exit: 8455983 bytes in 26988 blocks. ==9963== malloc/free: 2408648 allocs, 2381660 frees, 1846607616 bytes allocated. ==9963== ==9963== searching for pointers to 26988 not-freed blocks. ==9963== checked 18436024 bytes. ==9963== ==9963== 776 bytes in 39 blocks are definitely lost in loss record 11 of 21 ==9963== at 0x40169E99: realloc (vg_clientfuncs.c:276) ==9963== by 0x418D09AD: trealloc (alloc.c:75) ==9963== by 0x416FB2D6: MIFgetValue (mifgetvalue.c:190) ==9963== by 0x416FAE93: MIFgetMod (mifgetmod.c:205) ==9963== by 0x416FA043: MIF_INP2A (mif_inp2.c:190) ==9963== by 0x418B4CDC: INPpas2 (inppas2.c:73) ==9963== by 0x416E734E: if_inpdeck (spiceif.c:115) ==9963== by 0x416D9BBB: inp_dodeck (inp.c:586) ==9963== by 0x416D9A6B: inp_spsource (inp.c:497) ==9963== by 0x416DA2DD: com_source (inp.c:844) ==9963== ==9963== 1498 bytes in 10 blocks are possibly lost in loss record 13 of 21 ==9963== at 0x40169D7D: calloc (vg_clientfuncs.c:245) ==9963== by 0x418D093E: tmalloc (alloc.c:41) ==9963== by 0x418D0CD7: copy (string.c:37) ==9963== by 0x418D0F8C: gettok (string.c:159) ==9963== by 0x416EC463: devmodtranslate (subckt.c:1305) ==9963== by 0x416EAF7A: doit (subckt.c:390) ==9963== by 0x416EAB01: inp_subcktexpand (subckt.c:168) ==9963== by 0x416D99E0: inp_spsource (inp.c:476) ==9963== by 0x416DA2DD: com_source (inp.c:844) ==9963== by 0x416CE3C4: docommand (control.c:200) ==9963== ==9963== 8000 bytes in 1 blocks are possibly lost in loss record 16 of 21 ==9963== at 0x40169890: malloc (vg_clientfuncs.c:103) ==9963== by 0x4023334D: TclpAlloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40239994: Tcl_Alloc (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40256DE8: TclCreateExecEnv (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x4023379A: Tcl_CreateInterp (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x40275FEE: Tcl_Main (in /home/binaries/lib/libtcl8.4.so) ==9963== by 0x8048726: main (in /home/binaries/bin/tclsh8.4) ==9963== by 0x40303506: __libc_start_main (../sysdeps/generic/libc-start.c:129) ==9963== by 0x8048620: (within /home/binaries/bin/tclsh8.4) ==9963== ==9963== 42027 bytes in 6180 blocks are definitely lost in loss record 17 of 21 ==9963== at 0x40169D7D: calloc (vg_clientfuncs.c:245) ==9963== by 0x418D093E: tmalloc (alloc.c:41) ==9963== by 0x418D0CD7: copy (string.c:37) ==9963== by 0x418B14FC: cp_addkword (complete.c:521) ==9963== by 0x416ED9F0: plot_alloc (vectors.c:521) ==9963== by 0x416DE7A2: plotInit (outitf.c:898) ==9963== by 0x416DD9A9: beginPlot (outitf.c:359) ==9963== by 0x416DCE43: OUTpBeginPlot (outitf.c:99) ==9963== by 0x418A040C: DCtran (dctran.c:125) ==9963== by 0x41898F3B: CKTdoJob (cktdojob.c:160) ==9963== ==9963== LEAK SUMMARY: ==9963== definitely lost: 42803 bytes in 6219 blocks. ==9963== possibly lost: 9498 bytes in 11 blocks. ==9963== still reachable: 8403682 bytes in 20758 blocks. ==9963== suppressed: 0 bytes in 0 blocks. ==9963== Reachable blocks (those to which a pointer was found) are not shown. ==9963== To see them, rerun with: --show-reachable=yes ==9963== --9963-- TT/TC: 0 tc sectors discarded. --9963-- 20172 chainings, 0 unchainings. --9963-- translate: new 22817 (363930 -> 5141044; ratio 141:10) --9963-- discard 0 (0 -> 0; ratio 0:10). --9963-- dispatch: 657100000 jumps (bb entries), of which 58495173 (8%) were unchained. --9963-- 13144/7746532 major/minor sched events. 80903 tt_fast misses. --9963-- reg-alloc: 3748 t-req-spill, 947035+21492 orig+spill uis, 116390 total-reg-r. --9963-- sanity: 13145 cheap, 526 expensive checks. --9963-- ccalls: 111426 C calls, 54% saves+restores avoided (358866 bytes) --9963-- 145920 args, avg 0.87 setup instrs each (37630 bytes) --9963-- 0% clear the stack (334278 bytes) --9963-- 39149 retvals, 31% of reg-reg movs avoided (23654 bytes) ------------------- end valgrind log --------------------------- 3. Rather than try fixing the memory leak problem, I have developed a work-around. It is an ugly hack, but it allows me to acheive my goal of doing circuit optimizations. I have written my optimizer to save its state into a file after every analysis. When the optimizer starts up, it reads the last state from the file, and starts doing the analysis from that point. The optimizer program also stores the best circuit parameters found so far into another file, and also reads these into the program when starting up. Then, I have a wrapper TCL program called TaskMgr.tcl, which forks a child process to run the optimizer. After the fork, the parent waits for 5 minutes (which I have learned is long enough for tclspice to eat a significant amout of memoery). After 5 minutes, the parent issues a "kill" signal to the child, and then restarts it. This way, the child never grows to the point where it has eaten all memory. Since its state is always saved, the optimization can always start up from the last computed state, and my optimization can crank along for hours and days, despite the memory leak. In the spirit of sharing, I reproduce my hack program TaskMgr.tcl below. There's nothing special about it; anybody else could also write it, but since I have already done it, I hope that others can use it and avoid re-inventing the wheel. Two notes about TaskMgr.tcl: 1. You will need to tune the amount of time to wait to meet the memory size and processor speed of your system. I have set mine to kill the child after 300,000 ms = 5 minutes. You can determine this time for your system experimentally. 2. Note that you need to do the "wait $PID" after doing "kill $PID" because if you don't do the wait, you are left with zombie processes hanging around (yuk!). ------------------- begin TaskMgr.tcl --------------------------- #! tclsh package require Tclx while {1} { set PID [fork] if {$PID} { # Parent after 300000 puts "About to kill child PID = $PID . . . ." kill $PID wait $PID } else { # Child source Optimize.tcl # If we ever get through this, we can print out the following: error "We are done now!!!!!!" } } ------------------- end TaskMgr.tcl --------------------------- 4. Stefan, I have a suggestion: It would be nice if the analysis functions like "spice::tran" or "spice::ac" returned a return code like "0 = success, 1 = failure", or something. This is desirable because sometimes the SPICE analysis fails due to non-convergence, and there is no way to detect this directly. Instead, you have to figure it out indirectly because the plot vectors are all of length 0. I would be happy to implement this improvement myself, but I am not familiar enough with the analysis code to be able to implement this. If somebody has a pointer or two, I could try it . . . . That's it for now. Again, thank you to everybody involved for their excellent work on tclspice and ngspice. They are great applications! Stuart [1] Valgrind is an excellent memory leak debug tool. Information is available at http://developer.kde.org/~sewardj/ |
From: Stefan J. <ste...@mu...> - 2003-07-09 09:29:49
|
Dear all interested parties, tclspice-0.2.12 has been released, you can get it from http://www.sourceforge.net/projects/tclspice This release merges Stuart Brorson's POLY support in codemodels and adds the Xspice utility cmpp. Also the Tcl port now installs the command spicewish, a clone of ngspice command line tool. TclX is no longer needed. Instructions: To install do: $ tar -zxf tclspice-0.2.12.tar.gz $ cd tclspice $ ./configure --enable-tcl --enable-experimental $ make tcl $ make install-tcl Usage: For detailed usage instructions go to http://tclspice.sourceforge.net/ quick guide: $ spicewish <spicefile> TODO: * Xspice codemodels need to be added and installed when tclspice is installed. Free free to email any problems / questions to me, Stefan -- Stefan Jones <ste...@mu...> Multigig Ltd |
From: Stefan J. <ste...@mu...> - 2003-06-19 17:02:51
|
Dear all interested parties, tclspice-0.2.11 has been released, you can get it from http://www.sourceforge.net/projects/tclspice This release improves the Tk based plotting. Also the website at http://tclspice.sourceforge.net/ has been updated. Instructions: To install do: $ tar -zxf tclspice-0.2.11.tar.gz $ cd tclspice $ ./configure --enable-tcl --enable-experimental $ make tcl $ make install-tcl Usage: For detailed usage instructions go to http://tclspice.sourceforge.net/ quick guide: ( requires tclreadline and tclx ) $ wish % package require spice % spice_init_gui <spice_file> Changelog: 2003-06-19 Adrian Dawe <a....@mu...> * Much improved spice wish interface; graph includes zooming, measurements, many clean-ups, screenshots, and trace comparisons. Free free to email any problems / questions to me, Stefan -- Stefan Jones <ste...@mu...> Multigig Ltd |