Я использую UVM для тестирования очень простого интерфейса и теперь сталкиваюсь с проблемой «краеугольного камня». Так что мне нужно отправить логический сигнал [0: 7] с монитора вывода на табло. Это часть кода:Передача сигнала шины с использованием порта анализа
class outputMonitor extends uvm_monitor;
..
logic [7:0] lcdCmd;
uvm_analysis_port #(logic) sendPrt;
task run_phase (uvm_phase phase);
forever
begin
sendPrt.write(lcdCmd) ;
end
endtask
endclass
class scoreboard extends uvm_subscriber #(logic);
`uvm_component_utils(scoreboard)
function void write (logic t);
$display("%t: scoreboard: ########### calling write function-- data=%b", $time, t);
endfunction
endclass
Во время моделирования я вижу, что только последний бит lcdCmd передается scorebaord. Есть ли способ передать данные всей шины с помощью портов?
Конечно, я могу создать структуру или транзакцию, поместить там lcdCmd, а затем отправить структуру. Но почему я не могу просто отправить автобус?
Благодаря Hayk
Благодаря много он работал – haykp