summaryrefslogtreecommitdiff
path: root/cad/verilog-current/patches/patch-ac
diff options
context:
space:
mode:
authordmcmahill <dmcmahill>2001-03-31 00:00:35 +0000
committerdmcmahill <dmcmahill>2001-03-31 00:00:35 +0000
commit5d6a3ab8aeb2d000625a6016f05b0f24a6243f45 (patch)
tree8fb7f4bafaf4d61eafa262450e4ac9ead51eb635 /cad/verilog-current/patches/patch-ac
parent72a78bd9c4c84b1fa42776035e3b842b95e63c28 (diff)
downloadpkgsrc-5d6a3ab8aeb2d000625a6016f05b0f24a6243f45.tar.gz
update to verilog-current-20010324. Changes since the last version from
the authors announcement are: There are a few bugs in the main compiler that are fixed. There has also been an extension to the $fopen that adds support for opening files for reading. The $fgetc has been added to take advantage of this. This was done on the VPI side, although a slight extension to the mcd functions was created. The real news is the vvp simulation engine. I've added the tgt-vvp code generator source and the vvp assembler/simulator, and the combination actually produces the occasional working program. And it makes them very quickly. So far as I can tell now, I am going to be very pleased with the final outcome when this work is complete. However, it is not at all ready to use. This snapshot is mostly to give a preview of things to come to a wider audience. HOW VVP WORKS If you are accustomed to the existing vvm behavior, you remember that the vvm simulator works by generating C++ and feeding that to the g++ compiler. Many of you are painfully aware of that. VVP does *not* work like that. Instead of generating C++, the generator emits assembly language for an abstract simulator processor. The processor that the assembly targets doesn't really exist, but the vvp program, included in this Icarus Verilog snapshot, assembles the code to data structures in memory, then efficiently emulates the abstract processor. So the simulation of a program via vvp works by first compiling the Verilog to vvp assembly. The vvp.tgt modules generates the code, and is envoked when you use the ``-tvvp'' switch to iverilog. The vvp assembly file so created is then passed to the vvp program to be assembled and executed. There is a single vvp input file that is the design to simulate. The vvp assembler is designed to execute the design efficiently. HOW TO LEARN MORE The ivl_target.h header file describes the loadable target API that the vvp code generator uses to gain access to the design. Then the tgt-vvp directory contains the implementation of the vvp code generator. The vvp directory contains the implementation of the assembler/simulator that runs the compiled design. The README.txt file describes how the vvp program works in general, and points to other txt files. There are a variety of other .txt files in the vvp directory that describe how the major components of the vvp program work.
Diffstat (limited to 'cad/verilog-current/patches/patch-ac')
-rw-r--r--cad/verilog-current/patches/patch-ac11
1 files changed, 11 insertions, 0 deletions
diff --git a/cad/verilog-current/patches/patch-ac b/cad/verilog-current/patches/patch-ac
new file mode 100644
index 00000000000..1168ceac530
--- /dev/null
+++ b/cad/verilog-current/patches/patch-ac
@@ -0,0 +1,11 @@
+$NetBSD: patch-ac,v 1.1 2001/03/31 00:00:35 dmcmahill Exp $
+
+--- tgt-vvp/vvp_scope.c.orig Tue Mar 20 20:49:43 2001
++++ tgt-vvp/vvp_scope.c Fri Mar 30 09:54:01 2001
+@@ -51,5 +51,5 @@
+ }
+
+- ivl_scope_children(net, draw_scope, net);
++ ivl_scope_children(net, (ivl_scope_f *) draw_scope, net);
+ return 0;
+ }