理解uvm_config_dbのUVM環境

次の三つの目的についてuvm_config_db:

環境への仮想インターフェイスを通過しました。

などのようなint.string.enumとして、単一の変数の値を設定します。

環境へのオブジェクトのパスの設定(設定対象)

 

 

設定方法のuvm_config_dbを使用する場合は、いくつかの提案を以下に示します。

・/ getメソッドセットを使用する場合は、ダウン渡されたパラメータのタイプが一致している必要があります。タイプセットのタイプを取得しない場合、送信のような例uvm_objectため、第一のタイプの変換を完了しなければならない$()、オブジェクト型変換動作をキャスト。

パラメータ・セット/送達方法は、正規表現の使用方法に類似の任意のレベルを表すために「*」ワイルドカードを使用することができます取得します。同時に、ユーザーが「* .comp1」と「* COMP1」の違いを理解する必要があり、前者は現在のレベルを表し、「COMP1」コンポーネントのための現在の名の下にすべてのレベルで言ったし、現在のレベルは、次の名前付き「COMP1のすべてが含まれます「コンポーネント。

・あなたがuvm_config_db ::セットを使用したい場合は、モジュールの環境での最初のパラメータは、現在のレベルが最高レベルであるため、ユーザーがnullに設定できるので、現在のレベルを示すために使用さcntxt、その後渡さuvm_componentもuvm_rootに設定することができます:: ()グローバルインスタンスuvm_rootを表現するために取得します。

設定変数を使用している場合•、正しい値が後で使用取得するには、操作uvm_config_db ::取得を実施することを確認する必要があります。

・uvm_config_db ::セット方法は、その構成を作成するためのアセンブリの前に呼び出されることを確認してみてください。最初の構成、それに関連する構成要素の実施形態のビルドフェーズに入る、所望の値を得ることができるからです。

•コンポーネントの同じインスタンスと変数について、上側可変設定の複数のコンポーネントがある場合、設定上位層構成要素は、低レベルの構成によってカバーされる;しかし、それは可変成分の同じレベルである場合には時間が上書きされ、以前の設定が上書きされます、次の設定に従ってください。

・ユーザーは、他の措置をとる必要性、取得していない場合は、uvm_config_dbから入手したかどうかの方法を取得UVMによって、その印刷変数情報にデバッグステートメントに簡単に追加、uvm_config_db :: get()メソッドを使用する必要があります。

 

 

私たちは、インタフェースがuvm_config_dbにより、ハードウェアのUVM環境から世界を実現するために実装することができ渡し、上記の例から見ることができます。ノートへの実装プロセスのポイントで:

*インターフェイスの転送は)(RUN_TEST前に発生する必要があります。ビルドフェーズに入る前に、仮想インターフェイスがuvm_config_dbに渡されたことをこれが保証されます。

*ユーザーインターフェイスは、仮想インターフェイスの宣言エリアを分離するために配置する必要があります。タイプの転写プロセスは、仮想インタフェース、すなわちハンドル実際のインターフェースであるべきです。

           uvm_config_db APIセットを使用する場合は/、次のような背景の実際の動作を取得します:

1. uvm_config_db ::レベルや変数名による設定は、その情報は、グローバル変数のみuvm_pkg :: uvm_resourcesをuvm_pkg置かれます。

2. uvm_resources格納およびリソース構成情報(リソース情報)を放出するために使用されるグローバル変数。uvm_resources uvm_resource_poolは、2つの配列を関連付けることによって、この例では店舗の構成情報を使用する2つのリソース・アレイ、階層名によってインデックス付け、これらの2つの配列のインデックスの種類があり、グローバルに一意のクラスのインスタンスでは、任意の数で記憶することができますレベルの設定情報。同時に、基礎となる構成要素は、高レベルの構成情報レベルまたはタイプによって行うことができます。この実施形態はまた、デバッグや再利用を容易にするための設定情報を取得し、リリース情報を完了しました。

uvm_config_db中3 ::送信パラメータの層指数を構成することによって、メソッドを取得し、インデックスの設定情報が他uvm_resource既存のプール、指数場合、メソッド戻り1,0を配置。

 

 

どのように使用するには?

 

uvm_config_db番号(int型)::セット(この、「env.i_agt.drv」、「pre_num」、100);

 

四つのパラメータセットは、手紙を送る、受け取る準備ます。

 

第一及び第二のパラメータと共には受信機に準拠するために、この目標への経路を目標経路を形成します。最初の引数はポインタuvm_component例でなければなりません、2番目のパラメータは、この例への相対パスです。第三のパラメータは、この値を説明するためのシンボルは、第4のパラメータのメンバーが設定する値であるターゲットに渡され表します。

 

uvm_config_db番号(int型)::(pre_num、この、「」、「pre_num」)を取得。

 

四つのパラメータ、最初のパラメータ、ポインタよい一般インスタンス「この」、「NULL」などが挙げられます。

第2のパラメータは、* yy_agent「「yy_agent.drv」「ワイルドカードはまた、例えばスクリーンショットのように、使用することができ、」」、NULLとすることができます

三番目のパラメータセットに第一及び二つの条件満たし、「受信機」「手紙を送る」を取得:、試合時間を、受信し、ミスを避けるために、最初の文字を送信するために準備しなければならないが、一般的に最高のフロントプラスを得ます判断、宛先が一致したメッセージであり、一貫性のある2マーク。

第三に、多くの場合、パラメータ値、またはハンドル。

リリース1012元の記事 ウォンの賞賛520 ビュー1270万+

おすすめ

転載: blog.csdn.net/Augusdi/article/details/104977995