systemc: Simplify sc_time_stamp().
authorGabe Black <gabeblack@google.com>
Sat, 22 Sep 2018 15:05:16 +0000 (08:05 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 16 Oct 2018 00:31:55 +0000 (00:31 +0000)
sc_time is now inherently based on properly scaled Ticks, so there's no
reason to try to scale it to be in picoseconds, especially since the
scaling factor may be unreliable if the timescale hasn't been fixed
yet.

Change-Id: I28baeb9792e81e1d00f6f37672df435766311864
Reviewed-on: https://gem5-review.googlesource.com/c/12974
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

src/systemc/core/sc_main.cc

index 735fb0c1bbc24add5d6885b8f202e9710e00d0ca..e9df6a1e0fcaf0ac08af76f763f52fea746b15e0 100644 (file)
@@ -250,12 +250,8 @@ sc_stop()
 const sc_time &
 sc_time_stamp()
 {
-    static sc_time tstamp;
-    Tick tick = ::sc_gem5::scheduler.getCurTick();
-    //XXX We're assuming the systemc time resolution is in ps.
-    // If tick is zero, the time scale may not be fixed yet, and
-    // SimClock::Int::ps may be zero.
-    tstamp = sc_time::from_value(tick ? tick / SimClock::Int::ps : 0);
+    static sc_time tstamp(1.0, SC_SEC);
+    tstamp = sc_time::from_value(::sc_gem5::scheduler.getCurTick());
     return tstamp;
 }