From 1d85e914a6b7a9b3550e84d2006ba775a27a0a44 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Fri, 24 Jan 2014 15:29:30 -0600 Subject: [PATCH] sim: Expose the current clock period as a stat This patch adds observability to the clock period of the clock domains by including it as a stat. As a result of adding this, the regressions will be updated in a separate patch. --- src/sim/clock_domain.cc | 14 ++++++++++++++ src/sim/clock_domain.hh | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/src/sim/clock_domain.cc b/src/sim/clock_domain.cc index ff96f2808..0d1836e83 100644 --- a/src/sim/clock_domain.cc +++ b/src/sim/clock_domain.cc @@ -49,6 +49,20 @@ #include "sim/voltage_domain.hh" #include "sim/clocked_object.hh" +void +ClockDomain::regStats() +{ + using namespace Stats; + + // Expose the current clock period as a stat for observability in + // the dumps + currentClock + .scalar(_clockPeriod) + .name(params()->name + ".clock") + .desc("Clock period in ticks") + ; +} + double ClockDomain::voltage() const { diff --git a/src/sim/clock_domain.hh b/src/sim/clock_domain.hh index e6b7273c1..b597b6611 100644 --- a/src/sim/clock_domain.hh +++ b/src/sim/clock_domain.hh @@ -72,6 +72,13 @@ class ClockedObject; class ClockDomain : public SimObject { + private: + + /** + * Stat to report clock period of clock domain + */ + Stats::Value currentClock; + protected: /** @@ -105,6 +112,8 @@ class ClockDomain : public SimObject _clockPeriod(0), _voltageDomain(voltage_domain) {} + void regStats(); + /** * Get the clock period. * -- 2.30.2