56 explicit sc_clock(
const char* name_ );
60 double duty_cycle_ = 0.5,
62 bool posedge_first_ =
true );
67 double duty_cycle_ = 0.5 );
75 bool posedge_first_ =
true );
80 double duty_cycle_ = 0.5,
81 double start_time_ = 0.0,
82 bool posedge_first_ =
true );
88 virtual void write(
const bool& );
109 virtual const char*
kind()
const
110 {
return "sc_clock"; }
113 #if 0 // @@@@#### REMOVE
119 const sc_signal_in_if<bool>& signal()
const
122 static void start(
const sc_time& duration )
128 static void start(
double duration = -1 )
150 void report_error(
const char*
id,
const char* add_msg = 0 )
const;
153 void init(
const sc_time&,
double,
const sc_time&,
bool );
double duty_cycle() const
Specialization of sc_signal_in_if<T> for type bool.
sc_event m_next_negedge_event
sc_clock_negedge_callback(sc_clock *target_p)
CHNL_MTX_TYPE_ m_mutex
A mutex to protect concurrent communication.
virtual const char * kind() const
virtual void write(const bool &)
sc_time start_time() const
void report_error(const char *id, const char *add_msg=0) const
virtual void register_port(sc_port_base &, const char *if_type)
void before_end_of_elaboration()
This function is not supported by the out-of-order simulation in the current release.
bool posedge_first() const
sc_clock_posedge_callback(sc_clock *target_p)
Abstract base class for class sc_port_b.
const sc_time & period() const
sc_event m_next_posedge_event
const sc_time SC_ZERO_TIME
void init(const sc_time &, double, const sc_time &, bool)
static const sc_time & time_stamp()
The chnl_scoped_lock class to lock (and automatically release) a mutex.