Difference between uvm_tlm_fifo and uvm_tlm_analysis_fifo

what is the difference between uvm_tlm_fifo and uvm_tlm_analysis_fifo?

Simple answer would be uvm_tlm_analysis_fifo would have inbuilt analysis ports, which might help in connecting to monitors or something similar.

uvm_tlm_analysis_fifo is extended from uvm_tlm_fifo itself, so should not differ much. :-)

  • Ashith

In reply to Ashith:

See the UVM Reference Manual.
A uvm_tlm_analysis_fifo is a uvm_tlm_fifo#(T) with an unbounded size and a write interface.

In reply to chr_sue:

In uvm_tlm_fifo the analysis_export is not there but in uvm_tlm_analysis_fifo the analysis_export is there.

In reply to Bhimappa A Mali:
The uvm_tlm_fifo is not intended for analysis work like coverage or scoreboarding. For this reason there is not analysis_export. The most important requirement in the analysis path is that you do not miss any extracted transactions. This is the reason the analysis fifo is unbounded.