[英]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.