aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/core.h
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-24 01:09:41 +0100
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-24 01:09:41 +0100
commit75ff39499dbf285257dabf1258f35f543d713c0a (patch)
tree4d82b9e21ea7fe83a5b610b696db12f121b0fd71 /qtmips_machine/core.h
parentdb9f47e36ff7df08d75a59055d5321dd9c56d66c (diff)
downloadqtmips-75ff39499dbf285257dabf1258f35f543d713c0a.tar.gz
qtmips-75ff39499dbf285257dabf1258f35f543d713c0a.tar.bz2
qtmips-75ff39499dbf285257dabf1258f35f543d713c0a.zip
Add some more labels and clarify rs, rt, rd in execute stage.
This allows simple visual compare of rs and rt in execution stage with register number to be written in memory and write-back stages. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_machine/core.h')
-rw-r--r--qtmips_machine/core.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/qtmips_machine/core.h b/qtmips_machine/core.h
index 8140f61..f70a19d 100644
--- a/qtmips_machine/core.h
+++ b/qtmips_machine/core.h
@@ -137,6 +137,9 @@ signals:
void execute_regdest_value(std::uint32_t);
void execute_regw_num_value(std::uint32_t);
void execute_stall_forward_value(std::uint32_t);
+ void execute_rs_num_value(std::uint32_t);
+ void execute_rt_num_value(std::uint32_t);
+ void execute_rd_num_value(std::uint32_t);
void memory_inst_addr_value(std::uint32_t);
void memory_alu_value(std::uint32_t);
void memory_rt_value(std::uint32_t);
@@ -198,6 +201,9 @@ protected:
bool forward_m_d_rt; // forwarding required for beq, bne
enum AluOp aluop; // Decoded ALU operation
enum AccessControl memctl; // Decoded memory access type
+ std::uint8_t num_rs; // Number of the register s
+ std::uint8_t num_rt; // Number of the register t
+ std::uint8_t num_rd; // Number of the register d
std::uint32_t val_rs; // Value from register rs
std::uint32_t val_rt; // Value from register rt
std::uint32_t immediate_val; // zero or sign-extended immediate value