简易计算机系统综合设计设计报告 本文关键词:设计,计算机系统,简易,报告,综合
简易计算机系统综合设计设计报告 本文简介:简易计算机系统综合设计简易计算机系统综合设计设计报告班级姓名学号一、设计目的连贯运用《数字逻辑》所学到的知识,熟练掌握EDA工具的使用方法,为学习好后续《计算机原理》课程做铺垫。二、设计内容①按给定的数据格式和指令系统,使用EDA工具设计一台用硬连线逻辑控制的简易计算机系统;②要求灵活运用各方面知识
简易计算机系统综合设计设计报告 本文内容:
简易计算机系统综合设计
简易计算机系统综合设计设计报告
班级
姓名
学号
一、设计目的
连贯运用《数字逻辑》所学到的知识,熟练掌握EDA工具的使用方法,为学习好后续《计算机原理》课程做铺垫。
二、设计内容
①
按给定的数据格式和指令系统,使用EDA工具设计一台用硬连线逻辑控制的简易计算机系统;
②
要求灵活运用各方面知识,使得所设计的计算机系统具有较佳的性能;
③
对所做设计的性能指标进行分析,整理出设计报告。
三、
详细设计
3.1设计的整体架构
3.2各模块的具体实现
1.指令计数器(zhiling_PC)
元件:
输入端口:CLK,RESET,EN;
输出端口:PC[30];
CLK:时钟信号;
RESET:复位信号;
EN:计数器控制信号,为1的时候加一;
PC[30]:地址输出信号;
代码:
波形图:
总共有九条指令,指令计数器从0000到1000;
功能:
实现指令地址的输出;
2.
存储器(RAM)
元件:
输入端口:PC[30],CLK;
输出端口:zhiling[70];
CLK:时钟信号;
PC[30]:指令地址信号;
zhiling[70]:指令输出信号;
代码:
波形图:
功能:
根据输入的地址输出相应的指令;
3.指令译码器(zlymq)
元件:
输入端口:zhiling[70];
输出端口:R1[10],R2[10],M[30];
zhiling[70]:指令信号;
R1:目标寄存器地址;
R2:源寄存器地址;
M[30]:指令所代表的操作编号;
代码:
波形图:
功能:
实现指令的操作译码,同时提取出目标寄存器和源寄存器的地址;
4.算术逻辑运算器(ALU)
元件:
输入端口:EN_ALU,a[70],b[70],M[30];
输出端口:c[70],z;
EN_ALU:运算器的使能端;
a[70]:目标寄存器R1的值;
b[70]:源寄存器R2的值;
M[30]:指令所代表的操作编号;
c[70]:运算结果;
z:运算完成的信号;
代码:
波形图:
功能:
实现算术逻辑运算,输出运算结果;
5.选择器(cpu_counter)
元件:
输入端口:CLK,R1[10],R2[10];
输出端口:EN_A,EN_B,EN_ALU,R,C,AD[10];
CLK:时钟信号;
R1[10]:目的寄存器地址;
R2[10]:源寄存器地址;
EN_A:暂存器A的控制信号;
EN_B:暂存器B的控制信号;
EN_ALU:运算器alu的控制信号;
C:指令计数器的控制信号;
AD[10]:寄存器的地址;
R:通用寄存器的可读控制信号;
代码:
波形图:
功能:
控制运算器ALU的运行时间,控制暂存器A,B的数据输入,控制通用寄存器的输出,控制指令计数器的技术,实现时序的统一性;
6.暂存器(jcq)
元件:
输入端口:CLK,RESET,K,s[70];
输出端口:Q[70];
CLK:时钟信号;
RESET:复位信号;
K:暂存器输入控制端口;
Q[70]:数据输出端口;
代码:
波形图:
功能:
实现运算数据的暂时储存;
7.通用寄存器组(tyjcqz)
元件:
输入端口:CLK,RESET,R,W,AD[10],WR[70];
输出端口:s[70];
CLK:时钟信号;
RESET:复位信号;
R:数据读取控制信号;
W:数据写入控制信号;
AD[10]:寄存器的地址;
WR[70]:写入的数据;
s[70]:数据输出端口;
代码:
波形图:
功能:
实现寄存器ABC,保存ABC中的数据,实现运算结果的保存;
四、
系统测试
4.1
测试环境
4.2
测试代码
指令的汇编符号
指令的功能
指令的二进制编码
MOV
R1,R2
(R2)→
R1
0011
R1
R2
MOV
M,R2
(R2)→(C)
0011
11
R2
MOV
R1,M
((C))→R1
0011
R1
11
ADD
R1,R2
(R1)+(R2)→
R1
1001
R1
R2
SUB
R1,R2
(R1)-(R2)→
R1
0110
R1
R2
AND
R1,R2
(R1)∧(R2)→
R1
1110
R1
R2
NOT
R1
/(R1)→
R1
0101
R1
XX
SHR
R1
(R1)逻辑右移一位→
R1
1010
R1
00
SHL
R1
(R1)逻辑左移一位→
R1
1010
R1
11
A:00000111
B:00001000
C:00000011
4.3
测试结果
五、
刚开始做CPU的时候什么思路都没有,后来经过小组讨论才找到一点思路,决定才寄存器做起,后面经过几天的讨论和努力,我们开始慢慢的理清了思路,开始跟着我们的思路将一个一个的元件写出来,到后面再将其连接成电路图发现波形图不对,后来我们开始一个输出一个输出的加,测试每一个元件在总电路图中的输出,寻找出现的错误,经过了几天的努力我们终于实现了CPU的功能,感觉加深了自己对于各种硬件功能的理解,让自己学到了许多。