Jump to content

Purpose of modifiedWriteValue = oneToSet?


Michael Tsurikov

Recommended Posts

IEEE Std 1685-2014 includes this:
 

Quote

 

modifiedWriteValue (optional) element to describe the manipulation of data written to a field. The value shall be one of oneToClear, oneToSet, oneToToggle, zeroToClear, zeroToSet, zeroToToggle, clear, set, or modify. If the modifiedWriteValue element is not specified, the value written to the field is the value stored in the field.

...

oneToSet means in a bitwise fashion each write data bit of a one shall set (set to one) the corresponding bit in the field.

 

 

I don't understand the purpose of oneToSet. It seems to describe the basic functionality that any read/write field should have, without any modifications.

In other words, when I receive this code from an IP vendor of mine:

Quote

            <spirit:name>FIELD</spirit:name>
            <spirit:description>...</spirit:description>
            <spirit:access>read-write</spirit:access>
            <spirit:modifiedWriteValue>oneToSet</spirit:modifiedWriteValue>

 

I don't understand how that is any different from simply this:

Quote

            <spirit:name>FIELD</spirit:name>
            <spirit:description>...</spirit:description>
            <spirit:access>read-write</spirit:access>

 

In both cases, when I write a 1 to this field, the field becomes 1.

Can someone clarify what purpose the oneToSet modifiedWriteValue serves?

Thank you.

Link to comment
Share on other sites

For all of the bitwise modifiedWrite functions (oneToClear, oneToSet, oneToToggle, zeroToClear, zeroToSet, zeroToToggle) the specified bit write value changes the target bit and the opposite bit write value leaves the target bit unchanged. This provides atomic write access to modify a single bit within a field within a single write transaction.  For fields with normal write behavior the write replaces the target field value with the write value.  This feature was inherited and expanded from Accellera SystemRDL 1.0 standard which at least has equations for the few bitwise write behaviors it supports. The IEEE 1800.2-2017 UVM standard inherited this feature from IP-XACT and has a slightly better description. We'll make sure that the next version of the standard specifies more completely the behavior of modifiedWrite.

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.

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