Vivado synthesis implements inferred Shift Registers on SRL-type resources such as:
• SRL16E
• SRLC32E
Depending on the length of the Shift Register, Vivado synthesis does one of the following:
• Implements it on a single SRL-type primitive
• Takes advantage of the cascading capability of SRLC-type primitives
• Attempts to take advantage of this cascading capability if the rest of the design uses some intermediate positions of the Shift Register