diff --git a/DRAMSys/simulator/TraceSetup.cpp b/DRAMSys/simulator/TraceSetup.cpp
index 2ec971ef..40d80cb4 100644
--- a/DRAMSys/simulator/TraceSetup.cpp
+++ b/DRAMSys/simulator/TraceSetup.cpp
@@ -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;
diff --git a/DRAMSys/traceAnalyzer/simulationdialog.cpp b/DRAMSys/traceAnalyzer/simulationdialog.cpp
index 1cea4728..32ae659a 100644
--- a/DRAMSys/traceAnalyzer/simulationdialog.cpp
+++ b/DRAMSys/traceAnalyzer/simulationdialog.cpp
@@ -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()
diff --git a/DRAMSys/traceAnalyzer/simulationdialog.h b/DRAMSys/traceAnalyzer/simulationdialog.h
index c26fda33..b7355480 100644
--- a/DRAMSys/traceAnalyzer/simulationdialog.h
+++ b/DRAMSys/traceAnalyzer/simulationdialog.h
@@ -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();
diff --git a/DRAMSys/traceAnalyzer/simulationdialog.ui b/DRAMSys/traceAnalyzer/simulationdialog.ui
index 4041c770..f3dda234 100644
--- a/DRAMSys/traceAnalyzer/simulationdialog.ui
+++ b/DRAMSys/traceAnalyzer/simulationdialog.ui
@@ -6,8 +6,8 @@
0
0
- 884
- 522
+ 920
+ 620
@@ -25,36 +25,18 @@
-
-
-
-
+
-
+
- Browse...
+
-
-
- -
-
- Path to Json configuration...
+ Path to resource directory... (optional)
- -
-
-
- Path to DRAMSys...
-
-
-
- -
-
-
- DRAMSys:
-
-
-
- -
-
+
-
+
Browse...
@@ -67,17 +49,17 @@
- -
-
-
- Path to output directory...
+
-
+
+
+ Browse...
- -
-
+
-
+
- Browse...
+ DRAMSys:
@@ -88,6 +70,48 @@
+ -
+
+
+ Path to DRAMSys...
+
+
+
+ -
+
+
+ Browse...
+
+
+
+ -
+
+
+ Browse...
+
+
+
+ -
+
+
+ Path to output directory...
+
+
+
+ -
+
+
+ Path to Json configuration...
+
+
+
+ -
+
+
+ Resource directory:
+
+
+
-
@@ -323,6 +347,31 @@
+
+ dramSysPath
+ outputDirLineEdit
+ jsonPath
+ resourceDirLineEdit
+ browseDramSysButton
+ browseOutputButton
+ browseConfigButton
+ browseResourceDirButton
+ simulateButton
+ stopButton
+ tabWidget
+ reloadButton
+ simulationIdLineEdit
+ saveButton
+ closeButton
+ simConfigTextEdit
+ outputPlainTextEdit
+ memSpecTextEdit
+ thermalConfigTextEdit
+ traceSetupTextEdit
+ addressMappingTextEdit
+ mcConfigTextEdit
+ previewTextEdit
+