If run the instructions above, the second sw instruction will bring a misaligned exception, the following sh instruction is not flushed correctly, causing the CPU to still send a write request to memory. This results in MEM[000000020] <= 0000000004.
I enabled trace in the source code and replaced rv32ui-p-p-simple.hex below to execute CoreSimpleTests.
If run the instructions above, the second sw instruction will bring a misaligned exception, the following sh instruction is not flushed correctly, causing the CPU to still send a write request to memory. This results in MEM[000000020] <= 0000000004.
I enabled trace in the source code and replaced rv32ui-p-p-simple.hex below to execute CoreSimpleTests.
From the trace, it is evident that an unintended write request was issued.