riscv-non-isa/riscv-trace-spec

Addresses written on 64 bits in Reference Flow

bshveida opened this issue · 1 comments

While analyzing annotated encoder output generated by Reference Flow I noticed that all differential addresses are written (and probably stored) as 64-bit values. In most cases that makes no difference due to the compression applied to packets, but in some cases (e.g. when notify, updiscon or irreport fields are different from address MSB in format 2 packets) result packets are wrong. Here are some examples (names of test are also visible at the top of the screenshots):

1
In the above image you can see that format 2 packet (line 7223) contains such an address and notify field is 1, so MSBs of adress cannot be compressed out.

Here is another example, this time posistive difference value written on 64 bits (line 707):
2
This time irreport and updiscon fields are non-zero, so redundant zeroes stay in packet.

Files shown above were generated by commands:
scripts/run_regression.sh vvadd -t itype3_basic --annotate
and
scripts/run_regression.sh hello_world -t itype3_basic --annotate
ran from referenceFlow directory

Also the question is why decoder has no issue with it?