Configurations 203
FOR M2 : hdg_compare USE CONFIGURATION WORK.hdg_comp_con;
FOR M3 : hdg_ctrl USE ENTITY WORK.hdg_ctrl(behave);
FOR M4 : alt_ctrl USE ENTITY WORK.alt_ctrl(behave);
BEGIN
M1 : alt_compare
PORT MAP( alt_ref => altitude,
PORT MAP( alt_ind => alt_set,
PORT MAP( up_down => up_down);
M2 : hdg_compare
PORT MAP( hdg_ref => heading,
PORT MAP( hdg_ind => hdg_set,
PORT MAP( left_right => left_right);
M3 : hdg_ctrl
PORT MAP( left_right => left_right,
PORT MAP( rdr => rudder,
PORT MAP( alrn => aileron);
M4 : alt_ctrl
PORT MAP( up_down => up_down,
PORT MAP( elevator => elevator);
END block_level;
This model is a top-level description of an autopilot. There are four
instantiated components that provide the necessary functionality of the
autopilot. This model demonstrates how component instantiations can be
configured in the architecture declaration section of an architecture.
Notice that after the component declarations in the architecture declaration
section of architecture block_level, there are four statements
similar to the following:
FOR M1 : alt_compare USE CONFIGURATION WORK.alt_comp_con;
These statements allow the designer to specify either the configuration
or the entity-architecture pair to use for a particular component type.This
type of configuration does not provide the same flexibility to the de-
signer as the separate configuration declaration, but it is useful for small
designs.
Configurations are a useful tool for managing large designs. With
proper use of configurations, a top-down design approach can be imple-
mented that allows all levels of description of the design to be used for
the most efficient model needed at any point in the design process.