Skip to content

Commit

Permalink
Add trace widgets to GUI
Browse files Browse the repository at this point in the history
  • Loading branch information
adumont committed Oct 4, 2020
1 parent 5fa8013 commit 64ad230
Show file tree
Hide file tree
Showing 3 changed files with 261 additions and 3 deletions.
24 changes: 24 additions & 0 deletions gui/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ void MainWindow::updateUI()

// update INPUTS before we EVAL()
top->cpu_in_wr = ui->pbPUSH->isChecked();
top->cpu_dmp_chip_select = ui->dmp_module->value();
top->cpu_dmp_fifo_pos = ui->dmp_position->value();

// int x;
// std::stringstream ss;
Expand Down Expand Up @@ -315,6 +317,10 @@ void MainWindow::updateUI()
ui->led_cs_XALU->setState( top->hrmcpu__DOT__MEMORY0__DOT__mem_wrapper0__DOT__cs_XALU );
ui->led_cs_LEDS->setState( top->hrmcpu__DOT__MEMORY0__DOT__mem_wrapper0__DOT__cs_LEDS );
ui->led_cs_RAND->setState( top->hrmcpu__DOT__MEMORY0__DOT__mem_wrapper0__DOT__cs_RAND );

// Update debug (dump) values
ui->led_dmp_valid->setState( top->cpu_dmp_valid );
ui->dmp_value->setText(formatData( top->cpu_dmp_data ));
}

void MainWindow::highlightLabel(QWidget *qw, bool signal) {
Expand Down Expand Up @@ -468,3 +474,21 @@ void MainWindow::on_pbINSTR_pressed()
clkTick();
}
}

void MainWindow::on_dmp_module_valueChanged(int arg1)
{
updateUI();
}

void MainWindow::on_dmp_position_valueChanged(int arg1)
{
updateUI();
}

void MainWindow::on_pbHold_toggled(bool checked)
{
ui->pbINSTR->setDisabled(checked);

top->cpu_hold=checked;
updateUI();
}
6 changes: 6 additions & 0 deletions gui/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,12 @@ private slots:

void on_pbINSTR_pressed();

void on_dmp_module_valueChanged(int arg1);

void on_dmp_position_valueChanged(int arg1);

void on_pbHold_toggled(bool checked);

private:
Ui::MainWindow *ui;
QTimer *m_timer;
Expand Down
234 changes: 231 additions & 3 deletions gui/mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -905,6 +905,9 @@
<height>20</height>
</rect>
</property>
<property name="toolTip">
<string>Run clock continuously</string>
</property>
<property name="text">
<string>Run (F5)</string>
</property>
Expand All @@ -922,7 +925,7 @@
</rect>
</property>
<property name="toolTip">
<string>Advance a clock tick</string>
<string>Advance one clock tick</string>
</property>
<property name="text">
<string>Tick (F3)</string>
Expand All @@ -937,6 +940,9 @@
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Reset the circuit (don't forget to run a few clock ticks)</string>
</property>
<property name="text">
<string>Reset</string>
</property>
Expand Down Expand Up @@ -1026,7 +1032,7 @@
<widget class="QLabel" name="label_5">
<property name="geometry">
<rect>
<x>237</x>
<x>170</x>
<y>74</y>
<width>30</width>
<height>10</height>
Expand All @@ -1042,7 +1048,7 @@
<widget class="MLed" name="led_halt">
<property name="geometry">
<rect>
<x>226</x>
<x>159</x>
<y>75</y>
<width>10</width>
<height>10</height>
Expand Down Expand Up @@ -1074,6 +1080,25 @@
<string>Instr (F4)</string>
</property>
</widget>
<widget class="QPushButton" name="pbHold">
<property name="geometry">
<rect>
<x>223</x>
<y>71</y>
<width>60</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Hold the ControlUnit execution. All other components will still receive clock signal.</string>
</property>
<property name="text">
<string>Hold</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="gMEMORY">
<property name="geometry">
Expand Down Expand Up @@ -2393,6 +2418,209 @@
</property>
</widget>
</widget>
<widget class="QGroupBox" name="gDebug">
<property name="geometry">
<rect>
<x>900</x>
<y>0</y>
<width>81</width>
<height>161</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="title">
<string>Debug</string>
</property>
<widget class="QLabel" name="label_42">
<property name="geometry">
<rect>
<x>7</x>
<y>21</y>
<width>71</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Monospace</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>module:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QLabel" name="label_43">
<property name="geometry">
<rect>
<x>5</x>
<y>61</y>
<width>71</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Monospace</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>position:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QLabel" name="label_44">
<property name="geometry">
<rect>
<x>7</x>
<y>141</y>
<width>51</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Monospace</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>valid</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="MLed" name="led_dmp_valid">
<property name="geometry">
<rect>
<x>61</x>
<y>146</y>
<width>10</width>
<height>10</height>
</rect>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="assets.qrc">:/assets/leds/assets/leds/green_off.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
<widget class="QSpinBox" name="dmp_position">
<property name="geometry">
<rect>
<x>10</x>
<y>79</y>
<width>61</width>
<height>23</height>
</rect>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>255</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
<widget class="QSpinBox" name="dmp_module">
<property name="geometry">
<rect>
<x>10</x>
<y>39</y>
<width>61</width>
<height>23</height>
</rect>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>6</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
<widget class="QLabel" name="label_45">
<property name="geometry">
<rect>
<x>7</x>
<y>102</y>
<width>61</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<family>Monospace</family>
<pointsize>9</pointsize>
</font>
</property>
<property name="text">
<string>value:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QLabel" name="dmp_value">
<property name="geometry">
<rect>
<x>10</x>
<y>120</y>
<width>61</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<family>Monospace</family>
<pointsize>9</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="frameShape">
<enum>QFrame::Panel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string>AA</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</widget>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
Expand Down

0 comments on commit 64ad230

Please sign in to comment.