tickExecute static method

Future<void> tickExecute(
  1. dynamic toExecute()
)

Performs the actual execution of a collection of actions for a tick().

Implementation

static Future<void> tickExecute(dynamic Function() toExecute) async {
  _phase = SimulatorPhase.beforeTick;

  // useful for flop sampling
  _preTickController.add(null);

  _phase = SimulatorPhase.mainTick;

  // useful for things that need to trigger every tick without other input
  _startTickController.add(null);
  await toExecute();

  _phase = SimulatorPhase.clkStable;

  // useful for flop clk input stability
  _clkStableController.add(null);

  await _executeInjectedActions();

  _phase = SimulatorPhase.outOfTick;

  // useful for determination of signal settling
  _postTickController.add(null);
}