资料介绍
1、初衷
本开源项目的初衷是本人想入门RISC-V,熟悉RISC-V的指令内容和汇编语法。
本人对RISC-V很感兴趣,很看好RISC-V的发展前景,觉得RISC-V就是CPU中的Linux。由于RISC-V是这两年才开始迅速发展的,因此关于RISC-V的学习参考资料目前还很少,特别是适合入门的资料,因此学习起来进度很缓慢,于是萌生了自己从零开始写RISC-V处理器核的想法。
本人是一名FPGA小白,为了快速入门、深入掌握RISC-V,我开始了学习FPGA和verilog的"艰难"历程。我工作的内容是和嵌入式软件相关的,平时根本不会接触到FPGA,也不会用到RISC-V,因此只能用业余时间来学习RISC-V。
网上有不少关于RISC-V的开源项目,但是大多都写得很"高深",对于我这种小白来说学习起来是非常吃力的,不太适合入门。本项目目前的代码量非常少,是很简单易懂的,对于想入门RISC-V的同学来说是一个很好的参考,希望能够吸引更多的同学参与到RISC-V的学习中来,促进RISC-V的发展,如果能起到抛砖引玉的作用的话那就更好了,也许说是砖的话就有点夸大了,但哪怕是起到一颗沙子的作用,也就足矣。
2、介绍
本项目实现的是一个单核32位的小型RISC-V处理器核(tinyriscv),采用verilog语言编写。设计目标是对标ARM Cortex-M3系列处理器。tinyriscv有以下特点:
rtl:该目录包含tinyriscv的所有verilog源码;
sim:该目录包含仿真批处理bat文件和脚本;
tests:该目录包含测试程序源码,其中example目录为C语言程序例程源码,isa目录为RV32指令测试源码;
tools:该目录包含编译汇编和C语言程序所需GNU工具链和将二进制文件转成仿真所需的mem格式文件的脚本,还有通过串口下载程序的脚本。
pic:存放图片;
tb:该目录包含仿真的testbench文件;
fpga:存放FPGA相关文件,比如约束文件;
tinyriscv的整体框架如下:

tinyriscv目前外挂了6个外设,每个外设的空间大小为256MB,地址空间分配如下图所示:

3、CoreMark测试
目前tinyriscv在Xilinx Artix-7 35T FPGA平台(时钟50MHz)上运行CoreMark跑分程序的结果如下图所示:

可知,tinyriscv的跑分成绩为2.4。
选了几款其他MCU的跑分结果如下图所示:

更多MCU的跑分结果,可以到coremark官网查询。
4、如何使用
本项目可以运行在Windows和Linux平台(macOS平台理论上也是可以的),编译仿真工具使用的是iverilog和vpp,波形查看工具使用的是gtkwave。
4.1Windows平台环境搭建
使用之前需要安装一下工具
1.安装iverilog工具
可以在上面进行下载,安装过程中记得同意把iverilog添加到环境变量中,当然也可以在安装完成后手动进行添加。安装完成后iverilog、vvp和gtkwave等工具也就安装好了。
2.安装GNU工具链
下载完成后将压缩包解压到本项目的tools目录下。注意目录的层次结构,解压后的工具路径应该如下所示:
3.安装make工具
下载完成后直接解压,然后将make所在的路径添加到环境变量里。
4.安装python3
到python官网下载win版本的python,注意要下载python3版本的。安装完后将python添加到环境变量里。
5.下载tinyriscv代码
使用git clone命令下载,不要使用zip方式下载,否则有些文件会有格式问题。
本开源项目的初衷是本人想入门RISC-V,熟悉RISC-V的指令内容和汇编语法。
本人对RISC-V很感兴趣,很看好RISC-V的发展前景,觉得RISC-V就是CPU中的Linux。由于RISC-V是这两年才开始迅速发展的,因此关于RISC-V的学习参考资料目前还很少,特别是适合入门的资料,因此学习起来进度很缓慢,于是萌生了自己从零开始写RISC-V处理器核的想法。
本人是一名FPGA小白,为了快速入门、深入掌握RISC-V,我开始了学习FPGA和verilog的"艰难"历程。我工作的内容是和嵌入式软件相关的,平时根本不会接触到FPGA,也不会用到RISC-V,因此只能用业余时间来学习RISC-V。
网上有不少关于RISC-V的开源项目,但是大多都写得很"高深",对于我这种小白来说学习起来是非常吃力的,不太适合入门。本项目目前的代码量非常少,是很简单易懂的,对于想入门RISC-V的同学来说是一个很好的参考,希望能够吸引更多的同学参与到RISC-V的学习中来,促进RISC-V的发展,如果能起到抛砖引玉的作用的话那就更好了,也许说是砖的话就有点夸大了,但哪怕是起到一颗沙子的作用,也就足矣。
2、介绍
本项目实现的是一个单核32位的小型RISC-V处理器核(tinyriscv),采用verilog语言编写。设计目标是对标ARM Cortex-M3系列处理器。tinyriscv有以下特点:
- 支持RV32IM指令集,通过RISC-V指令兼容性测试;
- 采用三级流水线,即取指,译码,执行;
- 可以运行C语言程序;
- 支持JTAG,可以通过openocd读写内存(在线更新程序);
- 支持中断;
- 支持总线;
- 支持FreeRTOS;
- 支持通过串口更新程序;
- 容易移植到任何FPGA平台(如果资源足够的话);
- 项目中的各目录说明:
rtl:该目录包含tinyriscv的所有verilog源码;
sim:该目录包含仿真批处理bat文件和脚本;
tests:该目录包含测试程序源码,其中example目录为C语言程序例程源码,isa目录为RV32指令测试源码;
tools:该目录包含编译汇编和C语言程序所需GNU工具链和将二进制文件转成仿真所需的mem格式文件的脚本,还有通过串口下载程序的脚本。
pic:存放图片;
tb:该目录包含仿真的testbench文件;
fpga:存放FPGA相关文件,比如约束文件;
tinyriscv的整体框架如下:

