stall
interface can be implemented by objects that also
implement the cycle
and step
interfaces. The
stall
interface controls the addition of extra cycles between
steps.
The get_stall_cycles function returns the remaining number of stall cycles. The object will advance that number of cycles before starting with the next step.
The set_stall_cycles function is used to change the number of stall cycles before the next step. It is legal to first call this function with a large value for cycles and then at a later point reduce the cycle count is resume execution earlier than indicated by the first call.
The get_total_stall_cycles returns the total accumulated number of stall cycles.
SIM_INTERFACE(stall) { cycles_t (*get_stall_cycles)(conf_object_t *obj); void (*set_stall_cycles)(conf_object_t *obj, cycles_t cycles); cycles_t (*get_total_stall_cycles)(conf_object_t *obj); }; #define STALL_INTERFACE "stall"