From d00ade6c9d812eb5b5ddc26b99e5e7c80630f381 Mon Sep 17 00:00:00 2001 From: jon Date: Wed, 20 May 2020 13:31:09 +0100 Subject: [PATCH] Fix new-write-folding-in function to copy original tags where there are no byte-enables set. --- src_Core/RISCY_OOO/procs/lib/Types.bsv | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src_Core/RISCY_OOO/procs/lib/Types.bsv b/src_Core/RISCY_OOO/procs/lib/Types.bsv index f02220b..f5e18c5 100644 --- a/src_Core/RISCY_OOO/procs/lib/Types.bsv +++ b/src_Core/RISCY_OOO/procs/lib/Types.bsv @@ -74,7 +74,11 @@ function MemTaggedData mergeMemTaggedDataBE( MemTaggedData oldItem , MemTaggedData newItem , be_t be) provisos (Bits#(be_t, MemDataBytes)) = - MemTaggedData { tag : (pack(be) == ~0) ? newItem.tag : False + MemTaggedData { tag : case (pack(be)) + 0: oldItem.tag; + -1: newItem.tag; + default: False; + endcase , data: mergeDataBE(oldItem.data, newItem.data, be)}; function MemData dataToMemData(Data x) = unpack(zeroExtend(x)); function MemDataByteEn dataBEToMemDataBE(ByteEn x) = unpack(zeroExtend(pack(x)));