UPGRADE YOUR BROWSER

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

Description

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.

Solution

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
Tools
  • ISE Design Suite - 13.4