RISC-V装配模拟器

时间:2018-02-27 17:49:59

标签: mips riscv risc

我正在尝试学习RISC-V ISA。有没有办法模拟RISC-V汇编代码,就像在MARS中为MIPS ISA模拟一样?

6 个答案:

答案 0 :(得分:5)

听起来您正在寻找带有集成前端的指令级RISC-V模拟器,它允许您以交互方式编辑机器代码以及查看和操作CPU状态。我不知道RISC-V的任何工具与MARS紧密集成,但您可以通过组合一些现有的RISC-V工具来实现近似,即:

我很幸运使用QEMU + gdb或gdbgui如下:

$ qemu-system-riscv32 -S -s -kernel /path/to/myprog.elf -nographic

然后在另一个控制台中:

$ riscv64-unknown-elf-gdb /path/to/myprog.elf
(gdb) target remote localhost:1234
or
$ gdbgui -r -n -g /path/to/riscv64-unknown-elf-gdb /path/to/myprog.elf

注意:我注意到在riscv工具链下构建的gdb默认不支持tui模式。

注2:QEMU实际上不仅仅是一个ISA模拟器 - 它模拟各种特定的RISC-V目标板及其伴随的外围设备。

答案 1 :(得分:3)

如果您希望使用带有图形界面的高级工具, 您可以看一看我的大学用于教授riscv的小工具。 它带有一个内置的汇编器和模拟器,可显示每个周期中所有寄存器的内容,内存和最小riscv管道的状态。

不幸的是,该项目相当老,并且github-repo并不是最新的,但是从riscv开始仍然是一种简便的方法。

https://github.com/unia-sik/riscVivid

答案 2 :(得分:3)

Ripes:图形化的5级RISC-V管道模拟器和装配体编辑器

rv8:适用于x86-64的RISC-V模拟器

risc-v-simulator:具有GUI的RISC-V汇编器/模拟器

RiscVAssemblerSuite:RISC V汇编程序,反汇编程序和仿真环境

TinyEMU:TinyEMU是用于RISC-V和x86体系结构的系统仿真器

答案 3 :(得分:1)

虽然使用Spike和RISC-V GNU工具链确实可以工作,但对于学习ISA来说并不是理想的选择。

我实际上度过了一个夏天,将MARS移植到RISC-V,因为没有一个好的选择供初学者使用。 RARS应该正是您想要的。

出于各种原因,已从MARS中删除了一些内容,但是我会密切关注该回购协议,因此,如果缺少改进,请提出问题。

答案 4 :(得分:0)

我使用QEMU进行仿真和峰值测试,这是测试几乎所有情况的良好链。 QEMU也可以运行Debian。

答案 5 :(得分:0)

这是一个很棒的RISC-V模拟器,已在我们的计算机组织课程BRISC-V Simulator中引入