TestIssuer can signal the end of an instruction and, after skipping mask
bits, signal the end of the VL loop, right on the following cycle.
Since there is no handshake between TestIssuer and Simulator, we need to
remove any wait state that would cause the Simulator to miss the one-clock
pulse.
counter = counter + 1
# wait until executed
- # wait for insn_done high
while not (yield issuer.insn_done):
yield
- # wait for insn_done low
- while (yield issuer.insn_done):
- yield
# set up simulated instruction (in simdec2)
try:
yield
yield
- # wait one cycle for registers to settle
- yield
-
# register check
yield from check_regs(self, sim, core, test, code)