同步操作将从 xiaowuzxc/小麻雀处理器 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
小麻雀处理器(SparrowRV)是一款单周期32位,支持RV32IM指令集的嵌入式处理器。它的控制逻辑简单,没有复杂的流水线控制结构,没有冗余的线网连接,代码注释完备,整体可读性强。
设计指标:
功能框图
SoC RTL
├─内核
│ ├─译码执行 (完成)
│ ├─iram (完成)
│ ├─CSR (Debug 99%)
│ ├─寄存器组 (完成)
│ ├─总线接口 (Debug 98%)
│ ├─中断控制 (Debug 95%)
│ └─多周期指令控制 (OK)
├─外设 (30%)
└─调试 (移植完成)
软件部分
├─指令仿真 (完成)
└─BSP (随设计扩展驱动程序)
当前任务
- ISP系统,UART下载
- FPGA板级调试
本工程使用批处理/Makefile + Python3 + Modelsim/iverilog
完成仿真全流程,可根据个人喜好与平台使用合适的工具。如果已配置相关工具,可跳过环境搭建步骤。
若需要编写c语言程序并仿真,请参阅板级支持包BSP
仿真环境框架
必须使用带有图形化界面的Linux的系统,否则无法正常仿真。
Linux下仅支持iverilog
Debian系(Ubuntu、Debian、Deepin)执行以下命令:
sudo apt install make git python3 python3-tk gtkwave gcc g++ bison flex gperf autoconf
git clone -b v11_0 --depth=1 https://gitee.com/xiaowuzxc/iverilog/
cd iverilog
sh autoconf.sh
./configure
make
sudo make install
cd ..
rm -rf iverilog/
其他Linux发行版暂不提供支持,请自行探索。
/tb/makefile
是Linux环境下的实现各项仿真功能的启动器进入/tb/
目录,终端输入make
即可启动人机交互界面。根据提示,输入make
+空格
+单个数字或符号
,按下回车即可执行对应项目。
目前支持的命令:
进入iverilog Win官网,下载并安装iverilog-v12-20220611-x64_setup[18.2MB]
Windows下iverilog安装流程及仿真可参考视频教程
可选择以下任意一种方式进行仿真
/tb/run_zh.bat
是Windows环境下的启动器,进入/tb/
目录,仅需双击run_zh.bat
即可启动人机交互界面。根据提示,输入单个数字或符号,按下回车即可执行对应项目。/tb/makefile
是Windows/Linux环境下的启动器,进入/tb/
目录,终端输入make
即可启动人机交互界面。根据提示,输入make
+空格
+单个数字或符号
,按下回车即可执行对应项目。处理器运行C语言程序,见板级支持包BSP。需要将生成的obj.bin
转换为inst.txt
文件,才能导入程序并执行仿真。命令2仅转换,命令3可以转换并仿真。
/tb/tools/isa_test.py
是仿真脚本的核心,负责控制仿真流程,转换文件类型,数据收集。使用者通过启动器与此脚本交互,一般情况下不建议修改。
iverilog是仿真工具,gtkwave用于查看波形。
目前支持的命令:
本工程提供了Modelsim仿真脚本,启动方式与iverilog类似,软件安装问题请各显神通
/tb/run_zh.bat
是Windows环境下的启动器,进入/tb/
目录,仅需双击run_zh.bat
即可启动人机交互界面。根据提示,输入单个数字或符号,按下回车即可执行对应项目。/tb/makefile
是Windows/Linux环境下的启动器,进入/tb/
目录,终端输入make
即可启动人机交互界面。根据提示,输入make
+空格
+单个数字或符号
,按下回车即可执行对应项目。obj.bin
转换为inst.txt
文件(命令2转换,命令3可以直接转换并仿真),才能导入程序并执行仿真。/tb/tools/msim.tcl
主导Modelsim的启动、配置、编译、仿真流程,Modelsim启动后自动读入。目前支持的命令:
make
建议使用Powershell,经测试Bash存在未知bug(实验性修复)git CRLF
相关问题无法使用WARNING: tb_core.sv:23: $readmemh(inst.txt):...
或ERROR: tb_core.sv:24: $readmemh:
警告或错误信息,请忽略,它不会有任何影响位于/bsp/
文件夹下
BSP支持3种开发方式
1
2
的操作流程大致相同,Win/Linux双平台支持,适合老司机,环境配置与使用说明见Makefile开发。
3
有图形化界面,仅限Win系统,适合习惯用keil的开发者,环境配置与使用说明见图形化界面开发。
支持Linux和Windows
通过makefile脚本,仅需终端输入make,即可执行自动化编译。虽然写脚本有点麻烦,但是后期用得爽。
使用流程:
/tools/
目录,GCC请根据操作系统(Win/Linux)进行选择:SparrowRV
├─bsp
├─doc
├─pic
├─rtl
├─tb
└─tools
└─RISC-V_Embedded_GCC
├─bin
├─distro-info
├─doc
├─include
├─lib
├─libexec
├─riscv-none-embed
└─share
Path
,添加环境变量的步骤自行百度。/bsp/app/
,终端输入make
,执行编译,此目录下会输出文件/bsp/app/
,终端输入make clean
,清理编译文件仅支持Windows
本工程使用MRS(MounRiver Studio)作为图形化开发环境。MRS基于Eclipse GNU版本,支持中文界面,配置了完善的GCC工具链,可以做到开箱即用。
官网链接http://www.mounriver.com/
使用流程:
Help
->Language
->Simplified Chinese
文件
->加载
->选定'工程'
->浏览..
->选择bsp目录下的SparrowRV.wvproj
构建项目
,编译并生成bin文件本项目借鉴了tinyriscv的RTL设计和Python脚本。tinyriscv使用Apache-2.0协议
感谢先驱者为我们提供的灵感
感谢众多开源软件提供的好用的工具
感谢MRS开发工具提供的便利
感谢导师对我学习方向的支持和理解
大家的支持是我前进的动力!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。