Thursday, February 22, 2018

Venus, a web-based simulator for RISC-V instructions

For those looking for a way to fool around with RISC-V assembler without the hassle of installing an emulator, Keyhan Vakil has created an online instruction simulator called Venus at http://www.kvakil.me/venus/. It's RV32IM -- basic integer and multiplication functions. The GitHub page is at https://github.com/kvakil/venus.

Venus was built for education, and it seems Prof. Martin Schoeberl at the Technical University of Denmark uses it in his course Computer Architecture and Engineering. Some of the class notes with (very, very simple) RISC-V code are on GitHub at https://github.com/schoeberl/cae-lab.

(Speaking of code, at the moment, I'm finding it hard to get into RISC-V quickly because of a lack of non-trivial examples that explain why which commands were chosen -- which structures are recommended for, say, even simple loops over strings. The RISC-V Reader by David Patterson and Andrew Waterman is good, but a very brief introduction. What seems to be missing is the equivalent of Lance Leventhal's legendary 6502 Assembly Language Programming or, even more useful, his 6502 Assembly Language Subroutines.)