When setting my own fanout value, if I disable Equivalent Register Removal, it affects the register duplication. Is this a correct behavior?
When you ask XST to not remove the equivalent registers, you are basically affecting the entire optimization algorithm, and in some cases XST is not replicating any more.
XST is optimizing based on the new design, and usage of some switches can affect the end design.
Using the Equivalent Register Removal constraint can be used to apply globally, or to an entity, module, or signal.
Please refer to the XST User Guide for the usage and syntax:
If XST is not doing a good optimization when it does not replicate, this can be verified by looking at the timing numbers. After doing so, please contact Xilinx Technical Support: