無効な階層的なアクセス

詳細

テストベンチはVerilog、それ以外のデザインのVHDLで設計しています。VHDLの部分に信号値をforceを行いたいが、下記エラーが発生しました。

RUNTIME: Fatal Error: RUNTIME_0119 Invalid hierarchical access from Verilog instance "/" to non-Verilog object "/module_name/signal name".

解決法

VHDLはVerilogと異なり、階層参照を許可していません。そのためVerilogでの階層参照はVHDLオブジェクトを指すことはできません。
VerilogコードからVHDL信号にアクセスするには$signal_agentタスクを使用する必要があります。

$signal_agentタスク構文は次のとおりです:

$signal_agent (<source>, <destination>, <verbose>)>

Arguments:

<source> ソース信号の名前を指定する引用符で囲まれた文字列。相対パスまたは絶対パスを使用します。

<destination> 接続する信号の名前を指定する引用符で囲まれた文字列。相対パスまたは絶対パスを使用します。

<verbose> $signal_agentタスクが実行した際に、メッセージをコンソールウィンドウに出力するかどうかを指定します。1設定時はメッセージを出力、0設定時はメッセージを非表示

注意:$signal_agentタスクはsystf.dllライブラリにあります。$signal_agentタスクを使用する環境で参照するためにPLIアプリケーションのリストにライブラリをインクルードする必要があります。systf.dllライブラリは、Active-HDLのインストールフォルダの\Binサブディレクトリにあります。

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.