From a7abf58e5eadbe3a5898d9a60f1e135aaa700c5d Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Wed, 30 Jan 2019 17:53:54 +0100 Subject: Display execution stage forward signals in the view. Signed-off-by: Pavel Pisa --- qtmips_machine/core.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'qtmips_machine/core.h') diff --git a/qtmips_machine/core.h b/qtmips_machine/core.h index b368b3b..386b486 100644 --- a/qtmips_machine/core.h +++ b/qtmips_machine/core.h @@ -21,6 +21,12 @@ public: unsigned cycles(); // Returns number of executed cycles + enum ForwardFrom { + FORWARD_NONE = 0b00, + FORWARD_FROM_W = 0b01, + FORWARD_FROM_M = 0b10, + }; + signals: void instruction_fetched(const machine::Instruction &inst); void instruction_decoded(const machine::Instruction &inst); @@ -43,6 +49,8 @@ signals: void execute_alu_value(std::uint32_t); void execute_reg1_value(std::uint32_t); void execute_reg2_value(std::uint32_t); + void execute_reg1_ff_value(std::uint32_t); + void execute_reg2_ff_value(std::uint32_t); void execute_immediate_value(std::uint32_t); void execute_regw_value(std::uint32_t); void execute_memtoreg_value(std::uint32_t); @@ -81,6 +89,8 @@ protected: enum MemoryAccess::AccessControl memctl; // Decoded memory access type std::uint32_t val_rs; // Value from register rs std::uint32_t val_rt; // Value from register rt + ForwardFrom ff_rs; + ForwardFrom ff_rt; }; struct dtExecute { Instruction inst; -- cgit v1.2.3