[spice_announce] SPICE OPUS version 2.02 released (fwd)


To ng-spice-devel@ieee.ing.uniroma1.it
From Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it>
Date Fri, 30 Jun 2000 18:40:28 +0200 (CEST)
Delivered-To mailing list ng-spice-devel@ieee.ing.uniroma1.it
Mailing-List contact ng-spice-devel-help@ieee.ing.uniroma1.it; run by ezmlm
Reply-To ng-spice-devel@ieee.ing.uniroma1.it


A message from another group working on spice.

Paolo

---------- Forwarded message ----------
Date: Fri, 30 Jun 2000 13:56:14 +0200
From: Arpad Buermen <arpadb@fides.fe.uni-lj.si>
To: spice_announce@fides.fe.uni-lj.si
Subject: [spice_announce] SPICE OPUS version 2.02 released

Dear SPICE OPUS user,

Since the release of version 2.0 there were two minor releases (2.01
and 2.02) with many bugfixes. We wish to thank everybody for
useful comments and bug reports. There are too many contributors to
list them all by their names here. We hope that you will keep using
SPICE OPUS for your simulations in the future and we wish you a
successful summer.

Your

SPICE OPUS team


P.S.: All suggestions are welcome. Write to
spice_developers@fides.fe.uni-lj.si
and tell us what you think.


--

The changelog for versions 2.02 vs 2.01 and 2.01 vs 2.0 is as
follows:

Version 2.02    (date built: 27. June 2000)
- Fixed edit behaviour for Windows. 'edit' command starts an editor
  asynchronously.  The spice circuit file must be sourced manually to
  simulate the changes. The same was done in Linux although we are still
  having problems with spice3 binary creating a zombie every time the
  editor is invoked. Fortunately all zombies die after the main SPICE
  window is closed.
- Fixed the crash when using 'let @...' or 'let @@...'.
- Added support for simulator parameters in let (e.g. 'let @@@temp=15'
  is equivalent to 'set temp=15'.
- Fixed parser so that refering to vector range now works (e.g. a[2,8]).
- Fixed crash when SPICE2 style nodenames (e.g. (2,3)) in subcircuits
  caused the simulator to crash due to wrong subcircuit expansion. The
  origin of the crash was in releasing code model structures. Subcircuit
  expansion sucks bigtime. We must rewrite it sometime. Anyway to make
  such circuits work, simply remove parenthesis and commas from node names.
- Fixed crash when attemp was made to access a vector after loading first
  circuit failed
- Fixed crash during analysis when a current source was left dangling.
- Fixed crash in UNIX version when loading a DOS CR-LF .cir file.
- Fixed skipping leading spaces and tabs. Long netlist lines (>255 chars)
  don't crash the simulator now.
- Old subcircuit expansion was completely removed. 'set oldsubcktexpand'
  has no effect now.
- Added support for global nodes in subcircuits (HSPICE style). A global
  node is not considered to be an internal subcircuit node when it appears
  in subcircuit definition thus it is not expanded with subcircuit name.
  An example of a global node is node '0' (ground node). To make a node
  global use the .global option:
         .global node1 node2 ....
- Fixed a bug when stop frequency lower than start frequency for ac analysis
  resulted in zero length vectors.
- Fixed a bug when start and stop frequency were the same for ac analysis,
  SPICE would enter and infinite loop.
- Note that NUTMEG is case sensitive. In case you want to be sure, write
  everything in lowercase.
- Fixed CM vector parameter defaulting. s_xfer code models should work now
  without int_ic parameter given.
- Fixed convergence problems with s_xfer code model when using UIC with tran
  analysis.
- Fixed d_state code model so it doesn't crash if the state file is not found.
- In case a circuit contains errors, the .control block is not executed. If
  the badcktfree variable is set, the circuit is immediately removed from
  memory after errors are found.
- Added the ; operator. Now a vector can be constructed in Nutmeg from its
  components (e.g. 'let a=(1;2;3;c)' concatenates 1, 2, 3 and c).
- Added icstep option. See more in a brief explanation of how initial
  conditions work .
- Fixed simulator options METHOD (possible values: TRAP or GEAR) and
  MAXORD (1..6). Gear algorithm now really works. TRAP supports only
  orders 1 and 2. Anything more (or less) results in 2 (or 1). GEAR
  supports orders from 1 to 6.

Version 2.01    (date built: 16. May 2000) 
- Enhanced plot syntax so multiple 'vs' options can be supplied
- Added variables for controlling the plot window
  (plotwinwidth, plotwinheight, plotwininfo, plotautoident).
- Added support for manual vector identification in plot window. This is
  now the default. Use 'set plotautoident' to restore vesion 2.0 behaviour.
- Fixed a bug in TF analysis. Vector names for results are now
  input_impedance, output_impedance and transfer_function.
- Fixed POLY sources so they really work now. SPICE2 syntax is now completely
  supported
- Added BSIM4 device model (level 8), version 4.0.0
- Updated BSIM3SOI device model to 2.1 (DD, FD) and 2.2 (PD) (now levels 9-11)
- Fixed BSIM3 problem when BSIM3 models were giving incorrect results in
  simulations following the first simulation of a circuit.
- Fixed 2-dimensional DC sweep that was broken by the general DC sweep
  enhancements.
- Added support for Solaris i386 and SPARC platforms
- Released sources for code model libraries (.cm) along with makefiles.
- Added suffixes for constants in B sources (mili, micro, ...)
- If a circuit contains errors, structures that were created by loading
  the circuit are released.
- Turned on DEVdelete and DEVmDelete capability in the source so the
  information about models and instances can be released from memory.
- Added MOS6delete and MOS6mDelete functions.
- Added DEVunsetup driver function for BSIM3
- Added releasing of internal G, body and charge nodes for BSIM4 in
  BSIM4unsetup.
- Added releasing of internal debug nodes for BSIM3SOI DD, FD and PD
  models in unsetup function. TODO: releasing body and temperature nodes.
- BSIM2 model temperature defaulting is fixed. It used to default to 27
  degrees Celsius no matter what the circuit temperature was set to. TEMP
  parameter now defaults to circuit temperature. Since this parameter is
  stored in degrees Celsius (normally temperatures are stored in Kelvin)
  the value is converted by subtracting CONSTCtoK from the CKTnomTemp.




Partial thread listing: