entity dealywhopper is port( d : in std_logic; q : out std_logic; clk : in std_logic; rst : in std_logic; ); end entity dealywhopper; REAL_DEAL: entity work.dealywhopper port map ( d => d, q => q, clk => clk, rst => rst, );The trailing semis and commas would be treated as semantically null; they're wasted characters that are simply deemed to be inoffensive by the compiler. This would apply any time a comma or semicolon delimited list appears inside of parens.
Syntactic Element | LRM (2008) Section | Relevant? |
aggregate ::= ( element_association { , element_association } ) |
[§ 9.3.3.1] | Yes, this is aggregates |
association_list ::= association_element { , association_element } |
[§ 6.5.7.1] | Yes, this is port, generic, and subprogram parameter maps |
context_reference ::= context selected_name { , selected_name } ; |
[§ 13.4] | No, this is for contexts and has no parens. |
entity_class_entry_list ::= entity_class_entry { , entity_class_entry } |
[§ 6.9] | Sure (though who uses groups) |
entity_name_list ::= entity_designator { , entity_designator } |
[§ 7.2] | No, this is the entity specifier for attributes and has no parens. |
enumeration_type_definition ::= ( enumeration_literal { , enumeration_literal } ) |
[§ 5.2.2.1] | Yes, this is enumerations. |
identifier_list ::= identifier { , identifier } | [§ 5.3.3] | No, this is things like a, b : std_logic in a record. |
index_constraint ::= ( discrete_range { , discrete_range } ) | [§ 5.3.2.1] | Yes, this is defining array ranges. |
indexed_name ::= prefix ( expression { , expression } ) | [§ 8.4] | Yes, this is indexing an array. |
instantiation_list ::= instantiation_label { , instantiation_label } |
[§ 7.3.1] | No, this is calling out instances in a configuration specification. |
interface_list ::= interface_element { ; interface_element } |
[§ 6.5.6.1] | Yes, this is port/generic specifications. |
logical_name_list ::= logical_name { , logical_name } | [§ 13.2] | No, this is listing multiple libraries on a line and has no parens. |
record_constraint ::= ( record_element_constraint { , record_element_constraint } ) |
[§ 5.3.3] | Yes, this is for creating constrained subtypes of records. |
sensitivity_list ::= signal_name { , signal_name } | [§ 10.2] | Not when used in a wait statement, but explicitly allowed in §11.3 process sensitivity lists. |
signal_list ::= signal_name { , signal_name } |
[§ 7.4] | No, this is a disconnect list. |
signature ::= [ [ type_mark { , type_mark } ] [ return type_mark ] ] | [§ 4.5.3] | No, these are type marks in function signatures and have no parens. |