— 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