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

10.1 XST - "ERROR:Xst:2088 Disable statement not supported in a for loop"

Description

When I run a design in XST, the following error occurs:

"ERROR:Xst:2088 Disable statement not supported in a for loop"

The following example results in the error:

always @ (din)

begin : disable_mod

for( i = 0; i <= 3; i=i+1 ) begin

if (din [i[0]])

dout[i[0]] = din[i[0]] & i[0];

else

disable disable_mod;

end

end

Solution

To work around this issue, remove the disable statement from the "for loop" and assign to the iterator the 'exit loop" value, as shown in the example below:

always @ (din)

begin : disable_mod

for( i = 0; i <= 3; i=i+1 ) begin

if (din [i[0]])

dout[i[0]] = din[i[0]] & i[0];

else

i = 4;

end

end

The above example will work in XST for Virtex-5 and older architectures.

A listing of all supported Verilog constructs is available in the XST User Guide.

This issue is fixed for Virtex-6 and Spartan-6 architectures in 11.1.

AR# 22177
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article