资料介绍
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方式下载,否则有些文件会有格式问题。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 开源Hummingbirdv2 E203 RISC-V处理器内核和SoC项目 4次下载
- 从零开始写的RISC-V内核玉衡处理器 4次下载
- 风景这边独好,谈谈RISC-V中国市场的发展之路 0次下载
- 平头哥宣布开源玄铁RISC-V系列处理器 7次下载
- RISC-V IDE MounRiver Studio软件介绍(四) 0次下载
- RISC-V ISA 命名规范 1次下载
- 《手把手教你设计CPU——RISC-V处理器》读书笔记 15次下载
- RISC-V嵌入式开发 17次下载
- 32 引脚_全球首款通用RISC-V MCU!兆易创新推出GD32V系列RISC-V内核32位通用MCU新品... 11次下载
- 内嵌专业接口的RISC-V架构MCU,谁家有? 8次下载
- 盘点国内MCU级RISC-V内核IP厂商 13次下载
- 基于RISC-V处理器和卷积加速器的SoC系统 27次下载
- 图文详解:从零开始学电源资源下载 56次下载
- 荔枝糖RISC-V开发板原理图 38次下载
- 从零开始学电源 120次下载
- Allwinner D1 RISC-V处理器性能如何? 4895次阅读
- 基于RISC-V开发板的DDR演示的设计方案 1307次阅读
- RISC-V运动到底是什么?数据中心芯片中的RISC-V 1166次阅读
- 超低功耗RISC-V微控制器问世,主频高达24M 2993次阅读
- RISC-V再获突破,CPU将迎来三分天下的格局 3194次阅读
- 4大主流CPU处理器的技术架构是怎么样的 7952次阅读
- 浅谈RISC-V指令集架构的来龙去脉 3979次阅读
- 如何保持基于RISC-V的嵌入式设计灵活性 2448次阅读
- 基于RISC-V指令集的软核CPU在SWORD4.0上顺利移植 5038次阅读
- 介绍基于RISC-V的芯片 1w次阅读
- 一个新的领域:RISC-V开源硬件 5831次阅读
- 对RISC-V GCC工具链进行简单的中文科普与介绍 2.4w次阅读
- 终于有人把RISC-V讲明白了 17.1w次阅读
- GRVI Phalanx实现千核处理器 3640次阅读
- 一个FPGA中现在可集成多少32位RISC处理器? 1610次阅读
下载排行
本周
- 1音箱制作过程图解
- 16.81 MB | 21次下载 | 免费
- 2电路的基础知识PPT
- 4.48 MB | 8次下载 | 1 积分
- 3电路学习指导与习题分析
- 5.15 MB | 4次下载 | 免费
- 4集装箱怎么防腐
- 0.27 MB | 4次下载 | 免费
- 5电源仿真技术
- 23.16 MB | 4次下载 | 2 积分
- 6Lablin嵌入式Linux系统
- 2.05 MB | 3次下载 | 免费
- 7seL4操作系统内核
- 2.00 MB | 3次下载 | 免费
- 8openwrt节点包插件
- 0.31 MB | 3次下载 | 免费
本月
- 1UC3842充电器电路图
- 0.29 MB | 83次下载 | 免费
- 250个典型经典应用电路图免费下载
- 2.39 MB | 63次下载 | 免费
- 3中科蓝讯AB32VG1开发实践指南
- 13.02 MB | 60次下载 | 5 积分
- 4硬件工程师口袋参考书
- 5.47 MB | 57次下载 | 免费
- 5STM32系列产品选型手册
- 6.15 MB | 51次下载 | 免费
- 6WG593系列工业智能网关产品规格书
- 1.20 MB | 43次下载 | 免费
- 7H81H3-LM_1150精英图纸免费下载
- 1.82 MB | 36次下载 | 免费
- 8RTL8189原理图免费下载
- 0.68 MB | 35次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 934933次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537533次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 1331200 | 419915次下载 | 免费
- 4OrCAD10.5下载,OrCAD10.5中文版软件
- 817182 | 233915次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 232918次下载 | 免费
- 6数据采集系统基础知识视频
- 16.3 MB | 192989次下载 | 免费
- 7电路仿真软件multisim 10.0免费下载
- 340992 | 190921次下载 | 免费
- 8十天学会AVR单片机与C语言视频教程 下载
- 158M | 183113次下载 | 免费
评论