What do you mean by “not working”? Are you getting a compilation error? Run-time error? Are you not seeing the results you expect? How are you testing?
You should never extend the uvm_sequencer class. The reason for this is that the run_phase() in the base uvm_sequencer is required to execute for proper functionality.
Using TLM connectios has to consider some restrictions. You can pass a transaction from a port to an export. The uvm_tlm_analysis_fifo itself has an export. But the question si what do you want to do with the content of your analysis fifo in your sequencer?
Could you pleas explain?
Hi,
In this project i wanted to make a reactive agent and i have created a memory component in slave agent so i wanted to update that memory component through the slave sequencer via write and read API methods because we can not take memory in driver, monitor and sequence.
Slave sequencer has 2 fifo one fifo stores the write and read transactions and other stores the read transactions only. so my slave monitor is sampling the write or read transaction and put it in a fifo which is in the slave sequencer and in the sequencer only i am updating that memory component using API methods, and in another fifo i am putting only read transactions as per the read address with read data so i can retrieve it in the slave sequence.
I’m not sure if I understandf your approach correctly.
How does the API work? Does it have really no pinlevel interface? And the usage of an anylysis fifo might not be te right one. You could consider your memory componet like driver and use the sam interface as the driver is using.