tiny RISCV项目学习

发布于:2025-02-11 ⋅ 阅读:(73) ⋅ 点赞:(0)

学习进度

第3期 tinyriscv的FPGA移植—— RISC-V囫囵吞枣式学习_哔哩哔哩_bilibili  第39s

tiny RISCV项目信息相关资料

参考视频:第1期 开发环境准备 —— RISC-V囫囵吞枣式学习_哔哩哔哩_bilibili

项目地址:tinyriscv: 一个从零开始写的极简、非常易懂的RISC-V处理器核。

详细的技术文档:...........作者的readme开头有链接,但是链接失效了

相关项目

基于tiny_riscv实现的:小麻雀处理器: 小麻雀处理器SparrowRV采用RISC-V架构,支持RV32IMZicsr指令集,2级流水线,哈佛结构,配有中断系统。MCU级别的处理器,麻雀虽小,五脏俱全。

整体框图

仿真逻辑

sim目录下,运行旧的指令集测试程序

目录路径

/home/itheima/tiny_riscv/tinyriscv/sim/compliance_test

运行add指令测试

其实也只是对add指令进行了测试

python ./compliance_test.py ../../tests/riscv-compliance/build_generated/rv32i/I-ADD-01.elf.bin inst.data

结果

运行全部指令测试

python ./test_all_isa.py 

结果

sim目录下,运行新的指令集测试程序

目录路径

/home/itheima/tiny_riscv/tinyriscv/sim/compliance_test

 运行指令集代码

python ./compliance_test.py ../../tests/riscv-compliance/build_generated/rv32i/I-ADD-01.elf.bin inst.data

编译C语言程序

目录

修改工具链

会报错,是因为工具链文件夹的名称没有对上

用python执行

cd /home/itheima/tiny_riscv/tinyriscv/sim
python ./sim_new_nowave.py ../tests/example/simple/simple.bin inst.data

结果

FPGA的移植


 

C语言编译的仿真逻辑

大概是:通过为RISCV指令集写的工具链,用make将.c文件编译成二进制指令。测试的时候通过将指令放到rom里面取指,FPGA上通过pc取指。 

 rtl文件的编译

rtl的tb文件

在路径下

/home/itheima/tiny_riscv/tinyriscv/tb/tinyriscv_soc_tb.v

原理是通过将wire连接到一个寄存器上,如果这个寄存器拉高,就说明,这个代码成功的执行了

没有解决的问题

至于为什么是x27和x26这两个寄存器,我还是不太清楚,需要好好看看代码

为什么可以直接这样用.来引用,是哪个文件或者功能的支持


网站公告

今日签到

点亮在社区的每一天
去签到