[sv-cc] sv-cc errata

From: Joao Geada <Joao.Geada@synopsys.com>
Date: Fri Apr 16 2004 - 17:33:14 PDT

David,

there are a few errata from sv-cc:

- we need to add 1 extra diagram. This new diagram should come just before the
  expressions diagram (31.40, page 446)
  The new diagram is a copy of simple expression diagram from IEEE-1364 (26.6.25)
  with one addition: immediately after the variables reference in the simple
  expression class, add "ref obj" (inside solid enclosure).

  [To editors: This errata is needed to permit the representation of reference objects used
               in expressions.]

- in the typedef diagram (31.12, page 419) correct note 1 to read as follows:

1) if the vpiTypedef is TRUE and the typedef creates an alias of another typedef, then
   the vpiTypedefAlias shall return a non null handle which represents the handle to
   the aliased typedef.
   Ex:
      typedef enum bit [0:2] {red, yellow, blue} primary_colors;
      typdef primary_colors colors;

   If "h1" is a handle to the typespec colors, its vpiType shall return a vpiEnumTypespec,
   the vpiTypedef property shall be true, the vpiName property shall return "colors", the
   vpiTypedefAlias shall return a handle "h2" to the typespec "primary_colors" of vpiType
   vpiEnumTypespec.
   The vpiTypedef property shall be false for h2 and its vpiTypedefAlias shall return null.

- add a new note to the typedef diagram (31.12, on notes page 420) reading:
  6) if a type is defined as an alias of another type, it inherits the vpiType of this other type.
     Ex:
        typedef time my_time;
        my_time t;

     The vpiTypespec of the variable named "t" shall return a handle h1 to the typespec "my_time"
     whose vpiType shall be a vpiTimeTypespec.
     The vpiTypedefAlias applied to handle h1 shall return a typespec handle h2 to the predefined
     type "time".

- in the typedef diagram (31.12, page 419)
  correct the iteration to range (at the bottom left of the diagram). Currently this relation
  is 1 to many from "void typespec".
  It should be a 1 to many relation from "array typespec" (basically move the
  source of the arrow up from void typespec to array typespec)

- in the instance arrays diagram (31.14, page 421)
  the relation to range (on lhs of the diagram) should be an iterator, rather than
  a 1-to-1 relation.

  Correct the notes underneath instance array to read as follows
  1- param assignments can only be obtained from non-primitive instance arrays
  2- to obtain all the dimensions of a multi-dimensional array, you must use the
     range iterator. Using the vpiLeftRange/vpiRightRange properties will only
     return the last dimension of a multi-dimensional array

==============================================================================
Joao Geada, PhD Principal Engineer Verif Tech Group
Synopsys, Inc TEL: (508) 263-8083
377 Simarano Drive, Suite 300, FAX: (508) 263-8069
Marlboro, MA 01752, USA
==============================================================================
Received on Fri Apr 16 17:33:21 2004

This archive was generated by hypermail 2.1.8 : Fri Apr 16 2004 - 17:34:30 PDT