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

XST - "ERROR:HDLParsers:817 Choice -xxx is not a locally static expression"


General Description:

When I attempt to use a constant (- xxx) in a case statement, XST reports the following error:

"ERROR:HDLParsers:817 Choice -xxx is not a locally static expression."


This problem occurs for the following reasons:

- The select expression in a case statement is something other than a signal.

- The select expression consists of a certain function.

- The select expression is indexing into a constant array.

IEEE specifications require that the select expression in a case statement is defined by a signal, and that the signal is defined before the case statement starts.

For example:


type select_expressions is (s0, s1, s2);

signal Select : select_expression;



case Select is

when s0 => q <= "01";

when s1 => q <= "10";

when s2 => q <= "11";

when others => q <= "00";

end case;



NOTE: The way in which the "Select" signal is assigned is determined by your design.

AR# 13518
Date Created 08/29/2007
Last Updated 12/15/2012
Status Active
Type General Article