Interface declarations
- Interface declarations define interface objects of a precisely defined type.
- Interface objects are interface constants, interface signals, interface variables and interface files.
interface_list
interface_element { ; interface_element }
interface_element
- interface_declaration
interface_declaration
- interface_constant_declaration
- interface_signal_declaration
- interface_variable_declaration
- interface_file_declaration
interface_constant_declaration
[ constant ] identifier_list : [ in ] subtype_indication [ := static _expression ]
interface_signal_declaration
[ signal ] identifier_list : [ mode ] subtype_indication [ bus ] [ := static _expression ]
– subtype_indication must not be a file or pointer type.
interface_variable_declaration
[ variable ] identifier_list : [ mode ] subtype_indication [ := static _expression ]
interface_file_declaration
file identifier_list : subtype_indication
– subtype_indication have to indicate a subtype of a file type.
mode
- in – Ports cannot be written; default mode
- out – Ports cannot be read
- inout – Ports can be read and written
- buffer – Ports can be read but only be written by one source
- linkage – Ports can be read and written, but only as “actuals”.