Roles

:vhdl:entity:

This role allows referencing entities defined by an vhdl:entity directive or vhdl:autoentity directive.

:vhdl:gengeneric:

This role allows referencing individual constants inside a vhdl:generics or vhdl:autogenerics directive.

:vhdl:genconstant:

This role allows referencing individual constants inside a vhdl:constants or vhdl:autoconstants directive.

:vhdl:portsignal:

This role allows referencing individual ports inside a vhdl:ports or vhdl:autoports directive.

:vhdl:type:

This role allows referencing types defined by vhdl:enum .

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.