General Description: For the "translate" process, the advanced property "Preserve Hierarchy on Sub Module" has a default value of "On."
When this option is used, a "KEEP_HIERARCHY" constraint is added to the top-level block in each file of the design. This can cause a packing constraint conflict that prevents PAR from implementing a design.
The packing constraint conflict can occur when a symbol in one file is constrained to be packed with a symbol from another file (by RLOCs, LOCs, BLKNMs, etc). As these symbols are located in separate hierarchies that should be kept apart by the "KEEP_HIERARCHY" constraint, a constraint conflict occurs.
Turn off the "-insert_keep_hierarchy" property in the Project Navigator GUI by following these steps:
For advanced options: 1. Open the Preferences dialog box via the Edit -> Preferences menu. 2. Click on the Process tab. 3. Pick "Advanced" from the Property Display Level drop-down menu. 4. Click "OK".
To change the property: 5. In the Source window, select the top-level module (or the module you wish to run through implementation). 6. In the Process window, if "Translate" does not appear on the screen, expand the "Implementation" process by clicking on the "+" sign. 7. Right-click on the "Translate" process and select "Properties..." 8. In the resulting dialog box, click on the checked box to "Preserve Hierarchy on Sub Module" at the end of the dialog, and clear the checkbox. 9. Click "OK".
This will set the property to the proper value for downstream processing.