计算机硬件基础课程设计:RISC-V单周期CPU设计与实现(详细报告及核心代码)

目录

课程设计的目的及意义

目的

意义

课程设计的内容及设计原理

I型运算指令

R型运算指令

存储器访存指令(Load\Store类指令)

分支转移指令

RISC-V单周期CPU设计与实现

(一)硬件设计

实现I型运算指令

实现R型运算指令

实现存储器访存指令(Load\Store类指令)

补充(简单IO接口的实现)

实现分支转移指令

(二)核心代码

指令存储器模块

寄存器堆

ALU模块

立即数模块

二选一多路器模块

数据寄存器模块

PC跳转

控制器模块

功能测试

结论(心得体会)


  • 课程设计的目的及意义

目的
  1. 理解RISC-V的基本指令格式(包括R型、I型、S型、U型指令)和衍生指令格式(包括B型、J型指令),理解数据通路与指令功能的关联,掌握这些指令的运行原理和设计。
  2. 掌握硬布线控制逻辑的设计方法、CPU实验的调试方法、简单IO接口的设计方法、微程序的编制和写入,观察微程序的运行过程。
  3. 能够使用VerilogHDL语言实现一个简单RISC-V单周期CPU的设计,并完成基本RISC-V单周期指令的设计:包括I型运算类指令、R型运算类指令、Load类访存指令、Store类访存指令和B型分支转移类指令。
意义
  1. 通过课程设计加深对计算机硬件功能和微程序控制器的组成原理的理解。
  2. 对所学的计算机硬件基础课程知识进一步地系统化,提高硬件设计能力和动手能力。
  3. 培养科学研究的独立工作能力,积累工程设计与组装调试的实践经验。
  • 课程设计的内容及设计原理

I型运算指令

I型运算类指令的opcode为0010011,由funct3区分不同的指令。该类指令的指令格式如下:

31                             20   19  15  14  12   11            7   6    0

imm[11:0]

rs1

funct3

rd

opcode

1  I型指令的指令格式

该类指令的一般形式是OP rd,rs1,imm。OP表示I型运算类指令中的某一条,指令功能是将rs1寄存器的内容与立即数imm进行OP运算,结果送入目标寄存器rd。

R型运算指令

R型运算类指令的opcode为0110011,由funct3和funct7区分不同的指令。该类指令的指令格式如下:

31                     25  24  20   19  15  14  12   11          7   6   0

funct7

rs2

rs1

funct3

rd

opcode

2  R型指令的指令格式

该类指令的一般形式是OP rd,rs1.rs2,OP表示R型运算类指令中的某一条,指令功能是寄存器rs1和寄存器rs2的内容进行OP运算,将运算结果送入寄存器rd。

存储器访存指令(Load\Store类指令)

在RISC-V指令集中,运算指令不直接访问存储器,访问存储器只能通过Load\Store类指令。

Load类指令的opcode为0000011,由funct3区分不同的指令。指令格式采用I型,该类指令的一般形式是OP rd,imm(rs1),其功能是将地址为imm+(rs1)的内存单元内容送rd。

Store类指令的opcode为0100011,由funct3区分不同的指令。指令格式采用S型(S型指令的指令格式如下所示),该类指令的一般形式是OP rs2,imm(rs1),其功能是将寄存器rs2的内容送地址为imm+(rs1)的内存单元。
  31                     25  24  20   19  15  14  12   11          7   6     0

imm[11:5]

rs2

rs1

funct3

imm[4:0]

opcode

3  S型指令的指令格式

分支转移指令

分支转移指令采用B型格式, B型分支转移类指令的opcode为1100011,由funct3区分不同的指令。该类指令的指令格式如下:
  31                     25  24  20   19  15  14  12   11          7   6     0

imm[11:5]

rs2

rs1

funct3

imm[4:0]

opcode

4  B型指令的指令格式

该类指令的一般格式是OP rs1,rs2,imm,其功能为:rs1和rs2进行运算,运算的结果如果满足转移条件则PC<-(PC)+imm,实现程序转移;否则,PC<-(PC)+4,程序顺序执行。

  • RISC-V单周期CPU设计与实现

(一)硬件设计
实现I型运算指令

I型运算指令是把寄存器内容和立即数进行运算,运算结果存放到寄存器中,采用立即寻址方式,指令的一般形式是OP rd,rs1,imm,其功能为:rd<-(rs1)OP imm。OP所代表的操作由opcode和funct3决定,rs1和

  • 49
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a不是橘子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值