1
计算机组成原理
期末大作业报告
学 号_______20074214_____________
姓 名_______周子渔_______________
指导教师______ 魏坚华_ __________
提交日期___ 2022.6.7___ _________
成绩评价表
报告内容
报告结构
报告最终成绩
□丰富正确
□基本正确
□有一些问题
□问题很大
□完全符合要求
□基本符合要求
□有比较多的缺陷
□完全不符合要求
报告与大作业功能一致性
报告图表
总体评价
□完全一致
□基本一致
□基本不一致
□符合规范
□基本符合规范
□有一些错误
□完全不正确
教师签字:________________________
2
目录
一、设计说明....................................................................................................................................1
二、数据通路....................................................................................................................................3
三、模块定义 ..............................................................................................................................................3
3.1 PC 模块..........................................................................................................................................4
3.2 NPC 模块 ......................................................................................................................................4
3.3 im_1k 模块....................................................................................................................................5
3.4 GPR 模块.......................................................................................................................................5
3.5 ALU 模块.......................................................................................................................................6
3.6 EXT 模块........................................................................................................................................7
3.7 dm_1k 模块..................................................................................................................................7
3.8 MUX 模块 .....................................................................................................................................8
3.9 ctr 模块..........................................................................................................................................9
3.10 mips 模块.................................................................................................................................10
四、测试要求 .............................................................................................................................................12
4.1 测试程序 ...................................................................................................................................12
4.2 预期测试结果 ..........................................................................................................................14
4.3 实际测试结果 ..........................................................................................................................15
五、心得体会 .............................................................................................................................................15
3
Project1 VerilogHDL 完成单周期处理器开发
一、设计说明
1.处理器应实现 MIPS-Lite1 指令集。
MIPS-Lite1={MIPS-Lite,addi,addiu, slt,jal,jr}。
MIPS-Lite 指令集:addu,subu,ori,lw,sw,beq,lui,j。
addi 应支持溢出,溢出标志写入寄存器$30 中第 0 位。
2.处理器为单周期设计。
二、数据通路
三、模块定义
1.PC 模块定义
(1)基本描述
PC 主要功能是完成输出当前指令地址并保存下一条指令地址。复位后,PC
指向 0x0000_3000,此处为第一条指令的地址。
(2)模块接口
信号名
方向
描述
npc[31:0]
I
下条指令的地址
clk
I
时钟信号
reset
I
复位信号。
4
1:复位
0:无效
PC[31:0]
O
32 位指令存储器地址
(3)功能定义
序号
功能名称
功能描述
1
复位
当复位信号有效时,PC 被设置为 0x0000_3000。
2
保存 npc 并输出
pc
在每个 clock 的上升沿保存 npc,并输出 pc。
2.NPC 模块定义
(1)基本描述
通过不同指令的执行情况计算下一条指令的地址。
(2)模块接口
信号名
方向
描述
pc[31:0]
I
32 位指令存储器地址
JRaddr[31:0]
I
执行 jr 指令,写给 pc
sel
I
选择信号,根据指令不同选择 pc 改写方式
Zero
I
执行 beq 指令,pc 地址改写信号
Ins[31:0]
I
32 位 MIPS 指令
npc[31:0]
O
下条指令的地址
(3)功能定义
序号
功能名称
功能描述
1
计算下一
条指令地
址
①如果当前指令不是 beq、j、jal、jr 指令,则 PCPC+4
②如果当前指令是 beq 指令,且 zero 为 0,则 PCPC+4
5
如 果 当 前 指 令 是 beq 指 令 , 且 zero 为 1 , 则
PCPC+4+sign_ext(Instr[15:0])||00
③如果当前指令是 j 指令或 jal 指令,则 PCPC+4[31:28] ||
insout[25:0]||00。
④如果当前指令是 jr 指令,则 pcJRaddr。
2
分析当前
信号
根据输入的 sel 分析出当前信号是 j、jal、jr 还是 beq,从
而生成不同的指令地址。
3.im_1k 模块定义
(1)基本描述
保存指令并根据输入的地址,从指令寄存器中取出相应的指令。
(2)模块接口
信号名
方向
描述
addr[9:0]
I
指令存储器地址
dout[31:0]
O
32 位 MIPS 指令
(3)功能定义
序号
功能名称
功能描述
1
保存指令
将生成的 16 进制保存到指令寄存器里。
4.GPR 模块定义
(1)基本描述
寄存器组内含 32 个 32 位寄存器、写信号及其他相关逻辑。GPR 按照 rs
和 rt 提供的编号读取内容,按照 rt 或者 rd 提供的编号写入内容。