簡體   English   中英

Specman UVM記分牌基本問題

[英]Specman UVM Scoreboard basic questions

我建立了下一個(工作正常)記分板/監視器環境:

// Scoreboard : like uvm_scoreboard
    scbd_port packet_add   : add packet_s;
    scbd_port packet_match : match packet_s;

我的添加流程:

// Monitor:
    expected_packet_o : out interface_port of tlm_analysis of packet_s is instance;

    connect_ports() is also {
        expected_packet_o.connect(Scoreboard.packet_add);
    };

    add_to_Scoreboard() is {
        // ... collecting packet logic ...
        //  Actually adding the packet to SB:
        expected_packet_o$write(expected_packet);
    };   

我的比賽流程:

// Monitor:
    collect_DUT_output() is {
        // ... receiving packet logic ...
        Scoreboard.match_in_scbd(received_packet);
    };

我的問題是:使用Specman的UVM scrb端口是否正確? 為什么我不能直接通過packet_add添加期望的數據包,類似這樣: Scoreboard.packet_add$.write(expected_packet) 我發現將數據包添加到記分板的唯一方法是將另一個TLM端口連接到packet_add,如代碼中所寫。 匹配流程中是否存在諸如match_in_scbd類的添加方法?

感謝您對Specman Scoreboard添加和匹配流程的任何澄清

以這種方式考慮,TLM端口只是“函數指針”的精美包裝(如在C ++中),該包裝指向已實現的方法。 沒有什么可以阻止您直接調用記分板實例的實例的實現方法。 唯一的問題是您必須知道要在調用方中調用記分板的哪個實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM