30 Star 264 Fork 72

xiaowuzxc / 小麻雀处理器

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

小麻雀处理器

rvlogoRISC-V官网收录
teelogoGitee推荐项目
book处理器文档导航页

简介

小麻雀处理器(SparrowRV)是一个开源处理器项目,包含了RISC-V处理器内核及SoC设计,用于C语言开发的板级支持包BSP,易上手的软硬件联合仿真环境等内容。
小麻雀处理器面向于低功耗、小面积的应用场景,对标Cortex-M0内核。它使用可综合的Verilog语言完成SoC的RTL设计,代码注释完备,提供了详细的说明文档,可以快速移植到任意FPGA平台进行工程开发,适合用于研究和学习。

设计指标:

  • 顺序两级流水线结构(IF -> ID+EX+MEM+WB)
  • 支持可配置的RV32I/E/M/Zicsr指令集组合及机器模式
  • 向量中断系统,PLIC接管外部中断
  • 哈佛结构,取指、访存通路分离
  • 支持C语言开发,配有BSP及相关例程
  • 配有SoC实现方案,包含ICB总线和常用外设
  • 支持JTAG接口,实现了RISC-V调试规范0.13.2的子集(功能很少)
  • 参数化配置,设计具备极强的伸缩性

系统功能框图
soc架构

详细内容及使用教程请参阅处理器文档导航页

工程组织框架

小麻雀处理器包含了RTL、软件、硬件设计。
组织框架

  • SoC RTL设计由硬件描述语言HDL完成,实现了小麻雀内核及配套的总线系统和常用外设。
  • 软件设计包含了BSP、相关例程及IAP程序,实现了C语言开发,使用固件库封装了底层硬件操作。
  • 硬件设计包含了FPGA例程和参考设计,指导使用者将小麻雀处理器放在FPGA上运行。
  • 脚本工具贯穿了小麻雀处理器的每一处细节,实现了逻辑仿真、数据转换、自测试等功能。

主要工具

  • 处理器的RTL设计采用Verilog-2001的可综合子集。此版本代码密度更高,可读性更强,并且受到综合器的广泛支持。
  • 处理器的TestBench采用System Verilog-2005。此版本充分满足仿真需求,并且受到仿真器的广泛支持。
  • 逻辑仿真采用iverilog/Modelsim。可根据使用平台与具体需求选择合适工具。
  • 脚本采用 批处理(Win)/Makefile(跨平台) + Python3。发挥各种脚本语言的优势,最大程度地简化操作。
  • BSP采用MRS(MounRiver Studio)图形化集成开发环境,开箱即用。
  • 所有文本采用UTF-8编码,具备良好的多语言和跨平台支持。

目录结构说明

SparrowRV根目录
  ├─bsp  板级支持包
  |  ├─bsp_app  编写程序所需的BSP
  |  ├─bsp_iap  实现SD卡IAP启动的工程
  |  ├─OpenOCD  OpenOCD上位机
  |  ├─readme.md  说明文件
  |  └─SparrowRV_IAP.bin  SD卡IAP程序的二进制文件
  ├─doc  所有文档都在这里
  ├─fpga  FPGA示例工程
  ├─rtl  RTL设计
  └─tb  各种工具、仿真脚本、仿真激励

致谢

本项目借鉴了tinyriscv的RTL设计和Python脚本。tinyriscv使用Apache-2.0协议。
本项目使用了printf的轻量化printf实现。printf使用MIT协议。
本项目使用了蜂鸟E203的ICB总线。蜂鸟E203使用Apache-2.0协议。
本项目使用了FPGA-SDcard-Reader的SD卡按扇区读取功能。
感谢先驱者为我们提供的灵感
感谢李轻水@a1579472700帮助我发现了致命错误
感谢众多开源软件提供的好用的工具
感谢MRS开发工具提供的便利
感谢导师对我学习方向的支持和理解
大家的支持是我前进的动力

有任何的意见、建议、疑问,可以在issue中提出,我会尽快回复

MIT License Copyright (c) 2022 xiaowuzxc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

小麻雀处理器SparrowRV采用RISC-V架构,支持RV32IMZicsr指令集,2级流水线,哈佛结构,配有中断系统。MCU级别的处理器,麻雀虽小,五脏俱全。 展开 收起
MIT
取消

发行版 (7)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Verilog
1
https://gitee.com/xiaowuzxc/SparrowRV.git
git@gitee.com:xiaowuzxc/SparrowRV.git
xiaowuzxc
SparrowRV
小麻雀处理器
master

搜索帮助