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

7.1i XST - "ERROR:HDLParsers:1300 - file_name Line #. Enum 'type_name' is not an array index prefix."


Keywords: VHDL, enumerated, 3.1i

Urgency: Standard

General Description:
If a VHDL statement in my design appears to be indexing an array that does not exist, XST issues the following error message:

"ERROR:HDLParsers:1300 - file_name.vhd Line #. <Object> 'type_name' is not an array index prefix."

The error occurs when a VHDL "label" exists that already describes <Object>, which is not an array. XST confuses a component's port name with the value of a user-defined type if they have the same name, but are of different types. XST then reports the following error:

"ERROR:HDLParsers:1300 - file_name Line #. Enum 'type_name' is not an array index prefix."


Instances when XST issues the above error message include (but are not limited to):

1. An instantiation without the keywords "port map":

U1 : my_inst (a, b, c)

rather than:

U1 : my_inst port map (a, b, c)

2. A component whose port name has the same name as a user-defined type:

type data is std_logic;

component my_comp is
port (data : std_logic_vector (7 downto 0);
end component;

U2 : my_comp port map (data(0) => datain(0),

The examples above are indexing into arrays of labels that have already been defined.
AR# 9876
Date 10/20/2005
Status Archive
Type General Article