diff options
author | dmcmahill <dmcmahill> | 2000-08-06 15:43:34 +0000 |
---|---|---|
committer | dmcmahill <dmcmahill> | 2000-08-06 15:43:34 +0000 |
commit | dccf921dfd4d875a0f99094851703fc3a3b87237 (patch) | |
tree | c7280049df3ea6133d6ba07f878793752275b3cd /cad/verilog-current | |
parent | 31ec3258586ca10205c463633e0ea66c63fd7b9a (diff) | |
download | pkgsrc-dccf921dfd4d875a0f99094851703fc3a3b87237.tar.gz |
update to verilog-current-20000805. Changes since the last packaged snapshot
are (from the authors announcements):
--------------------------------
Icarus Verilog snapshot 20000721
--------------------------------
(first snapshot after the 0.3 release)
This snapshot adds no new features or language support, but is working
towards more precise interpretation of scheduling and value propagation
details.
The first thing I've done is redesign the internal Link structure that
is used to connect the internal netlist together. There are some aspects
of the nexos of a set of links that were carried by the Link class or
by external functions. These have been moved to the new Nexus class and
linking and structure has improved because of it.
This has led me to modify the handing of signal initial values. In practice,
the time-0 value of a net is a property of the nexus instead of the objects
that are connected together, so I have implemented it so, and in the
process fixed a bunch of initial value problems.
One new feature that is added is support for non-constant delay expressions.
Now, you can even have something like ``#($random%256) <statement>'' and
expect it to do what you think. (So now the telephone example in James
Lee's "Verilog Qickstart" actually works!)
I've added some missing support for various operators in constant expressions.
I've also added some more of the friends of $random for those folks who
do stochastic modeling.
Constant propagation carries some new bug fixes, and some new smarts. It
is for example able to detect a mux with a constant 'bz input and replace
it with bufif devices, and other clevernesses with logic reduction.
--------------------------------
Icarus Verilog snapshot 20000729
--------------------------------
Like I said, the `timescale compiler directive now more or less works.
You can now specify timescale for modules, and the compiler will figure
out a global design resolution and scale your time values to match. The
VCD dumps should reflect the chosen resolution automatically. Floating
point notation is not yet supported, we'll see if that turns out to be
a problem.
A problem with `timescale support is that the compiler will allow unitless
modules. This can happen if you have `timescale late in the source file.
The default unit is the not-very-intuitive 1s. Frankly, I don't like the
`timescale semantics for this sort of reason, but its an accepted
standard, so I'm stuck with it.
I've also added support for min:typ:max expressions. The compiler chooses
one of the three expressions at compile time, based on a compile time
switch. You can ask for min typ or max values via the "-Tmin" etc. switch
to the iverilog command. If you do not specify a switch, the compiler will
choose the typ values but print warnings. The -Ttyp switch will suppress
the warnings.
I have fixed yet more net initialization bugs. These are getting pretty
subtle, now, so you should have a hard time tickling any remaining errors
here. I've also fixed a nasty and subtle bug in event expression support.
This bug only happened when the design had many event expressions with
many conjunctions.
Although they are not ready for use, I have made some forward progress
with disable statements. I now at least elaborate them, so now I just need
to figure out how to make the run-time work out. That's the hard part,
I'm afraid.
--------------------------------
Icarus Verilog snapshot 20000805
--------------------------------
I've finally dealt with a problem that's been nagging at me for a while.
Until now, it has been possible that excessively clever hierarchical
references into and out of task scopes could confound symbol lookup.
I think I finally put that to rest, and in the process reorganized the
netlist format for holding task definitions. It should no longer be
possible to confuse name binding in Icarus Verilog.
Found and fixed a silly bug in elaborating e?a:'bz and e?'bz:a expressions
into bufifN devices. I got the sense of the enable wrong in one of the
cases. All fixed (and the test suite updated to catch this silly mistake:-)
tri0 and tri1 nets should now work properly. These are mostly a run-
time issue which I solved using resolution functions. This is actually
a technique that I borrowed from VHDL.
For those of you doing XNF synthesis, I fixed up my FF/RAM detector to
allow <= assignments in always blocks. This is in fact the preferred way
to describe DFFs as <= more accurately simulates their RTL nature.
Also found and fixed a few DOS \r\n line end issues in the lexical ana-
lyser and the preprocessor. We sometimes forget how tricky these line-
end problems can be, and compiler directives are the most susceptible.
This problem most likely occurs when you transport files from a DOS
environment. (The MAC folks haven't complained much, so either I got it
right for them, or Kato took care of the problems for me:-)
Diffstat (limited to 'cad/verilog-current')
-rw-r--r-- | cad/verilog-current/Makefile | 6 | ||||
-rw-r--r-- | cad/verilog-current/files/md5 | 4 | ||||
-rw-r--r-- | cad/verilog-current/files/patch-sum | 6 | ||||
-rw-r--r-- | cad/verilog-current/patches/patch-aa | 11 | ||||
-rw-r--r-- | cad/verilog-current/patches/patch-ad | 12 | ||||
-rw-r--r-- | cad/verilog-current/patches/patch-ae | 13 | ||||
-rw-r--r-- | cad/verilog-current/pkg/PLIST | 4 |
7 files changed, 14 insertions, 42 deletions
diff --git a/cad/verilog-current/Makefile b/cad/verilog-current/Makefile index d492df913f6..13efab7a276 100644 --- a/cad/verilog-current/Makefile +++ b/cad/verilog-current/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.6 2000/05/30 23:43:43 dmcmahill Exp $ +# $NetBSD: Makefile,v 1.7 2000/08/06 15:43:34 dmcmahill Exp $ # -DISTNAME= verilog-20000527 -PKGNAME= verilog-current-20000527 +DISTNAME= verilog-20000805 +PKGNAME= verilog-current-20000805 CATEGORIES= cad MASTER_SITES= ftp://icarus.com/pub/eda/verilog/snapshots/ diff --git a/cad/verilog-current/files/md5 b/cad/verilog-current/files/md5 index 51ebddc40a4..411703646f2 100644 --- a/cad/verilog-current/files/md5 +++ b/cad/verilog-current/files/md5 @@ -1,3 +1,3 @@ -$NetBSD: md5,v 1.6 2000/05/30 23:43:44 dmcmahill Exp $ +$NetBSD: md5,v 1.7 2000/08/06 15:43:34 dmcmahill Exp $ -MD5 (verilog-20000527.tar.gz) = 0db62b2177a4bde3ed94276c4eead81f +MD5 (verilog-20000805.tar.gz) = d49f7c6ddc7804463c7356cf48f212a3 diff --git a/cad/verilog-current/files/patch-sum b/cad/verilog-current/files/patch-sum index 153ed7d13da..f775c7f72b3 100644 --- a/cad/verilog-current/files/patch-sum +++ b/cad/verilog-current/files/patch-sum @@ -1,6 +1,4 @@ -$NetBSD: patch-sum,v 1.7 2000/06/12 00:41:09 dmcmahill Exp $ +$NetBSD: patch-sum,v 1.8 2000/08/06 15:43:34 dmcmahill Exp $ -MD5 (patch-aa) = e14dc827b8982a34b48edb802191faf5 MD5 (patch-ab) = 8e1ec1875b9f1c8a969205c81598be94 -MD5 (patch-ad) = d875516e4fc53270d66101a60bc1e8e5 -MD5 (patch-ae) = 44921f529c17458cd3ba34d35dc0da77 +MD5 (patch-ad) = 9a52d6834b76d13b3550755a33935e1e diff --git a/cad/verilog-current/patches/patch-aa b/cad/verilog-current/patches/patch-aa deleted file mode 100644 index 47baf242291..00000000000 --- a/cad/verilog-current/patches/patch-aa +++ /dev/null @@ -1,11 +0,0 @@ -$NetBSD: patch-aa,v 1.3 2000/05/30 23:43:45 dmcmahill Exp $ - ---- iverilog.c.orig Tue May 16 23:53:29 2000 -+++ iverilog.c Mon May 29 11:08:57 2000 -@@ -141,5 +141,5 @@ - } - -- sprintf(tmp, "%s -O -rdynamic -fno-exceptions -o %s -I%s " -+ sprintf(tmp, "%s -O -Wl,--export-dynamic -fno-exceptions -o %s -I%s " - "-L%s %s.cc -lvvm %s", CXX, opath, IVL_INC, IVL_LIB, - opath, DLLIB); diff --git a/cad/verilog-current/patches/patch-ad b/cad/verilog-current/patches/patch-ad index 38e59f5b260..5e15e6992a5 100644 --- a/cad/verilog-current/patches/patch-ad +++ b/cad/verilog-current/patches/patch-ad @@ -1,11 +1,11 @@ -$NetBSD: patch-ad,v 1.5 2000/05/11 01:33:51 dmcmahill Exp $ +$NetBSD: patch-ad,v 1.6 2000/08/06 15:43:35 dmcmahill Exp $ -don't use -O2 on parse.cc because of compiler bugs on sparc and pmax -(maybe others). +work around a c++ -O2 bug which is present on at least sparc +and pmax using egcs-1.1.1 ---- Makefile.in.orig Fri Apr 28 12:50:53 2000 -+++ Makefile.in Sat Apr 29 08:39:00 2000 -@@ -115,4 +115,6 @@ +--- Makefile.in.orig Fri Jul 14 02:12:56 2000 ++++ Makefile.in Sat Aug 5 17:43:55 2000 +@@ -116,4 +116,6 @@ parse.o dep/parse.d: parse.cc + $(CXX) -MD -c -I. $(CPPFLAGS) $< diff --git a/cad/verilog-current/patches/patch-ae b/cad/verilog-current/patches/patch-ae deleted file mode 100644 index 90a964b46c4..00000000000 --- a/cad/verilog-current/patches/patch-ae +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ae,v 1.1.1.1 2000/03/07 16:09:16 dmcmahill Exp $ - -use the correct flag for our compiler. - ---- verilog.sh.orig Sat Feb 5 01:40:35 2000 -+++ verilog.sh Sun Feb 13 11:15:00 2000 -@@ -117,5 +117,5 @@ - "xnf") mv ${tmpCCFile} ${outputFile} ;; - -- "vvm") ${execCpp} -rdynamic -I${includedir} -L${libdir} ${tmpCCFile} -o ${outputFile} -lvvm @dllib@ ; -+ "vvm") ${execCpp} -Wl,--export-dynamic -I${includedir} -L${libdir} ${tmpCCFile} -o ${outputFile} -lvvm @dllib@ ; - if test $? -ne 0 ; then - echo "C++ compilation failed. Terminating compilation." diff --git a/cad/verilog-current/pkg/PLIST b/cad/verilog-current/pkg/PLIST index 9b3198c9155..867d434599a 100644 --- a/cad/verilog-current/pkg/PLIST +++ b/cad/verilog-current/pkg/PLIST @@ -1,6 +1,5 @@ -@comment $NetBSD: PLIST,v 1.3 2000/04/30 18:15:18 dmcmahill Exp $ +@comment $NetBSD: PLIST,v 1.4 2000/08/06 15:43:35 dmcmahill Exp $ bin/iverilog -bin/verilog include/vpi_priv.h include/vpi_user.h include/vvm.h @@ -15,5 +14,4 @@ lib/ivl/ivl lib/ivl/ivlpp lib/ivl/system.vpi man/man1/iverilog.1 -man/man1/verilog.1 @dirrm lib/ivl |