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!

Page Bookmarked

AR# 18947

6.1i XST - XST generates incorrect logic for expressions that include signed numbers


Keywords: XST, signed, sign, extension, incorrect

Urgency: Standard

General Description:
XST incorrectly evaluates expressions that include multiple sign extension of signed numbers. Consequently, these expressions generate incorrect logic.


This problem has been fixed in the latest 6.2i Service Pack, available at:
The first service pack containing the fix is 6.2i Service Pack 1.

You can also work around this issue by introducing intermediate signals as shown in the following example:

Change the expression:

if signed(arr1(0)) < to_signed(-2**18, arr1(0)'length) then
underflow <= '1';

to the following:

temp_sig1 <= signed(arr1(0));
elsif temp_sig1 < to_signed(-2**18, arr1(0)'length) then
underflow <= '1';
AR# 18947
Date 03/08/2006
Status Archive
Type General Article