During synthesis
and simulation, the compile order of the source files is automatically
determined based on the ISE® design hierarchy. The ISE software
determines the design hierarchy by analyzing the source files that
were added to the project, and displays this hierarchy in the Hierarchy
pane of the Design panel. When you run synthesis or simulation, the ISE software
provides a compile list to the synthesis and simulation tools based
on this hierarchy.
You can override this automatic compile order using either of the
following methods:
- Manual Compile Order - bypasses all hierarchical
parsing of files and displays the source files in a flat list rather
than hierarchically. This method allows you to have full control over
the compilation order.
Note When Manual Compile Order is enabled,
the ISE software does not analyze the files
to determine the hierarchy or module names. For designs with many
source files, this method may make adding source files and processing
the design faster.
- Global Include Files - forces selected
files to be compiled at the start of the compile order even when the
design is processed in Automatic Compile Order mode. This method allows
you to specify individual files to be compiled at the start of the
compile order for hierarchy analysis and synthesis. Hierarchy and
compile order are still automatically determined for remaining files
in the project.
Note Files that appear outside the top module hierarchy in the Hierarchy
pane of the Design panel are not automatically
included in the compile order.
To Use Manual Compile Order
- Select Project > Manual Compile Order.
Note By default, this menu command is deselected, and the compile
order is set automatically.
- In the Design
panel, enter the name of the top module in the Top Module field.
Note If Manual Compile Order was initially disabled for the project,
and then enabled, the Top Module field shows the name of the module
initially identified as the top module, and the order of the files
in the Hierarchy pane is based on the order determined by the ISE software.
- In the Hierarchy pane of the Design panel, do the following:
- Drag and drop the files to rearrange their order.
The
compile order is determined by the order in which the files appear
in the list. For example, the first source in the list is compiled
first.
- Enable or disable checkboxes to add or remove files from the
manual compile order. To enable or disable all the checkboxes, you
can right-click and select Check All or Uncheck All.
Only files with a check mark are compiled
by synthesis or simulation. Files that are sent to implementation
only, such as UCF files, do not have a check mark because they are not passed to synthesis or simulation for compilation.
To Include Global Files in Automatic Compile Order
- To allow the software to determine the hierarchy and compile
order automatically, deselect Project > Manual Compile
Order.
- In the Hierarchy pane of the Design panel, select a source
file to include at the start of the compile order.
- Select Source > Source Properties.
- In the Design View Properties dialog box, enable the Include
as Global File in Compile List option.
- Click OK.
Note You can repeat these steps to include multiple source
files at the start of the compile order. If you select multiple files,
their relative compile order is based on the order they were added
to the project. For example, the file that was added to the project
most recently is compiled first.
When switching between the
different compile modes, please note the following:
- When you switch the project from Manual Compile Order mode
to Automatic Compile Order mode, the design hierarchy is recalculated
automatically. Any changes to the order that were made in Manual Compile
Order are not taken into consideration in Automatic
Compile Order mode.
- When you switch the project from Automatic Compile Order mode
to Manual Compile Order mode, the initial compile order is based on
the order determined in Automatic Compile Order mode. You can then
modify the compile order as needed. This is true even if the project
previously used Manual Compile Order with a modified compile order.
That is, the compile order in Manual Compile Order mode is not preserved from one use of this mode to the next.