Configurations 189
GENERIC MAP( mode => minimum,
delay_tab => ((1.3 ns, 1.9 ns),
delay_tab => ((2.1 ns, 2.9 ns),
delay_tab => ((3.2 ns, 4.1 ns)))
PORT MAP( b, notb );
A1 : and3
GENERIC MAP( mode => typical,
delay_tab => ((1.3 ns, 1.9 ns),
delay_tab => ((2.1 ns, 2.9 ns),
delay_tab => ((3.2 ns, 4.1 ns)))
PORT MAP( nota, en, notb, q0 );
A2 : and3
GENERIC MAP( mode => minimum,
delay_tab => ((1.3 ns, 1.9 ns),
delay_tab => ((2.1 ns, 2.9 ns),
delay_tab => ((3.2 ns, 4.1 ns)))
PORT MAP( a, en, notb, q1 );
A3 : and3
GENERIC MAP( mode => maximum,
delay_tab => ((1.3 ns, 1.9 ns),
delay_tab => ((2.1 ns, 2.9 ns),
delay_tab => ((3.2 ns, 4.1 ns)))
PORT MAP( nota, en, b, q2 );
A4 : and3
GENERIC MAP( mode => maximum,
delay_tab => ((2.3 ns, 2.9 ns),
delay_tab => ((3.1 ns, 3.9 ns),
delay_tab => ((4.2 ns, 5.1 ns)))
PORT MAP( a, en, b, q3 );
END structural;
Generics are treated in the same manner as ports with respect to how
they are mapped. If a component port in a component declaration has a
different name than the actual entity compiled into the library, then a port
map clause is needed in the configuration specification, for the con-
taining entity. The same is true for a generic. If a generic declaration
in a component declaration has a different name than the actual
generic for the component, then a generic map clause is needed to make
the appropriate mapping.
In the preceding example, the generic names are the same in the
entity declaration and the component declaration; therefore, the default
mapping provides the appropriate connection between the two.
The configuration for the preceding example needs only to specify
which actual entities will be used for the component instantiations in
the architecture. No generic information needs to be provided, because the