Я обнаружил, что почти каждый драйвер, который расширяется от 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