the UVM reference 1.1 states following :
"By default, responses from the driver are retrieved in the sequence by calling
An alternative method is for the sequencer to call the response_handler function with
Assuming we want to use the response_handler function, which is a virtual method, how can it be used. Assuming that it needs to be extended to perform some additional functionality, how can we call the part of the method which actually reads the response item from response fifo. The signature of response_handler is :
virtual function void response_handler(uvm_sequence_item response)
Manual says method is called every time there is a response in response fifo, to keep the response fifo empty. If I need to extend this to say, count the total number of response items received and also get the response items for comparison with some members of request item class, how will the code look like? Do we need to call the original response_handler (of the base class) using super.response_handler() and retrieve the response items from the response fifo in extended method?
Can someone clarify please.