see http://lists.libre-riscv.org/pipermail/libre-riscv-dev/2020-May/007257.html
core.py is functional and has comprehensive unit tests
also including the test issuer.py, the FSM which links to wishbone buses and executes instructions.