From f9e5214e87a935e1311b886e44bdfe1f8bfbdf56 Mon Sep 17 00:00:00 2001 From: Siddarth-Suresh <65844402+Siddarth-Suresh@users.noreply.github.com> Date: Tue, 15 Apr 2025 11:59:27 -0400 Subject: Added pipeline to GUI --- src/sim/id.cc | 9 +++++++++ src/sim/if.cc | 9 +++++++++ src/sim/stage.cc | 12 ++++++++++++ 3 files changed, 30 insertions(+) (limited to 'src') diff --git a/src/sim/id.cc b/src/sim/id.cc index 0c0be91..46694ad 100644 --- a/src/sim/id.cc +++ b/src/sim/id.cc @@ -142,3 +142,12 @@ void ID::decode_J_type(signed int &s1, signed int &s2, signed int &s3) this->status = this->read_guard(*&s1); } + +std::vector ID::stage_info() { + std::vector info; + if(this->curr_instr){ + info.push_back(this->curr_instr->get_pc()); + info.push_back(this->curr_instr->get_instr_bits()); + } + return info; +} diff --git a/src/sim/if.cc b/src/sim/if.cc index 4ab7f3e..fb49749 100644 --- a/src/sim/if.cc +++ b/src/sim/if.cc @@ -23,6 +23,15 @@ InstrDTO *IF::advance(Response p) return r; } +std::vector IF::stage_info() { + std::vector info; + if(this->curr_instr){ + info.push_back(this->curr_instr->get_pc()); + info.push_back(this->curr_instr->get_instr_bits()); + } + return info; +} + void IF::advance_helper() { Response r; diff --git a/src/sim/stage.cc b/src/sim/stage.cc index 2857e1f..8a570f0 100644 --- a/src/sim/stage.cc +++ b/src/sim/stage.cc @@ -53,6 +53,18 @@ InstrDTO *Stage::advance(Response p) return r; } +std::vector Stage::stage_info() { + std::vector info; + if(this->curr_instr){ + info.push_back(this->curr_instr->get_mnemonic()); + info.push_back(this->curr_instr->get_pc()); + info.push_back(this->curr_instr->get_s1()); + info.push_back(this->curr_instr->get_s2()); + info.push_back(this->curr_instr->get_s3()); + } + return info; + } + void Stage::set_condition(CC c, bool v) { if (v) -- cgit v1.2.3