interface_declaration ::=
interface identifier of composite_subtype_name is
interface_declarative_part
end interface [ interface_simple_name ] ;
interface_declarative_part ::=
{ interface_declarative_item }
interface_declarative_item::=
port_configuration_declaration
| subprogram_declaration
| type_declaration
| subtype_declaration
| constant_declaration
| signal_declaration
| shared_variable_declaration
| file_declaration
| alias_declaration
| component_declaration
| attribute_declaration
| attribute_specification
| disconnection_specification
| use_clause
| group_template_declaration
| group_declaration
interface_declarative_part ::=
{ interface_declarative_item }
interface_declarative_item::=
port_configuration_declaration
| subprogram_declaration
| type_declaration
| subtype_declaration
| constant_declaration
| signal_declaration
| shared_variable_declaration
| file_declaration
| alias_declaration
| component_declaration
| attribute_declaration
| attribute_specification
| disconnection_specification
| use_clause
| group_template_declaration
| group_declaration
port_configuration_declaration ::=
port configuration identifier is
[ formal_generic_clause ]
formal_composite_port_clause
end port configuration [ port_confguration_simple_name] ;
composite_port_clause ::=
port ( composite_port_list ) ;
composite_port_list ::= composite_interface_list
composite_interface_list ::=
composite_interface_element { ; composite_interface_element }
composite_interface_element ::= composite_interface_declaration
composite_interface_declaration ::=
element_identifier_list : composite_mode_declaration ;
composite_mode_declaration ::=
mode [ := static_expression ]
mode ::= in | out | inout | buffer | linkage | composite_mode | null | custom_mode
This mode provides a hierarchical mode structure for composite types.
composite_mode ::=
composite ( composite_mode_clause )
composite_mode_clause::= composite_interface_declaration
This mode is required for interface (sub-)connections that are not used within the connected entity. It provides connectivity/termination at the port, but can neither be driven nor read by the entity.
It is used within composite mode structures.
This mode provides a custom named mode structure for composite types.
custom_mode ::= port_configured_composite_mode
port_configured_composite_mode::=
port_configuration_simple_name [ ( generic_association_list ) ]