From f4a018cfb3458a44b83477a4432d4f860586389a Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Wed, 2 Oct 2019 17:46:37 +0200 Subject: [PATCH] Fixed display of rankwise commands. --- DRAMSys/traceAnalyzer/businessObjects/phases/phase.cpp | 8 +++++--- .../traceAnalyzer/presentation/pornotracescroller.cpp | 9 +++++---- .../traceAnalyzer/presentation/tracedrawingproperties.h | 4 +++- DRAMSys/traceAnalyzer/presentation/traceplot.cpp | 8 ++++---- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/DRAMSys/traceAnalyzer/businessObjects/phases/phase.cpp b/DRAMSys/traceAnalyzer/businessObjects/phases/phase.cpp index b72bf9ed..45163619 100644 --- a/DRAMSys/traceAnalyzer/businessObjects/phases/phase.cpp +++ b/DRAMSys/traceAnalyzer/businessObjects/phases/phase.cpp @@ -64,7 +64,7 @@ void Phase::draw(QPainter *painter, const QwtScaleMap &xMap, } if (!isBankwise()) { - for (unsigned int i = 0; i < drawingProperties.numberOfBanks; i++) + for (int i = getYVal(drawingProperties); i < (int)(getYVal(drawingProperties) + drawingProperties.banksPerRank); i++) drawPhaseSymbol(span.Begin(), span.End(), i, drawingProperties.drawText, getPhaseSymbol(), painter, xMap, yMap); } else @@ -123,8 +123,10 @@ QColor Phase::getColor(const TraceDrawingProperties &drawingProperties) const int Phase::getYVal(const TraceDrawingProperties &drawingProperties) const { - Q_UNUSED(drawingProperties) - return transaction->Bank(); + if (isBankwise()) + return transaction->Bank(); + else + return transaction->Rank() * drawingProperties.banksPerRank; } Qt::BrushStyle Phase::getBrushStyle() const diff --git a/DRAMSys/traceAnalyzer/presentation/pornotracescroller.cpp b/DRAMSys/traceAnalyzer/presentation/pornotracescroller.cpp index d440f488..8b66efd2 100644 --- a/DRAMSys/traceAnalyzer/presentation/pornotracescroller.cpp +++ b/DRAMSys/traceAnalyzer/presentation/pornotracescroller.cpp @@ -86,10 +86,11 @@ void PornoTraceScroller::setUpTracePlotItem() void PornoTraceScroller::setUpDrawingProperties() { - unsigned int numberOfBanks = navigator->GeneralTraceInfo().numberOfBanks; - drawingProperties.numberOfBanks = numberOfBanks; - drawingProperties.yValResponse = numberOfBanks; - drawingProperties.yValRequest = numberOfBanks + 1; + drawingProperties.numberOfRanks = navigator->GeneralTraceInfo().numberOfRanks; + drawingProperties.numberOfBanks = navigator->GeneralTraceInfo().numberOfBanks; + drawingProperties.banksPerRank = drawingProperties.numberOfBanks / drawingProperties.numberOfRanks; + drawingProperties.yValResponse = drawingProperties.numberOfBanks; + drawingProperties.yValRequest = drawingProperties.numberOfBanks + 1; drawingProperties.yValCommandBus = -3; drawingProperties.yValDataBus = -4; } diff --git a/DRAMSys/traceAnalyzer/presentation/tracedrawingproperties.h b/DRAMSys/traceAnalyzer/presentation/tracedrawingproperties.h index ae6150ad..64496973 100644 --- a/DRAMSys/traceAnalyzer/presentation/tracedrawingproperties.h +++ b/DRAMSys/traceAnalyzer/presentation/tracedrawingproperties.h @@ -55,6 +55,7 @@ struct TraceDrawingProperties { int yValDataBus; unsigned int numberOfRanks; unsigned int numberOfBanks; + unsigned int banksPerRank; TraceDrawingProperties() : drawText(true), drawBorder(true), colorGrouping(ColorGrouping::PhaseType) {} @@ -67,7 +68,8 @@ struct TraceDrawingProperties { drawText(drawText), drawBorder(drawBorder), colorGrouping(colorGrouping), yValResponse(yValResponse), yValRequest(yValRequest), yValCommandBus(yValCommandBus), yValDataBus(yValDataBus), - numberOfRanks(numberOfRanks), numberOfBanks(numberOfBanks) {} + numberOfRanks(numberOfRanks), numberOfBanks(numberOfBanks), + banksPerRank(numberOfBanks / numberOfRanks) {} QHash getLabels() const { diff --git a/DRAMSys/traceAnalyzer/presentation/traceplot.cpp b/DRAMSys/traceAnalyzer/presentation/traceplot.cpp index 341ecc5c..27620d4a 100644 --- a/DRAMSys/traceAnalyzer/presentation/traceplot.cpp +++ b/DRAMSys/traceAnalyzer/presentation/traceplot.cpp @@ -206,10 +206,10 @@ void TracePlot::connectNavigatorQ_SIGNALS() void TracePlot::setUpDrawingProperties() { drawingProperties.numberOfRanks = navigator->GeneralTraceInfo().numberOfRanks; - unsigned int numberOfBanks = navigator->GeneralTraceInfo().numberOfBanks; - drawingProperties.numberOfBanks = numberOfBanks; - drawingProperties.yValResponse = numberOfBanks; - drawingProperties.yValRequest = numberOfBanks + 1; + drawingProperties.numberOfBanks = navigator->GeneralTraceInfo().numberOfBanks; + drawingProperties.banksPerRank = drawingProperties.numberOfBanks / drawingProperties.numberOfRanks; + drawingProperties.yValResponse = drawingProperties.numberOfBanks; + drawingProperties.yValRequest = drawingProperties.numberOfBanks + 1; drawingProperties.yValCommandBus = -3; drawingProperties.yValDataBus = -4; }