Why does a BUFG need to be used for feedback in the DCM/DLL? Can local routing be used instead?
A feedback loop compensates for the clock distribution delay.
In order for the DLL/DCM to compensate correctly for the clock distribution delay, the clock must be routed on the global clock line (that is, on a BUFG).
If you do not use a BUFG and use Local Routing instead, the DLL/DCM will LOCK but the clock outputs will not be deskewed.
However, the relative phase relationship between all output clocks is preserved.
The Virtex/-E DLL require a feedback path. If there are no available global clock lines, local routing can be used but the outputs from the DLL will not be properly deskewed.
Global clocks are a dedicated network of interconnect specifically designed to reach all clock inputs to the various resources in an FPGA.
These networks are designed to have low skew and low duty cycle distortion, low power, and increased jitter tolerance.
If a clock is routed on non-global clock lines, then the local routing will not have these advantages.