public class RelocateBitstreamByRow
Relocate a partial bitstream by the specified number of rows for an UltraScale/UltraScale+ device.
The following conditions are necessary for the resulting bitstream to work on the board.
1) Both the source and target are DFX regions and their routing footprints are of the same size.
2) The interfaces to both regions are physically the same.
3) The interfaces to both regions must use the same memory address or the different bits are don't care bits in the region.
4) The interfaces between these regions and the static region use different clocks with proper CDC circuit.
5) The clocks used in the static region must not go into these regions.
6) The clocks route from static to these regions must be uniform across the two regions, either through HROUTE or HDISTR.
The clock track used must also be the same among the regions.
7) The clocks in each region must driven by BUFG in the region or driven from the static region.
In the later case, only one clock route per clock is allowed to each region and Condition 6 must be met.