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 09/12/2014
Status Active
Type Known Issues
Tools