版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计课题:指令系统及总线设计专业名称计算机科学与技术班级学号2153203学生姓名 石新禹指导教师 万 聪设计时间2016.1.5-2016.1.11 东北大学秦皇岛分校 课程设计任务书专业:计算机与通信工程学院 学号:2153203 学生姓名:石新禹设计题目:指令系统及总线设计一、设计实验条件综合楼1208硬件:PC机软件:Xilinx ISE ModelSim 编程语言:VHDL二、设计任务及要求1. 8号指令的设计;2. 31号指令的设计;3. 48号指令的设计;4. 52号指令的设计;5. 地址总线与控制总线;6. CRC码生成
2、与校验电路,生成多项式G=1011,数据4位。三、设计报告的内容1. 设计题目与设计任务题目:1、16位模型机设计指令系统及计数器设计指令编号助记符指令类型功能寻址方式8ADD A, #II算术运算指令将立即数II加入累加器A中立即数寻址31MOV A, EM逻辑运算指令将存储器MM 地址的值送到累加器A中直接寻址48CALL EM逻辑运算指令调用MM地址的子程序直接寻址52RET逻辑运算指令子程序返回间接寻址2.地址总线与控制总线;3.CRC码生成与校验电路,生成多项式G=1011,数据4位。4.前言(绪论)1.融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的
3、工作原理及相互联系的认识;2.学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;3.培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。2. 设计主体 整机逻辑结构框图:图1芯片引脚:图2 CPU逻辑结构框图:图3 【设计指令系统】1、指令系统设计 指令类型及寻址方式见上表 2、微操作控制信号1、XRD : 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。2、EMWR: 程序存储器EM写信号。3、EMRD: 程序存储器EM读信号。4、PCOE: 将程序计数器PC的值
4、送到地址总线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:将数据总
5、线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
6、:S2 S0 :S2、S1、S0三位组合决定ALU做何种运算。3、 指令执行流程8ADD A, #II将立即数II加入累加器A中000111XX101T5PC->MARPCOE MARENT4EM->DBUS->WPC+1 EMEN EMRD WENT3A+W->ALUALU->DBUS->AX=100,S=000, AEN31MOV A, EM将存储器EM地址中的值送入A中011110XX111T7PC->MARPCOE MARENT6EMWPC + 1EMEN EMRD WENT5W->MARMARENT4EM->WEMEN,WENT3
7、W->DBUS->AAEN48CALL EM调用EM地址的子程序101111XX110T6PC->MARPCOE MARENT5EM->DBUS->WPC+1EMRD EMEN WENT4PC->DBUS->STPCOE,X=011,STENT3W->DBUS->PCELP52RET子程序返回110011 XX011T3STDBUSPCX=011,STEN,X=010,ELP4. 指令执行流程图 5.组合逻辑控制器设计:假设该模型机采用组合逻辑控制器,根据指令执行流程,划分机器周期及节拍,安排操作时序表,写出每个控制信号的逻辑表达式。控制信
8、号 M0 M1 T2 T1 T0 T7 T6 T5 T4 T3XRDEMWREMRD ALL31488PCOE ALL3148848EMEN ALL31488/31IREN ALLEINTELP48/52FSTCFCLCMAREN ALL31488/31MAROEOUTERSTEN4852RRDRWRCNFENWEN ALL31488/31AEN8/31WARENX2X0488/52S2S08/52说明: 依据指令执行流程,此处3条指令都被划分成两个指令周期,其中第一个周期中有3个节拍,第二个周期中有5个节拍。控制信号的逻辑表达式如下:EMRD=M0*T1+INS31*M1*T6+INS48*
9、M1*T5+INS8*M1*T4;PCOE=M0*T2+INS31*M1*T7+INS48*M1*T6+INS8*M1*T5+INS48*M1*T4;EMEN=M0*T1+INS31*M1*T6+INS48*M1*T5+I(NS8+INS31)*M1*T4;IREN=M0*T0;ELP=(INS48+INS52)*M1*T1;MAREN=M0*T2+INS31*M1*T7+INS48*M1*T6+(INS8+INS31)*T5;STEN=INS48*M1*T4+INS52*M1*T5;WEN=M0*T1+INS31*M1*T6+INS48*M1*T5+(INS8+INS31)*M1*T4;AE
10、N=(INS8+INS31)*M1*T3;X2X0=INS48*M1*T4+(INS8+INS52)*M1*T3;S2S0=(INS48+INS52)*M1*T3;6、微程序控制器设计:假设该模型机采用微程序控制器,根据指令执行流程,安排微指令格式,为每条微指令安排微地址及下址,设计微地址修改逻辑。假设微指令采用水平格式,操作控制字段采用直接表示法,后继微地址采用断点方式获得,采用T1、T2两级时序系统,T1取微指令,T2执行微指令并在此周期修改微地址形成后继微地址。微指令格式分为三个字段:微指令字段:5位,对应26个微信号。下地址字段:6位,对应64条微指令。转移控制字段:2位,用于控制下地
11、址的形成。 微命令字段(5位)A5A4A3A2A1A0P1P0【模型及实现(地址总线及指令总线】一、指令总线1.逻辑电路图2.波形图结果分析:CLK为时钟信号,在信号发生改变的时候获取输入数据;ICEN为选择信号,在ICEN为1时,把DBUS的值送给IR;在ICEN为0时把INT_CODE的值送给IR。这里为了表示方便,把DBUS和INT_CODE的值都设置为一个比特位。VHDL描述:entity yang is Port ( CLK : in STD_LOGIC; ICEN : in STD_LOGIC; INT_CODE : in STD_LOGIC; DBUS : in STD_LOGI
12、C; IR : out STD_LOGIC);end yang;architecture Behavioral of yang isBeginprocess (DBUS,INT_CODE,ICEN,CLK)Beginif CLK ' EVENT AND CLK = '1' THENIf ICEN ' EVENT AND ICEN='1' then IR<=DBUS;ElseIR<=INT_CODE;end if;end process;end Behavioral;二、地址总线1.逻辑电路图2.波形图结果分析:EMEN是控制信号,在E
13、MEN为1的时候,将MAR的值送给EM;否则,不做任何操作。VHDL描述:entity ABUS is Port ( MAR : in STD_LOGIC; EMEN : in STD_LOGIC; CLK : in STD_LOGIC; EM : out STD_LOGIC);end ABUS;architecture Behavioral of ABUS isbeginprocess(CLK,EMEN,MAR)beginIf CLK ' EVENT AND CLK = '1' AND EMEN ' EVENT AND EMEN='1' the
14、n EM<=MAR;end if;end process;end Behavioral;【模型及实现CRC生成与校验】一、CRC生成器- Company:- Engineer:- Create Date: 14:01:31 12/28/2017- Design Name:- Module Name: SHIFT - Behavioral- Project Name:- Target Devices:- Tool versions:- Description:- Dependencies:- Revision:- Revision 0.01 - File Created- Addition
15、al Comments:-library IEEE;use IEEE.STD_LOGIC_1164.ALL;- Uncomment the following library declaration if using- arithmetic functions with Signed or Unsigned values-use IEEE.NUMERIC_STD.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISI
16、M;-use UNISIM.VComponents.all;entity SHIFT isPort ( shift_input : in STD_LOGIC_VECTOR (3 downto 0);shift_output: out STD_LOGIC_VECTOR(6 downto 0);end SHIFT;architecture Behavioral of SHIFT isbeginP1:process(shift_input)variable n:STD_LOGIC_VECTOR(3 downto 0);-被除数variable m:STD_LOGIC_VECTOR(3 downto
17、0);-得到的余数variable i:integer;beginn := shift_input;i:=0;while(i<4)loopif(n(3)='1')thenm(3) := n(3) xor '1'm(2) := n(2) xor '0'm(1) := n(1) xor '1'm(0) := n(0) xor '1'elsem:=n;end if;n(3) := m(2);n(2) := m(1);n(1) := m(0);n(0) := '0'i:=i+1;end loop;sh
18、ift_output(6)<= shift_input(3);shift_output(5)<= shift_input(2);shift_output(4)<= shift_input(1);shift_output(3)<= shift_input(0);shift_output(2)<= m(2);shift_output(1)<= m(1);shift_output(0)<= m(0);end process;end Behavioral;逻辑图RTL图测试图2、 CRC生成器- Company: - Engineer: - - Create
19、Date: 17:50:45 12/28/2017 - Design Name: - Module Name: CRC - Behavioral - Project Name: - Target Devices: - Tool versions: - Description: - Dependencies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;- Uncomment the following library decl
20、aration if using- arithmetic functions with Signed or Unsigned values-use IEEE.NUMERIC_STD.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity CRC is Port ( crc_input : in STD_LOGIC_VECTOR(6 downto
21、0); crc_output : out STD_LOGIC_VECTOR(2 downto 0); crc_clk : in STD_LOGIC);end CRC;architecture Behavioral of CRC isbeginprocess(crc_clk , crc_input)variable x : STD_LOGIC_VECTOR(6 downto 0);variable y : STD_LOGIC_VECTOR(3 downto 0);variable i : INTEGER;beginif crc_clk ' event and crc_clk = '
22、;1' thenx := crc_input;for i in 6 downto 3 loopif x(i)= '1' theny := x(i downto i-3) xor "1011" elsey := x(i downto i-3);end if;x(i-1 downto i-3) := y(2 downto 0);end loop;end if;case y(2 downto 0) iswhen "000" => crc_output <= "000"when "001" => crc_output <= "111"when "010" => crc_output <= "110"when "100" => crc_output <= "101"when "011" => crc_outpu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特种作业监护培训
- 普通高校毕业生就业三方协议模板
- 《太平洋鸿鑫人生》课件
- 消防工程承包合同范本2篇
- 《软件项目初始》课件
- 建筑工程施工用铲车租赁合同(04年)
- 2024年度融资租赁合同标的为航空器租赁3篇
- 《无因管理概述》课件
- 燃气中青年干部培训班
- 建筑工程施工居间合同范本
- 广西壮族自治区示范性高中2024-2025学年高二上学期11月期中物理试题 含解析
- 2024-2030年中国土壤修复行业发展机遇规划研究报告
- 《企业ESG管理体系》
- 2024年广西公需科目参考答案
- 硬件研发工程师生涯人物访谈报告
- 网络传播法规(自考14339)复习必备题库(含答案)
- 全过程造价咨询服务实施方案
- 中医保健温通灸
- 麻醉机的操作流程、维护保养和注意事项
- 工程施工日志封面(最新整理)
- 德朗热综合征的临床及分子诊断
评论
0/150
提交评论