From 80d3342178fe87c014b156c1de96a53102a7e1e9 Mon Sep 17 00:00:00 2001 From: steve Date: Wed, 1 Nov 2000 06:05:44 +0000 Subject: [PATCH] VCD scans tasks (PR#35) --- README.txt | 8 ++++---- vpi/sys_vcd.c | 7 ++++++- vvm/vpi_scope.c | 10 +++++++--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/README.txt b/README.txt index c8ad5e869..854d380da 100644 --- a/README.txt +++ b/README.txt @@ -38,10 +38,10 @@ on a UNIX-like system: typically have GNU make as the gmake program. - ISO C++ Compiler - The ivl and ivlpp programs are written in C++ and makes use + The ivl and ivlpp programs are written in C++ and make use of templates and some of the standard C++ library. egcs and recent gcc compilers with the associated libstdc++ are known - to work. + to work. MSVC++ 5 and 6 are known to definitely *not* work. - bison @@ -200,7 +200,7 @@ later steps. 4.0 Running iverilog -The preferred way to invoke the compiler with the iverilog(1) +The preferred way to invoke the compiler is with the iverilog(1) command. This program invokes the preprocessor (ivlpp) and the compiler (ivl) with the proper command line options to get the job done in a friendly way. See the iverilog(1) man page for usage details. @@ -335,7 +335,7 @@ Verilog web page for the current state of support for Verilog. assign foo = user_function(a,b); // sorry always @(a or b) foo = user_function(a,b); // OK - - real data type not supported. + - real data types not supported. - System functions are supported, but the compiler presumes that they return 32 bits. This is the typical case. diff --git a/vpi/sys_vcd.c b/vpi/sys_vcd.c index 47766b820..0de16b50f 100644 --- a/vpi/sys_vcd.c +++ b/vpi/sys_vcd.c @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: sys_vcd.c,v 1.12 2000/07/31 03:34:31 steve Exp $" +#ident "$Id: sys_vcd.c,v 1.13 2000/11/01 06:05:44 steve Exp $" #endif /* @@ -331,6 +331,8 @@ static void scan_scope(unsigned depth, vpiHandle argv) break; case vpiModule: + case vpiNamedBegin: + case vpiTask: sublist = vpi_iterate(vpiInternalScope, item); if (sublist && (depth > 0)) { vcd_info_post_process(); @@ -428,6 +430,9 @@ void sys_vcd_register() /* * $Log: sys_vcd.c,v $ + * Revision 1.13 2000/11/01 06:05:44 steve + * VCD scans tasks (PR#35) + * * Revision 1.12 2000/07/31 03:34:31 steve * Report error when dumpfile is missing. * diff --git a/vvm/vpi_scope.c b/vvm/vpi_scope.c index e97347d36..a3f7366cf 100644 --- a/vvm/vpi_scope.c +++ b/vvm/vpi_scope.c @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: vpi_scope.c,v 1.9 2000/10/29 17:10:02 steve Exp $" +#ident "$Id: vpi_scope.c,v 1.10 2000/11/01 06:05:44 steve Exp $" #endif # include "vpi_priv.h" @@ -46,7 +46,8 @@ static vpiHandle module_iter(int code, vpiHandle obj) { struct __vpiScope*ref = (struct __vpiScope*)obj; assert((obj->vpi_type->type_code == vpiModule) - || (obj->vpi_type->type_code == vpiNamedBegin)); + || (obj->vpi_type->type_code == vpiNamedBegin) + || (obj->vpi_type->type_code == vpiTask)); switch (code) { case vpiInternalScope: @@ -72,7 +73,7 @@ static const struct __vpirt vpip_task_rt = { 0, 0, 0, - 0 + module_iter }; static const struct __vpirt vpip_function_rt = { @@ -148,6 +149,9 @@ void vpip_attach_to_scope(struct __vpiScope*ref, vpiHandle obj) /* * $Log: vpi_scope.c,v $ + * Revision 1.10 2000/11/01 06:05:44 steve + * VCD scans tasks (PR#35) + * * Revision 1.9 2000/10/29 17:10:02 steve * task threads ned their scope initialized. (PR#32) *