AR# 9876

7.1i XST - 「ERROR:HDLParsers:1300 - file_name Line #. Enum 'type_name' is not an array index prefix.」というエラー メッセージが表示される

説明

キーワード : VHDL, enumerated, 3.1i, 列挙

重要度 : 標準

概要 :
デザインの VHDL コードで、存在しない配列にインデックスが付いていると、XST で次のようなエラー メッセージが表示されます。

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

このエラーは、<Object> を既に定義した、配列ではない VHDL ラベルが存在していると発生します。 コンポーネントのポート名とユーザー定義の値が、タイプが異なっているのに同じ名前が使用されていると、これらが XST で区別されないためです。 その後、XST で次のようなエラー メッセージが表示されます。

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

ソリューション

このようなエラー メッセージは、次のような場合に表示されます。

1. キーワード port map を使用しないでインスタンシエートした場合

U1 : my_inst (a, b, c)

port map を使用する場合は次のとおりです。

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

2. コンポーネントのポート名がユーザー定義のタイプと同じ名前の場合

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),
:

上記は、既に定義済みのラベルの配列にインデックスを付けた例です。
AR# 9876
日付 10/20/2005
ステータス アーカイブ
種類 一般