UVM相は、トップダウン
- UVM相は、環境のための同期機構です
- 相は 、コールバックによって表される 方法、事前に定義されたフェーズの組及び対応するコールバックはuvm_componentに設けられています。方法は、機能やタスクのいずれかになります。
- uvm_component由来する任意のクラスは、特定の順序で実行され、これらのコールバックのいずれかまたはすべてを実装することができます
A、UVMのフェーズであり、
- ビルド
- 接続
- 推敲の終わり
- シミュレーションの開始
- ラン
- エキス
- 小切手
- 報告書
実行フェーズは、 タスクとして実装され、すべてが機能している残っています。
- 注1:run_phaseとmain_phaseまたは12フェーズの並列実行の権利をrun_phase、それらの間の関係が含まれていませんでした。
- 注2:run_phase一般に、より多くの推奨ドライバとモニタ実行main_phaseにおいて、参照しながら、スコアボードとサブスクライバラン
- 注3:12のGe相は、右のシリアル実行され、開発がすべてを使用する必要はありません。一般的にのみダウンreset_phaseに、main_phase
二、位相が3つのカテゴリに分類することができ、
1.ビルドフェーズ
ビルドフェーズ、接続相およびend_of_elobaration相がこの分類では、このcategory.Phasesに属し、テストベンチコンポーネントが構成されているUVMテストベンチシミュレーションの開始時に実行される構成とテストベンチ・コンポーネントさconnected.Allれる ビルドフェーズの 方法である 機能 とそのために実行 ゼロシミュレーション時間。
2.実行時相
シミュレーションの開始と実行フェーズは、実行時相に属し、 実行フェーズは から実行されます シミュレーションの開始 までに 、シミュレーションの終了テストケースが実行されている.theの実行フェーズは時間がかかりれ、
3.クリーンアップフェーズ
エキス、チェック、報告書と最終このcategory.whereに属しテストケースの結果を収集し、報告されています。例:シミュレーション中にエラーの数が報告されています。
二、フェーズの説明:
段階 | 説明 | 実行順序 |
---|---|---|
ビルド | testbenchcomponentsを構築するために使用 | トップダウン |
接続 | コンポーネントのTLMポートを接続するために使用されます | 一気飲み |
end_of_elaboration | シミュレーションを開始する前に、テストベンチの構造、構成や接続性への最終的な調整を行うために使用 | 一気飲み |
start_of_simulation | テストベンチのトポロジや設定情報を印刷するために使用 | 一気飲み |
ラン | 監視、運転、刺激生成のために使用され、チェック | 平行 |
エキス | スコアボードや機能カバレッジのモニターから情報を取得し、処理するために使用されます | |
小切手 | DUTが正しく振る舞っていることを確認するために、テストベンチの実行中に発生したエラーを識別するために使用します | |
報告書 | シミュレーションの結果を表示したり、ファイルに結果を書き込むために使用 | |
最後の | テストベンチはすでに完了していないことを、他の優れた操作を完了するために使用します |
三、UVM実行フェーズフェーズ
実行フェーズが異なる位相を持って、これらは、
ラン | 段階 | 説明 |
---|---|---|
pre_reset | pre_resetフェーズは、実行フェーズと同時に開始されます。その目的は、このようなアクティブ行くために、パワーグッド信号を待っているように、リセット前に発生しなければならないすべての活動の世話をすることです | |
リセット | リセットフェーズは、DUTまたはインターフェイス特定のリセット動作のために予約されています。たとえば、このフェーズはリセットを生成し、そのデフォルト状態にインターフェイスを置くために使用されます | |
post_reset | 以下のリセット直後に必要なすべての活動を対象とし | |
pre_configure | pre_configure相はリセットが完了した後、DUTの設定プロセスのために用意する必要がある何のために意図されます | |
構成、設定 | configure相は、テストケースの開始のための準備ができているように、DUTとテストベンチでの思い出をプログラムするために使用されます | |
post_configure | post_configure相は、コンフィギュレーションの効果はDUTを介して伝播するのを待つために、または、メインのテスト刺激を開始する準備ができている状態に到達するために使用されています | |
pre_main | pre_main相は、必要なすべてのコンポーネントは、刺激の生成を開始する準備ができていることを確認するために使用されます | |
メイン | テストケースで指定された刺激が生成され、DUTに印加されるところです。どちらかのすべての刺激が消耗しているか、タイムアウトが発生したときにそれが完了します | |
post_main | このフェーズは、主相のいずれかのファイナライズの世話をするために使用されます | |
pre_shutdown | このフェーズでは、シャットダウンフェーズの前に場所を取るために必要なすべてのDUT刺激するためのバッファであります | |
シャットダウン | シャットダウン相は主相中に生成刺激の効果は、DUTを介して伝播していることと、すべての結果のデータが離れて排水していることを保証するために使用されます | |
post_shutdown | アクティブなシミュレーションフェーズを終了する前に最終的な活動を行います。post_shutdown相の終わりに、UVMは、実行プロセスは、クリーンアップフェーズを開始し、テストベンチ |