WHEN OTHERS => dmem_data_v := DMEMB_i.data;
END CASE;
+ MEM2CTRL_o.read_data <= dmem_data_v;
+ MEM2CTRL_o.need_keep <= '0';
+
-- output to dmem-bus
CASE EX2MEM_i.mem_Action IS
WHEN OTHERS =>
-- forward mem_data just read, to handle e.g. lhu rD,mem[x]; sh rD,mem[y]; ...
exeq_data_v := dmem_data_v;
+ MEM2CTRL_o.need_keep <= '1';
END CASE;
ELSE
exeq_data_v := EX2MEM_i.data_rD;