项目简介
本项目是一个基于RISC-V架构的指令集模拟器,目标是助力用户理解和学习RISC-V指令集架构(ISA)的工作原理。RISC-V作为开源、模块化的指令集架构,在嵌入式系统、微控制器等领域应用广泛。
项目的主要特性和功能
- 支持RISC-V基础指令集,涵盖R-type、I-type、S-type等基础指令。
- 支持浮点指令扩展,包含M扩展(整数乘除)和F扩展(单精度浮点操作)。
- 具备多种运行模式:
- Normal Mode:显示每条指令的程序计数器(PC)和寄存器内容。
- Silent Mode:仅在模拟结束时显示最终的PC和寄存器内容。
- Debug Mode:支持单步执行,显示寄存器、内存内容和当前指令。
- 提供编译和运行工具,支持通过命令行编译和运行RISC-V程序。
安装使用步骤
假设用户已经下载了本项目的源码文件:
1. 编译C语言源文件:
- 使用rvgcc
编译器,指定指令集架构(如rv32i
或rv32g
)。
- 示例命令:rvgcc -S -fpic -march=rv32g -mabi=ilp32 prog.c
2. 汇编生成对象文件:
- 使用rvas
工具将汇编文件转换为对象文件。
- 示例命令:rvas -ahld prog.s -o prog.o
3. 生成内存文件:
- 使用rvobjdump
工具生成内存文件。
- 示例命令:rvobjdump -d prog.o | grep -o ^[[:blank:]]*[[:xdigit:]]*:[[:blank:]][[:xdigit:]]*' > prog.mem
4. 编译模拟器:
- 使用g++
编译模拟器源代码。
- 示例命令:g++ riscv_simul.cpp -o riscv_simul
5. 运行模拟器:
- 运行模拟器并输入必要的参数,如程序计数器、堆栈地址、运行模式等。
- 示例命令:./riscv_simul <input file> <program counter> <stack address> <mode> <step enable>
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】