If your original XDC constraints use wildcards, phys_opt_design might not preserve the wildcards when writing out a checkpoint.
Instead, the wildcards in the constraints are expanded, which causes a much larger XDC file in the DCP.
A use case has been found where wildcards used with -match_style ucf will cause the expansion.
This can lead to much more memory being required to open the .dcp than was originally required to process the design and constraints.
This can cause an issue in some cases in Vivado 2012.4 where when trying to open the post_route.dcp, Vivado tools will crash with a GUI memory related error.
The post_route.dcp can be opened in 2013.1.
Until this is fixed, the work-around is to avoid using "match_style ucf" and to evaluate the constraints to see if any constraints with wildcards are being expanded further than expected.
The following is an example constraint that is causing this issue:
The issue was overcome by modifying this constraint to: