Roles
A role refers to an object a directive described, by the object’s qualified name or by a part of it ending with the object’s name:
An object’s qualified name starts with its design and library, e.g.
StopWatch.lib_StopWatch.Counter.lib_StopWatch.CounterandCountername the same entity, as long as no other entity has that name.A name matching several objects is resolved in the design and library current where the reference is written - set by
vhdl:designandvhdl:library-; otherwise it is warned about, and the reference is shown as text.A subprogram’s name may end in its signature, the type marks of its parameters:
to_index(natural, positive). Without a signature, a subprogram with overloads is ambiguous.VHDL identifiers are case-insensitive, so are the names.
A leading
~shows only the object’s name::vhdl:ent:`~lib_StopWatch.Counter`showsCounter.
The entity :vhdl:ent:`Counter` counts clock cycles, see :vhdl:func:`Utilities.to_index(natural, positive)`.
Design and library
- :vhdl:design:
Refer to a design.
- :vhdl:lib:
Refer to a library.
Design units
- :vhdl:ctx:
Refer to a context.
- :vhdl:ent:
Refer to an entity.
- :vhdl:arch:
Refer to an architecture, by the entity’s name and the architecture’s:
Counter.rtl.
- :vhdl:pack:
Refer to a package.
- :vhdl:config:
Refer to a configuration.
Declarations
- :vhdl:type:
Refer to a type or subtype, e.g.
StopWatch_pkg.T_STATE.
- :vhdl:const:
Refer to a constant.
- :vhdl:func:
Refer to a function, optionally with its signature.
- :vhdl:proc:
Refer to a procedure, optionally with its signature.
- :vhdl:generic:
Refer to a generic, by the entity’s or package’s name and the generic’s:
Counter.BITS.
- :vhdl:port:
Refer to a port, by the entity’s name and the port’s:
Counter.Clock.