From: Gabe Black Date: Tue, 2 Oct 2018 05:47:27 +0000 (-0700) Subject: systemc: Don't use write() in sc_clock to set the clock value. X-Git-Tag: v19.0.0.0~1543 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c736ef1b2f6447be1dcd9c9e62cc072befa91443;p=gem5.git 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 Maintainer: Gabe Black --- diff --git a/src/systemc/ext/channel/sc_clock.hh b/src/systemc/ext/channel/sc_clock.hh index 3713394b6..ba9231542 100644 --- a/src/systemc/ext/channel/sc_clock.hh +++ b/src/systemc/ext/channel/sc_clock.hh @@ -101,8 +101,18 @@ class sc_clock : public sc_signal ::sc_gem5::ClockTick *_gem5UpEdge; ::sc_gem5::ClockTick *_gem5DownEdge; - void tickUp() { sc_signal::write(true); } - void tickDown() { sc_signal::write(false); } + void + tickUp() + { + m_new_val = true; + request_update(); + } + void + tickDown() + { + m_new_val = false; + request_update(); + } }; typedef sc_in sc_in_clk;