Configurations 185
CONFIGURATION decode_map_con OF decode IS
FOR structural
FOR ALL : inv USE ENTITY WORK.inv(behave);
END FOR;
FOR A1 : and3 USE ENTITY WORK.struc and3 (structural)
PORT MAP ( I1 => a1, I2 => a2, I3 => a3, o1 => O1;
END FOR;
FOR OTHERS : and3 USE ENTITY WORK.and3(behave);
END FOR;
END FOR;
END decode_map_con;
This configuration maps the first inverter, 3 input AND gate, A1, to en-
tity struc_3, and other 3 input AND gates, A2–A4, to the behavioral en-
tity,and3. Also the I1,I2,I3and O1ports of struc_and3are mapped
to ports a1,a2,a3 and o2of the component declaration for component
and3.
Generics in Configurations
Generics are parameters that are used to pass information into entities.
Typical applications include passing in a generic value for the rise and
fall delay of output signals of the entity. Other applications include pass-
ing in temperature, voltage, and loading to calculate delay values in the
model. (Modeling efficiency delay calculations should be done prior to sim-
ulation and the calculated delay values can then be passed back into the
model through generics.) A description of generics can be found in Chap-
ter 3,“Sequential Processing.”This section concentrates on how configu-
rations can be used to specify the value of generics.
Generics can be declared in entities, but can have a value specified in
a number of places, as listed in the following:
A default value can be specified in the generic declaration.
A value can be mapped in the architecture, in the component
instantiation.
A default value can be specified in the component declaration.
A value can be mapped in the configuration for the component.
Default values specified in the generic declaration, or the component
declaration, can be overridden by mapped values in the architecture or