VHDL コンパイル時の言語規格によるエラー

詳細

下記のコンパイルエラーが通知されました。 

# Error: COMP96_0104: filename.vhd: Undefined type of expression.

# Error: COMP96_0077: filename.vhd: Assignment target incompatible with right side. Expected type 'STD_ULOGIC_VECTOR'>.

コンパイル時の言語規格が VHDL 1076-2008 または VHDL 1076-2006 (acom  -2008 または -2006) の場合、
COMP96_0071, COMP96_0104 または COMP96_0077 エラーが検出されます。
コンパイル時の言語規格を VHDL 1076-2002 (acom  -2002) にすると、エラーは通知されません。
これは
VHDL 2008規格に準拠していますか?
 

解決法

VHDL 2002 2008 では、STD_LOGIC_VECTOR タイプ宣言と STD_LOGIC_UNSIGNED パッケージに関して変更があり、
STD_LOGIC_UNSIGNED パッケージのほとんどが NUMERIC_STD_UNSIGNED パッケージに移行しました。

STD_LOGIC_UNSIGNED をコメントアウトして、NUMERIC_STD_UNSIGNED を追加します。

--use IEEE.STD_LOGIC_UNSIGNED.all; 
use IEEE.NUMERIC_STD_UNSIGNED.all;

VHDL 2008 における変更点の詳細については、Active-HDL/Riviera-PRO HelpVHDL 2008 Migration Tips chapter/section を参照してください。

 



Printed version of site: www.aldec.com/jp/support/resources/documentation/faq/1183