aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/coreview.h
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-01-18 19:54:00 +0100
committerKarel Kočí <cynerd@email.cz>2018-01-18 19:54:00 +0100
commit507e81b60af88721780a1eb5591d884d1667c4b4 (patch)
tree3a99b46ac8a7314391434b9c168793a60da1aa38 /qtmips_gui/coreview.h
parent4b409c4b684a0e418e648ecaca375af6e1cdd68c (diff)
downloadqtmips-507e81b60af88721780a1eb5591d884d1667c4b4.tar.gz
qtmips-507e81b60af88721780a1eb5591d884d1667c4b4.tar.bz2
qtmips-507e81b60af88721780a1eb5591d884d1667c4b4.zip
More work on coreview
Diffstat (limited to 'qtmips_gui/coreview.h')
-rw-r--r--qtmips_gui/coreview.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/qtmips_gui/coreview.h b/qtmips_gui/coreview.h
index 25b96e3..ff2cbe2 100644
--- a/qtmips_gui/coreview.h
+++ b/qtmips_gui/coreview.h
@@ -40,7 +40,10 @@ signals:
void request_data_memory();
void request_program_memory();
-private:
+protected:
+ coreview::ProgramMemory *mem_program;
+ coreview::DataMemory *mem_data;
+ coreview::Registers *regs;
struct {
coreview::ProgramCounter *pc;
coreview::Latch *latch;
@@ -48,13 +51,14 @@ private:
coreview::Constant *adder_4;
coreview::Junction *junction;
coreview::Multiplexer *multiplex;
- } pc;
- coreview::LogicBlock *ctl_block;
+ } ft;
+ struct {
+ coreview::LogicBlock *ctl_block, *sign_ext, *shift2;
+ coreview::Adder *add;
+ coreview::Junction *j_sign_ext;
+ } dc;
coreview::Alu *alu;
- coreview::Memory *mem;
- coreview::Registers *regs;
coreview::Multiplexer *mem_or_reg;
- coreview::InstructionView *instr_fetch;
QVector<coreview::Connection*> connections;
coreview::Connection *new_connection(const coreview::Connector*, const coreview::Connector*);
@@ -79,8 +83,8 @@ public:
private:
coreview::Latch *latch_if_id, *latch_id_ex, *latch_ex_mem, *latch_mem_wb;
- coreview::InstructionView *inst_dec, *inst_exec, *inst_mem, *inst_wrb;
- // TODO forwarding unit
+ coreview::InstructionView *inst_fetch, *inst_dec, *inst_exec, *inst_mem, *inst_wrb;
+ coreview::LogicBlock *hazard_unit;
};
#else