summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordmcmahill <dmcmahill@pkgsrc.org>2000-08-06 15:43:34 +0000
committerdmcmahill <dmcmahill@pkgsrc.org>2000-08-06 15:43:34 +0000
commit5cde8a19887e56b831e41136446d74c114f335ad (patch)
treec7280049df3ea6133d6ba07f878793752275b3cd
parent9d2af12fa4e900db9a74c2b1ac593ff5ae441360 (diff)
downloadpkgsrc-5cde8a19887e56b831e41136446d74c114f335ad.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:-)
-rw-r--r--cad/verilog-current/Makefile6
-rw-r--r--cad/verilog-current/files/md54
-rw-r--r--cad/verilog-current/files/patch-sum6
-rw-r--r--cad/verilog-current/patches/patch-aa11
-rw-r--r--cad/verilog-current/patches/patch-ad12
-rw-r--r--cad/verilog-current/patches/patch-ae13
-rw-r--r--cad/verilog-current/pkg/PLIST4
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