We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 46162

13.4 XST - Fails dynamic shift registers for sizes (2^n)+1 for n>=5


For 32 flip-flops, the XST tool infers one SRLC32E as expected. 

XST also infers two SRLC32E for 34, 35....64 flip-flops.

However, 13.4 XST does not infer dynamic shift register when the total number of flip-flops is 33, 65, ... (2^n)+1 for n>=5. 

Instead, it generates number of FFs and 1-bit MUXs.


XST should possibly have generated two SRLC32E modules for 33, 65,...(2^n)+1 flip-flops for n >= 5 as it had generated for 34, 35 ...64 flip-flops.

To work around this problem, infer these shift registers with the help of manual instantiation within the code.

As an example, for a 33 flip-flop, instantiate one SRLC32E and add an additional register in the code to infer a 33 flip-flop chain using dynamic shift register.


AR# 46162
Date Created 05/03/2012
Last Updated 09/12/2014
Status Active
Type Known Issues
  • ISE Design Suite - 13.4