2014-11-27 2 views
0

uvm_driver에서 확장되는 거의 모든 드라이버가 다음과 같은 작업을 수행함을 알았습니다. get_and_drive는 아래와 같습니다. uvm 소스 코드와 uvm_cookbook을 확인하고 get_and_drive를 찾지 못했습니다. uvm 규칙이 아닌 것으로 보입니다. 관례가 될 가능성이 큽니다. 그래서 내 질문은 : 누가 get_and_drive()라는 작업을 처음 사용하고 왜 거의 모든 사람들이 그들의 드라이버에서 get_and_drive라는 이름을 사용 하는가?get_and_drive는 어디에서 가져 왔습니까?

task run_phase(uvm_phase phase); 
    get_and_drive(); 
endtask : run_phase 

task get_and_drive(); 
    forever begin 
      seq_item_port.get_next_item(req); 
      send_to_dut(req); 
      seq_item_port.item_done(); 
    end 
endtask : get_and_drive 

답변

0

당신이 example/integrated/ubus 디렉토리를 보면 경우, ubus_master_driver 당신이 get_and_drive()을 불리는 방법을 볼 수 있습니다. OVM으로 돌아 가면, XBUS 예제에서도 xbus_master_driver에 동일한 메소드가 정의되어 있음을 알 수 있습니다.

예를 들어 대부분의 사람들이 예제를 통해 배우기 때문에 컨벤션이 막혔다 고 생각합니다. 다른 방법론 사이트 (예 : Verification Academy)도 동일한 규칙을 권장한다고 생각합니다.

+0

답변 해 주셔서 감사합니다. – awill

+0

@awill 답변에 만족하면 받아 들인 것으로 표시해야합니다. 이 사이트에서는 "thanks"형식의 주석을 사용하지 않습니다. –

관련 문제