Begin to implement the Simple-V loop
authorCesar Strauss <cestrauss@gmail.com>
Sat, 6 Mar 2021 19:29:34 +0000 (16:29 -0300)
committerCesar Strauss <cestrauss@gmail.com>
Sat, 6 Mar 2021 19:29:34 +0000 (16:29 -0300)
commit97136d71397f420479d601dcb80f0df4abf73d22
tree9aeebe5016e3a76f97b2855cacd762f7f7e72984
parent3ab66da614173dfcd34f9c7047295cabbe0fa4b3
Begin to implement the Simple-V loop

After returning from executing an instruction, decide whether to return
to Fetch, or go repeat Execute again.

1) If PC or SVSTATE were updated, go directly to Fetch, without updating
   either
2) If there is no vector output, or it's the last VL loop iteration, go
   back to Fetch as well, but update the PC. In the latter case, also
   reset SRCSTEP
3) Otherwise, we are still in the loop, so increment SVSTEP, and go back
   to Execute. But, first, pass through a new state, DECODE_SV, so the new
   register numbers can be decoded.
src/soc/simple/issuer.py