-
Notifications
You must be signed in to change notification settings - Fork 100
How a select = data trigger matches on an access wider then XLEN? #1183
Description
[5.5.2. Combined Accesses] states:
... E.g. a vector load should be treated as if it performed multiple loads of size SEW (selected element width), ...
Vector extension supports SEW greater then XLEN.
However, for mcontrol6 only the behavior if data width is less or equal to XLEN is defined. See [5.7.12. Match Control Type 6 (mcontrol6, at 0x7a1)], select field description:
1 (data): There is exactly one compare value and it contains the data value loaded or stored, or the instruction
executed. Any bits beyond the size of the data access will contain 0.
I see a couple of options:
- The compare value contains the lower XLEN bits of the data value.
select = datatriggers don't match on accesses wider then XLEN.
IMHO, the first option is more in line with the behavior when data width is less then XLEN (zero-extending the value), while the second is more in line with the treatment of CMO accesses (see [5.5.3. Cache Operations]).
I feel like the option (1) is preferable.