vhdl_reference_93:elaboration_of_a_blockheader

Elaboration of a blockheader

Elaboration of Generic Statement

Elaboration of the generic-declarations contained in the generic-statement is carried out in the given sequence.

During that the generic`s subtypes are formed and a generic constant is provided for each of these subtypes. The individual value is only determined when consecutive generic-map statements are elaborated. If this map statements are missing the system uses the corresponding default value of the individual generic constant.

Her the generic-concatenation list is elaborated. It contains an implicitly defined assignment-element for every generic constant which is not explicitly assigned.

GENERIC (explicit_generic : INTEGER := 9);

The part of the implicitly defined assignment-element which is to be calculated is the expression contained in the individual selection-constant.

Elaboration of a Generic Map

The elaboration of the list elements which consist of a formal and a current part is carried out sequential. While this is done the formal part of a generic constant is seized with the values which result from the calculation of the individual current driver.

The system evaluates the port-declarations contained in the statement in the given sequence. In the elaboration of a port-declaration at first the subtype is determined and then a port is created for this subtype (see: The generic-statement)

Elaboration of a Port Map

Here the system evaluates the port-concatenation list. It contains assignment statements which assign the signal specified in the actual expression to the formal expression. This assignment includes a check of the rules and restrictions concerning ports.

A given expression within a port declaration (statement of initialisation) is elaborated using the actual values. If in this assignment statement no signal is linked to this port and if this port is an input it receives a default value if one has been defined for this port.