[sv-bc] LRM-193 through LRM-195


Subject: [sv-bc] LRM-193 through LRM-195
From: Karen Pieper (Karen.Pieper@synopsys.com)
Date: Tue Feb 03 2004 - 09:27:05 PST


This mail bounced.. K

From: "Bradford Jonathan" <Jonathan.Bradford@Micronas.com>
To: "Warmke, Doug" <doug_warmke@mentorg.com>,
"Steven Sharp" <sharp@cadence.com>, <dwsmith@synopsys.com>,
<sv-bc@server.eda.org>, <sv-ec@server.eda.org>

Hello

I think there needs to be definition of where items referred to in the package
actually takes place. I assume not in the package itself, as that implies a
common memory (i.e. static), shared by all that refer to that item in the package.

I assume the example below was a single file forming a compilation unit ?
Do then the declarations inferred by the reference f() (or p::f()) occur where
the statement import p::* appears lexically in the compilation unit (after top
before mid) or at the top of the compilation unit or in the module or block where
p::f() reference takes place. I think it is the first of these three (lexical position
of import).

Is it also possible to then place import statements deeper in the design, i.e.
after a module declaration or in a named begin end block. Then when a later package
reference occurs, the item is inferred to be declared where the package was imported.
I am also worried by the ability to reference package items without package import
statements. The spec implies that only import pack::item; or import pack::*; but
there is nothing for import pack; on its own.

This would then indicate where package item declarations take place and also help
dependency generation.

Clarification on the above would be useful for interpreting the spec., as it seems
to have been interpreted in a number of ways.

Jonathan Bradford



This archive was generated by hypermail 2b28 : Tue Feb 03 2004 - 09:33:48 PST