组成原理设计报告内容指导.doc_第1页
组成原理设计报告内容指导.doc_第2页
组成原理设计报告内容指导.doc_第3页
组成原理设计报告内容指导.doc_第4页
组成原理设计报告内容指导.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【课程设计内容】题目:指令系统及指令译码器设计设计内容如下:1、 指令系统设计:11、22、33、56号指令编号指令机器码1机器码 2注 释11ADDC A, EM1000EM将存储器EM地址的值加入累加器A中,带进位22AND A, R?10101累加器A“与”间址存储器的值33MOV R? A100000将累加器A中的值送入R?中56RLC A110111累加器A带进位左移2、 模型机硬件设计:指令译码器3、 逻辑电路设计:正逻辑的SN74181芯片【系统设计】1、 模型机逻辑框图图1 整机逻辑框图图2 芯片引脚逻辑框图图3 CPU逻辑框图2、 指令系统设计11 ADDC A, EM类型:算术运算指令寻址方式:存储器直接寻址功能:将存储器EM地址的值加入累加器A中,带进位22 AND A, R?类型:逻辑运算指令寻址方式:寄存器间接寻址功能:累加器A“与”间址存储器的值33 MOV R? A类型:数据传送类指令寻址方式:寄存器间接寻址功能:将累加器A中的值送入R?中56 RLC A类型:逻辑操作类指令功能:累加器A带进位左移3、 微操作控制信号1、XRD : 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。2、EMWR: 程序存储器EM写信号。3、EMRD: 程序存储器EM读信号。4、PCOE: 将程序计数器PC的值送到地址总线ABUS上(MAR)。5、EMEN: 将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD 决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。6、IREN: 将程序存储器EM读出的数据打入指令寄存器IR。7、EINT: 中断返回时清除中断响应和中断请求标志,便于下次中断。8、ELP: PC打入允许,与指令寄存器IR3、IR2位结合,控制程序跳转。9、FSTC:进位置1,CY=110、 FCLC:进位置0,CY=011、MAREN:将地址总线ABUS上的地址打入地址寄存器MAR。12、MAROE:将地址寄存器MAR的值送到地址总线ABUS上。13、OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。14、STEN: 将数据总线DBUS上数据存入堆栈寄存器ST中。15、 RRD: 读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。16、 RWR: 写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。17、 CN: 决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。18、 FEN: 将标志位存入ALU内部的标志寄存器。19、 WEN: 将数据总线DBUS的值打入工作寄存器W中。20、 AEN: 将数据总线DBUS的值打入累加器A中。21-23: X2 X0 : X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。 24-26: S2 S0 : S2、S1、S0三位组合决定ALU做何种运算。4、 指令执行流程5、 编号助记符节拍数微操作控制信号涉及的硬件11ADDC A, EMT7PCMARPCOE MARENPC, MAR, EM, W, A,ALU, FT6EMWPC + 1EMEN EMRD WENT5WMARWEN WARENT4EMWEMEN EMRD WENT3A+WDBUSAS2S0 AEN FEN22AND A, R?T5R? MARWEN MARENR, DBUS, MAR, EM, W,A ALU,FT4EMWEMEN EMRD WENT3A AND WDBUSAS2S0 AEN FEN33MOV R?, AT3ADBUSR?AENA, DBUS,A56RLC AT4LDBUSWFEN,X=110 WENR, DBUS, W, A,F CNT3WDBUSAAEN取指周期5、组合逻辑控制器设计:假设该模型机采用组合逻辑控制器,根据指令执行流程,划分机器周期及节拍,安排操作时序表,写出每个控制信号的逻辑表达式(可以只针对“设计内容1”分配给你的指令去设计,不必考虑其他指令,但操作码、控制信号等必须遵循模型机已设定的)6、微程序控制器设计:假设该模型机采用微程序控制器,根据指令执行流程,安排微指令格式,为每条微指令安排微地址及下址,设计微地址修改逻辑。假设微指令采用水平格式,操作控制字段采用直接表示法,后继微地址采用断点方式获得,采用T1、T2两级时序系统,T1取微指令,T2执行微指令并在此周期修改微地址形成后继微地址。(可以只针对“设计内容1”分配给你的指令去设计,不必考虑其它指令,但操作码、控制信号等必须遵循模型机已设定的,模型机共有64条指令,取微地址位数时要估计全部指令的所有微指令个数)【系统实现】1、 模型机实现(微操作控制信号实现的VHDL描述,只写本人题目要求的指令及其所涉及的控制信号,内容2要求的逻辑电路的图形符号表示、功能、及其VHDL描述)(参见模型机设计部分.doc)(1)逻辑电路的图形符号表示、功能(写上你的设计)(2)指令所涉及的微操作控制信号(写上你的设计)(3)系统实现(填下面VHDL程序)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CPU2013 ISGENERIC( ALL_ZERO:STD_LOGIC_VECTOR(7 DOWNTO 0) := 00000000; INT_ENTER: STD_LOGIC_VECTOR(7 DOWNTO 0) := 11100000; INT_CODE : STD_LOGIC_VECTOR(7 DOWNTO 0) := 10111000;DataWidth: integer :=7;八位机 -ALL_ZERO : STD_LOGIC_VECTOR(15 DOWNTO 0) := 0000000000000000; - 十六位机 -INT_ENTER: STD_LOGIC_VECTOR(15 DOWNTO 0) := 0000000011100000; -INT_CODE : STD_LOGIC_VECTOR(15 DOWNTO 0) := 0000000010111000; -DataWidth: integer := 16);PORT (CPU引脚描述 clk : IN STD_LOGIC; - 主时钟输入 rst : IN STD_LOGIC; - 复位输入 keyin : IN STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 键输入 portout : OUT STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 端口输出 mem_d : INOUT STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 存贮器数据线 mem_a : OUT STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 存贮器地址线mem_ah : OUT STD_LOGIC_VECTOR(15 DOWNTO 8); - 八位机时,高8位地址为0 mem_rd : OUT STD_LOGIC; - 存贮器读信号 mem_wr : OUT STD_LOGIC; - 存贮器写信号 mem_bh : OUT STD_LOGIC; - 存贮器高8位选择信号 mem_bl : OUT STD_LOGIC; - 存贮器低8位选择信号 mem_cs : OUT STD_LOGIC; - 存贮器片选信号 i_req : IN STD_LOGIC - 中断请求信号);END CPU2013;ARCHITECTURE behavior OF CPU2013 IS-模型机组成部件及信号定义,下面给出了部件及信号的部分定义,在“”处写上其他的定义,参见硬件课程设计讲义.PPT中“CPU逻辑框图”等内容- 寄存器定义SIGNAL A : STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0);SIGNAL W : STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0);- 标志定义SIGNAL R_CY: STD_LOGIC; - 进位标志寄存器SIGNAL R_Z : STD_LOGIC; - 零标志寄存器- 中断定义SIGNAL R_REQ: STD_LOGIC; - 中断请求寄存器- 26 位微控制信号SIGNAL S0 : STD_LOGIC;SIGNAL S1 : STD_LOGIC;SIGNAL S2 : STD_LOGIC; - 运算器功能选择SIGNAL AEN : STD_LOGIC; - A写允许(将剩余的10个微控制信号的定义写在此处)SIGNAL STEN : STD_LOGIC; - ST寄存器写允许SIGNAL OUTEN: STD_LOGIC; - OUT寄存器写允许SIGNAL MAROE: STD_LOGIC; - MAR寄存器地址输出允许SIGNAL MAREN: STD_LOGIC; - MAR寄存器写允许SIGNAL ELP : STD_LOGIC; - PC寄存器写允许SIGNAL EINT : STD_LOGIC; - 中断结束SIGNAL IREN : STD_LOGIC; - IR寄存器写允许SIGNAL EMEN : STD_LOGIC; - EM存贮器与数据总线(D_BUS)相通控制位SIGNAL PCOE : STD_LOGIC; - PC寄存器地址输出允许SIGNAL EMRD : STD_LOGIC; - 主存贮器读允许SIGNAL EMWR : STD_LOGIC; - 主存贮器写允许SIGNAL XRD : STD_LOGIC; - 外部I/O读允许- ALU运算器定义SIGNAL T : STD_LOGIC_VECTOR(DataWidth DOWNTO 0); - 运算结果- 总线定义SIGNAL D_BUS: STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 数据总线- 指令周期SIGNAL RT: STD_LOGIC_VECTOR(2 DOWNTO 0); - 当前节拍SIGNAL CT: STD_LOGIC_VECTOR(2 DOWNTO 0); - 下一条指令总节拍BEGIN-内容2的逻辑电路的VHDL描述,写上你的设计,也就是你设计的process()-例如: - 寄存器 A PROCESS(clk, rst, AEN) BEGIN - 寄存器 A的功能实现? END PROCESS;- 26 位微控制信号,写上每条指令与这些信号的关系,由指令产生控制信号-微控制信号VHDL描述 ,参照下面的“XRD”的描述,在处写上你的设计所涉及的控制信号 PROCESS(IR, RT) VARIABLE STATUS: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN STATUS(7 DOWNTO 2) := IR(7 DOWNTO 2);-操作码 STATUS(2 DOWNTO 0) := RT(2 DOWNTO 0);-RT代表当前周期数,代表指令中的T0、T1等 - XRD 1 外部设备读信号 CASE STATUS IS WHEN 10010001 = XRD XRD CT CT CT= ? ; -写上题目要求的你所设计的指令的总节拍数. . END CASE; END PROCESS; - 指令周期控制 PROCESS(clk, rst) BEGIN IF rst = 1 THEN RT = 000; ELSIF clkEVENT AND clk = 1 THEN IF RT = 000 THEN RT = CT; - 取下一条指令时同时算出下一条指令的周期数CT ELSE RT = RT - 1; -采用倒数的方式控制每个节拍 END IF; END IF; END PROCESS;END behavior; -实体CPU2013设计全部结束2、 逻辑电路设计(题目内容3要求的逻辑电路的图形符号表示、功能、及其VHDL描述)【系统测试】(内容2与内容3所要求的逻辑电路的测试(仿真)的方法、时序图、时序分析、结论等内容。可以将结果直接抓图,然后粘贴到此处)(一)、模型机测试(指内容2,没有内容2的可以不写)1、 功能仿真(写上仿真时得到的波形图、结果分析、结论)2、 RTL级逻辑电路(画出综合时得到的寄存器传送逻辑RTL级电路图、结果分析、结论)(二)硬件测试(指内容3,每个人都必须写)1、功能仿真(写上仿真时得到的波形图、结果分析、结论)2、RTL级逻辑电路(画出综合时得到的寄存器传送逻辑RTL级电路图、结果分析、结论)【总结】(设计及调试过程中出现的问题及解决办法、没有解决的问题、改进设想等)【心得体会】(概述你的学习与设计过程,对课程的理解与掌握

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论