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

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

Description

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."

Solution

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 Created 08/08/2000
Last Updated 10/20/2005
Status Archive
Type General Article