[sv-cc] Proposal for SV #353

From: Warmke, Doug <doug_warmke@mentorg.com>
Date: Wed Jan 19 2005 - 00:17:08 PST

Hi All,

After reading Jim and Bassam's discussion, here is an
updated proposal for #353. I have tested out these
changes with the latest vpi_user.h from P1364-2005_D5,
as suggested by Stu.

I'm attaching a modified version of sv_vpi_user.h
that has all these changes applied to it.

There were no problems detected in Draft 5's vpi_user.h.
To test out file vpi_user.h, I had to do a bunch of
cut-n-paste from the Acrobat document. Unfortunately
cut-n-paste from Acrobat messes up all whitespace
formatting, so I don't have a handy, well-formatted
version of the file available to attach. If anyone
is interested, I can send out my ugly, unformatted
version (which is correct and compiles fine).

This proposal has been uploaded into Mantis.
Sorry it's just a text file, Stu.
I didn't have time to do a full-blown colorized MS Word doc.
Let me know if that's going to be an issue.

Thanks and regards,
Doug

PROPOSAL for SV #353
Affects Sections 30, 31, and Annex I

In Annex I:

    CHANGE line 29
      USED TO BE:
      #include <vpi_user.h>

      SHOULD BE:
      #include "vpi_user.h"

    DELETE line 34
      (It is a stray '}' character.)

    DELETE the following lines (154, 155)
      #define vpiLhs 711
      #define vpiRhs 712

    DELETE line 178
      #define vpiMembers 736

    DELETE the following lines (250 and 251)
      #define vpiValid 646
      #define vpiActive 647

    CHANGE line 424
      USED TO BE:
      PLI_INT32 vpi_get_assertion_info (assert_handle,
p_vpi_assertion_info);

      SHOULD BE:
      PLI_INT32 vpi_get_assertion_info (
          vpiHandle assertion, /* handle to assertion */
          p_vpi_assertion_info info /* assertion related information */
      );

    DELETE lines 464-465:
      /* Member of a collection */
      #define vpiMember 840 /* Member of a collection */

    CHANGE the functions related to the data reader API
    between lines 486 and 514.

    USED TO BE:
     /* load extension form for the reader extension */
     PLI_INT32 vpi_load_extension PROTO_PARAMS((PLI_BYTE8
*extension_name,
                                                PLI_BYTE8 *name,
                                                vpiType mode, ...))
     
     PLI_INT32 vpi_close PROTO_PARAMS((PLI_INT32 tool,
                                       vpiType prop,
                                       PLI_BYTE8* name));
     
     PLI_INT32 vpi_load_init PROTO_PARAMS((vpiHandle objCollection,
                                           vpiHandle scope,
                                           PLI_INT32 level));
     
     PLI_INT32 vpi_load PROTO_PARAMS((vpiHandle h));
     
     PLI_INT32 vpi_unload PROTO_PARAMS((vpiHandle h));
     
     vpiHandle vpi_create PROTO_PARAMS((vpiType prop,
                                        vpiHandle h,
                                        vpiHandle obj));
     
     vpiHandle vpi_goto PROTO_PARAMS((vpiType prop,
                                      vpiHandle obj,
                                      p_vpi_time time_p,
                                      PLI_INT32 *ret_code));

    SHOULD BE:
     /* load extension form for the reader extension */
     PLI_INT32 vpi_load_extension(PLI_BYTE8 *extension_name,
                                  PLI_BYTE8 *name,
                                  PLI_INT32 mode, ...))
     
     PLI_INT32 vpi_close(PLI_INT32 tool,
                         PLI_INT32 prop,
                         PLI_BYTE8* name);
     
     PLI_INT32 vpi_load_init(vpiHandle objCollection,
                             vpiHandle scope,
                             PLI_INT32 level);
     
     PLI_INT32 vpi_load(vpiHandle h);
     
     PLI_INT32 vpi_unload(vpiHandle h);
     
     vpiHandle vpi_create(PLI_INT32 prop,
                          vpiHandle h,
                          vpiHandle obj);
     
     vpiHandle vpi_goto(PLI_INT32 prop,
                        vpiHandle obj,
                        p_vpi_time time_p,
                        PLI_INT32 *ret_code);

In Section 30.3.2.1,

     DELETE the line that defines "vpiMember".

In Section 30.12,
     FIND and CHANGE all strings matching "vpiType" to "PLI_INT32".

In Section 31.22,

    In the diagram, CHANGE "vpiMembers" to "vpiMember"

Received on Wed Jan 19 00:17:45 2005

This archive was generated by hypermail 2.1.8 : Wed Jan 19 2005 - 00:18:57 PST