aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/coreview.h
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-01-21 11:36:34 +0100
committerKarel Kočí <cynerd@email.cz>2018-01-21 11:36:34 +0100
commit16b1544fff7e9ca11deb3ae1b891c79eac7ec50e (patch)
treee9f04ca11d330e1e47469bb7471d6abcb25c8d49 /qtmips_gui/coreview.h
parent507e81b60af88721780a1eb5591d884d1667c4b4 (diff)
downloadqtmips-16b1544fff7e9ca11deb3ae1b891c79eac7ec50e.tar.gz
qtmips-16b1544fff7e9ca11deb3ae1b891c79eac7ec50e.tar.bz2
qtmips-16b1544fff7e9ca11deb3ae1b891c79eac7ec50e.zip
Implement little bit more of scheme and fix connection angle
This commit adds few more bits to scheme but mainly it chnages how connectors specify angles. Originally it was in radians but we was mapping that trough mathematical operations directly to sizes. But that was problematic because of floating point inacuracy and we sometimes founded intersection where there should be one. So this commit gets rid of this at all and instead allows just some fixes axes to be used instead of arbitrary angles.
Diffstat (limited to 'qtmips_gui/coreview.h')
-rw-r--r--qtmips_gui/coreview.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/qtmips_gui/coreview.h b/qtmips_gui/coreview.h
index ff2cbe2..edc970c 100644
--- a/qtmips_gui/coreview.h
+++ b/qtmips_gui/coreview.h
@@ -16,6 +16,7 @@
#include "coreview/junction.h"
#include "coreview/constant.h"
#include "coreview/logicblock.h"
+#include "coreview/and.h"
class CoreView : public QGraphicsView {
public:
@@ -49,19 +50,24 @@ protected:
coreview::Latch *latch;
coreview::Adder *adder;
coreview::Constant *adder_4;
- coreview::Junction *junction;
+ coreview::Junction *junc_pc, *junc_pc_4;
coreview::Multiplexer *multiplex;
} ft;
struct {
- coreview::LogicBlock *ctl_block, *sign_ext, *shift2;
+ coreview::LogicBlock *ctl_block, *sign_ext, *shift2, *cmp;
coreview::Adder *add;
coreview::Junction *j_sign_ext;
+ coreview::And *and_branch;
+ coreview::Junction *j_inst_up, *j_inst_down;
+ coreview::Bus *instr_bus;
} dc;
coreview::Alu *alu;
coreview::Multiplexer *mem_or_reg;
QVector<coreview::Connection*> connections;
coreview::Connection *new_connection(const coreview::Connector*, const coreview::Connector*);
+ coreview::Bus *new_bus(const coreview::Connector*, const coreview::Connector*, unsigned width = 4);
+ coreview::Signal *new_signal(const coreview::Connector*, const coreview::Connector*);
coreview::Connection *pc2pc_latch;
coreview::Connection *pc_latch2pc_joint, *pc_joint2pc_adder, *pc_joint2mem;
coreview::Connection *pc_multiplexer2pc;