From 71eed44060d7e362fc6052be4bb6b2b99ef4ddf2 Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Tue, 9 Nov 2021 14:38:26 +0100 Subject: [PATCH] Make resource path configurable in TraceAnalyzer --- DRAMSys/simulator/TraceSetup.cpp | 2 +- DRAMSys/traceAnalyzer/simulationdialog.cpp | 26 ++++- DRAMSys/traceAnalyzer/simulationdialog.h | 2 + DRAMSys/traceAnalyzer/simulationdialog.ui | 115 +++++++++++++++------ 4 files changed, 110 insertions(+), 35 deletions(-) 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 +