dave_345 Posted December 24, 2012 Report Share Posted December 24, 2012 I have a UVM agent which acts as a MASTER and generates transactions for a protocol. Command and data transactions are transferred on same data bus with command/ data select line. Command transaction have a HEADER format.I want to extend this agent for different type of HEADER FORMATS. agent does header packing in driver. For that i created a new sequence item extended from base sequence item, and did set type override in test case. as existing sequence take base sequence item as argument. i have created new sequence for new HEADER. but although i did set_type_override sequencer dosen't accept new type of item and gives error for new field inside extended driver. how can i solve this?? Quote Link to comment Share on other sites More sharing options...
lisakb1963 Posted December 28, 2012 Report Share Posted December 28, 2012 This should work, but it may be something odd in your base class. I would look at protocol layering. This is very useful for OSCI or other protocols that have a high data layer over a physical data layer: TCP-IP USB 3.0 PCIe It involves using TLM 1.0, and reconstruction of data -- but it is useful. From what you describe, you aren't doing anything this complicated -- but this may be the way to solve your problem. This is described in the UVM User's Guide 6.5.2. It is also a usage model for UVM_REG (there are three) --- but unless you really have abstracted registers to the hardware -- you can't do anything like grab, lock, priority, ISR. But it is extremely useful for Layering of of data protocols. Quote Link to comment Share on other sites More sharing options...
uwes Posted January 14, 2013 Report Share Posted January 14, 2013 this sounds like as if you are having a base class handle pointing to a derived class. so even if the handle references a derived class object you can only access base class properties. in order to access the properties of the derived class you have to $cast the object to the derived type. btw it would be good if you show more of your code and the full error message if you want more help than guessing. /uwe 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.