2016-10-11 11 views

答えて

3

Questasim> 10.2波形表示にクラス変数を追加することは可能です。
考えられる方法は3つあります。 表示 - >クラスブラウザ - >クラスのインスタンスのことができます。そのペイン内

  1. あなたは-classdebugフラグを追加した場合、あなたはペインをアクティブにすることができるようになりますVSIM に-classdebugフラグを使用すべてのメンバー変数(変数のみのメソッドはありません)を選択したsystemverilogクラス内で参照してください。

Adding systemverilog class to waveform in Questasim

  • VSIMで-classdebugフラグを使用しなくUVM_ROOT階層を使用せず。
  • この方法では、 UVMコンポーネントであるクラスであるUVM_ROOT階層内にあるクラスsystemverilogクラスのメンバを波形に追加することができます。 UVM_OBJECTS内のすべてのクラス変数は、シーケンスやシーケンス項目と同様に除外されます。 UVM_ROOT COMPONENTS USED TO ADD SYSTEMVERILOG CLASS VARIABLES TO WAVEFORM

  • -classdebugを使用せずしかしブレークポイント挿入を
  • 内部を視聴するには、波形に

    のタスクの内部変数を参照してください変数をタスクに割り当てるには、実行中に変数を表示する必要があります。彼らは、次の手順を実行して、ローカル/ウォッチウィンドウで表示することができます。

    1. を開き、[ローカル]ウィンドウを表示 - >ローカルで(それは最初は空になります)のタスク内のブレークポイントを設定し

    2. は、ローカル変数値を参照するクラス。シムが壊れると、ローカルウィンドウにオブジェクトが表示されます。

    3. オープンビュー - によって、ウォッチウィンドウ>

    4. クリックを見て、そこにそれらを表示するためにウォッチウィンドウに地元の人からそのインスタンスのタスク変数をドラッグします。あなたが他のクラスをインスタンス化している場合は、アイテムをダブルクリックするだけで、近くのメンバーと一緒に開くことができます。

      Waveウィンドウでこれらの変数を表示することはできますが、クラス内のタスクの動的性質のために簡単なプロセスではありません。ここでいくつかのさらなる議論があります: 現時点では、クラスメソッドの起動ごとに異なるローカル変数のセットへのパスをキャプチャする方法はありません。インタラクティブなデバッグ以外は、ブレークポイントをこれらのアクティベーションを行い、スタック/スレッドフレームを調べます。そこからローカルウィンドウ(表示 - >ローカル)を開き、変数をウォッチまたはウェーブウィンドウにドラッグすることができます。

    お勧めアプローチクラスのメンバーになると、クラスのインスタンスを記録するように進行するクラスメソッド外部ローカル変数の宣言を移動させることです。その変更がメソッドの振る舞いを変更するために可能でない場合、ローカル変数のロギングに問題があるのです。メソッドがリエントラントである場合、同じメソッドの複数の同時アクティベーションがある可能性があることを意味します。

    1
    +0

    これはコメントであり、回答ではありません。なぜなら、リンクのみを提供するからです。 – toolic

    +0

    同意します。私は答えとしてそれを置くことを考えました、私はそれがコメントのためにちょっと長いことが分かったからです。とにかく私は今からそれを世話します。 :) –

    関連する問題