60 name += std::string(to ?
"_posedge_action" :
"_negedge_action");
95 0.5, SC_ZERO_TIME, true)
103 double duty_cycle,
const sc_time &start_time,
104 bool posedge_first) :
106 _period(period), _dutyCycle(duty_cycle), _startTime(start_time),
107 _posedgeFirst(posedge_first)
109 if (
period == SC_ZERO_TIME) {
111 "increase the period: clock '" +
112 std::string(
name) +
"'";
118 "increase the period or increase the duty cycle: clock '" +
119 std::string(
name) +
"'";
125 "increase the period or decrease the duty cycle: clock '" +
126 std::string(
name) +
"'";
141 double duty_cycle,
double start_time_v,
144 sc_time(start_time_v, start_time_tu), posedge_first)
148 double start_time,
bool posedge_first) :
150 sc_time(start_time, true), posedge_first)
166 panic(
"write() called on sc_clock.");
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
bool posedge_first() const
::sc_gem5::ClockTick * _gem5UpEdge
::sc_gem5::ClockTick * _gem5DownEdge
static const sc_time & time_stamp()
const sc_time & period() const
double duty_cycle() const
virtual void before_end_of_elaboration()
const sc_time & start_time() const
virtual void write(const bool &)
ProcessMemberFuncWrapper<::sc_core::sc_clock > funcWrapper
::sc_core::sc_time _period
ClockTick(::sc_core::sc_clock *clock, bool to, ::sc_core::sc_time _period)
void deschedule(ScEvent *event)
void schedule(ScEvent *event, const ::sc_core::sc_time &delay)
#define panic(...)
This implements a cprintf based panic() function.
const char * sc_gen_unique_name(const char *seed)
const sc_time & sc_time_stamp()
#define SC_REPORT_ERROR(msg_type, msg)
const std::string & name()