⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻
字号:
2003-07-08  Stefan Jones <stefan.jones@multigig.com>	* quote.c: return the pointer to the start of malloced 	memory so it can be freeded2003-05-02  Stuart Brorson <SDB@cloud9.net> 	*  Major changes in subckt.c to handle POLY attributes in 	dependent sources.  Added new case to switch in "translate" to 	handle E, F, G, H sources.  Many other fixes. 	 	*  Moved location of call to ENHtranslate_poly in inp.c.  This was 	necessary to correctly process POLY attributes and the associated 	netlists and voltage sources. 2003-04-10  Stuart Brorson <sdb@cloud9.net>	* modified inp_readall (inpcom.c) to ignore blank 	  lines terminated by \r\n *and * \n.  This fixes problems	  associated with importing files from Windozeland.	* Added explanatory comments to many modules.	2002-01-03  Paolo Nenzi <p.nenzi@ieee.org>	* wdisp: added an entire directory containing windows frontend code	  (Holger Vogt patch). Files in wdsip: ftegraf.h, makedefs, Makefile.am,	   windisp.c and winprint.c.		* Makefile.am: Windows code compilation rules added to makefile.		* display.c, outitf.c, rawfile.c, resource.c, runcoms.c: added 	  defines for Windows (Holger Vogt patch).2001-12-14  Paolo Nenzi <p.nenzi@ieee.org>	* control.c, control.h, com_cdump.c, com_cdump.h, variable.c, variable.h:	  Patched the code with the one contributed by Charles Williams. The patches	  addresses some memory leaks.	2001-11-25  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* circuits.h: transfered definition of structure 'circ' to ftedefs.h2001-02-07  Paolo Nenzi <p.nenzi@ieee.org>	* outitf.c: From a message Alan sento to the mailing list:	---------- Forwarded message ----------	Date: Tue, 6 Feb 2001 11:11:56 -0000 	From: "Gillespie, Alan" <Alan.Gillespie@analog.com>	Reply-To: ng-spice-devel@ieee.ing.uniroma1.it	To: "Ng-Spice-Devel (E-mail)" <ng-spice-devel@ieee.ing.uniroma1.it>	Subject: [ng-spice-devel] Reference variable update in interactive mode	I've tweaked outitf.c so that the reference variable value	is updated to the screen in interactive mode. I forgot to	save the old version first, though, so I couldn't do a diff,	so I'm just attaching the whole new outitf.c file. Also, I've	updated the documentation as follows :-	Modifications to "outitf.c"	---------------------------	A number of modifications have been applied to outitf.c in 	order to achieve the following "improvements" :-	    1) Spice3, by default, saved all node voltages, including 	       nodes internal to the devices. These extra nodes add 	       dramatically to the amount of data saved, but don't add 	       significantly to the useful information about the circuit. 	       So, instead of saving these nodes, a "hack" has been 	       introduced which checks a new spice option, and either 	       discards the internal node, or saves some device currents 	       instead.	   2) During long simulations, spice would sit "staring back 	      blankly", giving no clue as to how well the simulation 	      was, or wasn't, proceeding. In order to give a little 	      more feedback, another "hack", in the data writing routine, 	      writes the value of the reference variable to the error 	      stream, which is usually the screen. In order to minimize 	      the CPU time "wasted" doing this, the routine will only 	      reprint the value if more than a quarter of a second since 	      the last screen update. The result is that this feedback 	      adds no significant extra time to performance of the 	      simulation.	  3) The original file writing routines used to write each data 	     value to the file individually. A buffering scheme was added, 	     which collects each row of data in a buffer, and the writes 	     the whole buffer in one call. This gave a significant 	     performance improvement (up to 20%) on HPUX, with all currents 	     saved in large circuits, although there was no significant 	     difference on Windows 95. The improvement has not been 	     measured on Linux.	  4) A check was added to make sure the file write was successful. 	     Spice3 could easily fill the hard disk, but would continue to 	     churn away, producing no more useful data. Now it will exit 	     gracefully. I can't remember why I thought this was important, 	     but at least it means that a PC with power management will be 	     able to power down after  a long overnight simulation has 	     ceased to produce any more useful data.     Changes      -------	The routine beginPlot is called at the beginning of the simulation 	to select which nodes and variables will be saved. The first 	modification is at the point where it checks the "save" list. This 	is the list of tokens attached to the .save lines read from the 	spice source file. The routine now checks for "allv" and "alli" 	as well as "all". "allv" is treated as a synonym for "all". If 	"all" or "allv" is found, then a saveall flag is set, and if "alli"	is found then a new savealli flag is set.	Next, the addDataDesc routine is called for every variable to be 	saved. This is done by stepping through an array called dataNames[]. 	I'm not quite sure where this array comes from, but it was quite 	easy to add an if statement to stop it calling addDataDesc if 	dataNames[i] points to a string containing any of the following -	     #internal	     #source	     #drain	     #collector	     #emitter	     #base	That seems to catch all the internal device nodes.	The next addition is a new pass through the dataNames[] array 	specifically looking for those strings. (This pass is only performed	if the savealli flag has been set). When one of the strings is found,	a bunch of if-then-else statements creates a corresponding string 	which is submitted to the add addSpecialDesc routine. This saves the 	relevant device current. Note that since mosfets have only two 	internal nodes, but four terminal currents, and bipolars have three 	internal nodes and four terminal currents, some internal nodes have 	to save more than one terminal current.	This last change is a clumsy hack, and only works if the devices in 	question actually have internal nodes. Resistors and capacitors, for 	instance, never have internal nodes, and so their terminal currents 	will not cannot be saved with the .save alli card. Also, any bipolar,	mosfet or diodes with zero valued parasitic resistances (rd, rs, rc, 	rb, re) will not be allocated internal nodes, and so their terminal	currents will not be saved by this hack, either.	Further down outitf.c, the OUTpData routine is called whenever a 	new row of data is ready to be written to file. Near the top of this,	the reference variable is written to file separately from the rest of	the variables. This is a convenient point for a couple of statements 	which check the elapsed time since the last update, and write the 	reference value to stderr if it's time. Slightly further down the 	routine is the section for writing data to a "plot", i.e. retaining 	it in memory. A similar statement or two writes the reference value 	to the screen for this case, i.e. interactive mode. At the end of the 	OUTpData routine, a new check has been added to see if there was an 	error writing to the rawfile. If so, the shouldstop flag is set to 	TRUE, and the simulation will abort.	Scanning down outitf.c, the next modification is in the fileInit 	routine. The first statement initialises the lastclock variable. 	This is used later when deciding if it's time to write the reference	value to the screen.	Next, the fileInit_pass2 routine writes the name strings to the start	of the rawfile. At the end of this routine there is now a statement 	which checks if this will be a binary rawfile, and if so, it allocates	a row buffer of the correct length.	The fileStartPoint routine seems to be called before each row of data	is written, and so this is a convenient point to reset the buffer 	pointer to zero.	The fileAddRealValue and fileAddComplexValue routines now simply write	the relevant values to the buffer, and increment the buffer pointer. 	Previously they called the fwrite library routine to actually write 	the data. If the rawfile is not a binary one, however, they just write	the text as before.	The fileEndPoint routine was previously empty. Now it actually calls 	fwrite to write the whole buffer to the file (if it's a binary file).	Finally the fileEnd routine prints the total number of data points to	the screen, and de-allocates the row buffer (if it was a binary 	rawfile). 	Congratulations to whoever put these dummy routines in in the first	place, since that allowed the buffering to be added very easily.	2001-01-23  Paolo Nenzi <p.nenzi@ieee.org>	* subckt.c: added some code (very, very experimental)	to support mos devices with variable number of nodes	(5 to 7) in subcircuit expansion. This hack is necessary	since SOI devices can have up to 7 nodes.2000-11-07  Arno W. Peters  <A.W.Peters@ieee.org>	* com_history, com_alias, parser/cshpar.c, parser/complete.c:	Applied patch by Michael Widlok.  It fixes command completion and	history list.  In the process, Michael also fixed a memory leak.2000-09-09  Arno W. Peters  <A.W.Peters@ieee.org>	* commands.c: Use fourier.h.	* dotcards.c: Update to prevent segfault.	* fourier.c, fourier.h: com_fourier is now calling fourier(), a	function with more parameters.	* dotcards.c: Added assertions to guard a double indirection, now	ngspice will bomb out on an assertion instead of a segfault.2000-07-18  Arno W. Peters  <A.W.Peters@ieee.org>	* com_ahelp.c, com_help.c, com_plot.c, com_set.c, com_unset.c:	Updated header file includes.	* quote.c: Code formatting changes.	2000-07-16  Arno W. Peters  <A.W.Peters@ieee.org>	* com_set.h: New header file.	* com_state.c, com_state.h: Separated from debugcom.c.	* com_dump.c, com_dump.h: Separated from debugcom.c.	* debugcom.c, debugcom.h: Removed.	* Makefile.am: Updates for added/removed files.2000-03-22  Paolo Nenzi <p.nenzi@ieee.org>	* rawfile.c: Applied Michael Widlok patch.	* spiceif.c: Applied Michael Widlok patch. 2000-03-12  Paolo Nenzi <p.nenzi@ieee.org>	* x11.c: Cleared the code. Rewmoved some empty return on void	functions.1999-12-20  Paolo Nenzi <p.nenzi@ieee.org>	* outif.c: To fix various "save"-related segmentation faults, make	this one-line patch to outitf.c: line 356, change unique =	devname; to unique = copy(devname);1999-12-20  Paolo Nenzi <p.nenzi@ieee.org>        * subckt.c: Bug: Current controlled switch subcircuit does not	expand the controlling source correctly: vsrc expands to	name:vsrc, not to v:name:src.	Fix: changed this file to indicate that w device has only 2 not 3	nodes and 1 not zero controlling sources.1999-09-07  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* *.c: put back static functions declarations back in the .c files	(shouldn't be in .h files!)1999-09-07  Arno  <A.W.Peters@ieee.org>	* aspice.c: template to fprintf now conform to argument types.	* cmath1.c:	* cmath2.c: removed most warnings about possible use of	uninitialized variables.  Only two remain in cx_sqrt().1999-09-06  Arno Peters <A.W.Peters@ieee.org>	* dotcards.c: Put proper braces around an        ambiguous if/else construct.	* postcoms.c: 	* postsc.c: Removed unused variables.1999-09-04  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* Makefile.am (libfte_a_SOURCES): forgot display.h in list	* typesdef.c: moved types.c to typesdef.c	* signal_handler.c: moved signal.c to signal_handler.c	* *.c: added header file for all .c files 1999-09-01  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* *.c: removed lots of unnecessary HAS_XX tests and code 	* Makefile.am (libfte_a_SOURCES): removed mfb.c from sources	* signal.c (ft_sigintr): removed HAS_MFB test1999-08-30  Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it>	* Removed #include "suffix.h" and replaced GENERIC with void.1999-08-28  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* Makefile.am (libfte_a_SOURCES): removed x10.c from source files	* clip.c: removed MAX/MIN #defines 	* Removed all #includes of misc.h and util.h (now in spice.h)1999-08-19  Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it>        * Makefile.am: added spec.c. 	* spcmdtab.c: added code for spec command support. The original 	patch came from ftp.mpce.mq.edu.au.	* spec.c: added this file containing the spec command code.	1999-08-08  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* Makefile.am (DEFS): removed -DWANT_MFB (don't need it)	* resource.c : removed HAS_RLIMIT_ tests	* error.c: removed HAS_VAXFPERROR code	* cmath3.c: removed HAS_SHORTMACRO code	* display.c : removed HAS_X10 code	* mfb.c (Mfb_Init): removed HAS_PCTERM code	* resource.c: removed all code related to HAS_MEMAVL 1999-08-06  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* resource.c: removed tests on HAS_UNIX_SEGMENT_HACK	* xgraph.c (ft_xgraph), options.c (cp_usrset), misccoms.c: removed	tests on HAS_SYSTEM	* nutinp.c, inp.c (com_source, doedit): removed tests on	HAS_SYSTEM (always true?)	* doplot.c (com_hardcopy): removed tests on HAS_UNLINK (always	true), removed tests on HAS_SYSTEM (always true?)	* signal.c: 	* evaluate.c (doop): 	* error.c (fatal): 	* aspice.c: removed test on HAS_UNIX_SIGS (always true)	* signal.c: 	* evaluate.c: removed test on HAS_LONGJUMP (always true)1999-08-04  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* aspice.c: changed HAS_WAIT into HAVE_SYS_WAIT_H	* inpcom.c, breakp.c: changed HAS_CTYPE into HAVE_CTYPE_H1999-08-03  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* signal.c, resource.c, evaluate.c, aspice.c: changed SIGNAL_TYPE	into RETSIGTYPE1999-07-31  Emmanuel Rouat  <emmanuel.rouat@wanadoo.fr>	* Makefile.am: added @X_CFLAGS@ (X11 header files) to INCLUDES and	removed unused LIBS list.28-07-1999 emmanuel.rouat@wanadoo.fr (Manu Rouat)	* graf.c, display.c, doplot.c, x11.c: changed HAS_X11 define	to X_DISPLAY_MISSING, which is supplied by autoconf in config.h		* Makefile.am: removed -DWANT_X11

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -