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
日期 10/20/2005
状态 Archive
Type 综合文章