2014-01-29 4 views
0

UVM 드라이버의 디자인에서 특정 출력을 기준으로 설계 입력 신호를 조합하여 조합하려는 경우 가장 좋은 방법은 무엇입니까? 실행 단계에서이를 구현하고 설계 출력 신호를 살펴 본다면 다음 호의 클럭에서 볼 수 있습니다. 맞습니까? 이것은 한주기를 낭비 할 것입니다.UVM에서 입력 신호를 조합하여 (같은 주기로) 구동

예. rd 입력 신호가 랜덤하게 어서 트되어 설계된다. 빈 상태가 높은 경우를 제외하고는 같은 주기로 해제되어야합니다.

답변

0

실행 단계에서 아무 것도 구현한다고해서 자동으로 시계의 위치를 ​​동기화한다는 의미는 아닙니다. 특정 신호의 변경을 기다리는 실행 단계에서 언제든지 메서드를 실행하여 그 시점에서 수행 할 수 있습니다.

task run_phase(uvm_phase phase); 
    fork 
    monitor_comb_sig(); 
    join_none 
endtask 

task monitor_comb_sig(); 
    forever begin 
    @(some_signal); // waits until some_signal changes 

    // drive some other signal based on this change 
    end 
endtask