Questaのsignal_spy機能に相当するものはありますか?

詳細

Aldecには、Signal Agentという類似の機能があります。この機能は、VHDL、Verilogの、または混在言語デザインに用いることができます。

Signal Agentは、プレインストールされたアルデックライブラリのsignal_agent_pkgパッケージ内でsignal_agentプロシジャーとして実装されています。

signal_agentプロシジャーを使用するには、アルデックライブラリを使用しuse宣言を行ってください。

library aldec;
use aldec.signal_agent_pkg.all;

Signal Agentが接続する信号とソース信号を接続します。signal_agentプロシジャーは一度だけ呼び出す必要があります。

参考:aldecライブラリ節はsignal_agentプロシジャーを用いる、ブロックかデザイン単位に設定する必要があります。

VHDL デザイン

VHDLでSignal Agentを使用すると、任意のVHDLブロックからVHDLの信号をモニタし、ドライブすることができます。

シンタックス

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

<source> ソース信号の名前を指定する引用符で囲まれた文字列。相対パスまたは絶対パスを使用します。階層の区切り文字は、スラッシュ(/)やドット(.)があります。

<destination> 接続する信号の名前を指定する引用符で囲まれた文字列。相対パスまたは絶対パスを使用します。 階層の区切り文字は、スラッシュ(/)やドット(.)があります。

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

例:

signal_agent("/uut/u1/signal_name", "signal_name",1);

Verilog デザイン

$signal_agentタスクはVerilogコードからVerilogまたはVHDLオブジェクトを更新するために使用することができます。これは、Verilog-VHDL混合デザインでVHDLのオブジェクトを参照する場合に便利です。

シンタックス

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

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

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

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

例:

$signal_agent("uut.u1.signal_name", "local_signal_name", 1);

参考:VHDLおよびVerilogの信号エージェント宣言の構文の違いに注意してください。 VHDLは階層のため"/"を使用しており、Verilogでは使用"."

混在言語デザイン

詳細については、下記を参照することができます:

  1. Riviera-PRO

    • VHDL: User's Guide | VHDL Simulation | Utility Routines | Signal Agent.

    • Verilog: User's Guide | Verilog Simulation | Tasks and Functions | Signal Agent.

  2. Active-HDL

    • VHDL: Active-HDL Help | Using Active-HDL | Compilation | VHDL Compilation | Utility Routines | Signal Agent.

    • Verilog: Active-HDL Help | Using Active-HDL | Compilation | Verilog Compilation | Signal Agent.

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.