分享 | 计算机组成与设计学习资料+CPU设计源码+实验报告

1.引言

百度网盘资源链接:

链接:https://pan.baidu.com/s/1Ww6u_l1L6DMXofC2HxfETw?pwd=yqd6

提取码:yqd6

2.学习资源预览

2.1 包含学习手册四本:

  • 计算机原理与设计:Verilog HDL版

  • 计算机组成与设计_答案手册(RISC_V)

  • 计算机组成与设计硬件软件接口risc-v中文

  • 数字逻辑与组成原理实践教程

2.2 32位RISC-V五级流水线CPU代码设计

  • 项目源代码(Modelsim仿真):CPU_pip_haza

  • 项目模拟仿真时使用的测试数据

  • CPU五级流水线设计图
  • 项目实现指令集:

设计的CPU能执行RISC-V精简指令集: S1={sb, sh, sw, lb, lh, lw, lbu, lhu},S2={add,sub,xor, or, and, srl, sra, sll},S3={xori, ori, andi, srli, srai, slli},S4={slt, sltu, slti, sltiu},S5={jal, jalr},S6={beq, bne, blt, bge, bltu, bgeu}

  • 项目实验报告目录:

目录

1 实验目的和意义 6

    1. 实验目的 6
    2. 实验意义 6

2. 实验环境介绍 7

2.1 Verilog HDL 7

2.2 Venus 7

2.3 ModelSim 7

2.4Nexys 4 DDR 硬件 7

3. 系统设计 9

3.1 总体设计 9

3.2PC(程序计数器) 10

3.3 regfile(寄存器堆) 10

3.3.1 功能描述 10

3.3.2 模块接口 10

3.4 controller(控制信号) 10

3.4.1 功能描述 10

3.4.2 模块接口 10

3.5 ALU(运算单元) 11

3.5.1 功能描述 11

3.5.2 模块接口 11

3.6 Hazard(冒险检测) 11

3.6.1 功能描述 11

3.6.2 模块实现 11

3.7 forward(旁路前递) 12

3.7.1 功能描述 12

3.7.2 模块实现 12

3.8 其他模块 12

4 实验及结果分析 13

4.1 仿真代码及其分析 13

4.1.1无数据依赖仿真测试 13

4.1.1.1仿真代码及其分析 13

4.1.1.2仿真测试结果 13

4.1.2有数据依赖仿真测试 15

4.1.2.1仿真代码及其分析 15

4.2 FPGA测试代码及其分析 16

4.2,1总述 16

4.2,2 学号排序实验结果 17

4.2,3 斐波拉契数列实验结果 18

5 实验心得 20

5.1 实验总结 20

5.2 实验收获 20

5.3 实验中遇到的问题与纠正 20

参考文献 22

相关推荐
风_峰1 天前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
FPGA_Linuxer1 天前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
风_峰2 天前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰2 天前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
碎碎思2 天前
一块板子,玩转 HDMI、USB、FPGA ——聊聊开源项目 HDMI2USB-Numato-Opsis
fpga开发
ooo-p2 天前
FPGA学习篇——Verilog学习Led灯的实现
学习·fpga开发
嵌入式-老费2 天前
Zynq开发实践(FPGA之选择开发板)
fpga开发
风_峰2 天前
PuTTY软件访问ZYNQ板卡的Linux系统
linux·服务器·嵌入式硬件·fpga开发
电子凉冰3 天前
FPGA入门-状态机
fpga开发
Aczone283 天前
硬件(十)IMX6ULL 中断与时钟配置
arm开发·单片机·嵌入式硬件·fpga开发