Go to the documentation of this file.
53 target_(&targetRegister) {
54 assert(latency &&
"Use DirectGuardState for 0-cycle latency");
55 for (
int i = 0; i < latency; ++i) {
143 target_(&targetRegister) {
std::vector< SimValue > history_
Value history ring buffer.
virtual void advanceClock()
int position_
History ring buffer position. Point to the index of the current value of the guard.
static NullGuardState instance_
Unique instance of NullGuardState (singleton).
virtual ~NullGuardState()
#define assert(condition)
static NullGuardState & instance()
const ReadableState * target_
The target register watched by this guard.
GuardState()
Only subclasses allowed to create empty GuardStates.
virtual void advanceClock()
virtual const SimValue & value() const
virtual ~DirectGuardState()
virtual const SimValue & value() const
virtual const SimValue & value() const =0
const ReadableState * target_
The target register watched by this guard.