A Dynamic Shift register is a Shift register the length of which can vary dynamically during circuit operation.
A Dynamic Shift register can be seen as:
- A chain of Flip-Flops of the maximum length that it can accept during circuit operation.
- A Multiplexer that selects, in a given clock cycle, the stage at which data is to be extracted from the propagation chain.
The Vivado synthesis tool can infer Dynamic Shift registers of any maximal length.
Vivado synthesis tool can implement Dynamic Shift registers optimally using the SRL-type primitives available in the device family. The following figure illustrates the functionality of the Dynamic Shift register.
Figure 1. Dynamic Shift Registers Diagram