From 3dada7e2bacf5669b9f64810599ca3acc2449faf Mon Sep 17 00:00:00 2001 From: ZhuangYumin Date: Thu, 1 Aug 2024 23:50:04 +0000 Subject: [PATCH] fix another queue access problem is LSB --- include/loadstorequeue.h | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/include/loadstorequeue.h b/include/loadstorequeue.h index 5e26dba..bd85cd4 100644 --- a/include/loadstorequeue.h +++ b/include/loadstorequeue.h @@ -129,14 +129,14 @@ struct LoadStoreQueue : public dark::Module(full_ins_id) << std::endl; DEBUG_CERR << "\tins_ROB_index: " << std::dec << static_cast(issue_ROB_index) << std::endl; DEBUG_CERR << "\tins_self_PC: " << std::hex << std::setw(8) << std::setfill('0') - << static_cast(issuing_PC) << std::endl; + << static_cast(issuing_PC) << std::endl; DEBUG_CERR << "\tins_imm: " << std::hex << static_cast(decoded_imm) << std::endl; DEBUG_CERR << "\thas_decoded_rs1: " << std::hex << std::setw(8) << std::setfill('0') - << static_cast(has_decoded_rs1) << std::endl; + << static_cast(has_decoded_rs1) << std::endl; DEBUG_CERR << "\thas_decoded_rs2: " << std::hex << std::setw(8) << std::setfill('0') - << static_cast(has_decoded_rs2) << std::endl; + << static_cast(has_decoded_rs2) << std::endl; DEBUG_CERR << "\tstored in positon " << std::dec << static_cast(cur_queue_tail) << " of LSQ" - << std::endl; + << std::endl; // LSQ_queue[cur_queue_tail].Q1 <= decoded_rs1; // temporarily, no use // LSQ_queue[cur_queue_tail].Q2 <= decoded_rs2; // temporarily, no use } else @@ -153,28 +153,28 @@ struct LoadStoreQueue : public dark::Module(LSQ_queue[head].V1) + static_cast(LSQ_queue[head].ins_imm)); DEBUG_CERR << "\trequest_address_output=" << std::hex << std::setfill('0') << std::setw(8) - << request_address_output.peek() << std::endl; + << request_address_output.peek() << std::endl; DEBUG_CERR << "\toperand1=" << std::hex << std::setfill('0') << std::setw(8) - << static_cast(LSQ_queue[head].V1) << std::endl; + << static_cast(LSQ_queue[head].V1) << std::endl; DEBUG_CERR << "\timm=" << std::hex << std::setfill('0') << std::setw(8) - << static_cast(LSQ_queue[head].ins_imm) << std::endl; + << static_cast(LSQ_queue[head].ins_imm) << std::endl; DEBUG_CERR << "\tROB_index=" << std::dec << static_cast(LSQ_queue[head].ins_ROB_index) - << std::endl; + << std::endl; request_data_output <= static_cast(LSQ_queue[head].V2); } else { throw std::runtime_error("Invalid instruction"); @@ -339,7 +340,7 @@ struct LoadStoreQueue : public dark::Module(LSQ_queue[16].V1) << std::endl; + << static_cast(LSQ_queue[16].V1) << std::endl; } }; } // namespace ZYM