2014-01-29 19 views
0

如果我想根據UVM驅動程序中設計的某些輸出來組合驅動設計輸入信號,那麼最好的方法是什麼?如果我在運行階段實現它並查看設計輸出信號,我會在時鐘的下一個上升沿看到它,對吧?這會浪費一個週期。在UVM中組合驅動輸入信號

E.g. 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