Graduate student Asami has released an emulator for 32-bit and 64-bit RISC-V projects which runs in the browser, courtesy of WebAssembly generated by Rust — making it easier than ever to begin experimenting with the free and open source instruction set architecture.
Released under the permissive MIT Licence, Asami's emulator supports all but three — FENCE, ECALL, and EBREAK — of the instructions specified in the RV32I v2.1 ISA specification plus all 12 of the additional instructions specified in the RV64I v2.1 specification. That's not the only trick up its sleeve, either: It supports all instructions in the M, A, F, and D extension standards in both 32-bit and 64-bit flavors — though its emulation of RV32A/RV64A lacks support for unit tests and atomic instructions.
"This is a work-in-progress project," Asami warns. "Bug reports or feature requests are always welcome."