diff options
Diffstat (limited to 'qtmips_gui')
-rw-r--r-- | qtmips_gui/coreview.cpp | 20 | ||||
-rw-r--r-- | qtmips_gui/coreview.h | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/qtmips_gui/coreview.cpp b/qtmips_gui/coreview.cpp index b2d9b7d..d91def6 100644 --- a/qtmips_gui/coreview.cpp +++ b/qtmips_gui/coreview.cpp @@ -96,6 +96,16 @@ CoreViewScene::CoreViewScene(machine::QtMipsMachine *machine) : QGraphicsScene() con = new_bus(wb.mem_or_reg->connector_out(), regs->connector_write()); con->setAxes({CON_AXIS_Y(710), CON_AXIS_X(510), CON_AXIS_Y(172)}); + // Control unit labels + new_label("RegWrite", 300, 99); + new_label("MemToReg", 300, 106); + new_label("MemWrite", 300, 112); + new_label("MemRead", 300, 119); + new_label("AluCtrl", 300, 125); + new_label("AluSrc", 300, 132); + new_label("RegDest", 300, 138); + new_label("Branch", 300, 145); + // Decode stage values NEW_V(200, 200); // Instruction connect(machine->core(), SIGNAL(decode_instruction_value(std::uint32_t)), val, SLOT(value_update(std::uint32_t))); @@ -160,6 +170,16 @@ coreview::Signal *CoreViewScene::new_signal(const coreview::Connector *a, const return c; } +QGraphicsSimpleTextItem *CoreViewScene::new_label(const QString &str, qreal x, qreal y) { + QGraphicsSimpleTextItem *i= new QGraphicsSimpleTextItem(str); + QFont f; + f.setPointSize(5); + i->setFont(f); + addItem(i); + i->setPos(x, y); + return i; +} + CoreViewSceneSimple::CoreViewSceneSimple(machine::QtMipsMachine *machine) : CoreViewScene(machine) { NEW_I(instr_prim, 230, 60, instruction_fetched(const machine::Instruction&)); if (machine->config().delay_slot()) { diff --git a/qtmips_gui/coreview.h b/qtmips_gui/coreview.h index e4885d8..7197134 100644 --- a/qtmips_gui/coreview.h +++ b/qtmips_gui/coreview.h @@ -69,6 +69,7 @@ protected: 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*); + QGraphicsSimpleTextItem *new_label(const QString &str, qreal x, qreal y); coreview::Connection *pc2pc_latch; coreview::Connection *pc_latch2pc_joint, *pc_joint2pc_adder, *pc_joint2mem; coreview::Connection *pc_multiplexer2pc; |