結核の計画に直面している1つの問題を解決するのを手伝ってください。今、私は私のテストは、このWIDTHパラメータを制御したいUVM TBおよびDUTパラメータコントロール
module Multiplier #(parameter WIDTH = 8) (
input [WIDTH-1:0] addr,
: はのは、私のDUTをパラメータと一部の入力ポートを持っているようなものを想定してみましょう。 テストでWIDTHパラメータをランダム化し、そのパラメータをDUTに適用します。そのパラメータ値に基づいて、私のテストベンチ全体がトランザクション信号、ドライバ、モニタなどに変更されます。 このパラメトリックテストを実装する最良の方法は何ですか?
私は、テストクラスにWIDTHパラメータを設定し、そこでランダム化することを検討しています。その後、インスタンス化中にDUTに割り当てます。 TBの場合は、config_dbにrandomizeの値を入れて、エージェントでそれを取得し、configクラスの適切なパラメータに割り当てます。
おかげ ハイク・ナハペト
これは可能でしょうか。あなたの 'uvm_test'は精巧になってから始まり、現時点ではすべてのモジュールがすでにインスタンス化されています。その前にパラメータを設定する必要があります。コンパイル時に '$ urandom'のようなものを使うことをお勧めします – noobuntu
答えをありがとう。あなたは、トップモジュール呼び出しで$ urandomを使用することを意味しますか? – haykp
'$ urandom'は実行時にのみ呼び出すことができると私は信じています。 – noobuntu