systemc: Don't use write() in sc_clock to set the clock value.

The two different processes we have to use to match Accellera behavior
would trip the checks in write.

Change-Id: Iee729b239bccd8f7b854894000c9ef2c47600563
Reviewed-on: https://gem5-review.googlesource.com/c/13202
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
diff --git a/src/systemc/ext/channel/sc_clock.hh b/src/systemc/ext/channel/sc_clock.hh
index 3713394..ba92315 100644
--- a/src/systemc/ext/channel/sc_clock.hh
+++ b/src/systemc/ext/channel/sc_clock.hh
@@ -101,8 +101,18 @@
     ::sc_gem5::ClockTick *_gem5UpEdge;
     ::sc_gem5::ClockTick *_gem5DownEdge;
 
-    void tickUp() { sc_signal<bool>::write(true); }
-    void tickDown() { sc_signal<bool>::write(false); }
+    void
+    tickUp()
+    {
+        m_new_val = true;
+        request_update();
+    }
+    void
+    tickDown()
+    {
+        m_new_val = false;
+        request_update();
+    }
 };
 
 typedef sc_in<bool> sc_in_clk;