AR# 9283

3.1i XST - XST does not support a shift on a signal/constant that is greater than 32 bits.

Description

Keywords: XST, Verilog, shift, 32

Urgency: Standard

General Description:
The following Verilog code fails in XST:

module shifter (out, in, shift_val);
output [32:0] out;
input [32:0] in;
input [4:0] shift_val;

wire [32:0] temp;

assign temp = in << shift_val;
assign out = temp;

endmodule

where the shifting is being performed on "in" (which is greater than 32 bits).

Solution

This problem is fixed in the latest 3.1i Service Pack, available at:
http://support.xilinx.com/support/techsup/sw_updates.
The first service pack containing the fix is 3.1i Service Pack 6.
AR# 9283
Date 08/20/2002
Status Archive
Type General Article