問題タブ [uvm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
class - パラメータ化されたクラスとポリモーフィズム
パラメータ化されたクラスから生成された一連のクラスにポリモーフィズムを利用するための、より直接的な方法があるかどうか疑問に思っていました。次のシステム Verilog コードは機能します。もっとエレガントな方法はありますか?編集: C++ で同様のものを実装できますか?
casting - 文字列を列挙型にキャストする
システム verilog で文字列を enum にキャストする方法はありますか?
verilog - UVM で実行中のすべてのシーケンスを停止するにはどうすればよいですか?
シミュレーション中に実行中のすべてのシーケンスを停止する方法はありますか (たとえば、リセットを取得したとき)? シミュレーション中の特定の時間に実行中のすべてのシーケンスのリストをダンプする方法はありますか?
system-verilog - UVM フェーズ クエリ
UVM フェーズbuild()
とrun()
. それらは他の検証方法にも適用できる可能性があります。a>build()
フェーズがトップダウンで実行される理由。build()
これは、フェーズ内のすべてのコンポーネントを新しくしてからbuild()
、クラスでインスタンス化された他のサブコンポーネントの実行に進む必要があるということですか? b>run()
フェイズ中になんかsuper.run()
呼ばれてる?run()
フェーズの実行順序は何ですか
foreach - foreach と fork を一緒に使用して何かを並行して行うにはどうすればよいですか?
この質問は UVM 固有のものではありませんが、私が取り組んでいる例は UVM 関連です。UVM 環境に一連のエージェントがあり、それらすべてに対してシーケンスを並行して起動したいと考えています。
私が以下を行う場合:
の場合、シーケンスseq
は最初に で実行されenv.agt[0].sqr
ます。それが終わったら、それを実行しenv.agt[1].sqr
ます。
すべてのシーケンサーseq
で並列に実行されるように、foreach-fork ステートメントを実装したいと考えています。agt[i]
fork-join と foreach をどのように注文しても、それを達成することはできません。並列シーケンスの起動動作を取得するのを手伝ってもらえますか?
ありがとう。
私が解決しようとしている問題を明確にするための更新: 以下のコード構成の結果は、fork-join なしで上記とまったく同じです。
p> p> p>verilog - テストベンチから uvm_config_db にアクセスする最良の方法は?
テストから周期を制御できる最上位テストベンチでクロックを作成したいと考えています。私がしたことは、期間を uvm_config_db に設定し、テストベンチに戻すことでした。ビルド フェーズが完了したことを確認するために #1 を入力する必要がありました。そうしないと、get が間違った値を返しました。
#1 に悩まされています。構成が設定されていることを確認するより良い方法はありますか? start_of_simulation_phase まで何らかの方法でブロックできますか?
verification - VMM で開発された VIP を UVM テストベンチに統合
システム DUT 全体のシステム Verilog で UVM 手法を使用してテストベンチを開発しました。VIP を調達しました。これは、システム Verilog の VMM 方法論にあります。この VIP (VMM 内) を UVM テストベンチに統合するにはどうすればよいですか?
ありがとう。