From 6cd7c1a650a4fd321d6bac8762ad2624450a6ee1 Mon Sep 17 00:00:00 2001 From: steve Date: Wed, 30 Jun 2004 03:00:36 +0000 Subject: [PATCH] Some explination of vpi_func arguments. --- vvp/vpi_priv.h | 9 ++++++--- vvp/vpi_tasks.cc | 9 ++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/vvp/vpi_priv.h b/vvp/vpi_priv.h index 50b3b784f..02355e8f0 100644 --- a/vvp/vpi_priv.h +++ b/vvp/vpi_priv.h @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: vpi_priv.h,v 1.57 2004/05/19 03:26:24 steve Exp $" +#ident "$Id: vpi_priv.h,v 1.58 2004/06/30 03:00:36 steve Exp $" #endif # include "vpi_user.h" @@ -319,7 +319,7 @@ extern unsigned vpip_module_path_cnt; /* * The vpip_build_vpi_call function creates a __vpiSysTaskCall object * and returns the handle. The compiler uses this function when it - * encounters a %vpi_call statement. + * encounters a %vpi_call or %vpi_func statement. * * The %vpi_call instruction has as its only parameter the handle that * is returned by the vpip_build_vpi_call. This includes all the @@ -329,7 +329,7 @@ extern unsigned vpip_module_path_cnt; * * The vbit and vwid fields are used if this turns out to be a system * function. In that case, the vbit and vwid are used to address the - * vector is thread bit space where the result is supposed to go. + * vector in thread bit space where the result is supposed to go. * * Note that the argv array is saved in the handle, and should should * not be released by the caller. @@ -418,6 +418,9 @@ extern char *need_result_buf(unsigned cnt, vpi_rbuf_t type); /* * $Log: vpi_priv.h,v $ + * Revision 1.58 2004/06/30 03:00:36 steve + * Some explination of vpi_func arguments. + * * Revision 1.57 2004/05/19 03:26:24 steve * Support delayed/non-blocking assignment to reals and others. * diff --git a/vvp/vpi_tasks.cc b/vvp/vpi_tasks.cc index 6e270e0e8..fa4c9e71f 100644 --- a/vvp/vpi_tasks.cc +++ b/vvp/vpi_tasks.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: vpi_tasks.cc,v 1.27 2004/05/19 03:30:46 steve Exp $" +#ident "$Id: vpi_tasks.cc,v 1.28 2004/06/30 03:00:36 steve Exp $" #endif /* @@ -328,6 +328,10 @@ static struct __vpiUserSystf* vpip_find_systf(const char*name) * %vpi_call statement is encountered. Create here a vpiHandle that * describes the call, and return it. The %vpi_call instruction will * store this handle for when it is executed. + * + * If this is called to make a function, then the vwid will be a + * non-zero value that represents the width or type of the result. The + * vbit is also a non-zero value, the address in thread space of the result. */ vpiHandle vpip_build_vpi_call(const char*name, unsigned vbit, int vwid, unsigned argc, vpiHandle*argv) @@ -480,6 +484,9 @@ void* vpi_get_userdata(vpiHandle ref) /* * $Log: vpi_tasks.cc,v $ + * Revision 1.28 2004/06/30 03:00:36 steve + * Some explination of vpi_func arguments. + * * Revision 1.27 2004/05/19 03:30:46 steve * Support delayed/non-blocking assignment to reals and others. *