-1

您好,我为我创建的订阅者类收到上述错误,如下所示:该错误似乎在类的写入函数中,但我不确定函数中缺少什么。

`uvm_analysis_imp_decl(_bfm2dut_change)
class checker_subscriber extends uvm_subscriber; 

uvm_analysis_imp_bfm2dut_change#(setup_pcie_pkg::dut2bfm_hdr_trans, checker_subscriber) bfm2dut_change_ap;
   
   `uvm_component_utils(checker_subscriber)
  
     extern function new(string name = "checker_subscriber", uvm_component parent = null);
     // BUILD,CONNECT and RUN Phase
     extern virtual function void build_phase(uvm_phase phase);
     extern virtual function void connect_phase(uvm_phase phase);
     extern virtual task run_phase(uvm_phase phase);
  
    // write function xal2fb
    virtual function void write_xal2fb_change(xal2fb_uvc::transaction tr);
        xal2fb_uvc::tx_default_data_obj obj;
        $cast(obj, tr.tx_data_obj);
        `uvm_info("xal2fb  PPMSU monitoring", $sformatf("%m"), UVM_LOW)
        monitor_xal2fb_pcie_order_check(obj);
    endfunction: write_xal2fb_change

endclass : checker_subscriber
4

2 回答 2

-1

请参考verification-methodology-reference 并确保您的“write...”方法的后缀与您在宏声明和端口声明中使用的后缀匹配。

于 2021-03-16T10:45:40.837 回答
-1

你应该在你的类中实现pure virtual function void write(T t);which 从类继承。uvm_subscriberchecker_subscriber

于 2021-03-12T07:19:41.450 回答