Subject: RE: [sv-cc] a few comments/issues import, packages.
From: David W. Smith (David.Smith@synopsys.com)
Date: Tue Jan 20 2004 - 08:26:22 PST
Packages and compilation units are different items. Yes, they are both
scopes. They are not the same scope anymore than they are the same as any of
the many other scopes in the language. They are related only in that the
items in a compilation unit have a similar list to the items in a package.
Drawing a direct relation between compilation units and packages I think
makes things more confusing.
Regards
David
-----Original Message-----
From: owner-sv-cc@eda.org [mailto:owner-sv-cc@eda.org] On Behalf Of
Francoise Martinolle
Sent: Tuesday, January 20, 2004 8:00 AM
To: Joao.Geada@Synopsys.COM; Sv-Cc
Cc: Tapati Basu; Avinash G Mani; Charles Dawson
Subject: [sv-cc] a few comments/issues import, packages.
Issues/questions:
30.1 Instance diagram
vpiUnit: bool
The note uses the term compilation unit in an inappropriate manner.
A $unit package is a compilation unit scope which contains all the global
declarations.
a package is not a compilation unit.
In section 18.3 in the SV 3.1a LRM:
I found the following definitions:
18.3 Compilation unit support
SystemVerilog supports separate compilation using compiled units. The
following terms and definitions are
provided:
- compilation unit: a collection of one or more SystemVerilog source files
compiled together
- compilation-unit scope: a scope that is local to the compilation unit. It
contains all declarations that lie outside
of any other scope
- $unit: the name used to explicitly access the identifiers in the
compilation-unit scope
I suggest to change note 4:
4. Compilation units are represented as packages that have a vpiUnit
property set to TRUE. Such implicitly declared packages shall have
implementation dependent names.
to say:
4. Compilation unit scopes are packages that have a vpiUnit property set to
TRUE. Such implicitly declared packages shall have implementation dependent
names.
Secondly in section 18.3, there is a sentence that PLI should provide
iteration over the compilation units.
Access to the items in a compilation-unit scope can be accessed using the
PLI, which must
provide an iterator to traverse all the compilation units.
However in the VPI proposal we have no way to access all the compilation
units.
Would'nt we want to know where a compilation unit started and ended (source
files)?
The current proposal allows to iterate over packages and find all the
implicit packages, but from a module you cannot find out the compilation
units it depends upon.
There is an import iteration which returns the items which are made directly
visible inside a module but that is not sufficient. We should have an
additional iteration to return the dependent units.
This archive was generated by hypermail 2b28 : Tue Jan 20 2004 - 08:33:23 PST