Write function

In reply to dayalan.natarajan:

Yes, that would work as the “analysis_export” of the uvm_tlm_analysis_fifo has a built in write() You can think of it this way, “analysis_export” is putting that transaction (from uvm_analysis_export) into the FIFO via the “hidden” write() implementation.

This is very similar to how one can makes use of uvm_tlm_fifo to get around on the put() and get() implementations. For eg.

/**** Producer ***/
uvm_put_port #(transaction_type) put_port;

// Somewhere as part the run_phase
put_port.put(abc);

/*** Consumer ***/
uvm_get_port #(transaction_type) get_port;

// somewhere as part of the run_phase
get_port.get(xyz);

/*** ENV ***/
uvm_tlm_fifo #(transaction_type) tlm_fifo;

// connect_phase
producer.put_port.connect(tlm_fifo.put_export); // hidden put implementation
consumer.get_port.connect(tlm_fifo.get_export); // hidden get implementation