Hey guys,
I am trying to connect an inout port from my interface to the transaction in the uvm driver, but I keep getting the following error message
“Usage of ‘micro_vi.ui_16bit_data’ inconsistent with ‘net’ object.”
Any ideas why this is occurring?
Also, I have attached the run phase of the uvm_driver that is causing the error
task run_phase(uvm_phase phase);
forever
begin
microproc_trans tx;
@(posedge micro_vi.lb_clk) #1;
//return the transaction when it is available in the sequence
//start_item indicates that its ready to send an item from the sequence
// when finish_item it called it causes get_next_item to return
seq_item_port.get_next_item(tx); //<--sync to the start_item call
// phase.raise_objection(this);
//once that information returns we use it to drive the pin wiggles
micro_vi.ui_16bit_instruction = tx.ui_16bit_instruction;
micro_vi.lb_data_latch_en = tx.lb_data_latch_en;
micro_vi.lb_output_y_en = tx.lb_output_y_en;
micro_vi.ui_16bit_data = tx.ui_16bit_data;
//marks the completion of the transaction
@(negedge micro_vi.lb_clk) //#1;
seq_item_port.item_done(); //<-- causes finish item in the sequence to return
// phase.drop_objection(this);
end
endtask: run_phase
Any help is greatly appreciated.