Subject: CVS commit: pkgsrc
To: None <pkgsrc-changes@netbsd.org>
From: Dan McMahill <dmcmahill@netbsd.org>
List: pkgsrc-changes
Date: 04/14/2001 17:47:33
Module Name:	pkgsrc
Committed By:	dmcmahill
Date:		Sat Apr 14 14:47:33 UTC 2001

Modified Files:
	pkgsrc/cad/verilog-current: Makefile
	pkgsrc/cad/verilog-current/files: md5 patch-sum
	pkgsrc/cad/verilog-current/patches: patch-aa
Removed Files:
	pkgsrc/cad/verilog-current/patches: patch-ab patch-ac patch-ae patch-af
	    patch-ag

Log Message:
update verilog-current to 20010407

changes since last snapshot are (from the authors email)

verilog-20010407
--------------------

Still more progress on the new VVP simulation engine:

As with last week, this snapshot includes a lot of work on the ivl_target
API in support of code generation for vvp. Also, the vvp execution engine
has progressed some.

In fact, vvp has grown up to understand signed vectors and some signed
expressions. The signed vectors are mostly for VPI use, the signed
comparison instructions actually do signed work. Case comparisons are
new, along with %and and %or instructions, and %nor/r for reduction.
I also added a few new gate types to the .functor support.

A bug in the propagation of values by %set instructions has been fixed.
Specifically, the %set instruction not only sets the value of the .var
that it references, but also executes the propagation events that result.
This fixed some event ordering bugs.

Some VPI support needed by system.vpi is added to vvp to allow it to
properly handle signed signals, decimal values, and a few other details.
$display should work much better then it did last week.

Back in the vvp.tgt code generator, lots of new stuff is happening.
Several of the bitwise binary operators have been added, as well as
more comparison operators. This includes handling of signed expressions.
This also implies that vvp.tgt generates the proper .net vs .net/s
and .var vs .var/s statements.

User defined functions and tasks are now working. In fact, the vvp
target probably handles more functions (in behavioral code) then the
vvm engine. I've received several bug reports about user defined functions
with loops, that don't work under vvm. These should work with vvp.

Non-blocking assignments now work, too.

All forms of case/casex/casez are supported by the code generator, and
use the proper compare instructions. Forever, Repeat and While loops
also work now. A few bugs in event handling, and all the edge types
(including behavioral triggers) should work with limitations. Event or
is still in the works, and any-edge of large vectors (>4 bits) does not
work.

*Whew!*

As you can see, a *lot* of stuff is happening. I'm up to passing 110+
tests in the regression test suite (Icarus Verilog/vvm passes 318 tests)
so the changes are actually making things work. Test and be merry!

verilog-20010331
--------------------
More and more progress on VVP. More and more snapshots.

A lot of work has been done to the ivl_target loadable target API.
This API is growing to support the also growing tgt-vvp target. I've
added support for case statements, event triggers fork blocks.

Of course this also means that the tgt-vvp code generator and the
vvp simulator now support constructs including case, events, and
parallel blocks.

I've also fixed up the driver to properly report errors that tgt-vvp
detect. This makes the test suite regression script work a lot better.

I'm up to more then 70 tests in the test suite passing. I'm finding
that writing the code generator for vvp assembly is a *lot* easier
then writing a code generator for C++/vvm. Fortunately, the vvp
assembler is pretty fast.

At any rate, the vvp simulation engine is starting to show signs of
being useful. It still does not cover nearly as much of Verilog as
vvm, but what it does cover is so much faster that it may be worth
your while to try it out. And more eyes looking at it can only be a
good thing.


To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 pkgsrc/cad/verilog-current/Makefile
cvs rdiff -r1.12 -r1.13 pkgsrc/cad/verilog-current/files/md5
cvs rdiff -r1.11 -r1.12 pkgsrc/cad/verilog-current/files/patch-sum
cvs rdiff -r1.6 -r1.7 pkgsrc/cad/verilog-current/patches/patch-aa
cvs rdiff -r1.3 -r0 pkgsrc/cad/verilog-current/patches/patch-ab \
    pkgsrc/cad/verilog-current/patches/patch-ae
cvs rdiff -r1.1 -r0 pkgsrc/cad/verilog-current/patches/patch-ac \
    pkgsrc/cad/verilog-current/patches/patch-af \
    pkgsrc/cad/verilog-current/patches/patch-ag

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.