控制器简单设计报告+代码+仿真.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
控制器简单设计报告代码仿真

控制器的设计 一、实验课题 实验要求: 按照题目要求设计计算机控制器的基本逻辑(不包括微操作信号产生电路),决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。 主要元件设计: 用层次结构设计的方法设计控制器的指令部件 功能要求: 具有控制器的部分基本功能,能够控制取指令操作、控制访存取数据操作、控制访存存数据操作、指令译码,等。 取指令机器周期:把程序计数器的内容送到地址总线,延迟一段时间后把从存储器中读出的指令(通过数据总线读入),送到指令寄存器;每取一个指令字程序计数器加1。 取数据机器周期:把地址寄存器的内容送到地址总线,延迟一段时间后把从存储器中读出的数据(通过数据总线)送到数据寄存器。 存数据机器周期:把地址寄存器的内容送到地址总线,把数据寄存器中的数据送到数据总线,延迟一段时间后结束。 指令译码:假设操作码在指令字的最高3位。 二、逻辑设计 写该实验的逻辑设计,包括:顶层系统框图,下层各主要元件的系统框图。顶层和下层各主要元件的端口(引脚)描述:端口名称、功能、有效电平、位数等。逻辑图,必须在图中清楚地标出每个内部连接线的Signal(与VHDL程序中的Signal一致)。根据所用的描述方式,可能还需要有:真值表/功能表/逻辑函数等。 层次设计控制器系统框图: CLK是时钟信号,上升沿有效。 CS0 CS1 CS2 CS3分别是程序计数器、地址寄存器、数据寄存器、指令寄存器的片选信号 Rst是清零信号,INC是程序计数器加1信号,M是数据寄存器输入输出端选择信号。 W0 、W1 、W2 、W3,R0、R1、R2、R3分别是程序计数器、地址寄存器、数据寄存器、指令寄存器的读写信号 A7 … A0是外部地址总线,D7 … D0是外部数据总线,B7 … B0内部数据总线 I4 … I0是指令的地址码部分 三、VHDL程序 --8位程序计数器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity PC_8 is port(clk,inc,clr_l,r,w,cs:in std_logic; d:in unsigned(7 downto 0); q:out unsigned(7 downto 0)); end PC_8; architecture behave of PC_8 is signal iq:unsigned(7 downto 0); begin process(clk,inc,r,w,clr_l,cs) begin if (clkevent and clk=1) then if cs=1 then if clr_l=0 then iq elsif w=1 then iq=d; elsif inc=1 then iq=iq+1; end if; end if; end if; if cs=1 and r=1 then q=iq; else q=ZZZZZZZZ; end if; end process; end behave; --8位数据寄存器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity MDR_8 is port( d:inout unsigned(7 downto 0);--输入输出端1 q:inout unsigned(7 downto 0);--输入输出端2 clk:in std_logic;--时钟 cs:in std_logic;--片选信号 m:in std_logic;--设置输入、输出端 w,r:in std_logic);--读写信号 end MDR_8; architecture behave of MDR_8 is signal iq:unsigned(7 downto 0); begin process(clk,cs

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档