Stephen Williams wrote:

It's been a while since the last snapshot, the result being a
*lot* of changes. The highlights are:

   New interactive mode,
   Compiler performance improvements,
   Repaired Mingw port

The new interactive mode in particular has the capacity to inspire
a lot of interesting add-on projects.

Anyhow, y head is swimming with big projects affecting simulation,
including but not limited to:

   Changing how parameters are handled (for the sake of SWIFT),
   Trying to push some specify block support closer to vvp,
   real valued nets, and
   rewiring of vvp functor structures in support of the above.
   Performance!

I've been getting a lot of mail recently that has also been
keeping me busy. I'm trying to keep up, but don't feel slighted
if I occasionally ask you to repeat yourself after some delay
getting back to you.

Here are the snapshot files:

  <ftp://icarus.com/pub/eda/verilog/snapshots/verilog-20030308.tar.gz>
  <ftp://icarus.com/pub/eda/verilog/snapshots/verilog-20030308.txt>


Release Notes for Icarus Verilog Snapshot 20030308


The vvp command has gained an interactive mode. The $stop system task,
or Ctrl-C, will enter this interactive mode, from which you can
traverse the scopes of the design and invoke system tasks. You can
also do a clean finish from interactive mode, useful when you want to
stop the simulation with a clean LXT output. You can even resume the
simulation. This is enough infrastructure to support interactive
debuggers written in VPI.

IEEE1364-2001 style PLI_* types are being introduces, and the PLI
header files are gradually being adjusted to use these new types. Even
though some of the type choices are pretty weird, these are better
then the purely random choices from the -1995 standard.

The latest lxt updates from Tony Bybell have been incorporated. This
introduced new dependencies on bzlib2 and zlib, but when full
compression is turned on, the output LXT files are very compact. Very
competitive with commercial tools. This update also introduces
dead-zone support to LXT, so the later gtkwave-1.* and gtkwave-2.*
viewers will graphically show regions where dumps were temporarily
suspended. See the vvp man pages for options.

A new dangling port warning has been added to the compiler. This has
been successfully used to catch incorrectly connected modules in large
designs.

Some code generator bugs relating to system functions as arguments to
system tasks have been fixed. This should now work in general. VPI
calltf functions will see constant values for the evaluated argument,
but it will be the correct value.

Some minimal progress towards specify block support has been
made. Nothing particularly visible yet, except that some bugs in the
BNF for specify paths have been fixed.

The mingw port has been fixed, and the mingw.txt instructions greatly
enhanced. Compiling under Windows has always been harder then
compiling elsewhere, so detailed instructions can always be made
better.

Various bugs in real value support were fixed, including the addition
of $realtobits. (Still no $bitstoreal.) IEEE754 support is in pretty
good shape, actually. Still some glitches and gaps, but useable.

A bunch of acc_ functions were added since the last snapshot. This
improves compatibility with Cadence compatible PLI1 modules, still
working towards functional SWIFT support. Also, acc_ string table
support has been added. This better matches the behavior of commercial
tools.

Internally, the handling of names by the compiler has been drastically
rewritten. This leads to some minor changes to the ivl_target api, and
considerably less memory use during compile. Compilation is a bit
faster now, as well. These changes also improve memory usage at run
time, so expect some minor performance enhancements there.

Minor makefile fixes to account for parallel builds.



Stephen,

I downloaded this snapshot and attempted to compile, but got the following compiler error:

c++ -DHAVE_CVS_IDENT=1 -DHAVE_CONFIG_H -g -O2 -I. -I. -MD -c parse.cc -o parse.o
parse.cc: In function `int VLparse()':
parse.cc:6887: ISO C++ forbids declaration of `yylerrsp' with no type
parse.cc:6887: conflicting types for `int yylerrsp'
parse.cc:3105: previous declaration as `vlltype*yylerrsp'
parse.cc:6887: invalid conversion from `vlltype*' to `int'
parse.cc:6888: invalid type argument of `unary *'
parse.cc:6930: invalid operands of types `int' and `vlltype*' to binary `
operator-'
parse.cc:6930: invalid operands of types `int' and `vlltype*' to binary `
operator-'


I am using version "gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)" of the c++ compiler and version "bison (GNU Bison) 1.875" of bison. Any ideas?

Thanks,
Trevor




Reply via email to