Tue Oct 4 01:00:45 2005 PST

10 PTF PASSED ISSUES

ReleaseMeaning
2001aIssue against 1364-2001 First Edition
2001bIssue against 1364-2001 Second Edition (Possibly also issue in First Edition)
2001a, 2001bIssue against both 1364-2001 First and Second Editions (i.e. errata partial fix in 2001b, but more changes required)

ISSUE Release Synopsis Fix
296 2001b
Generate stmts will need change made in VPI

This has been resolved via:
http://www.eda.org/svdb/bug_view_page.php?bug_id=0000313
329 2001b: 27.29
27.29: vpi_put_data not used in example

Change the example in this section to the following.
Replace the example in section 27.8 with a reference to
this example.

============================================================


#include "vpi_user.h"

#define NULL 0L

typedef struct myStruct *myStruct_p;
typedef struct myStruct {
  PLI_INT32 d1;
  PLI_INT32 d2;
  myStruct_p next;
} myStruct_s;

static myStruct_p firstWrk = NULL;

PLI_INT32 consumer_restart(p_cb_data data)
{
  struct myStruct *wrk; /* myStruct is defined in vpi_put_data() example */
  PLI_INT32 status;
  PLI_INT32 cnt, size;
  PLI_INT32 id = (PLI_INT32)data->user_data;

  /* Get the number of structures. */
  status = vpi_get_data(id,(PLI_BYTE8 *)&cnt,sizeof(PLI_INT32));
  assert(status > 0); /* Check returned status. */

  /* allocate memory for the structures */
  size = cnt * sizeof(struct myStruct);
  firstWrk = (myStruct_p)malloc(size);

  /* retrieve the data structures */
  if (cnt != vpi_get_data(id, (PLI_BYTE8 *)firstWrk,cnt))
    return(1); /* error. */

  firstWrk = wrk;
  /* Fix the next pointers in the link list. */
  for (wrk = firstWrk; cnt > 0; cnt--)
    {
      wrk->next = wrk + 1;
      wrk = wrk->next;
    }
  wrk->next = NULL;
  return(0); /* SUCCESS. */
}

PLI_INT32 consumer_save(p_cb_data data)
{
  myStruct_p wrk;
  s_cb_data cbData;
  vpiHandle cbHdl;
  PLI_INT32 id = 0;
  PLI_INT32 cnt = 0;

  /* Get the number of structures */
  wrk = firstWrk;
  while (wrk)
    {
      cnt++;
      wrk = wrk->next;
    }

  /* now save the data */
  wrk = firstWrk;
  id = vpi_get(vpiSaveRestartID, NULL);

  /* save the number of data structures */
  vpi_put_data(id,(PLI_BYTE8 *)cnt,sizeof(PLI_INT32));

  /* Save the different data structures.  Please note that
   * a pointer is being saved.  While this is allowed, an
   * application must change it to something useful on a
   * restart.
   */
  while (wrk)
    {
      vpi_put_data(id,(PLI_BYTE8 *)wrk,sizeof(myStruct_s));
      wrk = wrk->next;
    }
  /* register a call for restart */
  /* We need the "id" so that the saved data can be
   * retrieved.  Using the user_data field of the
   * callback structure is the easiest way to pass this
   * information to retrieval operation.
   */
  cbData.user_data = (PLI_BYTE8 *)id;
  cbData.reason = cbStartOfRestart;

  /* Please see 27.8 vpi_get_data() for a description of
   * how the callback routine can be used to retrieve the
   * data.
   */
  cbData.cb_rtn = consumer_restart;

  cbData.value = NULL;
  cbData.time = NULL;
  cbHdl = vpi_register_cb(&cbData);
  vpi_free_object(cbHdl);
  return(0);
}






This has been resolved via:
http://www.eda.org/svdb/bug_view_page.php?bug_id=0000311
342 2001b
Deprecate the PLI 1.0 sections

The following changes need to be made in order to implement this change (using 1364-2005_D3):

- Section 1.4

Remove references to clauses 22 thru 25
Remove references to annex e and annex f

- Section 1.5

Remove references to annex e and annex f.
Remove references to acc_user.h and veriuser.h
Change grammar from plural to singular.

- Section 5.3

Remove reference to tf_synchronize()

- Section 20

This section will need to be rewritten.

- Section 21

This section should be replaced with a page which says
"This clause intentionally left blank".

- Section 22

This section should be replaced with a page which says
"This clause intentionally left blank".

- Section 23

This section should be replaced with a page which says
"This clause intentionally left blank".

- Section 24

This section should be replaced with a page which says
"This clause intentionally left blank".

- Section 25

This section should be replaced with a page which says
"This clause intentionally left blank".

- annex e

This section should be replaced with a page which says
"This clause intentionally left blank".

- annex f

This section should be replaced with a page which says
"This clause intentionally left blank".

This has been resolved via:
http://www.eda.org/svdb/bug_view_page.php?bug_id=0000303
368 2001b
26.3.3 Should vpiLineNo and vpiFile apply to generate objs?

This has been resolved via:
http://www.eda.org/svdb/bug_view_page.php?bug_id=0000312
397 2001b
27.18 vpiMultiArray defined but not in diagrams

Change the reference to "vpiMultiArray" in section 27.18 to
"vpiArray". Remove vpiMultiArray from Annex G.

This has been resolved via:
http://boydtechinc.com/cgi-bin/issueproposal.pl?cmd=propose&pr=398
530 2001c: 26.6.17
26.6.17: expr class does not contain vpiTchkTerm - should model different

This is just to update the proposal according to Charles
Dawson's modification from Feb. 2. Further modified by Jim Vellenga on June 25, 2004.

In 26.6.17,

Replace the expr dotted enclosure which is accessed via the
one to many transition from tchk with an unnamed class
containing expr and tchk term. Label the one to many
transition vpiExpr.

CHANGE Note 1 to:

For the timing checks in Section 15.1, the relationship
vpiTchkRefTerm shall denote the reference_event or
controlled_reference_event, while vpiTchkDataTerm shall
denote the data_event, if any.

CHANGE Note 2 to:

When iterating over vpiExpr from a tchk, the handles
returned for a reference_event, a
controlled_reference_event, or a data_event shall have
the type vpiTchkTerm. All other arguments shall have
types matching the expression.

591
two or more tag names on the same arrow in diagrams 26.6.15 and 26.6.16

This has been resolved via:

http://www.eda.org/svdb/bug_view_page.php?bug_id=0000307
and
http://www.eda.org/svdb/bug_view_page.php?bug_id=0000310
605
describe better which condifion trigger action callbacks

Proposal is to replace:
End of simulation (e.g $finish system task executed)
with:
End of simulation (simulation ended because no more events remain in the event queue or $finish system task executed)
622
Return value for left/right range of unsize parameter

This has been resolved via:

http://www.eda.org/svdb/bug_view_page.php?bug_id=0000309
623
26.6.15 should not be modeled with multiple labels on one transition

Make three seperate one to many transitions from mod path to
path term. Label each one seperately, using the labels

vpiModPathIn
vpiModPathOut
vpiModDataPathIn

Each should have a one to one transition back to mod path.
One of the path term enclosures will need to be the
definition, as is currently in the diagram.

I'll send out a same diagram seperately.

This has been resolved via:
http://www.eda.org/svdb/bug_view_page.php?bug_id=0000310

Hosted by Boyd Technology