5.2 Configuration specification

...
ENTITY e IS
    ...
BEGIN
    ...
END e ;

...
ARCHITECTURE a OF e IS
    ...
BEGIN
    ...
END a ;

...
CONFIGURATION c
        OF e IS
    ...
    ...
    ...
END


...
PACKAGE pkg IS
    ...
    ...
    ...
END pkg ;

configuration_specification ::=

for
component_specification
        binding_indication ;


..
PACKAGE BODY pck
        IS
    ...
    ...
    ...
END pck ;

...
b: BLOCK IS
    ...
BEGIN
    ...
END BLOCK b ;

FUNCTION f (...)
    RETURN r IS
    ...
BEGIN
    ...
END f ;

PROCEDURE p (...) IS
    ...
BEGIN
    ...
END p ;

p : PROCESS
    ...
BEGIN
    ...
END PROCESS p ;

5.2.1 Further definitions

component_specification ::=
    instantiation_list : component_ name

binding_indication ::=
    [ use entity_aspect ]
    [ generic_map_aspect ]
    [ port_map_aspect ]

5.2.2 Comment

In the generic map aspect an actual must be an expression or the reserved word OPEN .

In the port map aspect an actual must be a signal, an expression or the reserved word OPEN .
(In VHDL'87 only signals could be connected with input ports; in VHDL'93 globally static values can be used.)

5.2.3 Examples

FOR c1, c2, c3 : add_comp USE
   ENTITY work.add_1( behaviour ) ;


FOR OTHERS
: add_comp USE
   CONFIGURATION work.add_configuration;

For the components add_comp of the labels c1 , c2
and c3 the behavioural description add_1 from the
default-library ( work ) is to be used.

In all other labels ( OTHERS ) the description
add_configuration from the default-library ( work )
is to be used for the components add_comp.

FOR ALL : register_comp USE OPEN ;

All components register_comp which are used
are not to be linked.

FOR c( 1 TO 5 ) : nand2_comp USE
      ENTITY nand( arc )
         GENERIC MAP ( N => 2 )
         PORT MAP ( I(1) => a, I(2) => b, O => s ) ;



FOR
c(6) : nand2_comp USE
      CONFIGURATION
            my_lib.nand2_configuration
      PORT MAP ( a, b, s ) ;


For the components nand2_comp of the labels c(1)
to c(5) the entity nand with the generic N=2
and the corresponding in-/output concatenation
( PORT MAP ) is to be used.

For the component nand2_comp of the label c(6)
the configuration nand2_configuration from the
library my_lib is to be used with the corresponding
in-/output concatenation ( PORT MAP ).