Jump to content

Recommended Posts

Posted

The TLM payload carries a data as a byte array, along with length of data and optional byte-enables. An initiator can perform a 64-bit (or even more) transfers with a single `b_transport` call, by setting the length appropriately.

So - you may then ask, why is the socket width that is cooked into the type relevant? One reason is that the width is reflective of the data-width in real hardware, so could be used to calculate an annotated delay value (for example). Another place where it assumes importance if we have mixed-endian systems - the specification has a discussion on that.

  • 1 month later...
Posted

I am still not sure to understand this. I have few follow up questions

- Can I read a 64 bit register via a 32 bit socket via a single b_transport call ?

- Can I read a 64 bit register via a 32 bit socket but 32 bit at a time and combine the two 32 bit value to create the final 64 bit register value ?

- There is no real significance of socket data width in overall behavior of TLM2 model and one can ignore the socket width completely\

Thank you for your valuable inputs.

Thanks

Khushi

Posted
3 hours ago, Khushi said:

- Can I read a 64 bit register via a 32 bit socket via a single b_transport call ?

Yes, that can be done. Just set the payload data length to 8 bytes.

3 hours ago, Khushi said:

- Can I read a 64 bit register via a 32 bit socket but 32 bit at a time and combine the two 32 bit value to create the final 64 bit register value ?

Yes - that can also be done - as far as the TLM2 standard is concerned. Of course, the peripheral device model must support this behavior (being able to read parts of a full 64-bit register) - some devices may only allow the register to be read as a full 64-bit value in one transaction.

3 hours ago, Khushi said:

- There is no real significance of socket data width in overall behavior of TLM2 model and one can ignore the socket width completely\

Check 14.18 Endianness of the LRM to see an example of how the BUSWIDTH parameter can be used. BUSWIDTH can also be used to annotate delay for a transaction - by determining the number of "beats" in a burst.

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