0

UVM フェーズbuild()run(). それらは他の検証方法にも適用できる可能性があります。a>build()フェーズがトップダウンで実行される理由。build()これは、フェーズ内のすべてのコンポーネントを新しくしてからbuild()、クラスでインスタンス化された他のサブコンポーネントの実行に進む必要があるということですか? b>run()フェイズ中になんかsuper.run()呼ばれてる?run()フェーズの実行順序は何ですか

4

1 に答える 1

3

はい、build_phase()UVM はトップダウンの順序で実行されます。これは、親コンポーネント内で構築されるまで子が存在しないためです (また、UVMでは、コンストラクターを直接呼び出すのではなくbuild_phase()、ファクトリ メソッドを使用することをお勧めします)。もトップダウンで実行されるため、親は、子が実行するときに使用するオーバーライド設定を提供できます。create()new()build_phase()build_phase()

各コンポーネントの run_phase() は、依存できる定義された順序なしで同時に実行されます。

スーパーを呼び出すだけです。method () クラスを拡張する場合は、基本メソッドの機能が必要です。a の run_phase() の内部には何もないため、そこから拡張するときuvm_componentに呼び出す必要はありません。super.run_phase()基本クラスからクラスを拡張するときに呼び出すことができます。

于 2013-10-14T16:31:49.770 に答える