diff options
author | bd <bdunahu@operationnull.com> | 2025-04-18 20:49:50 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-04-18 20:49:50 -0400 |
commit | c270fb1b6cbdc9f84c861210e69e6865170d9793 (patch) | |
tree | 553a69390ffc81e5960a70c2732efb3cc3cdc70c | |
parent | 5c2de6eccd2d4b32ce81082b82917e8768394ed1 (diff) |
Display squashed, swap text entry to labels in stage view
-rw-r--r-- | gui/gui.cc | 55 | ||||
-rw-r--r-- | gui/gui.ui | 238 | ||||
-rw-r--r-- | src/sim/id.cc | 2 | ||||
-rw-r--r-- | src/sim/if.cc | 2 | ||||
-rw-r--r-- | src/sim/stage.cc | 2 |
5 files changed, 154 insertions, 145 deletions
@@ -163,42 +163,35 @@ void GUI::onWorkerClockCycles(int cycles, int pc) { } void GUI::onWorkerFetchInfo(const std::vector<int> info) { - //QString::asprintf("%04X", value) - if(!info.empty()) { - ui->fetch_pc->setText(QString::number(info[0])); - ui->fetch_instruction_bits->setText(QString::asprintf("%04X", info[1])); + if (!info.empty()) { + ui->fetch_squashed->setText(QString::number(info[0])); + ui->fetch_bits->setText(QString::asprintf("%04X", info[1])); } else { - ui->fetch_pc->clear(); - ui->fetch_instruction_bits->clear(); + ui->fetch_squashed->clear(); + ui->fetch_bits->clear(); } } void GUI::onWorkerDecodeInfo(const std::vector<int> info) { if(!info.empty()) { - // ui->decode_mnemonic->setText(mnemonicToString((Mnemonic)info[0])); - ui->decode_pc->setText(QString::number(info[0])); - ui->decode_s1->setText(QString::asprintf("%04X", info[1])); - // ui->decode_s2->setText(QString::asprintf("%04X", info[3])); - // ui->decode_s3->setText(QString::asprintf("%04X", info[4])); + ui->decode_squashed->setText(QString::number(info[0])); + ui->decode_bits->setText(QString::asprintf("%04X", info[1])); } else { - // ui->decode_mnemonic->clear(); - ui->decode_pc->clear(); - ui->decode_s1->clear(); - // ui->decode_s2->clear(); - // ui->decode_s3->clear(); + ui->decode_squashed->clear(); + ui->decode_bits->clear(); } } void GUI::onWorkerExecuteInfo(const std::vector<int> info) { if(!info.empty()) { - ui->execute_mnemonic->setText(mnemonicToString((Mnemonic)info[0])); - ui->execute_pc->setText(QString::number(info[1])); + ui->execute_mnemonic->setText(mnemonicToString((Mnemonic)info[0])); + ui->execute_squashed->setText(QString::number(info[1])); ui->execute_s1->setText(QString::asprintf("%04X", info[2])); ui->execute_s2->setText(QString::asprintf("%04X", info[3])); ui->execute_s3->setText(QString::asprintf("%04X", info[4])); } else { ui->execute_mnemonic->clear(); - ui->execute_pc->clear(); + ui->execute_squashed->clear(); ui->execute_s1->clear(); ui->execute_s2->clear(); ui->execute_s3->clear(); @@ -207,14 +200,14 @@ void GUI::onWorkerExecuteInfo(const std::vector<int> info) { void GUI::onWorkerMemoryInfo(const std::vector<int> info) { if(!info.empty()) { - ui->memory_mnemonic->setText(mnemonicToString((Mnemonic)info[0])); - ui->memory_pc->setText(QString::number(info[1])); + ui->memory_mnemonic->setText(mnemonicToString((Mnemonic)info[0])); + ui->memory_squashed->setText(QString::number(info[1])); ui->memory_s1->setText(QString::asprintf("%04X", info[2])); ui->memory_s2->setText(QString::asprintf("%04X", info[3])); ui->memory_s3->setText(QString::asprintf("%04X", info[4])); } else { ui->memory_mnemonic->clear(); - ui->memory_pc->clear(); + ui->memory_squashed->clear(); ui->memory_s1->clear(); ui->memory_s2->clear(); ui->memory_s3->clear(); @@ -223,17 +216,15 @@ void GUI::onWorkerMemoryInfo(const std::vector<int> info) { void GUI::onWorkerWriteBackInfo(const std::vector<int> info) { if(!info.empty()) { - ui->wb_mnemonic->setText(mnemonicToString((Mnemonic)info[0])); - ui->wb_pc->setText(QString::number(info[1])); - ui->wb_s1->setText(QString::asprintf("%04X", info[2])); - ui->wb_s2->setText(QString::asprintf("%04X", info[3])); - ui->wb_s3->setText(QString::asprintf("%04X", info[4])); + ui->write_mnemonic->setText(mnemonicToString((Mnemonic)info[0])); + ui->write_s1->setText(QString::asprintf("%04X", info[2])); + ui->write_s2->setText(QString::asprintf("%04X", info[3])); + ui->write_s3->setText(QString::asprintf("%04X", info[4])); } else { - ui->wb_mnemonic->clear(); - ui->wb_pc->clear(); - ui->wb_s1->clear(); - ui->wb_s2->clear(); - ui->wb_s3->clear(); + ui->write_mnemonic->clear(); + ui->write_s1->clear(); + ui->write_s2->clear(); + ui->write_s3->clear(); } } @@ -121,6 +121,12 @@ <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QGroupBox" name="Fetch"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> <property name="title"> <string>Fetch</string> </property> @@ -129,15 +135,15 @@ </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> - <widget class="QLineEdit" name="fetch_instruction_bits"> - <property name="placeholderText"> + <widget class="QLabel" name="fetch_bits"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="fetch_pc"> - <property name="placeholderText"> + <widget class="QLabel" name="fetch_squashed"> + <property name="text"> <string/> </property> </widget> @@ -154,6 +160,12 @@ </item> <item> <widget class="QGroupBox" name="Decode"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> <property name="title"> <string>Decode</string> </property> @@ -162,16 +174,16 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <widget class="QLineEdit" name="decode_s1"> - <property name="placeholderText"> - <string> </string> + <widget class="QLabel" name="decode_bits"> + <property name="text"> + <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="decode_pc"> - <property name="placeholderText"> - <string> </string> + <widget class="QLabel" name="decode_squashed"> + <property name="text"> + <string/> </property> </widget> </item> @@ -187,6 +199,12 @@ </item> <item> <widget class="QGroupBox" name="Execute"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> <property name="title"> <string>Execute</string> </property> @@ -195,41 +213,41 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <widget class="QLineEdit" name="execute_s1"> - <property name="placeholderText"> + <widget class="QLabel" name="execute_s1"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="execute_s2"> + <widget class="QLabel" name="execute_s2"> <property name="text"> <string/> </property> - <property name="placeholderText"> - <string/> - </property> </widget> </item> <item> - <widget class="QLineEdit" name="execute_s3"> - <property name="placeholderText"> + <widget class="QLabel" name="execute_s3"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="execute_mnemonic"> - <property name="placeholderText"> + <widget class="QLabel" name="execute_mnemonic"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="execute_pc"> - <property name="placeholderText"> + <widget class="QLabel" name="execute_squashed"> + <property name="text"> <string/> </property> + <property name="textFormat"> + <enum>Qt::TextFormat::MarkdownText</enum> + </property> </widget> </item> </layout> @@ -244,6 +262,12 @@ </item> <item> <widget class="QGroupBox" name="Memory"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> <property name="title"> <string>Memory</string> </property> @@ -252,39 +276,36 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_4"> <item> - <widget class="QLineEdit" name="memory_s1"> - <property name="placeholderText"> + <widget class="QLabel" name="memory_s1"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="memory_s2"> + <widget class="QLabel" name="memory_s2"> <property name="text"> <string/> </property> - <property name="placeholderText"> - <string/> - </property> </widget> </item> <item> - <widget class="QLineEdit" name="memory_s3"> - <property name="placeholderText"> + <widget class="QLabel" name="memory_s3"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="memory_mnemonic"> - <property name="placeholderText"> + <widget class="QLabel" name="memory_mnemonic"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="memory_pc"> - <property name="placeholderText"> + <widget class="QLabel" name="memory_squashed"> + <property name="text"> <string/> </property> </widget> @@ -301,6 +322,12 @@ </item> <item> <widget class="QGroupBox" name="WriteBack"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> <property name="title"> <string>Write Back</string> </property> @@ -309,39 +336,29 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_5"> <item> - <widget class="QLineEdit" name="wb_s1"> - <property name="placeholderText"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="wb_s2"> + <widget class="QLabel" name="write_s1"> <property name="text"> <string/> </property> - <property name="placeholderText"> - <string/> - </property> </widget> </item> <item> - <widget class="QLineEdit" name="wb_s3"> - <property name="placeholderText"> + <widget class="QLabel" name="write_s2"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="wb_mnemonic"> - <property name="placeholderText"> + <widget class="QLabel" name="write_s3"> + <property name="text"> <string/> </property> </widget> </item> <item> - <widget class="QLineEdit" name="wb_pc"> - <property name="placeholderText"> + <widget class="QLabel" name="write_mnemonic"> + <property name="text"> <string/> </property> </widget> @@ -412,64 +429,6 @@ <item row="0" column="3"> <layout class="QVBoxLayout" name="verticalLayout_23"> <item> - <layout class="QVBoxLayout" name="verticalLayout_24"> - <item> - <widget class="QLabel" name="label_12"> - <property name="font"> - <font> - <bold>true</bold> - </font> - </property> - <property name="text"> - <string>Upload Files</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line_33"> - <property name="orientation"> - <enum>Qt::Orientation::Horizontal</enum> - </property> - </widget> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout_25"> - <item> - <widget class="QPushButton" name="upload_intructions_btn"> - <property name="text"> - <string>Upload Instruction File</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="upload_program_state_btn"> - <property name="text"> - <string>Upload Program State File</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="save_program_state_btn"> - <property name="text"> - <string>Save Current Program State</string> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_8"/> - </item> - </layout> - </item> - <item> - <widget class="Line" name="line_34"> - <property name="orientation"> - <enum>Qt::Orientation::Horizontal</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> <layout class="QVBoxLayout" name="verticalLayout_26"> <item> <widget class="QLabel" name="label_13"> @@ -573,7 +532,66 @@ </widget> </item> <item> - <layout class="QVBoxLayout" name="verticalLayout_29"/> + <layout class="QVBoxLayout" name="verticalLayout_29"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_24"> + <item> + <widget class="QLabel" name="label_12"> + <property name="font"> + <font> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>Upload Files</string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_33"> + <property name="orientation"> + <enum>Qt::Orientation::Horizontal</enum> + </property> + </widget> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_25"> + <item> + <widget class="QPushButton" name="upload_intructions_btn"> + <property name="text"> + <string>Load Instructions</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="upload_program_state_btn"> + <property name="text"> + <string>Upload Program State</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="save_program_state_btn"> + <property name="text"> + <string>Save Program State</string> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_8"/> + </item> + </layout> + </item> + <item> + <widget class="Line" name="line_34"> + <property name="orientation"> + <enum>Qt::Orientation::Horizontal</enum> + </property> + </widget> + </item> + </layout> + </item> + </layout> </item> </layout> </item> diff --git a/src/sim/id.cc b/src/sim/id.cc index d10d695..59eefda 100644 --- a/src/sim/id.cc +++ b/src/sim/id.cc @@ -204,7 +204,7 @@ std::vector<int> ID::stage_info() { std::vector<int> info; if (this->curr_instr) { - info.push_back(this->curr_instr->get_pc()); + info.push_back(this->curr_instr->is_squashed()); info.push_back(this->curr_instr->get_instr_bits()); } return info; diff --git a/src/sim/if.cc b/src/sim/if.cc index 6494912..5f23115 100644 --- a/src/sim/if.cc +++ b/src/sim/if.cc @@ -26,7 +26,7 @@ InstrDTO *IF::advance(Response p) std::vector<int> IF::stage_info() { std::vector<int> info; if(this->curr_instr){ - info.push_back(this->curr_instr->get_pc()); + info.push_back(this->curr_instr->is_squashed()); info.push_back(this->curr_instr->get_instr_bits()); } return info; diff --git a/src/sim/stage.cc b/src/sim/stage.cc index d65ca87..5819543 100644 --- a/src/sim/stage.cc +++ b/src/sim/stage.cc @@ -59,7 +59,7 @@ std::vector<int> Stage::stage_info() std::vector<int> info; if (this->curr_instr) { info.push_back(this->curr_instr->get_mnemonic()); - info.push_back(this->curr_instr->get_pc()); + info.push_back(this->curr_instr->is_squashed()); info.push_back(this->curr_instr->get_s1()); info.push_back(this->curr_instr->get_s2()); info.push_back(this->curr_instr->get_s3()); |