uvm_tawa Posted February 14, 2012 Report Share Posted February 14, 2012 Thank you Roman. I do need to understand ,is it necessary to seq_item_port.put(rsp); - if null req? I am not looking for any response in the code I have. the VIP/simulator was not compatible with UVM 1.1; thats the reason we stuck to UVM 1.0p1 Quote Link to comment Share on other sites More sharing options...
Roman Posted February 14, 2012 Report Share Posted February 14, 2012 (edited) Hi , I don't know what's implemented in your sequences . I guess there are send_request() and get_response() in your sequences. Then, The driver uses the put(rsp) method to indicate that the sequence_item has been consumed and to return a response, and then the the driver response handler will do the things. If you had used this way, the sequence needs to follow the finish_item() <the driver will call to item_done() unlocks the finish_item() call in the sequence> call with a get_response() call which will block until the driver calls put(rsp). Then The driver will update the rsp side of the pin level transaction. BTW, the put() method is not connected with the driver-sequencer request handshaking mechanism. Edited February 14, 2012 by Roman Quote Link to comment Share on other sites More sharing options...
janick Posted February 14, 2012 Report Share Posted February 14, 2012 You must not call put_response() if the driver has not received a request. What response would there be to put? Also, using put_response() will REQUIRE that sequences call get_response(), otherwise the response queue will overflow. For simple, in-order, non-pipelined protocols, it is simplest to annotate the request with the response and simply call item_done() and have the sequence assume that finish_item() returning implies that the transaction has completed and contains the response. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.