2017-09-18 23 views
0

テストの実行段階でconfig dbにキュー値を設定しようとしていて、uvm_config_dbを順番に使用しようとしましたが、これで成功しません(get uvm_config_dbからの呼び出し)、下記のエラーだけが表示されます。私が間違っていて、それを修正する方法を教えてください。また、 "[RNFNAME] Resuruce"ではなく[RNFNAME] Resource "でなく、BCLからUVM_ERRORに入力ミスがあるようです。試験でuvm_config_dbを使用してキューの値を取得して取得する

UVM_INFO ../tests/du_test_sanity.sv(116) @ 100000.0 ps: uvm_test_top [QUEUE_VAL] qu : '{3, 4, 2, 1, 7, 1, 1, -1, 0, 0} 
UVM_ERROR @ 100000.0 ps: reporter [RNFNAME] Resrouce named not found in name map; cannot change its search priority 

は、私が)タスク本体(内部で呼び出します使用してキュー値を読み取るしようとしていますseqeunceで次

`uvm_info("QUEUE_VAL",$sformatf("qu : %p",qu), UVM_NONE); 
    foreach(qu[i]) 
    uvm_config_db #(bit [15:0])::set(uvm_root::get(),"*",qu[i],qu[i]); 

を使用してrun_phase。

foreach(qu[i]) 
    uvm_config_db #(bit [15:0])::get(uvm_root::get(), "*", qu[i], temp[i]) 
    foreach(temp[i])  
    `uvm_info("COMP", $sformatf("string1 : %0h", temp[i]), UVM_LOW); 

uvm_config_db

+0

config_dbの設定機能は意味がありません。 setの3番目の引数は文字列で、フィールド名です。 https://www.vmmcentral.com/uvm_vmm_ik/files3/base/uvm_config_db-svh.html#uvm_config_db.set – noobuntu

答えて

0

第三引数を配列決定するrun_phaseからキュー値を渡すために、他の実行可能な方法が文字列であるなら、私に知らせてください。通常、仮想インターフェイスまたは構成オブジェクト -

セット法の完全なシグネチャはvoid uvm_config_db #(type T = int)::set(uvm_component cntxt , string inst_name , string field_name , T value);

  • Tが構成されている要素の型です。
  • cntxtおよびinst_nameが一緒になって、データベース内のリソースを特定するためのスコープを形成します。スコープは、{cntxt.get_full_name()、 "。"、inst_name}のように、コンテキストの完全な階層名にインスタンス名を追加することによって形成されます。
  • field_nameは、実際にデータベースに格納されるものです。
  • です。

これは例です。

interface abc a1(clk , reset); 
... 
uvm_config_db #(virtual abc)::set(null, "*", "my_vir_inf", a1); 
関連する問題