大家一起从零设计RISC-V处理器(一)之开篇

1.渊源

现在我还记得初学FPGA时候,问过学长FPGA能做什么,他回答:无所不能,比如可以实现51单片机;但当时我初学无知,无法理解在实现FPGA上单片机,那时候对图像识别感兴趣,因此FPGA大部分用在图像处理上,FPGA玩儿得算是小有成就吧;偶然的机会成为了一名数字ICer,恰好当时RISC-V在国内火了起来,让我又想起了学长所说的话,或许我应该从零设计一个RISC-V处理器;

2.初衷

老粉丝比较了解我的风格,喜欢输出毫无保留的干货,其实我今天的所学所知也是受益于开源与分享,因此我也秉持开源分享的精神输出一些我浅薄知识;该RISC-V处理器的整个设计过程将为大家开放,开源工程后面会放在gitee上;最为一名ICer将会从专业与规范的流程来设计,同时说明一下这与我工作和公司没有任何联系,纯属个人业余爱好;由于我工作不涉及到CPU的研发,CPU设计过程中可能会存在很多不正确的地方,希望各位多多提醒与交流!

3.准备

从2020年开始陆续分享IC EDA的安装教程,也免费分享了完整的IC_EDA虚拟机,同时基于该虚拟机完成了蜂鸟E203的低成本移植;然后由于我购买的FPGA板卡没有外设接口,因此还专门制作一个FPGA拓展板,引出一些常用的接口,特别是JTGA接口和千兆以太网,实现摄像头采集;总之做了很多准备工作,自己也列了很多计划但由于中间很多事情,所以很多事情并没有完成;
大家一起从零设计RISC-V处理器(一)之开篇_第1张图片
大家一起从零设计RISC-V处理器(一)之开篇_第2张图片
大家一起从零设计RISC-V处理器(一)之开篇_第3张图片

大家一起从零设计RISC-V处理器(一)之开篇_第4张图片

大家一起从零设计RISC-V处理器(一)之开篇_第5张图片

4.目标

ARM、ST分别是目前做得最好的微处理内核和MCU,因此我们将会参考这两家公司的规格进行RISC-V处理的设计,实现一个小型的SOC,先学会行走再尝试奔跑,先模仿再超越;
目前很多开源的RISC-V处理器,开源了处理器(SOC)代码,并且有仿真验证的环境和编译环境,这里推荐大家学习蜂鸟E203,前面我花了比较多的时间移植和 学习E203,有很多值得学习的地方,传送门:蜂鸟E203学习系列文档 ;还有专门的论坛,资源比较丰富,开发者很多,学习相对容易很多,其他国内外的也可以去研究学习,有不错的欢迎推荐;
从目前开源情况来看,我觉得少了很多关于开发的过程,以及比较规范的开发流程,基于这个点一个是要有详细的设计过程,包括设计和验证的文档,另一个就是模仿公司开发流程和环境,做到规范化设计,完备性验证,最后可以形成一个完整的闭环,以后做架构升级优化都会比较方便,可靠性也会比较高。先保质保量完成第一代RISC-V处理器的设计,后面再详细规划;

性能:

  • 参考ARM M3的性能设计,但预计会差别比较大
  • 使用AHB、APB、AXI总线
  • 采用哈佛架构
  • RV32I指令集
  • 仅支持机器模式
  • 具有JTAG硬件调试

流程

  • 仿真Regress
  • C语言黑盒测试、UVM白盒测试
  • 覆盖率
  • Lint、CDC检查(Spyglass)
  • DC综合
  • 后仿
  • FPGA原型验证移植
  • FPGA应用开发

如下图所示,目前设计与验证环境已经具有初步的规模了,具体的效果后面会发视频演示,但是目前还需要加入更多的功能;
大家一起从零设计RISC-V处理器(一)之开篇_第6张图片

5.规划

大致如图所示
大家一起从零设计RISC-V处理器(一)之开篇_第7张图片

目前计划的MCU架构:
大家一起从零设计RISC-V处理器(一)之开篇_第8张图片

6.说明

首先基于我分享的IC_EDA虚拟机做开发;由于条件有限目前计划不会走后端去流片,规划先做到DC综合后仿,因此应用还是需要上FPGA,在FPGA上实现才有真正的乐趣;

所有开发基于我分享的EDA虚拟机中进行:开源IC_EDA虚拟机

CK_Riscv开源工程已经上传gitee,大家可以取下来跑一跑:传送门:CK_Riscv


由于CSDN开始限制放置二维码,所以只有搜索 芯王国 关注我的公众号,公众号中有更多资源和干货,同时加入IC/FPGA,RISCV的交流群
QQ群号:897532154

你可能感兴趣的:(RISC-V设计,risc-v,开源处理器,IC设计)