summaryrefslogtreecommitdiff
path: root/cad
AgeCommit message (Collapse)AuthorFilesLines
2001-01-14update to verilog-current-20010113dmcmahill2-5/+5
bug fixes and signed support (yay!). detailed changes since last packaged snapshot from the authors announcements: Icarus Verilog snapshot 20010113 -------------------------------- We're getting close to release candidates. Maybe another snapshot, then I start with making 0.4 release candidates. So lets get this tested so that I can move forward! This snapshot largely fixes a whole bunch of bugs. I'm working feverishly to catch up to the reported bugs, but they are coming in about as fast as I can resolve them. (Not that I'm complaining, mind you. These PRs are really helping me make it better.) But that means I'm going to just concentrate on getting as many PRs done as I can before the release. The syntax of functions and tasks has been expanded to allow parameters. This is not a common thing to do, but someone puts parameters if functions The syntax of functions and tasks has been expanded to allow parameters. This is not a common thing to do, but someone puts parameters if functions so I had a PR to fix:-) Also I caught a problem with executing functions that take no input parameters. In fact, a bunch of function related bugs were fixed. I lost track of em all. Ports of tasks weren't elaborated properly. I fixed this and a few related problems so most legal l-values should work as task port expressions now. Memories within tasks should also work properly now. Speaking of ports, I now report errors when there is a port direction for module ports that don't exist. In fact, there are a whole bunch of cases where I've added required error messages. The %d format of display strings now displays signed negative values as negative values instead of the unsigned equivalent. This goes along with the other signed arithmetic features from the -2000 standard that are now supported. I fixed up the Makefiles (thanks to a contribution) to support build using the VPATH capabilities of the makefile. You should be able to compile for multiple targets now from a shared source directory. Icarus Verilog snapshot 20010106 -------------------------------- I'm just managing to barely keep up with the bug reports arriving in the bug tracking system. I'm pleased with the success of the ivl-bugs robot. These bug reports have allowed me to better manage and record progress. Keep those bug reports coming! I've added support for arrays of integer and time variables, as well as the Verilog 2000 initialization syntax for these types. I have also made some internal changes to integer support. Integers are now just a shorthand for ``reg signed [31:0]'' and signed variable support has made some internal changes to integer support. Integers are now just a shorthand for ``reg signed [31:0]'' and signed variable support has been generalized. This makes it easier on the code generators, as they do not need to know that a variable was a integer, a time, a foo or a bar. I few constant propagation errors have been fixed. Continuous assignments of constants to nets should behave correctly now. Many people noticed lack of expression support for parameters. In fact, the problem was a lack of support for a bunch of specific operators. I've added many operators. This has the side effect of improving constant propagation as well, in some cases finding more dead code to eliminate. This also affected expressions that were index expressions of memories and vector declarations. The / operator in continuous assignment expressions is fixed. There were a few size related issue here that are now fixed. I've added to the i3331364-notes.txt file a clarification of my position on parse of repeat statements. This position is compatible with XL behavior. Passing parameters to user defined functions in behavioral code was pretty darn broken. I managed to fix this. You can tell that not many people use user defined functions:-) (It doesn't help that Icarus Verilog is picky about them.) For vvm, I've put some effort into optimizing the compile time of programs by reducing the size of the output code. I've reduced redundancies some, and used loops to handle vectors where possible. A few bugs related to $dumpvars were cleaned up. Function scopes work.
2001-01-04The way that shared objects were handled in the PLISTs and bsd.pkg.mk wasagc2-2/+64
out of date - it was based on a.out OBJECT_FMT, and added entries in the generated PLISTs to reflect the symlinks that ELF packages uses. It also tried to be clever, and removed and recreated any symbolic links that were created, which has resulted in some fun, especially with packages which use dlopen(3) to load modules. Some recent changes to our ld.so to bring it more into line with other Operating Systems also exposed some cracks. + Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain the ELF symlinks. + Don't mess about with file system entries when handling shared objects in bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will have got it right, and have a much better idea than we do. + Modify PLISTs to contain "ELF symlinks" + On a.out platforms, delete any "ELF symlinks" from the generated PLISTs + On ELF platforms, no extra processing needs to be done in bsd.pkg.mk + Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on a.out platforms + Update the documentation in Packages.txt With many thanks to Thomas Klausner for keeping me honest with this.
2000-12-31make sure the include and library paths are set to correctly find readlinedmcmahill1-1/+5
headers and libraries. fixes recently noted compile problems seen by Huberts bulk i386 builds.
2000-12-28fix DISTNAME. somehow got lost in upgradedmcmahill1-2/+2
2000-12-21Make sure that libraries can be found. Pick up in bulk build output.skrll2-4/+4
2000-12-21Actually, there's no patch-ab here. Remove it from patch-sum file.wiz1-2/+1
2000-12-19update verilog-current to 20001216.dmcmahill6-13/+30
Changes since the last packaged snapshot are (from the authors announcements): Icarus Verilog snapshot 20001216 -------------------------------- This is the last snapshot before the holidays, so I hope it has your favorite present in it. A lot of PR#s have been dealt with, and for a brief moment I felt like I was getting ahead of the pending list:-) I've added support for non-integer times, at least in a few contexts. The `timescale directives should interact properly with the decimal point in delays, causing more accurate timing simulations. This should make vendor-supplied libraries work much better. I've added support for signed reg variables. Signed expressions should now generally do the right thing, but this feature needs much more testing, and many more tests in the test suite. However, I do know that signed comparisons should work properly. Bug reports for problems with signed arithmetic are encouraged. Many people have been having troubles with Cygwin compilation. The problem was with the latest version of binutils. Venkat came up with a solution that works with old and new binutils, so you can now compile with the very latest cygwin software. This should make things a lot easier for a lot of people. I've made initial steps toward an HP/UX port. The configure script should detect the right dl library to use, and the t-dll target should be able to load loadable targets. I am looking for a volunteer to take responsibility for the HP/UX port as I have no suitable machines. Said person should be able to compile Icarus Verilog, manage HP/UX specific portability issues, and be able to make precompiled packages when the stable release is out. I'm still looking for a similar volunteer for FreeBSD/{alpha,i386}. Some more progress was made on support for PALs. I'm close to choosing macrocell modes and configuring fuses. Won't be long now, folks. Icarus Verilog snapshot 20001129 -------------------------------- few more constant propagation improvements this time, most notably XOR an XNOR are now fairly complete. These are interesting as they are generated by comparison operators so show up pretty often. And it is common to compare numbers to constants. Thus, there are lots of oppor- tunities for gate elimination! Synthesis of unary ! now works. Unary ~| (reduction nor) should also be in good shape now, as should binary || (logical or). Synthesis of binary && is still a little shaky. Go ahead and file reports if you trip on it. Binary != was broken with XNF synthesis, so that is also fixed, along with a few cases of mangled XNF output. And there were also a few bugs related to the CE of inferred DFFs, that didn't get connected. A *big* problem with synthesis occurred with non-blocking assignment. Icarus Verilog simply failed to synthesize the r-value of the assignment and all kinds of bad things happened. I fixed this, it's better now. Whew! Lots of XNF synthesis bugs fixed! This is what happens when users take the time to submit good bug reports. There are also some bugs related to dead signal elimination that causes Icarus Verilog to crash in some synthesis cases. These have been fixed up so far as I know. I have slightly improved root module detection of iverilog. If there is only one module in a source file, it is pretty obvious that it is the root module, even if it has ports. This is a common case for XNF synthesis (especially when making small macros with Icarus Verilog) and should save some typing and confusion.
2000-12-19use -fPIC for building libipal. needed for newer versions (>20001216)of verilogdmcmahill1-1/+3
2000-12-17homepage moveddmcmahill1-2/+2
2000-12-17update to ipal-current-20001210dmcmahill6-1248/+12
-all previous netbsd patches have been incorporated (Thanks Steve!) -changes from the authors announcement: I fixed a problem with some systems not having getopt.h. I forget which system it was, but configure takes care of it. I've also fixed some broken install targets in the Makefiles. I've added a new pin_count statement to PA files, so that the library can provide to the user more information about the pinout of the device in question. Applications may use this to help manage its pin binding tasks. A contributed 16l8 part description file was contributed, and included in this release.
2000-12-14Fixed problems from recent pkgsrc/i386 bulk build. Added the ~250 pagejtb5-15/+27
postscript manual.
2000-12-12Unify Makefiles -- mostly headers: remove FreeBSD Ids.wiz1-2/+1
Consistent 4 character indentation of SUBDIR entries.
2000-12-09ensure configure is executibledmcmahill1-1/+4
2000-12-09missed this one during last update...dmcmahill1-4/+4
2000-12-07Sync w/ realityrh1-2/+5
2000-11-27Add and enable new "felt" package. Fixes PR pkg/11403 by Jason Beegan.jtb1-1/+2
2000-11-27Initial import of new "felt" package:jtb7-0/+211
Free system for introductory level finite element analysis
2000-11-25Update oregano to 0.20. Changes include:rh4-20/+33
* A new part: wire jumper. * Drag'n'drop from the part preview to place parts. * A crude form of auto numbering when placing parts. * Cleaned up makefiles and put some samples in *<prefix>/share/oregano/samples/. * Changed default spice executable name to spice3. * Connection dots. * A simple voltmeter function. * Fix various ref/unref/sink design flaws, to increased stability. * Part browser remembers the previously selected part when switching libraries. * Should really work with libxml 2.x this time... :-) * Reorganization of installation directories for model and library files. * The plot widget now features axis values. * New parts: uA741 opamp and a simple zener diode. * Parts and wires can be flipped horizontally and vertically. * Enabled loading of simulation settings again. * Added a simple text label item to put text on the sheet. * Fixed the 'sometimes non-disappearing floating item' bug. * Should now also work with libxml 2.x (untested). * Switched C and B on the BJT transistor models. * Removed the unfinished printing support for now. * Redesign of lots of internals. * Added lots of functionality to the parts library, such as model files, and conditional values in templates. * Improved a few of the icons. * Fixed a bug where the name of the markers could not be edited. * You can inspect the connection span, by holding Control while moving the cursor over wires. * Added the ability to rotate parts while placing them; press 'r' to achieve this. * Logging of Spice warnings and errors during simulation. The messages can be shown in a log window. * Beautification of the part browser UI. * Added more tooltips and updated some translations. * Fixed a few non-critical bugs. * New and improved part properties editor. * Improved user interface for the plot window. * Internationalization fixes to netlist generation and schematic loading/saving. * The simulation now uses the user supplied time step size. * French translation from David Monniaux. * Even more refinement of the default library symbols/parts. * Mission 'Code Cleaning' continues. * Cut/copy/paste is implemented. * The symbols are redrawn to look much nicer and more standard. * Some new symbols, e.g. MOSFETs. * There can be more than one part library, thanks to Elker Cavina. * A bug with simulation time settings was fixed. * There is a problem with some spice packages, that make them generate binary output, even though the default should be ascii. This is now fixed by telling spice to always output text. * The help files are now installed in the rpm package. * Lots of code restructuring and cleaning.
2000-11-24rest of upgrade to verilog-current-20001119dmcmahill2-3/+4
don't know what happened the first try.
2000-11-24update to verilog-current-20001119dmcmahill1-3/+3
changes since the last packaged version (from the authors announcements): Icarus Verilog snapshot 20001119 -------------------------------- The big change here (code wise) is improved and corrected constant propagation. I was missing OR, NOR, NAND and XOR propagations, and got some of the AND calculations wrong. This fixes this shortcoming and in some cases this actually may speed up your compile a tiny bit. Some more dangling signals are also eliminated. supply nets are now working (PR#17). They also will trigger constant propagation (as they have constant values) in certain cases. Those of you doing cygwin compiles have trouble compiling parse.cc. I've put into the cygwin.txt some slightly better instructions for dealing with this situation, when it comes up. I've also added missing symbols to ivl.def, so that tgt-stub properly links. Icarus Verilog snapshot 20001112 -------------------------------- This snapshot includes support for MOS et al devices as contributed by Tim Leight. It appears to actually work as advertised, and I also have from him a collection of tests that I'll be adding to the test suite as soon as I get copyright information from him. So if you have been dreaming of simulating MOS devices with Icarus Verilog, give this a try. This update also fixed PR#27. I've also cleared up a few bugs related to unconnected module ports. Module port syntax is pretty byzantine, as PR#38 shows. The loadable target API has gained access to flip-flops. This is required for PLD code generation to work. I think the ivl_target API now supports the minimum devices needed to generate PLD files, and I'm on to the task of getting ancillary PAL support working. Icarus Verilog snapshot 20001104 -------------------------------- Yes, I've managed to find the right bits to get Icarus Verilog to compile on RedHat 7.0, and this snapshot includes those fixes. It took some back- and-forth with tech support at RedHat to get it going. I've also fixed up make check so that it works in general. If you use "make check" after building, the makefile will run the examples/hello.vl program through the local parts to make sure they minimally work. I've added support for the "time" data time and more complete support for the $time system function. These should work properly in all cases now, so cases of not working are worthy of a bug report. I've also integrated a re-implementation of sequential UDPs from Stephan Boettcher, so I would appreciate it if all you folks using primitives give this a fresh test. (It should be an improvement.) This is a relatively small message, which doesn't reflect the complexity of the changes. The "time" support in particular caused a lot of threads to be pulled. Also, I've been doing some PLD stuff on the side, so I've been busy. I've also knocked of PR#11, 14, 33, 34, 39 and a few other bugs.
2000-11-24update to ipal-current-20001122dmcmahill6-90/+1233
changes (from the announcement): The libipal library has gained access to more structural information about the device, including enable SOPs. It is also now possible to lookup a SOP by name and by pin. Also, access to sop fuse positions has been improved. The toplevel makefiles were changed to use $(MAKE) instead of make. There are a few other niggling makefile fixes as well. ipalrev and ipaledit now both take the -p flag allowing you to choose the architecture for your device, and there are now two devices to choose from. (both 22v10s:-) ipalrev was seriously confused about inversions and the sense of things, but that should be all cleared up now. It does a decent, if not complete, job of decompiling 22v10 designs. And finally, the PA file format has been extended to accommodate the new library features, and PA files are now named according to a naming convention for identifying devices.
2000-11-24update to gwave-20001123dmcmahill2-9/+6
from the NEWS file: New in 20001123: - Saving wave and panel configuration as guile scripts. - Executing guile scripts from menu or command line (-s <script> option) - Remote control using the gwave-exec and gwaverepl utilities New in 20001004: - Spice3/Ngspice rawfile improvements: binary files now work! - Other minor file-reading improvements. - spice source code to examples for which I could still find it. New in 20001004: - Major improvements to handling of binary files produced by HSPICE. - Overhaul of input of spice3/ngspice raw files; more robust and tolerant of complex numbers. - User interface improvements: tooltips added. User's .gwaverc no longer required to do lots of standard setup. system.gwaverc can be copied to $HOME/.gwaverc and edited to taste. - sp2sp utility included for converting any spice file readable by gwave into a convenient tabular ascii format.
2000-11-23update to dinotrace-9.0ldmcmahill4-28/+5
from the NEWS file: * Changes in Dinotrace 9.0l 8/30/2000 ** Added support for femtosecond Verilog timescales [Derek Bosch]
2000-11-22update to acs-0.28dmcmahill3-5/+14
from the history file: ---------------------- New features: 1. New probes: diode G, mos IBD, IBS, GBD, GBS. 2. New options: "floor" and "vfloor". (Floor was in the manual, but not in the simulator.) Improvements, bug fixes, etc. 1. There is a change to the way behavioral modeling conditionals are handled. It should now be 100% compatible with SPICE, considering the subset that duplicates SPICE. There are still significant extensions beyond SPICE, particularly that you can have behavioral resistors, capacitors, inductors, etc. 2. Parameter default calculations are now done in a manner consistent with Spice 3f5. Previously, it was supposedly consistent with Spice 2g6. 3. A bug in calculation of threshold voltage of the level 6 model, for P channel devices, has been fixed. 4. A bug in calculation of Meyer capacitances when the device is reversed has been fixed. This bug sometimes caused a discontinuity at vds=0. 5. I have added some smoothing to the Meyer mos capacitor models. This improves convergence. The down side is that sometimes the answers are different. It is probably a little better, when considering closeness to reality, but it is still Meyer's model. 6. MOSFET parasitic diodes are now the same as those used in Spice. 7. There are subtle changes in the diode model. I think this usually improves convergence. 8. Charge calculation in Meyer capacitors and diode capacitiors is now supposedly Spice 3 compatible. 9. An error in BSIM3 scaling has been fixed. Some things that are still partially implemented: 1. Internal element: non-quasi-static poly-capacitor. 2. BSIM models, charge effects. Bugs (nothing new, but needs repeating): 1. The transmission line initial conditions are not propagated until the transient analysis runs. 2. The makefile does not set up the proper link for the model compiler. You need to do it manually. 3. A bad setting of "vmax" and "vmin" can lead to convergence to a nonsense result. It is not as bad now as it used to be.
2000-11-22add HOMEPAGEdmcmahill1-1/+2
2000-11-19add and enable ipal-currentdmcmahill1-1/+2
2000-11-19initial import of ipal-current-20001118dmcmahill10-0/+157
note, this is the development snapshot version of the package. As stable releases become available, there will be a ipal package. from DESCR: Icarus PAL is a set of libraries and utilities for manipulating PAL designs. The design information is conveyed in the industry standard JEDEC file format. Icarus PAL accepts parts descriptions that detail the device structure, capabilities and pinouts so that software can be written to work relatively independent of the part type. These parts descriptions also describe how the fuses of a device are arranged, so that synthesis tools can generate fuse maps to get the desired functionality and pinout. See as a commented example the description in the pa/pal22v10.pa description. The ipaledit program takes as input a .JED file and displays the PAL design. It shows the sum-of-products as a fuse matrix, and shows the macrocell configurations in convenient form. The ipalrev program takes as input a .JED file and reverse compiles it, producing a Verilog program that logically describes the design. This use useful for moving old designs to new tools. Please note that this package is a development snapshot and while it contains the latest and greatest features, it may be buggy as well. When available there will be a seperate ipal package which will be made of the stable releases.
2000-11-18add and enable booleandmcmahill1-1/+2
2000-11-18initial import of boolean-6.2.dmcmahill13-0/+488
from DESCR: The program is a viewer and editor for: -GDSII files, KEY files (own made extended GDSII in ascii format) and DAVID MANN files (flash format for mask plotting) Features: -It allows to draw primitives on a chosen layer, and to manipulate them. -stack oriented tools allows zooming while drawing new primitives and editing them. This also makes it possible to draw extremely accurate. -primitives on the layers or/can be transparent colors and fill patterns can be set on a layer basis -drawing order of layers can be changed -a hiearchy of pictures, named structures, can be handled and manipulated -saving as a bitmap and other formats. -measuring distances -adding user defined properties to primitives -boolean OR AND EXOR A-B B-A -positive and negative process offset -circle recognition in polygon and polyline data. -move copy delete etc. -transformations (scaling , rotation , moving) -flatten the hiearchy of the drawing -drivers for CNC (laser and milling machinery)
2000-11-14add and enable ng-spicedmcmahill1-1/+2
2000-11-14add conflict with ng-spicedmcmahill1-1/+3
2000-11-14initial import of ng-spice-13.dmcmahill11-0/+265
NG-SPICE is the program being developed as the replacement for Berkeley SPICE. Using the Berkeley code as a starting point, the NG-SPICE team is working on improving the build system, adding to the models, and improving the analysis capability. SPICE is a general-purpose circuit simulation program for nonlinear dc, nonlinear transient, and linear ac analyses. Circuits may contain resistors, capacitors, inductors, mutual inductors, independent voltage and current sources, four types of dependent sources, lossless and lossy transmission lines (two separate implementations), switches, uniform distributed RC lines, and the five most common semiconductor devices: diodes, BJTs, JFETs, MESFETs, and MOSFETs.
2000-11-02add and enable xcircuitdmcmahill1-1/+2
2000-11-02Initial import of cad/xcircuit.dmcmahill8-0/+139
The program xcircuit is a generic drawing program tailored especially for making publication-quality renderings of circuit diagrams (hence the name). The output is pure PostScript, and the graphical interface attempts to maintain as much consistency as possible between the X11 window rendering and the final printer output. xcircuit is mouse, menu, and keyboard-driven, with the emphasis on single-character keyboard macros. Package provided by Jason Beegan <jasontd@indigo.ie> in PR 11383 with some minor modifications by me.
2000-11-02add LICENSE and NO_{SRC,BIN}_* to comply with the license. Pointed out bydmcmahill1-1/+8
Jason Beegan <jasontd@indigo.ie> in PR pkg/11407
2000-10-27update to 20001021 snapshot of verilog-currentdmcmahill6-22/+13
from the authors announcement: ----------------------------- The loadable target module API is starting to take shape. That is the major thrust nowadays with Icarus Verilog, after all, so progress is being made here. The biggest change is in fact a philosophy change. The target module now needs only a single symbol -- target_design -- to receive the whole design. The target module can from there and using the API access the entire design randomly. So if you wanted to implement a graphical browser, you could:-) I've added support for the l-values of procedural assignments, and also back pointers to objects that reference ivl_nexus_t objects. This closes the loop so that there should be no dead-ends in the design. I've clarified and expanded the descriptions in the ivl_target.h header file. There should be just about enough documentation to properly used all the various types. (Have any of you tried to write GIMP plug-ins? Have you looked at the libgimp header files? Have you seen any comments there?-( I won't ever sink to that level, I hope.) I've also imtegrated updates to the Cygwin32 port to support loadable targets under Cygwin32. After much struggling, Venkat managed to discover the secret magic needed to get load time symbol binding to work. Hopefully I didn't break it too bad when I changed the API again. (I think it is still fine.)
2000-10-22Correct EVAL_PREFIX entry.skrll1-2/+2
2000-10-19Update to use new qt-2.2.1 libraries.skrll1-5/+5
2000-10-15Add and enable eaglerh1-1/+2
2000-10-15Initial import of eagle-3.92r0, an easy to use schematics and printedrh7-0/+520
circuit board editor.
2000-09-01move the docs out of FILESDIR to a seperate tarball instead of making thedmcmahill7-16882/+10
pkgsrc for this pkg be nearly 1Mb. Thanks to Thomas Klausner for pointing this out.
2000-08-31-fix building of manpage (don't try and use docbook-to-man). Instead supplydmcmahill5-3/+151
the resulting manpage as a file.
2000-08-31remove depends on teTeX and add a patch to not run latex. Provide the docsdmcmahill9-6/+16911
as files instead of requiring the user to install one of our largest packages just to build them. Note, in the previous version of this pkg, the docs generated with latex weren't even being installed (!).
2000-08-30update to gwave-20000809.dmcmahill5-20/+32
Notable changes since the last pkged version are: Gwave NEWS --- history of user-visible changes. -*- text -*- New in 20000518: - Logarithmic scales working on both X and Y axis. New in 20000509: - First public guile/guile-gtk release. - Popup menu on visible-wave button can activate per-waveform dialog box - Logarithmic scale on Y axis working; on X axis it isn't quite there yet. New in 20000108: - Merged in guile and guile-gtk; the GUI is mostly written in guile now. - Some additional improvements to reading of HSPICE input. Reading partial files from simulations still in progress works for ascii .tr0 files.
2000-08-30make sure that the configure script is able to correctly link the testdmcmahill3-7/+17
Qt program on ELF platforms.
2000-08-28Update to vipec-2.0.4dmcmahill8-125/+85
Changes included in version 2.0.4 --------------------------------- - Fixed printing under windows. - You can now plot the real and imaginary parts of the circuit input and output impedances Changes included in version 2.0.3 --------------------------------- - Moved to Qt version 2.1.0 - The help browser is now integrated into the ViPEC application. - Fixed a bug in calculating the circuit output impedance. - Input and output impedances ouput to a graph now works. Changes included in version 2.0.2 --------------------------------- - Improved data storage of graphs and Smith charts - Double buffering implemented for drawing of graphs and Smith charts to reduce flicker. - Improved font management - Fixed display bug in Table view - Fixed bug with output to 2 port parameter files under Windows - Added support for Group Delay, see help files for more details as well as sample circuit: group_delay.ckt
2000-08-27Use new PERL5 variable instead of ${LOCALBASE}/bin/perl.jlam1-4/+4
2000-08-26s/USE_PERL/USE_PERL5/jlam1-2/+2
2000-08-23Use "USE_XPM" option instead of direct dependence on the "xpm" package.tron1-3/+3
2000-08-16Update to 0.27. Changes are (from the release notes):dmcmahill5-18/+195
ACS 0.27 release notes (06/03/2000) New features: 1. BSIM3 model, DC. They work for AC and transient analysis, but only the DC effects actually work. The next release should have the charge effects. For now, it fakes it with Meyer's model. 2. A first cut at a model compiler, to aid in development of new models. Models are described in a ".model" file, which is processed to automatically generate the ".h" and ".cc" files. This version fully handles the ".model" statement part of it, but leaves the device and common sections the old way. Eventually, the entire process will be automated. The old way still works. 3. "Fit" behavioral modeling function, which fits a curve to a set of data. You can specify the order of the fit, which is piecewise polynomials. For now, the order may be 1 (linear, like PWL) or 3 (cubic splines). You may also specify the boundary consitions. 4. More probes. Some things that are partially implemented: 1. Internal element: non-quasi-static poly-capacitor. It is needed by the BSIM3 and EKV models. Eventually, it will be available as a netlist item, but not yet. Bug fixes: 1. PWL could fail if there were duplicate points at the beginning. It still does, but gives a reasonable error message. 2. Some "dot commands" were ignored if there were spaces before the dot. This was particularly annoying if the line was supposed to be ".end" which should make it exit. It didn't, leaving it in interactive mode, a major annoyance in a script. Other improvements: 1. There is a change to the way integration in capacitors is done. It is now strictly based on charge (i = dq/dt). The old version was based on capacitance (i = C * dv/dt) which is strictly incorrect. The dC/dt term was missing (i = C * dv/dt + v * dC/dt). This is a non-issue when C is constant. 2. More documentation on internals. Changes that I think are improvements, but some may disagree: 1. The command line is a little different. In the old version, "acs file" would run it, and whether it exited or not depended on whether there was an ".end" line. Now, by default, it just loads the file in preparation for interactive use. If you want batch mode, say "acs -b file". 2. The regression suite is included in the standard distribution. Changes that are not really improvements: 1. Due to the model compiler, the build process is a little more complicated. To do a complete build, you must build the model compiler first, then the simulator. If you are not making any new models, you can probably get away with just building the simulator. This will change in a future release. Bugs: 1. The transmission line initial conditions are not propagated until the transient analysis runs. 2. The makefile does not set up the proper link for the model compiler. You need to do it manually. Hot items for a future release (no promises, but highly probable): 1. Charge effects in BSIM models. They are computed, but not loaded to the matrix. 2. Completion of model compiler, and its documentation. 3. Completion of multi-rate. 4. Homotopy methods to improve convergence. 5. Transmission line accuracy and speed improvements, using a step control mechanism similar to that used for capacitors. 6. Parameterized subcircuits and defined parameters. 7. A "trigger" element, so time dependent values can be triggered by the circuit, as an alternate to simple time. To reach me, try this email address: aldavis@ieee.org ACS ftp sites: ftp://ftp.geda.seul.org/pub/geda/dist/acs-0.27.tar.gz http://www.geda.seul.org/dist/acs-0.27.tar.gz ftp://sunsite.unc.edu/pub/Linux/apps/circuits/acs-0.27.tar.gz