2015-10-30 26 views

回答

0

一種來,以這種方式是使用UVM內置sprint()和指導所有的輸出到文件中。

下面是如何做到這一點的例子,假設你的寄存器測試級別上實現:

class my_test extends uvm_test; 
    my_reg_block my_rm; 
    UVM_FILE my_file; 
    //... 
    function new(string name="", uvm_component parent=null); 
    my_file = $fopen("register_initial.txt", "w"); 
    set_report_id_file("MY_REG", my_file); 
    set_report_id_action("MY_REG", UVM_LOW | UVM_DISPLAY); 
    endfunction 
    // create your register 
    function void print_register(); 
    `uvm_info("MY_REG", $sformatf("%s", my_rm.sprint()), UVM_LOW) 
    endfunction 
endclass 

以上print_register()功能會寫的my_rm.sprint()輸出到文件「register_initial.txt」。