零、RISC-V SoC软核代码笔记详解——前言

目录

0 RISC-V SoC注解系列文章目录

1 前言(手绘RISC-V SoC内核RTL试图):

2. 开源工程tinyriscv使用教程:

3. 开源工程tinyriscv下载地址:

4. 开源工程tinyriscv简介


0 RISC-V SoC注解系列文章目录

零、RISC-V SoC软核笔记详解——前言

 一、RISC-V SoC内核注解——取指

 二、RISC-V SoC内核注解——译码

三、RISC-V SoC内核注解——执行

四、RISC-V SoC内核注解——除法(试商法)

五、RISC-V SoC内核注解——中断

六、RISC-V SoC内核注解——通用寄存器

七、RISC-V SoC内核注解——总线

八、RISC-V SoC外设注解——GPIO

九、RISC-V SoC外设注解——SPI接口

十、RISC-V SoC外设注解——timer定时器

十一、RISC-V SoC外设注解——UART模块(终篇)

另外,在最后一个章节中会上传额外添加详细注释的工程代码,完全开源,如有需要可自行下载。

1 前言(手绘RISC-V SoC内核RTL视图):

过去几年RISC-V飞速发展,这股从美国兴起的RISC-V大流愈演愈烈。由于目前中国IC行业受到国外不同程度的排挤,在国内大力发展RISC-V这个完全开源的精简指令集架构,显得尤为重要。而目前国内很多芯片的龙头企业都已经进军RISC-V架构的芯片领域,如紫光展锐、华为海思、阿里平头哥等。从市场角度来说,RISC-V还是有很多事情要做的,其生态建设,高端场景应用都需要进一步发展。所以推动RISC-V的教学和发展就愈发重要。

如果想要拿RISC-V架构的SoC来参加FPGA开发或者数字IC设计相关的比赛,或者就是单纯想要学习RISC-V,那如何在短期内(一周左右)掌握RISC-V的基本框架呢?

对于有一定计算机架构基础的同学来说,最直接快速的方法就是:在开源社区下载与RISC-V有关的开源工程代码,在实践中学习。笔者在学习初期就选择了一个基础、结构简单但是完整的RISC-V SoC开源工程进行学习。在这个开源项目中作者也对整个工程进行了较为详细的注解,但对于verilog语法和计算机体系结构基础薄弱的同学来说,看起来还是略感吃力。

因此,笔者在学习这个riscv soc工程的过程中,又对其进行了进一步注解,并将一些学习成果和心得记录下来,作为连载笔记记录在此,希望可以帮助小白同学从零基础入门学习RISC-V架构的SoC。另外,在最后一个章节中会上传额外添加详细注释的工程代码,也完全开源,如有需要可自行下载。另外,我们根据源代码,绘制了详细的内核框架图,包括信号传递方向,就在下边:

(此处致谢马博士、小汪、小段)

零、RISC-V SoC软核代码笔记详解——前言_第1张图片

我觉得这个图放这儿挺清晰的,如果不清晰的话,可以私信作者索要哦,咱这儿一切免费开源~

因水平有限,在此过程中如有错误,请各位小伙伴私信或留言指正。


2. 开源工程tinyriscv使用教程:

这个开源SoC工程的使用方法在B站上面有详细讲解,讲解视频的链接如下:

 ​​​​​​北理工电子线路实验之数字部分教程(带声音)RISC-V相关操作https://www.bilibili.com/video/BV1nP4y1h7dc?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click

3. 开源工程tinyriscv下载地址:

tinyriscv: 一个从零开始写的极简、非常易懂的RISC-V处理器核。 (gitee.com)https://gitee.com/liangkangnan/tinyriscv

4. 开源工程tinyriscv简介

上述tinyriscv是一个采用三级流水线设计,顺序、单发射、单核的32位RISC-V SoC处理器,包括RISC-V处理器内核和对应的外设接口,工程中的代码都是采用verilog HDL语言编写,核心设计思想是简单、易懂。

另外,工程的作者也对整个工程进行了较为详细的注释,链接如下:

从零开始写RISC-V处理器 | liangkangnan的博客 (gitee.io)https://liangkangnan.gitee.io/2020/04/29/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E5%86%99RISC-V%E5%A4%84%E7%90%86%E5%99%A8/上述链接中也有对RISC-V的简单介绍,摘出如下:

RISC-V是什么

RISC,即精简指令集处理器,是相对于X86这种CISC(复杂指令集处理器)来说的。RISC-V中的V是罗马数字,也即阿拉伯数字中的5,就是指第5代RISC。

RISC-V是一种指令集架构,和ARM、MIPS这些是属于同一类东西。RISC-V诞生于2010年,最大的特点是开源,任何人都可以设计RISC-V架构的处理器并且不会有任何版权问题。

既生ARM,何生RISC-V

ARM是一种很优秀的处理器,这一点是无可否认的,在RISC处理器中是处于绝对老大的地位。但是ARM是闭源的,要设计基于ARM的处理器是要交版权费的,或者说要购买ARM的授权,而且这授权费用是昂贵的。

RISC-V的诞生并不是偶然的,而是必然的,为什么?且由我从以下两大领域进行说明。

先看开源软件领域(或者说是操作系统领域),Windows是闭源的,Linux是开源的,Linux有多成功、对开源软件有多重要的意义,这个不用多说了吧。再看手机操作系统领域,iOS是闭源的,Android是开源的,Android有多成功,这个也不用多说了吧。对于RISC处理器领域,由于有了ARM的闭源,必然就会有另外一种开源的RISC处理器。RISC-V之于CPU的意义,就好比Linux之于开源软件的意义。

或者你会说现在也有好多开源的处理器架构啊,比如MIPS等等,为什么偏偏是RISC-V?这个在这里我就不细说了,我只想说一句:大部分人能看到的机遇不会是一个好的机遇,你懂的。

可以说未来十年乃至更长时间内不会有比RISC-V更优秀的开源处理器架构出现。错过RISC-V,你注定要错过一个时代。

你可能感兴趣的:(RISC-V,数字IC设计,risc-v,verilog,soc)