It is possible you have very high resource usage or timing issue with your generated code.
You should consider using high level estimation to see how much of percentage of resources (multipliers, RAMs etc.,) are consumed before going to synthesis.
High Level Resource Estimation Report from HDL Coder

Actual Synthesis Report Summary in HDL Coder

You may large critical path or too much wiring delays leading to timing failures that synthesis tool fail to close and trying too hard. You should consider using critical path estimation report to asses this situation before going to synthesis.
Critical Path Estimation Report in HDL Coder

Check for critical path hotspots here before running synthesis.

