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

5.1i XST - Incorrect logic is produced for an "if-then-next" conditional statement that is inside a loop

Description

Keywords: XST, loop, if, next, conditional, logic, incorrect

Urgency: Standard

General Description:
XST generates incorrect logic in a design that uses an "if-then-next" condition in a FOR loop if it is coded in the following manner:

for i in 0 to 3 loop
if (i < a_in or i > b_in) then
next;
end if;
<etc...>

Solution

This problem is fixed in the latest 5.1i Service Pack, available at:
http://support.xilinx.com/support/techsup/sw_updates.
The first service pack containing the fix is 5.1i Service Pack 2.

Alternatively, the following work-around will allow the correct logic to be produced. If the signal, rather than the constant, is first in the conditional, the design will synthesize normally:

for i in 0 to 3 loop
if (a_in > i or b_in < i) then -- this line was changed
next;
end if;
<etc...>
AR# 15587
Date Created 09/11/2002
Last Updated 10/20/2005
Status Archive
Type General Article