集成电路竞赛——Robei 杯之RiSC-V入门(1)
本帖最后由 皋陶 于 2020-8-26 12:00 编辑Robei 杯在Robei 杯的赛题里,有一句话是这么说的:
从这里看出,Robei 官方是非常希望参赛者能够使用 FPGA去搭建一个RISC-V 架构的CPU,来实现对控制模块的控制,我之前在集成电路竞赛——Robei 杯(瞎)解读 里,简单介绍过RISC-V这个架构,也说了一下为什么会用这个架构比赛。
然后我发现,自己说的并不是很清楚,直接摘抄了定义,这个对于理解和使用其实并没有什么用。(我一开始其实不打算用这个架构写,想着干脆Verilog 手写控制模块算了,但是看了看加分分值,好叭,我屈服了)
于是,我开始入门RISC-V的编程了。我查了一个下午+晚上的资料,然后很崩溃,我为什么要报这个比赛,知识它不入脑子啊。
——————————————菜鸡怀疑人生的分割线————————————
RISC-V 介绍RISC-V是国内近两年非常火的一个开源的指令集CPU架构,本身这个指令集是伯克利大学的团队研发的。这个架构是免费且开源的,不过这个并不是它火爆的原因,这个架构用一个词来形容就是“简单”,指令集精简,开发流程相对容易。
在IC的发展过程中,向后兼容一直是一个麻烦的问题,为了保证架构的向后兼容性,不得不保留很多过时的定义,久而久之架构就会变的极为冗长。而RISC-V因为产生的比较晚,诞生于一个计算机技术已经高度成熟的时候,能通过以前的经验来优化这个架构,保证精简。(从别人的文章里感悟来的)
RISC-V的故事参考这个:终于有人把RISC-V讲懂了
u1s1,其实我看完了文章也并不是很懂,因为这个涉及到了我的知识盲区,我也是第一次了解指令集和CPU架构这个东西,初学还是云里雾里的。RISC-V的官网是:https://riscv.org
在官网里,所有RISC-V的资料都是免费的,上面还有入门的视频教程,还有Github官网的代码。(比较适合接触过CPU设计的,接触过其它指令集架构的人看)
RISC-V开发环境搭建
这个架构的开发环境是基于Linux搭建的,所以要给电脑配置一个Linux系统,这里可以选择Ubuntu。
参考这篇博客(别人写的):在Ubuntu 18.04 LTS构建RISC-V开发环境(SiFive E310开发环境建立)
这个是安装好Linux系统后,安装riscv过程的博客(别人写的):点这里
如何在FPGA上搭建RISC-V ,这个可能得下一次博客了~
比赛时FPGA的开发过程Robei 杯 只允许参赛者使用RISC-V的IP核,并且鼓励开发者在FPGA机器人开发的过程中,实现 RISC-V架构 CPU来进行模块控制。
这样子的话,整个控制过程大概是这样的:
这些基本上是比赛上,大部分FPGA的结构了。我认真查了一下,只有Xilinx的EDA里有RISC-V的IP核,Altera里是没有的,所以如果想要这个加分的话,估计开发板必须选择Xilinx,而且尽量把资源保证在万门以上(仅初赛)
———————————————————总结—————————————————————
[*]选一块Xilinx的板子
[*]去官网找RISC-V的资料
[*]B站上有另一个赛杯的资料,专门针对RISC-V的,可以作为参考学习。
美国DIGILENT科技 RISC-V挑战杯
[*]熟悉Linux系统
[*]熟悉Xilinx 调用RISC-V IP核,以及C语言核Verilog HDL的联调、仿真。
[*]Github 上有非常多的成熟且开源的项目,可以拿来参考。
[*]不一定要把RISC-V架构真的应用在比赛作品上,如果真的不熟悉,这个时间学习成本是非常高的,万一到时候因为时间太紧,RISC-V用不好,实物作品也做不出,这样就得不偿失了。
本篇完,感谢关注:RISC-V单片机中文网
页:
[1]