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.