Jump to content
Sign in to follow this  
dave_345

Sequence item overriding is not working(set_type_override)

Recommended Posts

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??

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×