- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从零开始写RISC-V 处理器
从零开始写 RISC-V 处理器
前⾔
第⼀次听到RISC-V这个词⼤概是两年前,当时觉得它也就是和MIPS这些CPU架构没什么区别,因此也就不以为然了。直到去年,RISC-V
这个词开始频繁地出现在微信和其他⽹站上,此时我再也不能⽆动于衷了,于是开始在⽹上搜索有关它的资料,开始知道有SiFive这个⽹
站,知道SiFive出了好⼏款RISC-V的开发板。可是最便宜的那⼀块开发板都要700多RMB,最后还是忍痛出⼿了⼀块。由于平时上班⽐较
忙,所以玩这块板⼦的时间并不多,也就是晚上下班后和周末玩玩,⾃⼰照着芯⽚⼿册写了⼏个例程在板⼦上跑跑⽽已。
再后来发现⽹上已经有如何设计RISC-V处理器的书籍卖了,并且这个处理器是开源的,于是果断买了⼀本来阅读并浏览了它的开源代码
最后表⽰看不懂。从那之后⼀个“从零开始写RISC-V处理器”的想法开始不断地出现在我的脑海⾥。我⼼⾥是很想学习、深⼊研究RISC-V
的,但是⼀直以来都没有verilog和FPGA的基础,可以说是CPU设计领域⾥的门外汉,再加上很少业余时间,为此⼀度犹豫不决。但是直
觉告诉我已近不能再等了,我决定开始⾃学verilog和FPGA,⽤简单易懂的⽅式写⼀个RISC-V处理器并且把它开源出来,在提⾼⾃⾝的同
时希望能帮助到那些想⼊门RISC-V的同学,于是tinyriscv终于在2019年12⽉诞⽣了。
tinyriscv是⼀个采⽤三级流⽔线设计,顺序、单发射、单核的32位RISC-V处理器,全部代码都是采⽤verilog HDL语⾔编写,核⼼设计思
想是简单、易懂。
绪论
2.1 RISC-V是什么
RISC,即精简指令集处理器,是相对于X86这种CISC(复杂指令集处理器)来说的。RISC-V中的V是罗马数字,也即阿拉伯数字中的5
就是指第5代RISC。
RISC-V是⼀种指令集架构,和ARM、MIPS这些是属于同⼀类东西。RISC-V诞⽣于2010年,最⼤的特点是开源,任何⼈都可以设计
RISC-V架构的处理器并且不会有任何版权问题。
2.2 既⽣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,你注定要错过⼀个时代。
软件篇:浅谈Verilog
verilog,确切来说应该是verilog HDL(Hardware Description Language ),从它的名字就可以知道这是⼀种硬件描述语⾔。⾸先它是⼀
种语⾔,和C语⾔、C++语⾔⼀样是⼀种编程语⾔,那么verilog描述的是什么硬件呢?描述电阻?描述电容?描述运算放⼤器?都不是,它
描述的是数字电路⾥的硬件,⽐如与、⾮门、触发器、锁存器等等。
既然是编程语⾔,那⼀定会有它的语法,学过C语⾔的同学再来看verilog得代码,会发现有很多地⽅是相似的。
verilog的语法并不难,难的是什么时候该⽤wire类型,什么时候该⽤reg类型,什么时候该⽤assign来描述电路,什么时候该⽤always来
描述电路。assign能描述组合逻辑电路,always也能描述组合逻辑电路,两者有什么区别呢?
3.1 ⽤always描述组合逻辑电路
我们知道数字电路⾥有两⼤类型的电路,⼀种是组合逻辑电路,另外⼀种是时序逻辑电路。组合逻辑:输出只是当前输⼊逻辑电平的函数
(有延时),与电路的原始状态⽆关。当前电路输⼊信号任何⼀个发⽣改变,输出都将发⽣改变。时序
您可能关注的文档
- 辽宁省抚顺一中2020学年高一英语下学期学业水平模拟测试试题.pdf
- 辽宁省沈阳市2015年学业水平测试预测数学试题2 Word版含答案.pdf
- 辽宁省辽阳市二年级下册语文期中学业水平测试卷A卷.pdf
- 辽宁省辽阳市二年级下册语文期中学业水平测试卷D卷.pdf
- 辽宁省沈阳市2018年学业水平测试预测数学试题1Word版含答案.pdf
- 2019-2020学年辽宁省朝阳市英语八年级(上)期末学业水平测试模拟试题.pdf
- 辽宁省锦州市2018-2019学年八上物理期末学业水平测试试题.pdf
- 辽宁省阜新市2019年七年级上学期语文期末学业水平测试试题(模拟卷三).pdf
- 辽宁省朝阳市2020届七上地理期末学业水平测试试题.pdf
- 辽宁省朝阳市一年级上学期语文期末学业水平测试卷A卷.pdf
- 6.2+民族区域自治制度+课件高中政治统编版必修三政治与法治.pptx
- 第四课 准确把握概念 课件高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 5.1中国外交政策的形成与发展课件高中政治统编版选择性必修一当代国际政治与经济.pptx
- 6.2 夫妻地位平等 课件高中政治统编版选择性必修二法律与生活(2).pptx
- 4.2 权利行使 注意界限 课件-高中政治统编版选择性必修二法律与生活(3).pptx
- 5.2构建人类命运共同体课件-高中政治统编版选择性必修一当代国际政治与经济.pptx
- 10.2 严格遵守诉讼程序 课件高中政治统编版选择性必修二法律与生活(3).pptx
- 7.2心中有数上职场课件-高中政治统编版选择性必修二法律与生活.pptx
- 第三课 领会科学思维 课件高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 1.2+中国共产党领导人民站起来、富起来、强起来高中政治统编版必修三政治与法治.pptx
最近下载
- 不规范用字ppt.ppt
- 议论文开头十大技巧(上篇)(讲义)-备战2025年高考语文议论文写作秘籍(原卷版).docx
- 幼儿创意手工-培养创造力与动手能力.pptx
- 2025年铁岭卫生职业学院单招(语文)测试题库最新.docx VIP
- 班会主题:体谅他人.pptx VIP
- 高处作业个人防护用品及基本知识安全培训课件.pptx
- 汽车行业的合规制度培训指南.pptx
- 中考道德与法治没复习研讨会发言材料:明确策略,提高复习效率 夯实基础,构建知识网络.pdf
- 哈尔滨工业大学课件.pptx
- 《高速铁路通信工程细部设计和工艺质量标准(图例部分)》报批修改稿3.0版(2018.1.17)上交稿(1).pdf VIP
文档评论(0)