因为我发现几乎所有从uvm_driver扩展的驱动程序都有如下任务:get_and_drive。我检查了uvm源代码和uvm_cookbook,没找到get_and_drive。它似乎不是一个uvm规则,它更可能是一个惯例。所以我的问题是:谁首先使用名为get_and_drive()的任务,为什么几乎所有人都在其驱动程序中使用名称get_and_drive?
task run_phase(uvm_phase phase);
get_and_drive();
endtask : run_phase
task get_and_drive();
forever begin
seq_item_port.get_next_item(req);
send_to_dut(req);
seq_item_port.item_done();
end
endtask : get_and_drive
答案 0 :(得分:0)
如果您查看example/integrated/ubus
目录,在ubus_master_driver
中,您会看到一种名为get_and_drive()
的方法。如果你回到OVM,你会发现在XBUS示例中也在xbus_master_driver
中定义了相同的方法。
由于大多数人通过例子学习,我猜这个惯例只是停滞不前。我认为其他方法论网站(如Verification Academy)也推广相同的惯例。