mrforever Posted October 25, 2012 Report Share Posted October 25, 2012 (edited) Hi, i saw "uvm_blocking_peek_imp#(ubus_transfer,ubus_slave_monitor) addr_ph_imp" in ubus_slave_monitor.sv file. but i don't know how it peeks the ubus_transfer, i cann't see any other code about addr_ph_imp except in class ubus_slave_agent like this: sequencer.addr_ph_port.connect(monitor.addr_ph_imp); i guess that there should be some codes like this addr_ph_imp.write(ubus_transfer), then the sequencer can peek the ubus_transfer, but there isn't. any expert to answer my question? thanks in advance. Edited October 25, 2012 by mrforever Quote Link to comment Share on other sites More sharing options...
Erling Posted October 25, 2012 Report Share Posted October 25, 2012 The slave monitor having a uvm_blocking_peek_imp means it is implementing a peek member task for someone else to call through a uvm_blocking_peek_port, which in this case sits in the sequencer. A sequence can then call peek() on the sequencer port, i.e p_sequencer.addr_ph_port.peek(). The peek call will be forwarded to the peek task of the monitor since the slave agent has connected the peek port of the sequencer to the monitor peek imp. At that point, peek() of the monitor will pend on the address_phase_grabbed event and return trans_collected to the sequence in the trans output parameter when the event triggers. Erling Hongnhattl and carter 2 Quote Link to comment Share on other sites More sharing options...
mrforever Posted October 26, 2012 Author Report Share Posted October 26, 2012 thanks very much 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.