- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
青岛理工大学
实 验 报 告
实验课程: 计算机组成原理I
实验日期: 2014 年 11月7日, 交报告日期:2014 年11月 日,成绩:
实验地点:现代教育技术中心305(计算机实验室)
计算机工程 学院,计算机科学与技术 专业, 班级:计算122班
实验指导教师: 龚玉玺 批阅教师:龚玉玺
同组学生 姓名 郝兴明 徐鹏 学号 201207051 201207065 实验课题
按照题目要求设计计算机控制器的基本逻辑(不包括微操作信号产生电路),决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。
实验内容:
用层次结构设计的方法设计控制器的指令部件。下层元件的设计已经在实验3
顶层设计
功能要求:
具有控制器的部分基本功能,能够控制取指令操作、控制访存取数据操作、控制访存存数据操作、指令译码,等。
取指令机器周期:把程序计数器的内容送到地址总线,延迟一段时间后把从存储器中读出的指令(通过数据总线读入),送到指令寄存器;每取一个指令字程序计数器加1。
取数据机器周期:把地址寄存器的内容送到地址总线,延迟一段时间后把从存储器中读出的数据(通过数据总线)送到数据寄存器。
存数据机器周期:把地址寄存器的内容送到地址总线,把数据寄存器中的数据送到数据总线,延迟一段时间后结束。
指令译码3位。
提示1: 控制器内部数据通路,可以是总线结构,也可以是直接连接结构。
提示2: 控制器与系统总线的连接方法,有两种结构可以考虑:
① 程序计数器、指令寄存器、数据寄存器、地址寄存器都与系统总线有直接连接。
只有数据寄存器和地址寄存器与系统总线连接。程序计数器和指令寄存器不与系统总线连接。程序计数器内容必须先送到地址寄存器,然后才能到地址总线。从存储器中读出的指令必须先送到数据寄存器,然后才能到指令寄存器。
设计仿真波形数据,
逻辑设计
控制器系统框图
端口说明:
Loadq,loadd:数据寄存器的同步置数端口
Loada:地址寄存器的同步置数端口
Loadi:指令寄存器的同步置数端口
zq,zd;数据寄存器的三态控制端口
Clk:时钟信号
Zpc:程序计数器的三态控制端口
Za:地址寄存器的三态控制端口
ld:程序计数器的同步置数端口
r:程序计数器的同步清零端口
et:程序计数器的加1控制端口
cot:cot(0),cot(1)分别控制数据寄存器和程序计数器向地址寄存器和指令寄存器的数据传送
qd:数据的双向输入输出端口(连接系统数据总线)数据从外部先送到系统总线才可以送到数据寄存器
da:地址寄存器输出端口(连接系统地址总线)
ic:经过译码器输出的控制信号
d:程序计数器的置数端口。
控制器逻辑图
VHDL源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
--ContolUnit
entity control_unit is
port
(
--loadd,loadq,loada,loadi同步置数端口高电平有效
--zq,zd三态控制端口,低电平有效
--zpc,za三态控制端口,高电平有效
--clk时钟信号,上升沿有效
--ld程序计数器的预置数端口,低电平有效
--r程序计数器的清零端口,低电平有效
--et控制程序计数器自动加1功能
--qd数据从内存读出数据后送入系统总线的输入端,也是输出端口
--ic译码器的输出端口,即:控制信号。
--cot是控制数据在寄存器间传输的信号
--cot(0)控制DR到IR的数据流通
--cot(1)控制程序计数器到AR的数据流通
--d程序计数器的输入端口
loadd,loadq,loada,loadi,zq,zd,clk,ld,r,et,za,zpc : in std_logic;
cot : in std_logic_vector(1 downto 0);
qd : inout std_logic_vector(7 downto 0);
d : in unsigned(7 downto 0);
ic : out std_logic_vector(7 downto 0);
qa : out std_logic_vector(7 downto 0)
);
end control_unit;
architecture behave of control_unit is
--数据总线和地址总线
--signal ABUS : std_logic_vector(7 downto
文档评论(0)