2017-09-18 17 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에 대한 세 번째 인수는 문자열이며 필드 이름입니다. https://www.vmmcentral.com/uvm_vmm_ik/files3/base/uvm_config_db-svh.html#uvm_config_db.set – noobuntu

답변

0

3 인수 문자열입니다 시퀀스 run_phase에서 큐 값을 전달하는 경우 알려 주시기 바랍니다. 일반적으로 가상 인터페이스 나 구성 객체 -

설정 방법의 전체 서명 void uvm_config_db #(type T = int)::set(uvm_component cntxt , string inst_name , string field_name , T value);

  • T 구성되는 요소의 유형이다.
  • cntxtinst_name은 함께 데이터베이스 내의 리소스를 찾는 데 사용되는 범위를 형성합니다. 범위는 {cntxt.get_full_name(), ".", inst_name}과 같이 컨텍스트의 전체 계층 이름에 인스턴스 이름을 추가하여 구성됩니다.
  • value은 실제로 데이터베이스에 저장되는 것입니다.

다음은 예입니다.

interface abc a1(clk , reset); 
... 
uvm_config_db #(virtual abc)::set(null, "*", "my_vir_inf", a1);