- 317
- 0
- 约5.08千字
- 约 18页
- 2020-10-07 发布于浙江
- 举报
Logisim完成单周期处理器开发
实验报告
学 号__________________
姓 名___________王禹心___________
指导教师___________朱文军___________
提交日期__________2019.5.28_________
成绩评价表
报告内容
报告结构
报告最终成绩
□丰富正确
□基本正确
□有一些问题
□问题很大
□完全符合要求
□基本符合要求
□有比较多的缺陷
□完全不符合要求
报告与Project功能一致性
报告图表
总体评价
□完全一致
□基本一致
□基本不一致
□符合规范
□基本符合规范
□有一些错误
□完全不正确
教师签字:________________________
目录
一、总体数据通路结构设计图
二、数据通路中的模块设计图
1、IFU
2、GPR
3、ALU
4、EXT
5、DM
6、Controller
三、控制器设计
四、机器指令描述
五、测试程序
六、运行结果
七、问答
八、收获体会
附:Logisim模块目录
总体数据通路结构设计图
二、数据通路中的模块设计图
1、IFU
模块接口
信号名
方向
描述
Zero
I
ALU计算结果
1:计算结果为0
0:计算结果非0
Clk
I
时钟信号
Reset
I
复位信号
1:复位
0:无效
Insout[31:0]
O
32位MIPS指令
功能定义
序号
功能名称
描述
1
复位
当复位信号有效时,PC被设置为02
取指令
根据PC从IM中取出指令
3
计算下一条指令地址
若不是beq指令,则PC-PC+1,若是beq指令,且zero为1,则PC-PC+sign_ext
2、GPR
信号名
方向
描述
Wd[31:0]
I
写入数据的输入
Regwrite
I
读写控制信号
1:写操作
0:读操作
Clk
I
时钟信号
Reset
I
复位信号
1:复位
0:无效
A1[4:0]
I
读存取器地址1
A2[4:0]
I
读存取器地址2
A3[4:0]
I
写寄存器地址
Rd1[31:0]
O
32位数据输出1
Rd2[31:0]
O
32位数据输出2
3、ALU
模块接口
信号名
方向
描述
A[31:0]
I
32位输入数据1
B[31:0]
I
32位输入数据2
2F[1:0]
I
控制信号
01:或运算
10:减法
11加法
C[31:0]
O
32位数据输出
功能定义
序号
功能名称
描述
1
或
A|B
2
减
A-B
3
加
A+B
4、EXT
模块接口
信号名
方向
描述
Imm16[15:0]
I
16位数据输入
Extop[1:0]
I
控制信号
00:高位补0
01:低位补0
10:符号扩展
Ext32
O
32位数据输出
功能定义
序号
功能名称
描述
1
高位补0
高16位补0
2
低位补0
低16位补0
3
符号扩展
符号位扩展
5、DM
模块接口
信号名
方向
描述
D[31:0]
I
写入数据的输入
Memwrite
I
读写控制信号
1:写操作
Clk
I
时钟信号
Reset
I
复位信号
1:复位
0:无效
A[4:0]
I
操作寄存器地址
Out[31:0]
0
32位数据输出
功能定义
序号
功能名称
描述
1
复位
当复位信号有效时,所有数据被设置为0
2
读
根据输入的寄存器地址读出数据
3
写
根据输入的地址把输入的数据写入
6、Controller
模块接口
信号名
方向
描述
Op[5:0]
I
六位op
Func[5:0]
I
六位function
Regdst
0
写地址控制
Alusrc
0
cpu第二操作数选择控制
Mentoreg
0
Dm读控制
Regwrite
0
GPR读写控制
Memwrite
0
DM写控制,写入GPR数据选择
Npc_sel
0
Beq指令标志
Extop
0
控制ext扩展方式
Aluop[1:0]
0
控制cpu进行相应运算
三、控制器设计
单周期真值表
Func
100000
100010
N/A
Op
000000
000000
001101
100011
000100
001111
add
sub
ori
lw
sw
beq
lui
RegDst
1
1
0
0
X
X
0
ALUSrc
0
0
1
1
1
0
1
MentoReg
0
0
0
1
X
X
X
RegWrite
1
1
1
1
0
0
2
MemWrite
0
0
0
0
1
0
0
Npc_sel
0
0
0
0
0
1
0
Extop
X
X
0
0
0
X
1
ALUctr
Add
subtract
or
add
add
subtract
X
四、机器
原创力文档

文档评论(0)