vhdl实验_指令译码器

vhdl实验_指令译码器

ID:12189164

大小:48.50 KB

页数:3页

时间:2018-07-16

vhdl实验_指令译码器_第1页
vhdl实验_指令译码器_第2页
vhdl实验_指令译码器_第3页
资源描述:

《vhdl实验_指令译码器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、学院计算机组成原理实验报告 年级  学号 姓名 成绩  专业 实验地点计算机实验室 指导教师   实验项目CPU指令译码器实验日期 一.实验目的1.理解指令译码器的作用和重要性2.学习设计指令译码器二.实验原理组合逻辑控制器中的控制信号直接由各种类型的逻辑门和触发器等构成,一旦控制部件构成后,除非重新设计和物理上对它重新连接,否则要想增加新的功能是不可能的。结构上的这种缺陷使得应连线控制器的设计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被微程序控制器所取代。但是随着新一代机器及VSLI技术的发展,这种控制器又得到了广泛重视。逻辑网络的输入信号来源有3个:①指令

2、操作码译码器的输出In;②来自时序发生器的节拍电位信号Tk;③来自执行部件的反馈信号Bj。逻辑网络的输出信号就是微操作控制信号,用来对执行部件进行控制。组合逻辑控制器的基本原理为:某一微操作控制信号Cm是指令操作码译码器的输出In,时序信号(节拍电位信号Tk)和状态信号Bj逻辑函数。即Cm=f(In,Tk,Bj)用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制机器的各有关部件,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。三.实验步骤1.将实验台设置成FPGA-CPU独立调试模式,REGSEL=0,CLK

3、SEL=1,FDSEL=0。使用实验台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开。2.将设计在QuartusⅡ下输入,编译后下载到TEC-CA上得FPGA中。3.波动试验台上的开关SD5~SD0,改变IR[15..12],进位标志C和结束位0标志Z,观察指示灯R10~R0显示的控制信号,并填写表6-28和表6-29。四.实验分析进位C对应试验台开关SD4,结果为0标志Z对应试验台开关SD5。IR[15..12]对应试验台开关SD0、SD1、SD2、SD3。根据已给表格实验填写得出实验结果。五.实验结果添加功能OUTBOUNDSR指令编码:OUTBOU

4、NDDRSR00000000功能:[SR]=SR;PC=PC+1INBOUNDDR,SR指令编码INBOUNDDRSR00000000功能:[DR]=[DR]-DR。PC=PC+1一.实验代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityinstruction_decoderisport(IRH:instd_logic_vector(3downto0);c,z:instd_logic;op_code:outstd_

5、logic_vector(2downto0);c_z_j_flag:outstd_logic;lj_instruct:outstd_logic;DRWr:bufferstd_logic;Mem_Write:outstd_logic;DW_intruct:bufferstd_logic;change_z:outstd_logic;change_c:outstd_logic;sel_memdata:outstd_logic);endinstruction_decoder;architecturebehavofinstruction_decoderissignalzj_instr

6、uct,cj_instruct:std_logic;beginsel_memdata<=IRH(3)andIRH(2)and(notIRH(1));change_z<=((notIRH(3))and(notIRH(2)))or((notIRH(3))andIRH(2)and(notIRH(1)))or((notIRH(3))andIRH(2)andIRH(1)and(notIRH(0)));change_c<=(notIRH(3))and(notIRH(2));c_z_j_flag<=(zj_instructand(notz))or(cj_instructand(notc)

7、);DRWr_proc:process(IRH)beginifIRH(3)='0'then--算术逻辑指令DRWr<='1';elsifIRH(2)='1'andIRH(1)='0'then--MVRDDR,DATA;LDRDR,SRDRWr<='1';elseDRWr<='0';endif;endprocess;M_instruct:process(IRH)begincaseIRH(3downto0)iswhen"1000"

8、"1100"=>--jmpaddr;mvrddr,dataMem_Write<='0';

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。