mshmaitelly Posted May 4, 2011 Report Share Posted May 4, 2011 Hi, 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() ? Thanks. Quote Link to comment Share on other sites More sharing options...
SeanChou Posted May 5, 2011 Report Share Posted May 5, 2011 I think it is better to write a wrapper class that response to TLM and invoke task according to the item to/from TLM, or just invoke the task in reg2bus, bus2reg directly if you dont mind. Quote Link to comment Share on other sites More sharing options...
uwes Posted May 5, 2011 Report Share Posted May 5, 2011 hi, 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. 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.