欢迎来到天天文库
浏览记录
ID:38525567
大小:408.98 KB
页数:12页
时间:2019-06-14
《硬件基础 微程序控制器实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、硬件基础实验2实验报告湖南大学HUNANUNIVERSITY硬件基础实验2实验报告一、实验预习1.书中的图形实现微程序控制器,中间的映射逻辑究竟是怎么实现的?答:但出现分支时,预设端信号由IR决定。IR为1时信号有效,输出为1.通过IR的值映射为下址的低三位,从而产生下址。2.书中设计用到了强写强读,为什么要设计这个功能?答:满足用户因为没有初始化mif文件时输入数据的需要。硬件基础实验2实验报告一、实验目的微程序控制器实验的主要任务:生成CPU里的控制信号,并使程序按正确的顺序执行。核心部分是ROM,存放机器指令的微程序。1、掌握微程序控制器的组成、
2、工作原理;2、掌握微程序控制器的基本概念和术语:微命令、微操作、微指令、微程序等;3、掌握微指令、微程序的设计及调试方法;4、通过单步运行若干条微指令,深入理解微程序控制器的工作原理;二、实验电路图1附:电路图过大,请放大观察详情三、实验原理将机器指令的操作(从取指到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码的形式编成微指令输入到控制存储器中。这样,每条机器指令将与一段微程序对应,取出微指令就产生微命令,以实现机器指令要求的信息传送与加工。硬件基础实验2实验报告四、实验步骤及概述1)设计状态机部分a、编写VHDL代码如下L
3、IBRARYieee;USEieee.std_logic_1164.all;ENTITYzhuangtaijiISPORT(reset:INSTD_LOGIC:='0';clock:INSTD_LOGIC;qd:INSTD_LOGIC:='0';dp:INSTD_LOGIC:='0';tj:INSTD_LOGIC:='0';t1:OUTSTD_LOGIC;t2:OUTSTD_LOGIC;t3:OUTSTD_LOGIC;t4:OUTSTD_LOGIC);ENDzhuangtaiji;ARCHITECTUREBEHAVIOROFzhuangtaijiIST
4、YPEtype_fstateIS(idle,st1,s_st2,st4,st2,st3,s_st4,s_st3);SIGNALfstate:type_fstate;SIGNALreg_fstate:type_fstate;BEGINPROCESS(clock,reset,reg_fstate)BEGINIF(reset='1')THENfstate<=idle;ELSIF(clock='1'ANDclock'event)THENfstate<=reg_fstate;ENDIF;ENDPROCESS;PROCESS(fstate,qd,dp,tj)BEG
5、INt1<='0';t2<='0';t3<='0';t4<='0';CASEfstateISWHENidle=>IF(NOT((qd='1')))THENreg_fstate<=st1;硬件基础实验2实验报告ELSEreg_fstate<=idle;ENDIF;t1<='0';t2<='0';t3<='0';t4<='0';WHENst1=>IF(((tj='1')ANDNOT((dp='1'))))THENreg_fstate<=st1;ELSIF(((dp='1')ANDNOT((tj='1'))))THENreg_fstate<=s_st2;EL
6、SEreg_fstate<=st2;ENDIF;t1<='1';t2<='0';t3<='0';t4<='0';WHENs_st2=>IF((tj='1'))THENreg_fstate<=s_st2;ELSEreg_fstate<=s_st3;ENDIF;t1<='0';t2<='1';t3<='0';t4<='0';WHENst4=>IF(((tj='1')ANDNOT((dp='1'))))THENreg_fstate<=st4;ELSIF(((dp='1')ANDNOT((tj='1'))))THENreg_fstate<=idle;ELSEr
7、eg_fstate<=st1;ENDIF;t1<='0';t2<='0';t3<='0';t4<='1';WHENst2=>IF(((tj='1')ANDNOT((dp='1'))))THENreg_fstate<=st2;硬件基础实验2实验报告ELSIF(((dp='1')ANDNOT((tj='1'))))THENreg_fstate<=s_st3;ELSEreg_fstate<=st3;ENDIF;t1<='0';t2<='1';t3<='0';t4<='0';WHENst3=>IF(((tj='1')ANDNOT((dp='1'))))THEN
8、reg_fstate<=st3;ELSIF(((dp='1')ANDNOT((tj='1'))
此文档下载收益归作者所有