2
我已經建立了一個(正常工作)記分牌/監視器環境:的Specman UVM記分牌基本問題
// 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)
?我發現將數據包添加到Scoreboard的唯一方法是將另一個TLM端口連接到packet_add,因爲它是用代碼編寫的。 比賽流程中是否有像match_in_scbd
這樣的添加方法?
多謝您的Specman記分添加任何澄清和匹配流的它