Language Change Specification for Selected Names for Types
| LCS Number: |
LCS-2016-028 |
| Version: |
2 |
| Date: |
07-Feb-2017 |
| Status: |
Request for Comments and/or Edits |
| Author: |
Jim Lewis |
| Email: |
Main.JimLewis |
| Source Doc: |
Selected Names for Types |
| History Doc: |
History |
| Summary: |
Selected Names for Types |
Style Notes
[Author Comment: author comments are shown in green]
Text changes are shown in red
Deleted text is shown in red font with a strike thru
Details of Language Change
Section 8.1 General
Edit 28.1: production for name ... on page 107
name ::=
simple_name
| operator_symbol
| character_literal
| architecture_path_name
| selected_name
| indexed_name
| slice_name
| attribute_name
| external_name
Edit 28.2: New section before 8.3
8.3 Architecture Path Names
An architecture path name is used to denote the
simple name of an entity declaration and its associated architecture
within a given design library.
architecture_path_name ::= entity_simple_name ( architecture_simple_name)
Section 8.3 Selected Names
Edit 28.3: Edit paragraph 6 on page 109
An expanded name denotes a primary unit contained in a design library
if the prefix denotes the library and the suffix is the simple name
of a primary unit whose declaration is contained in that library.
An expanded name denotes all primary units contained in a library
if the prefix denotes the library and the suffix is the reserved word all.
An expanded name is not allowed for
a package body.
a secondary unit, particularly for an architecture body.
With the exception of expanded names denoting types and subtypes,
an expanded name is not allowed for an architecture body.
Edit 28.4: New paragraph following above paragraph on page 109
[Author Comment: Only intent is to reference types defined
in the package and not interface type declarations ]
For an expanded name that denotes a type or subtype declared in a separate design unit,
the suffix shall be a simple name denoting the type or subtype respectively.
The prefix shall be an expanded name that denotes a primary unit contained in a design library.
The prefix may also denote an architecture (using an architecture path name),
a process, block statements, or generate statements.
The type or subtype shall not be defined by an interface type declaration.
Section 12.2 Scope of Declarations
Edit 28.5: Note 2 on bottom of the page:
NOTE 2-The scope of an entity declaration includes an associated architecture body, if any.
Thus, the entity name may be used within the architecture body as the prefix of an
expanded name denoting a declaration that occurs immediately
within the entity declaration or the architecture body.
The scope of an architecture body does not include the corresponding entity declaration.
Thus, the entity cannot use an expanded name to refer to
the architecture body nor to any declaration within the architecture body.
Thus an entity must use an expanded name that includes an architecture path name
to refer to the architecture body or any other declaration within the architecture body.
Section 12.3 Visibility
Edit 28.6-1: Lettered list following item t) on page 188 add new item
u) For a type or subtype declaration defined in an architecture or a generate statement,
a block statement, or a process contained in an architecture, at the place of
the suffix in a selected name whose prefix includes the entire scope of the
type declaration including library, entity name, architecture name, generate
statement label, block statement label, and process label.
Edit 28.6-2
v) For an architecture body associated with a given entity declaration: at the place
of an architecture identifier (between the parentheses) as part of a prefix
whose final suffix is a type or subtype name identified in item u.
Edit 28.6-3
w) For a generate statement label, block statement label, or process label,
at the place of a prefix in a selected name whose final suffix is a type or subtype
name identified in item u.
Comments
This topic: P1076
> WebHome >
VHDL2017 > LCS2016_028
Topic revision: r25 - 2017-07-22 - 20:41:39 -
JimLewis