硬件结构课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

题目:硬件结构设计

院(系):

专业: 计算机科学与技术

班级:计算机

学号:

姓名:

指导老师:

设计时间: 14-15 学年 1 学期

2014年12月

目录

一、课程设计目的 (3)

二、设计要求 (3)

三、设计原理 (3)

1.CPU的模块功能简述 (3)

2.CPU的设计原理 (4)

四、实验步骤 (4)

1.开发板的验证 (5)

2.模块仿真 (6)

3.系统仿真 (7)

五、实验结果及结果分析 (8)

扩展指令 (8)

六、实验心得和总结 (9)

一、课程设计目的

本课程是计算机科学与技术专业的主干核心课之一,通过课程设计融会贯通本课程各章节的内容,在实验的基础上综合运用,加深对各主要组成部件的工作原理及其相互间有机联系的理解。加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。

学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和电路设计的基本技能。

培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。

二、设计要求

完成一个简单但完整的计算机系统,包括存储器、ALU 、总线、控制单元、I/O 等。要求计算机能够取出并执行若干条指令。最后通过led 观察执行结果。

三、设计原理

1.CPU 的模块功能简述

CPU 共有6个模块,分别为控制信号输入器、控制器、数据总线、74371寄存器、算术逻辑运算器、储存器,还外加一个频率发生器。CPU 经过这些模块的组合后可以完成输入两个8位二进制数,并进行一次或多次算术运算或逻辑运算,运算结果可以在运算器中输出验证,还可以将运算结果储存在储存器中。储存器中可以储存256个8位二进制数,并可以输出特定位置的数据。

CPU 内部结构

PC

总线

IR

微地址 入口电路

控存 ROM

微指令 寄存器

通用REG 组

微指令 译码电路

ALU

微指令

2.CPU的设计原理

在控制信号输入器中主要有四个控制端口器,check、Con、equ、res,分别对控制器输入查看结果、继续上一步操作、单步操作、重置的信号。控制信号相当于译码器,对指令进行一次译码,并把译码结果传进控制器。

控制器是CPU的核心,CPU在控制器的控制下进行各项操作。控制器的输入控制信号输入器的产生译码,再次进行译码,产生16位的微指令,然后通过微指令对数据总线、寄存器、运算器、储存器进行操作控制。

微指令的格式

1~2:控制第1个寄存器,10表示寄存器输入数据,并将数据输出至数据总线控制器。

3~4:控制第2个寄存器,10表示寄存器输入数据,并将数据输出至数据总线控制器。

5~6:控制第3个寄存器,10表示寄存器输入数据,并将数据输出至数据总线控制器。

7~10:控制数据总线,1000为输入端口1 的数据,0100输入端口2的数据,0010输入端口3 的数据,0001输入端口的数据。

11~12:控制第4个寄存器,10表示寄存器输入数据,并将数据输出至运算器。

13~14:控制第一个寄存器,10表示寄存器输入数据,并将数据输出至运算器。

15~16:控制储存器,15位为1是写功能,16位为1是读功能。

数据总线寄存器、寄存器、运算器、储存器在控制器的微指令信号控制下进行各项操作,数据总线通过读进第1、2、3个寄存器和运算器中的数据再把数据输出至第4、5个寄存器、储存器和第3个寄存器。CPU中的5个寄存器是在特定的时候读进信号线中的数据并在特定的时候读出数据至信号线。

运算器则对从第4、5个寄存器输入数据进行算术运算或者逻辑运算,并将运算结果直接输出或者输出至第3个寄存器或者数据总线寄存器。

四、实验步骤

1.开发板的验证

因为开发板只有8个输入端口和8个输出端口,所以添加一个数据寄存器,将两个操作数和储存器的第放在寄存器中,并用原理图的方式连接至CPU。然后将其余的端口与开发板的端口对应。

输入寄存器设计代码:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity mem is

port(

data_out1:out std_logic_vector(7 downto 0);

data_out2:out std_logic_vector(7 downto 0);

address:out std_logic_vector(7 downto 0)

);

end mem;

architecture Behavioral of mem is

signal do_tmp1 : std_logic_vector(7 downto 0):="11110101";

signal do_tmp2 : std_logic_vector(7 downto 0):="11110101";

signal add_tmp : std_logic_vector(7 downto 0):="11110000";

begin

data_out1<=do_tmp1;

data_out2<=do_tmp2;

address<=add_tmp;

end Behavioral;

连接原理图,编译下载到开发板后拨动开关,但是开发板的LED灯没有任何反应。经过多次调试后任然没有反应。

2.模块仿真

1.Sel控制输入信号器的仿真,如下图。

根据仿真可知Sel的功能正确。

2.控制器的仿真,如图

相关文档
最新文档