summaryrefslogtreecommitdiff
path: root/cad/verilog-current/patches
diff options
context:
space:
mode:
authordmcmahill <dmcmahill>2000-04-30 18:15:17 +0000
committerdmcmahill <dmcmahill>2000-04-30 18:15:17 +0000
commit1613423b1f50dbb5408028b6d98143f336d06c7c (patch)
tree2a75ff09240d2440331d7bfacaff247634680077 /cad/verilog-current/patches
parent42ec292cad245b026795089a5acd35f2d92d4936 (diff)
downloadpkgsrc-1613423b1f50dbb5408028b6d98143f336d06c7c.tar.gz
Update to verilog-current to the 20000428 snapshot.
The many bug fixes and changes since the last packaged snapshot are (from the authors announcements): Icarus Verilog 20000428 Snapshot -------------------------------- This one clears up some pretty nasty and subtle bugs. If you've been sending me bug reports, you're probably turning blue holding your breath in anticipation of this snapshot. Breath in, Breath out. Hooray, both force and release work properly. I'm happy about that, release worked out a bit easier then I expected. These should be useful to test bench designers. The big news this past week, however, has been bug fixes. Lots of bug fixes. I got lots of bug reports and I killed pretty nearly all of them. There were lots of nasty icky problems with passing parameters to/from tasks, especially when memory words were involved. I fixed up a whole bunch of these, and now parameter passing should work pretty will, modulus the few remaining bugs I'm not seeing yet. The iverilog command is in better shape now, and I encourage people to use it in place of the older "verilog" driver script. There is a man page for iverilog, and it supports all the switches needed to do simulation and synthesis. I would like people to start getting this driver well tested and the bugs worked out, because it is going to be the main driver come the next stable release. Some neat new XNF features are happening. I synthesize identity compare in XNF, and a few other missing operators. But the really neato part is that I've taught Icarus Verilog to generate PIN records for module ports, so that you can make XNF macros out of Verilog source. If you elaborate a module that has ports, the XNF code generator will automatically generate the necessary symbols so that external XNF tools can link the generated output into larger designs. I've compared the XNF files from Icarus Verilog with those generated by Abel, and they appear the same to my eyes. Icarus Verilog 20000421 Snapshot -------------------------------- Bunches of bug fixes, and a few new features come with this snapshot. This snapshot makes headway in both simulation and synthesis. I'm also starting to make a big dent in my todo list for the 0.3 release. The bunches of little bug fixes in this snapshot are a direct result of bunches of bug reports this past week that I was able to deal with. If you've been reporting bugs, this may contain your fix. I redesigned the process implementation in the vvm backend, so the generated code is a bit cleaner, and threads are lighter weight. And while I was at it, fork/join now should work properly. I know there were a bunch of you out there asking for this, so here it is. I've incorporated into this release improved runtime support for integer multiplication, it should now work now matter how incredibly enormous you make the operands. Thanks to Chris Lattner for contributing the generic multiply. I've improved synthesis somewhat, there were some expressions in some contexts that were not getting synthesized by the -Fsynth functor. This is fixed, and I'm also starting to add some XNF specific optimizations into the -Fxnfio functor. I do sensible things with identity compare, for example. I've added the program ``iverilog'' to be a new driver program written in C instead of as a shell script. This driver supports the -tnull, -txnf and -tvvm targets, as well as the -E flag that causes only the preprocessor to be run. This should be interesting to those of you who are looking for a working preprocessor. I'm still working on the -D and the -I flags, but I expect this program to replace the verilog.sh script before the 0.3 release. Icarus Verilog 20000414 Snapshot -------------------------------- All event handling is now complete. Yet another subject is behind me, and on I go. By complete, I mean that named events, edge triggers, wait, and lists of events all work. This took a little longer then I expected, so some of the other things I wanted to work on had to wait. As a side effect of event and thread scheduling work, I changed the way that threads are generated in vvm. The result is that threads should be a little faster at run time, and a lot faster at compile time. A *LOT* faster at compile time. (Apparently, Verilog XL is still considerably faster, but hey, I'm working on it.)
Diffstat (limited to 'cad/verilog-current/patches')
-rw-r--r--cad/verilog-current/patches/patch-aa13
-rw-r--r--cad/verilog-current/patches/patch-ad15
2 files changed, 24 insertions, 4 deletions
diff --git a/cad/verilog-current/patches/patch-aa b/cad/verilog-current/patches/patch-aa
new file mode 100644
index 00000000000..73d3545d731
--- /dev/null
+++ b/cad/verilog-current/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.1 2000/04/30 18:15:18 dmcmahill Exp $
+
+--- iverilog.c.orig Fri Apr 28 21:20:14 2000
++++ iverilog.c Sat Apr 29 08:38:20 2000
+@@ -125,6 +125,6 @@
+ }
+
+- sprintf(tmp, "g++ -O -rdynamic -fno-exceptions -o %s -I%s "
+- "-L%s %s.cc -lvvm -ldl", opath, base, base, opath);
++ 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);
+
+ if (verbose_flag)
diff --git a/cad/verilog-current/patches/patch-ad b/cad/verilog-current/patches/patch-ad
index 77c1159fc4b..80b6e5fe941 100644
--- a/cad/verilog-current/patches/patch-ad
+++ b/cad/verilog-current/patches/patch-ad
@@ -1,11 +1,18 @@
-$NetBSD: patch-ad,v 1.3 2000/03/25 21:09:16 dmcmahill Exp $
+$NetBSD: patch-ad,v 1.4 2000/04/30 18:15:18 dmcmahill Exp $
don't use -O2 on parse.cc because of compiler bugs on sparc and pmax
(maybe others).
---- Makefile.in.orig Thu Mar 16 14:03:03 2000
-+++ Makefile.in Sat Mar 25 15:10:16 2000
-@@ -112,4 +112,6 @@
+--- Makefile.in.orig Fri Apr 28 12:50:53 2000
++++ Makefile.in Sat Apr 29 08:39:00 2000
+@@ -104,5 +104,5 @@
+
+ iverilog: iverilog.c
+- $(CC) $(CPPFLAGS) -o iverilog -DIVL_ROOT='"@libdir@/ivl"' iverilog.c
++ $(CC) $(CPPFLAGS) -o iverilog -DCXX='"@CXX@"' -DIVL_ROOT='"@libdir@/ivl"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' iverilog.c
+
+ %.o dep/%.d: %.cc
+@@ -115,4 +115,6 @@
parse.o dep/parse.d: parse.cc
+ $(CXX) -MD -c -I. $(CPPFLAGS) $<