AR# 2413: MAP: "ERROR:x4kma-Unable to obey design constraints" with Synplify netlist
MAP: "ERROR:x4kma-Unable to obey design constraints" with Synplify netlist
Keywords: map, synplicity
A Synplicity design may cause MAP to issue an error similiar to the following:
ERROR:x4kma - Unable to obey design constraints which require the combination of the following symbols into a single CLB
One known cause of this is that Synplicity will under some circumstances create buffers for each branch of a high fanout RESET net. The output of each buffer has a new name for the net, although logically it is still the same net.
Synplicity will also put "X" flags on the outputs of the buffers, and this will prevent the buffers from being trimmed out.
The problem arises because Synplicity also puts BLKNMs and FMAP symbols on the logic to constrain it into a particular CLB. Since the reset net is going to both flops in the same CLB, MAP will give this error because there are two different reset nets going to two flops in the same CLB (illegal; only one asynchronous reset per CLB for the 4000). MAP cannot reduce the RESET net to a single net because of the X flags.
Within Synplicity, you can try to disable "increased drivers due to high fanout".
Furthermore, if you intend for RESET to go to every flop, you should use the STARTUP block, rather than local routing.