The internal view of the ISE project is being misread and becomes partially corrupted. This causes the parser to select the wrong top-level module to send to synthesis.
In most cases, the project can be restored to its correct state by generating a project Tcl script (Project -Generate Tcl Script ...), and then sourcing the Tcl script to regenerate the project. However, this is typically a temporary fix.
A patch for this issue is available at:
http://www.xilinx.com/txpatches/pub/swhelp/ise10_updates/pn_sch_10_3fix.zip The patch is applicable to ISE 10.1 with Service Pack 3 (ISE 10.1.03) on Windows 32-bit, Windows 64-bit, Linux 32-bit, and Linux 64-bit platforms.
The pn_sch_10_3fix.zip file contains six files:
lib/nt/libDpm_TOE.dll
lib/nt64/libDpm_TOE.dll
lib/lin/libDpm_TOE.so
lib/lin64/libDpm_TOE.so
data/projnav/scripts/dpm_transExecTasks.tcl
patch_readme/readme.txt
Please extract to the root of your ISE 10.1 installation directory (e.g., C:\Xilinx\10.1\ISE).
You may extract all files or only the .txt, .tcl and the linked library (.so or .dll) for the platform being used.
Original files in the respective directories should be moved or renamed before copying the archived files to these locations.
This fix addresses two ISE project corruption issues which occur with ISE 10.1.03 schematic-based projects after running Clean-up Project Files:
1. Incorrect Top-Level module is sent to Synthesis.
2. Saving a schematic source file does not put the status of dependant processes (Synthesis, Implementation, etc...) out of date.