Откуда берется get_and_drive?

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

uvm
person awill    schedule 27.11.2014    source источник


Ответы (1)


Если вы заглянете в каталог example/integrated/ubus, то в каталоге ubus_master_driver вы увидите метод с именем get_and_drive(). Если вы вернетесь к OVM, вы увидите, что в примере XBUS также определен тот же метод в файле xbus_master_driver.

Поскольку большинство людей учатся на примерах, я думаю, соглашение просто прижилось. Я думаю, что другие методологические сайты (такие как Verification Academy) также пропагандируют то же соглашение.

person Tudor Timi    schedule 27.11.2014