Added numberOfRanks to database.
This commit is contained in:
@@ -18,6 +18,7 @@ CREATE TABLE Phases(
|
||||
CREATE TABLE GeneralInfo(
|
||||
NumberOfTransactions INTEGER,
|
||||
TraceEnd INTEGER,
|
||||
NumberOfRanks INTEGER,
|
||||
NumberOfBanks INTEGER,
|
||||
clk INTEGER,
|
||||
UnitOfTime TEXT,
|
||||
|
||||
@@ -273,7 +273,8 @@ void TlmRecorder::setUpTransactionTerminatingPhases()
|
||||
void TlmRecorder::prepareSqlStatements()
|
||||
{
|
||||
insertTransactionString =
|
||||
"INSERT INTO Transactions VALUES (:id,:rangeID,:address,:burstlength,:thread,:channel,:rank,:bankgroup,:bank,:row,:column,:dataStrobeBegin,:dataStrobeEnd, :timeOfGeneration,:command)";
|
||||
"INSERT INTO Transactions VALUES (:id,:rangeID,:address,:burstlength,:thread,:channel,:rank,"
|
||||
":bankgroup,:bank,:row,:column,:dataStrobeBegin,:dataStrobeEnd, :timeOfGeneration,:command)";
|
||||
insertRangeString = "INSERT INTO Ranges VALUES (:id,:begin,:end)";
|
||||
updateRangeString = "UPDATE Ranges SET End = :end WHERE ID = :id";
|
||||
updateDataStrobeString =
|
||||
@@ -284,8 +285,9 @@ void TlmRecorder::prepareSqlStatements()
|
||||
updatePhaseString =
|
||||
"UPDATE Phases SET PhaseEnd = :end WHERE Transact = :trans AND PhaseName = :name";
|
||||
insertGeneralInfoString =
|
||||
"INSERT INTO GeneralInfo (NumberOfTransactions,TraceEnd,NumberOfBanks,clk,UnitOfTime,MCconfig,Memspec,Traces, WindowSize, FlexibleRefresh, MaxRefBurst, ControllerThread) VALUES"
|
||||
"(:numberOfTransactions,:end,:numberOfBanks,:clk,:unitOfTime,:mcconfig,:memspec,:traces,:windowSize, :flexibleRefresh, :maxRefBurst, :controllerThread)";
|
||||
"INSERT INTO GeneralInfo VALUES"
|
||||
"(:numberOfTransactions,:end,:numberOfRanks,:numberOfBanks,:clk,:unitOfTime,:mcconfig,:memspec,"
|
||||
":traces,:windowSize, :flexibleRefresh, :maxRefBurst, :controllerThread)";
|
||||
insertCommandLengthsString =
|
||||
"INSERT INTO CommandLengths VALUES"
|
||||
"(:ACT, :PRE, :PREA, :RD, :RDA, :WR, :WRA, :REFA, :REFB, :PDEA, :PDXA, :PDEP, :PDXP, :SREFEN, :SREFEX)";
|
||||
@@ -324,33 +326,35 @@ void TlmRecorder::insertGeneralInfo()
|
||||
sqlite3_bind_int64(insertGeneralInfoStatement, 2,
|
||||
simulationTimeCoveredByRecording.value());
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 3,
|
||||
Configuration::getInstance().memSpec->NumberOfBanks);
|
||||
Configuration::getInstance().memSpec->NumberOfRanks);
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 4,
|
||||
Configuration::getInstance().memSpec->NumberOfBanks);
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 5,
|
||||
Configuration::getInstance().memSpec->clk.value());
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 5, "PS", 2, NULL);
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 6, mcconfig.c_str(),
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 6, "PS", 2, NULL);
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 7, mcconfig.c_str(),
|
||||
mcconfig.length(), NULL);
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 7, memspec.c_str(),
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 8, memspec.c_str(),
|
||||
memspec.length(), NULL);
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 8, traces.c_str(),
|
||||
sqlite3_bind_text(insertGeneralInfoStatement, 9, traces.c_str(),
|
||||
traces.length(), NULL);
|
||||
if (!Configuration::getInstance().EnableWindowing)
|
||||
sqlite3_bind_int64(insertGeneralInfoStatement, 9, 0);
|
||||
sqlite3_bind_int64(insertGeneralInfoStatement, 10, 0);
|
||||
else
|
||||
sqlite3_bind_int64(insertGeneralInfoStatement, 9,
|
||||
sqlite3_bind_int64(insertGeneralInfoStatement, 10,
|
||||
(Configuration::getInstance().memSpec->clk *
|
||||
Configuration::getInstance().WindowSize).value());
|
||||
if (Configuration::getInstance().ControllerCoreRefEnablePostpone
|
||||
|| Configuration::getInstance().ControllerCoreRefEnablePullIn) {
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 10, 1);
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 11,
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 11, 1);
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 12,
|
||||
std::max(Configuration::getInstance().ControllerCoreRefMaxPulledIn,
|
||||
Configuration::getInstance().ControllerCoreRefMaxPostponed));
|
||||
} else {
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 10, 0);
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 11, 0);
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 12, 0);
|
||||
}
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 12, UINT_MAX);
|
||||
sqlite3_bind_int(insertGeneralInfoStatement, 13, UINT_MAX);
|
||||
executeSqlStatement(insertGeneralInfoStatement);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ struct GeneralInfo {
|
||||
unsigned int numberOfTransactions;
|
||||
unsigned int numberOfPhases;
|
||||
Timespan span;
|
||||
unsigned int numberOfRanks;
|
||||
unsigned int numberOfBanks;
|
||||
QString description;
|
||||
QString unitOfTime;
|
||||
@@ -53,15 +54,13 @@ struct GeneralInfo {
|
||||
|
||||
public:
|
||||
GeneralInfo(unsigned int numberOfTransactions, unsigned int numberOfPhases,
|
||||
Timespan span, unsigned int numberOfBanks, const QString &description,
|
||||
QString unitOfTime, unsigned int clkPeriod, unsigned int windowSize,
|
||||
unsigned int controllerThread) :
|
||||
Timespan span, unsigned int numberOfRanks, unsigned int numberOfBanks,
|
||||
const QString &description, QString unitOfTime, unsigned int clkPeriod,
|
||||
unsigned int windowSize, unsigned int controllerThread) :
|
||||
numberOfTransactions(numberOfTransactions) , numberOfPhases(numberOfPhases),
|
||||
span(span), numberOfBanks(numberOfBanks), description(description),
|
||||
unitOfTime(unitOfTime), clkPeriod(clkPeriod), windowSize(windowSize),
|
||||
controllerThread(controllerThread)
|
||||
{
|
||||
}
|
||||
span(span), numberOfRanks(numberOfRanks), numberOfBanks(numberOfBanks),
|
||||
description(description), unitOfTime(unitOfTime), clkPeriod(clkPeriod),
|
||||
windowSize(windowSize), controllerThread(controllerThread) {}
|
||||
|
||||
GeneralInfo() {}
|
||||
};
|
||||
|
||||
@@ -238,22 +238,24 @@ ID TraceDB::getTransactionIDFromPhaseID(ID phaseID)
|
||||
GeneralInfo TraceDB::getGeneralInfoFromDB()
|
||||
{
|
||||
QSqlQuery query(database);
|
||||
query.prepare("SELECT NumberOfTransactions,TraceEnd,NumberOfBanks,Clk,UnitOfTime,Traces,Memspec,MCconfig, WindowSize, ControllerThread FROM GeneralInfo");
|
||||
query.prepare("SELECT NumberOfTransactions, TraceEnd, NumberOfRanks, NumberOfBanks, Clk, "
|
||||
"UnitOfTime, Traces, Memspec, MCconfig, WindowSize, ControllerThread FROM GeneralInfo");
|
||||
executeQuery(query);
|
||||
|
||||
if (query.next()) {
|
||||
unsigned int numberOfTransactions = query.value(0).toInt();
|
||||
traceTime traceEnd = query.value(1).toLongLong();
|
||||
unsigned int numberOfBanks = query.value(2).toInt();
|
||||
unsigned int clkPeriod = query.value(3).toInt();
|
||||
QString unitOfTime = query.value(4).toString();
|
||||
unsigned int numberOfRanks = query.value(2).toInt();
|
||||
unsigned int numberOfBanks = query.value(3).toInt();
|
||||
unsigned int clkPeriod = query.value(4).toInt();
|
||||
QString unitOfTime = query.value(5).toString();
|
||||
unsigned int numberOfPhases = getNumberOfPhases();
|
||||
|
||||
QString traces = "Traces: " + query.value(5).toString();
|
||||
QString memspec = "Memspec: " + query.value(6).toString();
|
||||
QString mcconfig = "MCconfig: " + query.value(7).toString();
|
||||
unsigned int windowSize = query.value(8).toInt();
|
||||
unsigned int controllerThread = query.value(9).toUInt();
|
||||
QString traces = "Traces: " + query.value(6).toString();
|
||||
QString memspec = "Memspec: " + query.value(7).toString();
|
||||
QString mcconfig = "MCconfig: " + query.value(8).toString();
|
||||
unsigned int windowSize = query.value(9).toInt();
|
||||
unsigned int controllerThread = query.value(10).toUInt();
|
||||
|
||||
QString description = (traces + "\n");
|
||||
description += mcconfig + "\n";
|
||||
@@ -266,8 +268,8 @@ GeneralInfo TraceDB::getGeneralInfoFromDB()
|
||||
description += "Window size:" + QString::number(windowSize) + "\n";
|
||||
|
||||
return GeneralInfo(numberOfTransactions, numberOfPhases, Timespan(0, traceEnd),
|
||||
numberOfBanks, description, unitOfTime, clkPeriod, windowSize,
|
||||
controllerThread);
|
||||
numberOfRanks, numberOfBanks, description, unitOfTime,
|
||||
clkPeriod, windowSize, controllerThread);
|
||||
} else {
|
||||
throw sqlException("Tracefile corrupted. No general info table",
|
||||
this->pathToDB.toStdString());
|
||||
|
||||
@@ -61,7 +61,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
ui->qwtPlot->setAxisScale(QwtPlot::xBottom,
|
||||
traceNavigator->GeneralTraceInfo().TraceSpan().Begin(),
|
||||
traceNavigator->GeneralTraceInfo().TraceSpan().End());
|
||||
unsigned int banksize = traceNavigator -> GeneralTraceInfo().NumberOfBanks();
|
||||
unsigned int banksize = traceNavigator->GeneralTraceInfo().NumberOfBanks();
|
||||
ui->qwtPlot->setAxisScale(QwtPlot::yLeft, 0.0, banksize + 3, 1.0);
|
||||
|
||||
PhaseCollectionDrawingProperties *drawingProperties = new
|
||||
|
||||
@@ -86,7 +86,7 @@ void PornoTraceScroller::setUpTracePlotItem()
|
||||
|
||||
void PornoTraceScroller::setUpDrawingProperties()
|
||||
{
|
||||
unsigned int numberOfBanks = navigator -> GeneralTraceInfo().numberOfBanks;
|
||||
unsigned int numberOfBanks = navigator->GeneralTraceInfo().numberOfBanks;
|
||||
drawingProperties.numberOfBanks = numberOfBanks;
|
||||
drawingProperties.yValResponse = numberOfBanks;
|
||||
drawingProperties.yValRequest = numberOfBanks + 1;
|
||||
@@ -97,7 +97,7 @@ void PornoTraceScroller::setUpDrawingProperties()
|
||||
|
||||
void PornoTraceScroller::setUpAxis()
|
||||
{
|
||||
setAxisScale(yLeft, -1, navigator -> GeneralTraceInfo().numberOfBanks + 2, 1.0);
|
||||
setAxisScale(yLeft, -1, navigator->GeneralTraceInfo().numberOfBanks + 2, 1.0);
|
||||
axisScaleDraw(yLeft)->enableComponent(QwtAbstractScaleDraw::Labels, false );
|
||||
axisScaleDraw(yLeft)->enableComponent(QwtAbstractScaleDraw::Ticks, false );
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ struct TraceDrawingProperties {
|
||||
int yValRequest;
|
||||
int yValCommandBus;
|
||||
int yValDataBus;
|
||||
unsigned int numberOfRanks;
|
||||
unsigned int numberOfBanks;
|
||||
|
||||
TraceDrawingProperties() : drawText(true), drawBorder(true),
|
||||
@@ -60,13 +61,13 @@ struct TraceDrawingProperties {
|
||||
TraceDrawingProperties(bool drawText, bool drawBorder,
|
||||
ColorGrouping colorGrouping) : drawText(drawText), drawBorder(drawBorder),
|
||||
colorGrouping(colorGrouping) {}
|
||||
TraceDrawingProperties(bool drawText, bool drawBorder,
|
||||
ColorGrouping colorGrouping, int yValResponse, int yValRequest,
|
||||
int yValCommandBus, int yValDataBus, unsigned int numberOfBanks) :
|
||||
TraceDrawingProperties(bool drawText, bool drawBorder, ColorGrouping colorGrouping,
|
||||
int yValResponse, int yValRequest, int yValCommandBus, int yValDataBus,
|
||||
unsigned int numberOfRanks, unsigned int numberOfBanks) :
|
||||
drawText(drawText), drawBorder(drawBorder), colorGrouping(colorGrouping),
|
||||
yValResponse(yValResponse), yValRequest(yValRequest),
|
||||
yValCommandBus(yValCommandBus), yValDataBus(yValDataBus),
|
||||
numberOfBanks(numberOfBanks) {}
|
||||
numberOfRanks(numberOfRanks), numberOfBanks(numberOfBanks) {}
|
||||
|
||||
QHash<int, QString> getLabels() const
|
||||
{
|
||||
|
||||
@@ -205,7 +205,8 @@ void TracePlot::connectNavigatorQ_SIGNALS()
|
||||
|
||||
void TracePlot::setUpDrawingProperties()
|
||||
{
|
||||
unsigned int numberOfBanks = navigator -> GeneralTraceInfo().numberOfBanks;
|
||||
drawingProperties.numberOfRanks = navigator->GeneralTraceInfo().numberOfRanks;
|
||||
unsigned int numberOfBanks = navigator->GeneralTraceInfo().numberOfBanks;
|
||||
drawingProperties.numberOfBanks = numberOfBanks;
|
||||
drawingProperties.yValResponse = numberOfBanks;
|
||||
drawingProperties.yValRequest = numberOfBanks + 1;
|
||||
@@ -252,7 +253,7 @@ void TracePlot::setUpZoom()
|
||||
|
||||
void TracePlot::setUpAxis()
|
||||
{
|
||||
int numberOfBanks = navigator -> GeneralTraceInfo().numberOfBanks;
|
||||
int numberOfBanks = navigator->GeneralTraceInfo().numberOfBanks;
|
||||
|
||||
setAxisScale(yLeft, -5, numberOfBanks + 2, 1.0);
|
||||
setAxisScaleDraw(yLeft, new CustomLabelScaleDraw(
|
||||
|
||||
Reference in New Issue
Block a user