Make resource path configurable in TraceAnalyzer

This commit is contained in:
2021-11-09 14:38:26 +01:00
parent 5c300a2cfe
commit 71eed44060
4 changed files with 110 additions and 35 deletions

View File

@@ -82,7 +82,7 @@ TraceSetup::TraceSetup(const DRAMSysConfiguration::TraceSetup &traceSetup,
std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower);
std::stringstream stlFileStream;
stlFileStream << pathToResources << "traces/" << name;
stlFileStream << pathToResources << "/traces/" << name;
std::string stlFile = stlFileStream.str();
std::string moduleName = name;

View File

@@ -88,6 +88,24 @@ void SimulationDialog::on_browseConfigButton_clicked()
loadConfigurationFromPath();
}
void SimulationDialog::on_browseOutputButton_clicked()
{
QString fileName =
QFileDialog::getExistingDirectory(this, ui->browseOutputButton->text(), {});
ui->outputDirLineEdit->setText(fileName);
loadConfigurationFromPath();
}
void SimulationDialog::on_browseResourceDirButton_clicked()
{
QString fileName =
QFileDialog::getExistingDirectory(this, ui->browseResourceDirButton->text(), {});
ui->resourceDirLineEdit->setText(fileName);
loadConfigurationFromPath();
}
void SimulationDialog::on_simulateButton_clicked()
{
saveConfiguration(temporaryConfigurationFile);
@@ -139,8 +157,14 @@ void SimulationDialog::on_simulateButton_clicked()
}
});
QStringList argumentList;
argumentList << temporaryConfigurationFile.fileName();
if (!ui->resourceDirLineEdit->text().isEmpty())
argumentList << ui->resourceDirLineEdit->text();
simulatorProcess->setWorkingDirectory(ui->outputDirLineEdit->text());
simulatorProcess->start(ui->dramSysPath->text(), QStringList(temporaryConfigurationFile.fileName()));
simulatorProcess->start(ui->dramSysPath->text(), argumentList);
}
void SimulationDialog::on_reloadButton_clicked()

View File

@@ -64,6 +64,8 @@ signals:
private Q_SLOTS:
void on_browseDramSysButton_clicked();
void on_browseConfigButton_clicked();
void on_browseOutputButton_clicked();
void on_browseResourceDirButton_clicked();
void on_simulateButton_clicked();
void on_reloadButton_clicked();
void on_saveButton_clicked();

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>884</width>
<height>522</height>
<width>920</width>
<height>620</height>
</rect>
</property>
<property name="font">
@@ -25,36 +25,18 @@
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="browseLayout">
<item row="2" column="2">
<widget class="QPushButton" name="browseConfigButton">
<item row="3" column="2">
<widget class="QLineEdit" name="resourceDirLineEdit">
<property name="text">
<string>Browse...</string>
<string/>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="jsonPath">
<property name="placeholderText">
<string>Path to Json configuration...</string>
<string>Path to resource directory... (optional)</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="dramSysPath">
<property name="placeholderText">
<string>Path to DRAMSys...</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="dramSysLabel">
<property name="text">
<string>DRAMSys:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="browseDramSysButton">
<item row="1" column="3">
<widget class="QPushButton" name="browseOutputButton">
<property name="text">
<string>Browse...</string>
</property>
@@ -67,17 +49,17 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="outputDirLineEdit">
<property name="placeholderText">
<string>Path to output directory...</string>
<item row="2" column="3">
<widget class="QPushButton" name="browseConfigButton">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="browseOutputButton">
<item row="0" column="0">
<widget class="QLabel" name="dramSysLabel">
<property name="text">
<string>Browse...</string>
<string>DRAMSys:</string>
</property>
</widget>
</item>
@@ -88,6 +70,48 @@
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="dramSysPath">
<property name="placeholderText">
<string>Path to DRAMSys...</string>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QPushButton" name="browseResourceDirButton">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="browseDramSysButton">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="outputDirLineEdit">
<property name="placeholderText">
<string>Path to output directory...</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="jsonPath">
<property name="placeholderText">
<string>Path to Json configuration...</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="resourceDirectoryLabel">
<property name="text">
<string>Resource directory:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
@@ -323,6 +347,31 @@
</item>
</layout>
</widget>
<tabstops>
<tabstop>dramSysPath</tabstop>
<tabstop>outputDirLineEdit</tabstop>
<tabstop>jsonPath</tabstop>
<tabstop>resourceDirLineEdit</tabstop>
<tabstop>browseDramSysButton</tabstop>
<tabstop>browseOutputButton</tabstop>
<tabstop>browseConfigButton</tabstop>
<tabstop>browseResourceDirButton</tabstop>
<tabstop>simulateButton</tabstop>
<tabstop>stopButton</tabstop>
<tabstop>tabWidget</tabstop>
<tabstop>reloadButton</tabstop>
<tabstop>simulationIdLineEdit</tabstop>
<tabstop>saveButton</tabstop>
<tabstop>closeButton</tabstop>
<tabstop>simConfigTextEdit</tabstop>
<tabstop>outputPlainTextEdit</tabstop>
<tabstop>memSpecTextEdit</tabstop>
<tabstop>thermalConfigTextEdit</tabstop>
<tabstop>traceSetupTextEdit</tabstop>
<tabstop>addressMappingTextEdit</tabstop>
<tabstop>mcConfigTextEdit</tabstop>
<tabstop>previewTextEdit</tabstop>
</tabstops>
<resources/>
<connections>
<connection>