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# 18947

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

Description

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.

Solution

This problem has been fixed in the latest 6.2i Service Pack, available at:
http://support.xilinx.com/xlnx/xil_sw_updates_home.jsp
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 Created 02/12/2004
Last Updated 03/08/2006
Status Archive
Type General Article