You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The specification requires an address mcontrol/mcontrol6 trigger to compare the lowest address and recommends comparing other accessed addresses. For example, consider a 4-byte memory access with the lowest address 0x4000. An address trigger is required to compare address={0x4000} and recommanended to compared address={0x4000, 0x4001, 0x4002, 0x4003}.
Is it valid to compare an arbitrary subset of the other addresses? For the above case, is comparing address={0x4000, 0x4002} only valid? (Although this does not make sense from a user perspective, I cannot find a solid answer from the text of the specification.)
Update 2023.09.19:
A follow-up question. Consider misaligned 4-byte access at address 0x3fff on the following designs:
Design A) Match address trigger with tdata2={0x3fff} (required)
Design B) Match address trigger with tdata2={0x3fff, 0x4000, 0x4001, 0x4002} (recommended)
Design C) Match address trigger with tdata2={0x3fff, 0x4000}
Are all of the above designs valid?
The text was updated successfully, but these errors were encountered:
My reading is that they are all valid. However, if you want to make a product that is useful to people then design C would be very confusing. The spec is intentionally a bit vague here because implementing triggers can be expensive, because comparators are sizable and might be on the critical path. It's better to implement something suboptimal than to implement nothing at all.
Hello,
The specification requires an address mcontrol/mcontrol6 trigger to compare the lowest address and recommends comparing other accessed addresses. For example, consider a 4-byte memory access with the lowest address 0x4000. An address trigger is required to compare address={0x4000} and recommanended to compared address={0x4000, 0x4001, 0x4002, 0x4003}.
Is it valid to compare an arbitrary subset of the other addresses? For the above case, is comparing address={0x4000, 0x4002} only valid? (Although this does not make sense from a user perspective, I cannot find a solid answer from the text of the specification.)
Update 2023.09.19:
A follow-up question. Consider misaligned 4-byte access at address 0x3fff on the following designs:
Are all of the above designs valid?
The text was updated successfully, but these errors were encountered: