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 を参照してください。

 

Ask Us a Question
x

Ask Us a Question

x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.