UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 32224

10.1.3 NGDBuild - Project cleanup is causing my constraints to stop being applied

Description

I am currently building my project with the command lines from an original ISE project. I copied the command lines from the BLD, MRP, and PAR reports. Everything was working fine, and I cleaned up the project. Now all of my constraints are missing. Why? What can I do to get back to the correct functionality?

Solution

The NGDBuild command line created by Project Navigator contains a '-i' which indicates that NGDBuild should use the constraints file(s) (".ucf") which have been identified as source files in Project Navigator rather than using a default ".ucf" file found by matching the top level netlist name. This information is stored in the .ise file and it affects the way that the constraints database is created.

The constraints database is contained in the "<project>_xdb" directory in a "<project>.xbcd" file. When a project is cleaned up, this directory is removed. When running from command line, the constraints database is not automatically recreated based on the ".ise" information. Therefore, none of the constraints will get applied correctly.

1. If you want to run from command line with the exact same options, then the "<project>_xdb" directory will have to be preserved from an ISE GUI run. Any time constraints are modified or a Project Cleanup has been performed, an ISE GUI flow will need to be executed once to properly generate the constraints database so that it is updated with the new constraint information.

2. The recommended and more stable alternative is to remove the '-i' from the NGDBuild command line, and replace it with a '-uc <constraint_file>.ucf' switch. This way, NGDBuild will pull in the UCF file for each implementation. This is not possible if there are multiple ".ucf" files, and so option 1 should be used in that case.

A CR is under investigation asking for more consistent behavior between the GUI and command line flows.

AR# 32224
Date Created 03/06/2009
Last Updated 12/15/2012
Status Active
Type General Article