Jump to content

Using UVM_reg with task-based bfm

Recommended Posts


I want to use the UVM_reg with simple task-based bfm (implemented as a class).

The bfm has tasks like reg_wr() and reg_rd().

I know the the UVM_reg has the translation layer class with reg2bus and bus2reg functions, however, those will convert the reg_op sequence to bus op sequence.

So, Since the bfm has no sequencer, how do I get the UVM_reg to use the bfm.reg_wr() and bfm.reg_rd() ?


Link to comment
Share on other sites


one way would be to reuse the reg_op as bus_op. this means creating an env with uvm_sequencer#(bus_op) and a uvm_driver#(bus_op). then you only need to implement the get_next_item loop in the driver and there you can either rd or write.

Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...