Jump to content

Can `uvm_pack* macros be used for integer over 64 bits?

Recommended Posts

We want to pack a field of type bit[95:0] with big_endian. If we use `uvm_pack_intN(field,96), we lose 32 bits because the macro uses a temporary variable of type longint. Is there some other way to do this? If not, should uvm_pack_intN use uvm_bitstream_t like the unpack version does?



Link to comment
Share on other sites

I agree this is a bug in the library. In fact, since you passed the exact size to the macro, there's no reason not to declare the data of the appropriate size. uvm_pack_intN is a utility macro, you can just copy that code into your own implementation and fix the size issue.

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