systemverilogシミュレータ(Ius/cadence、Questa/Mentor、またはVCS/Synopsys)では、通常、波形内のクラスの変数systemverilogを表示する必要があります。 これを行う方法はありますか?systemverilogクラス変数またはクラスメンバーをどのように波形に追加できますか?
答えて
Questasim> 10.2波形表示にクラス変数を追加することは可能です。
考えられる方法は3つあります。 表示 - >クラスブラウザ - >クラスのインスタンスのことができます。そのペイン内 :
- あなたは-classdebugフラグを追加した場合、あなたはペインをアクティブにすることができるようになりますVSIM に-classdebugフラグを使用すべてのメンバー変数(変数のみのメソッドはありません)を選択したsystemverilogクラス内で参照してください。
- VSIMで-classdebugフラグを使用しなくUVM_ROOT階層を使用せず。
- -classdebugを使用せずしかしブレークポイント挿入を
を開き、[ローカル]ウィンドウを表示 - >ローカルで(それは最初は空になります)のタスク内のブレークポイントを設定し
は、ローカル変数値を参照するクラス。シムが壊れると、ローカルウィンドウにオブジェクトが表示されます。
オープンビュー - によって、ウォッチウィンドウ>
クリックを見て、そこにそれらを表示するためにウォッチウィンドウに地元の人からそのインスタンスのタスク変数をドラッグします。あなたが他のクラスをインスタンス化している場合は、アイテムをダブルクリックするだけで、近くのメンバーと一緒に開くことができます。
Waveウィンドウでこれらの変数を表示することはできますが、クラス内のタスクの動的性質のために簡単なプロセスではありません。ここでいくつかのさらなる議論があります: 現時点では、クラスメソッドの起動ごとに異なるローカル変数のセットへのパスをキャプチャする方法はありません。インタラクティブなデバッグ以外は、ブレークポイントをこれらのアクティベーションを行い、スタック/スレッドフレームを調べます。そこからローカルウィンドウ(表示 - >ローカル)を開き、変数をウォッチまたはウェーブウィンドウにドラッグすることができます。
この方法では、 UVMコンポーネントであるクラスであるUVM_ROOT階層内にあるクラスsystemverilogクラスのメンバを波形に追加することができます。 UVM_OBJECTS内のすべてのクラス変数は、シーケンスやシーケンス項目と同様に除外されます。
内部を視聴するには、波形に
のタスクの内部変数を参照してください変数をタスクに割り当てるには、実行中に変数を表示する必要があります。彼らは、次の手順を実行して、ローカル/ウォッチウィンドウで表示することができます。
お勧めアプローチクラスのメンバーになると、クラスのインスタンスを記録するように進行するクラスメソッド外部ローカル変数の宣言を移動させることです。その変更がメソッドの振る舞いを変更するために可能でない場合、ローカル変数のロギングに問題があるのです。メソッドがリエントラントである場合、同じメソッドの複数の同時アクティベーションがある可能性があることを意味します。
ここには同じもののリンクがあります。
また、私はこのリンクを共有している私のブログを訪問することができます。 http://vlsi-random.blogspot.in/2016/10/debugging-on-class-based-testbench.html
- 1. nltk naivebayesクラシファイアでどのように周波数を追加できますか?
- 2. タイトルにどのようにクラスを追加できますか?
- 3. Pharoのクラスにどのようにクラス変数をプログラムで追加できますか?
- 4. 選択した日にどのようにクラスを追加できますか?
- 5. このbashコマンドにどのように変数を追加できますか?
- 6. どのように変数をconsole.logに追加できますか?
- 7. FuelPhP:セッション(配列/マップ)変数にどのように追加できますか?
- 8. どのようにループ中にPHPでクラスを追加できますか?
- 9. どのようにMVCのHTML.ActionLinkにクラスを追加できますか?
- 10. どのように文字を追加した形で星を含む変数をエコーしますか?
- 11. どのようにパスをJavaクラスに追加しますか?
- 12. 抽象クラスまたは子クラスに変数を追加しますか?
- 13. Javaでは、どのように長方形にJLabelを追加しますか?
- 14. JAXBでJavaクラスを生成するとき、どのように各クラスにカスタムフィールドを追加できますか?
- 15. JavaScriptの関数の引数にどのように追加できますか?
- 16. どのようにOSQAにジオロケーションを追加できますか?
- 17. どのようにgccにキーワードを追加できますか?
- 18. どのように私は変数のクラス名にキャストできますか?
- 19. 周波数領域でコンボリューションをどのように実装できますか?
- 20. オブジェクトから整数変数をどのように追加しますか?
- 21. systemVerilog-どのように$ urandom/$ randomを範囲で使用できますか?
- 22. CSSクラスまたはスパンを.js変数に追加する
- 23. 変数を持たないGSListにどのように配列を追加できますか?
- 24. 変数はtf.trainable_variablesにどのように追加されますか?
- 25. RまたはExcelで波形解析を行うにはどうすればよいですか?
- 26. フォームフィールドにどのように追加できますか?
- 27. KeyValuePairにどのように追加できますか?
- 28. どのようにwpfコントロールにクロムのようなフォーカス矩形を追加できますか?
- 29. サブクラスのPythonにクラス変数を動的に追加できますか?
- 30. アセンブリで大きな変数をどのように追加したり引いたりしますか?
これはコメントであり、回答ではありません。なぜなら、リンクのみを提供するからです。 – toolic
同意します。私は答えとしてそれを置くことを考えました、私はそれがコメントのためにちょっと長いことが分かったからです。とにかく私は今からそれを世話します。 :) –