tinyriscv目前外挂了6个外设,每个外设的空间大小为256MB,地址空间分配如下图所示:

3、CoreMark测试
目前tinyriscv在Xilinx Artix-7 35T FPGA平台(时钟50MHz)上运行CoreMark跑分程序的结果如下图所示:

可知,tinyriscv的跑分成绩为2.4。
选了几款其他MCU的跑分结果如下图所示:

更多MCU的跑分结果,可以到coremark官网查询。
4、如何使用
本项目可以运行在Windows和Linux平台(macOS平台理论上也是可以的),编译仿真工具使用的是iverilog和vpp,波形查看工具使用的是gtkwave。
4.1Windows平台环境搭建
使用之前需要安装一下工具
1.安装iverilog工具
可以在上面进行下载,安装过程中记得同意把iverilog添加到环境变量中,当然也可以在安装完成后手动进行添加。安装完成后iverilog、vvp和gtkwave等工具也就安装好了。
2.安装GNU工具链
下载完成后将压缩包解压到本项目的tools目录下。注意目录的层次结构,解压后的工具路径应该如下所示:
3.安装make工具
下载完成后直接解压,然后将make所在的路径添加到环境变量里。
4.安装python3
到python官网下载win版本的python,注意要下载python3版本的。安装完后将python添加到环境变量里。
5.下载tinyriscv代码
使用git clone命令下载,不要使用zip方式下载,否则有些文件会有格式问题。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 用于RISC-V处理器的三重模块化冗余ALU和寄存器文件的设计示 2次下载
- RISC-V和RISC-V AI的未来(特邀讲座) 16次下载
- RISC-V设计支持工具,支持RISC-V技术的基础 12次下载
- Out项目之增强RISC-V处理器性能的自定义硬件模块
- 如何构建RISC-V嵌入式 3次下载
- 开源Hummingbirdv2 E203 RISC-V处理器内核和SoC项目 10次下载
- 从零开始写的RISC-V内核玉衡处理器 13次下载
- 风景这边独好,谈谈RISC-V中国市场的发展之路
- 平头哥宣布开源玄铁RISC-V系列处理器
- RISC-V ISA 命名规范
- 《手把手教你设计CPU——RISC-V处理器》读书笔记
- RISC-V嵌入式开发
- 32 引脚_全球首款通用RISC-V MCU!兆易创新推出GD32V系列RISC-V内核32位通用MCU新品...
- 基于RISC-V处理器和卷积加速器的SoC系统 29次下载
- 电脑组装从零开始
- RISC-V笔记——基础 513次阅读
- 一文读懂RISC-V与ARM 1069次阅读
- fpga和risc-v处理器的区别 1205次阅读
- RISC-V已经到来,避无可避! 733次阅读
- 利用先进形式验证工具来高效完成RISC-V处理器验证 577次阅读
- 基于形式的高效 RISC-V 处理器验证方法 692次阅读
- RISC-V处理器生态建设的实践 1124次阅读
- RISC-V SIG成功将Chromium等桌面软件适配到openEuler RISC-V 2268次阅读
- 如何保护RISC-V上的嵌入式处理器 1877次阅读
- Allwinner D1 RISC-V处理器性能如何? 7498次阅读
- RISC-V运动到底是什么?数据中心芯片中的RISC-V 2811次阅读
- 浅谈RISC-V指令集架构的来龙去脉 6335次阅读
- 介绍基于RISC-V的芯片 1.2w次阅读
- 终于有人把RISC-V讲明白了 18.2w次阅读
- GRVI Phalanx实现千核处理器 4443次阅读
下载排行
本周
- 1EN60335-1安规标准 中文版本
- 1.86 MB | 53次下载 | 1 积分
- 2LT7406FJ N沟道增强型功率MOSFET规格书
- 1.38 MB | 2次下载 | 免费
- 3米尔-瑞芯微RK3562核心板开发板,4核CPU,ARM中量级多面手
- 3.45 MB | 2次下载 | 免费
- 4运算放大电路入门教程
- 0.70 MB | 1次下载 | 免费
- 5开源鸿蒙版真4K显示器广告机主板AIoT-6780SE彩页
- 613.79 KB | 1次下载 | 免费
- 6LTS6806SR N沟道增强型功率MOSFET规格书
- 0.99 MB | 次下载 | 免费
- 7LT3810FP-X N沟道增强型功率MOSFET规格书
- 0.92 MB | 次下载 | 免费
- 8LTS4008TRB N沟道增强型功率MOSFET规格书
- 1.58 MB | 次下载 | 免费
本月
- 1STM32CubeMX用于STM32配置和初始化C代码生成
- 21.90 MB | 619次下载 | 免费
- 2STM32开发板教程之STM32开发指南免费下载
- 24.88 MB | 176次下载 | 3 积分
- 3DeepSeek:从入门到精通
- 5.36 MB | 95次下载 | 1 积分
- 4EN60335-1安规标准 中文版本
- 1.86 MB | 53次下载 | 1 积分
- 5OAH0428最新规格书(中文)
- 2.52 MB | 27次下载 | 10 积分
- 6UHV系列雷电冲击电压发生器试验装置详细说明使用
- 1.07 MB | 17次下载 | 免费
- 7Altium-常用3D封装库(Step)接插件篇
- 4.95 MB | 14次下载 | 免费
- 8介绍一些常用的电子元器件
- 3.20 MB | 8次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935124次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420063次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233088次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191371次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183336次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81583次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73814次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65988次下载 | 10 积分
评论