-
Notifications
You must be signed in to change notification settings - Fork 57
Open
Description
It seems split load address and split load data packet formats are not yet supported in encoder reference model. It encodes unified load/store but not split load? Can someone confirm/fix this if possible?
File:
data_encoder_model.py
Relevant code snippet:
def encode_load_store(self, trace_data, is_load):
size = trace_data.dsize
self.te['size'] = size
(is_aligned, address) = self.addr_info(trace_data.daddr, size)
if is_load:
self.te['format'] = dformat_t.LOAD_ALIGNED.value if is_aligned else dformat_t.LOAD_UNALIGNED.value
else:
self.te['format'] = dformat_t.STORE_ALIGNED.value if is_aligned else dformat_t.STORE_UNALIGNED.value
if self.settings["no-address"]:
data_width = self.settings["data_width_p"]
else:
self.te["address"] = as_hex(self.addr_handler.get(address, size), self.settings["daddress_width_p"])
if not self.settings["no-data"]:
self.te['data_len'] = (1 << self.te['size']) - 1
data_width = (self.te['data_len'] + 1) << 3
if not self.settings["no-data"]:
self.te["data"] = as_hex(self.data_handler.get(trace_data.data, size), data_width)
# Atomic and CSR
Spec snapshot:
Thanks,
Jaydip
Metadata
Metadata
Assignees
Labels
No labels