From 4d2f9717676d69ce6d80d5ff3c3ec9ab9904bc3a Mon Sep 17 00:00:00 2001 From: jon Date: Fri, 17 Jul 2020 11:07:19 +0100 Subject: [PATCH] Assign the correct PC to fetched instructions. --- src_Core/RISCY_OOO/procs/RV64G_OOO/FetchStage.bsv | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src_Core/RISCY_OOO/procs/RV64G_OOO/FetchStage.bsv b/src_Core/RISCY_OOO/procs/RV64G_OOO/FetchStage.bsv index 66887fc..df81f33 100644 --- a/src_Core/RISCY_OOO/procs/RV64G_OOO/FetchStage.bsv +++ b/src_Core/RISCY_OOO/procs/RV64G_OOO/FetchStage.bsv @@ -386,11 +386,12 @@ function ActionValue #(Tuple4 #(SupCntX2, Bit #(32) inst = { v_x16 [(2*i)+1], v_x16 [2*i] }; Bool compressed = is_16b_inst (v_x16 [2*i]); v_items[i].inst_kind = compressed ? Inst_16b:Inst_32b; - increment = increment + (compressed ? 2:4); + increment = (compressed ? 2:4); v_items[i].orig_inst = inst; v_items[i].inst = (compressed) ? fv_decode_C (misa, misa_mxl_64, v_x16 [2*i]):inst; + v_items[i].pc = setAddrUnsafe(pc_start, pc); + pc = pc + increment; end - pc = getAddr(pc_start) + increment; n_items = 2; `endif