AR# 9876: 7.1i XST - "ERROR:HDLParsers:1300 - file_name Line #. Enum 'type_name' is not an array index prefix."
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.