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.
We use cookies to ensure we give you the best user experience and to provide you with content we believe will be of relevance to you. If you continue to use our site, you consent to our use of cookies. A detailed overview on the use of cookies and other website information is located in our Privacy Policy.