Roles
- :vhdl:entity:
This role allows referencing entities defined by an
vhdl:entity
directive orvhdl:autoentity
directive.
- :vhdl:gengeneric:
This role allows referencing individual constants inside a
vhdl:generics
orvhdl:autogenerics
directive.
- :vhdl:genconstant:
This role allows referencing individual constants inside a
vhdl:constants
orvhdl:autoconstants
directive.
- :vhdl:portsignal:
This role allows referencing individual ports inside a
vhdl:ports
orvhdl:autoports
directive.
Name resolution
All identifiers can be referred to in a variety of names. Taking for example
ports, they can be specified with either just a short name of the port, in
which case it may however end up referring to identically named port on another
entity, or it may be prepended with arbitrarily large path specifier
delimitered by dots, e.g. ENTITYNAME.PORTNAME
, in which case it will try to
resolve to the closest matching identifier.
The resolution always exactly matches the last part of both identifiers, and then filters more on it by checking how many __parts__ are identical between the source and target identifier; the identifier with the most matches is selected.