systemc: Hook up sc_time_stamp sc_delta_count.
sc_time_stamp reports the current simulation time. sc_delta_count was hooked up to a dummy value. This change hooks it up to the scheduler so that it returns the real value. Change-Id: I354c4be32161eabeea86af653f5cb0a5d384645b Reviewed-on: https://gem5-review.googlesource.com/11712 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -33,8 +33,10 @@
|
||||
#include "base/logging.hh"
|
||||
#include "base/types.hh"
|
||||
#include "python/pybind11/pybind.hh"
|
||||
#include "sim/core.hh"
|
||||
#include "sim/eventq.hh"
|
||||
#include "sim/init.hh"
|
||||
#include "systemc/core/scheduler.hh"
|
||||
#include "systemc/ext/core/sc_main.hh"
|
||||
#include "systemc/ext/utils/sc_report_handler.hh"
|
||||
|
||||
@@ -124,8 +126,6 @@ sc_status _status = SC_ELABORATION;
|
||||
Tick _max_tick = MaxTick;
|
||||
sc_starvation_policy _starvation = SC_EXIT_ON_STARVATION;
|
||||
|
||||
uint64_t _deltaCycles = 0;
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
int
|
||||
@@ -193,14 +193,17 @@ sc_stop()
|
||||
const sc_time &
|
||||
sc_time_stamp()
|
||||
{
|
||||
warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
||||
return *(sc_time *)nullptr;
|
||||
static sc_time tstamp;
|
||||
Tick tick = sc_gem5::scheduler.eventQueue().getCurTick();
|
||||
//XXX We're assuming the systemc time resolution is in ps.
|
||||
tstamp = sc_time::from_value(tick / SimClock::Int::ps);
|
||||
return tstamp;
|
||||
}
|
||||
|
||||
sc_dt::uint64
|
||||
sc_delta_count()
|
||||
{
|
||||
return _deltaCycles;
|
||||
return sc_gem5::scheduler.numCycles();
|
||||
}
|
||||
|
||||
bool
|
||||
|
||||
Reference in New Issue
Block a user