我有一个类型为ethernet数据包的邮箱。我随机将数据放入邮箱。现在我想打印邮箱的每个元素而不删除元素。 我尝试了 try_peek ,但它始终指向第一个元素,因此它始终打印第一个元素。 get()方法删除元素,因此在for循环结束时邮箱为空。 有没有办法可以在SystemVerilog中迭代邮箱而不删除它的元素?
for (int i=0; i<=9; i++)
begin
mbox_pkt.try_peek(pkt1);
$display("mbox_pkt=%p", pkt1);
end
mbox_pkt是以太网数据包类型的邮箱。
答案 0 :(得分:1)
如果不使用get或try_get删除下一个元素,则无法访问邮箱的元素。