NEUQ计算机组成原理课程设计.doc

上传人:rrsccc 文档编号:9005220 上传时间:2021-01-29 格式:DOC 页数:15 大小:1.03MB
返回 下载 相关 举报
NEUQ计算机组成原理课程设计.doc_第1页
第1页 / 共15页
NEUQ计算机组成原理课程设计.doc_第2页
第2页 / 共15页
NEUQ计算机组成原理课程设计.doc_第3页
第3页 / 共15页
NEUQ计算机组成原理课程设计.doc_第4页
第4页 / 共15页
NEUQ计算机组成原理课程设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《NEUQ计算机组成原理课程设计.doc》由会员分享,可在线阅读,更多相关《NEUQ计算机组成原理课程设计.doc(15页珍藏版)》请在三一文库上搜索。

1、东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计专业名称班级学号学生姓名指导教师设计时间课程设计任务书专业:计算机科学与技术 学号: 学生姓名: 设计题目:指令系统及七段译码器设计一、设计实验条件综合楼硬件:PC机软件:Xilinx ISE ModelSim汇编语言:VHDL二、设计任务及要求1. 指令:19、25、42号指令;2. 七段译码器3. 4位BCD码加法器4. 要求:总线结构:单总线,数据总线位数8位、地址总线8位; 存储器:内存容量64K*8bit 控制器:用硬连线控制器实现26位微操作控制信号 运算器:单累加器,实现加、减等8种操作 外设: 输入:用开关输入二进制量

2、 输出:7段数码管和LED显示 指令系统规模:64条指令,7种类型,5种寻址方式三、设计报告的内容1、指令系统设计:本次课程设计要设计的指令是第19、25、42号指令,要清楚各条指令的功能、指令类型、寻址方式等内容,本次设计用到的指令的相关内容如表1所示表1 本次要设计的指令指令编号助记符指令类型功能19SUBC A, MM算术运算指令从累加器A中减去寄存器MM地址的值,减进位25OR A, R?逻辑运算指令累加器A“或”寄存器 R?的值42JZ MM逻辑运算指令当零标志R_Z=1时,跳转到MM地址2、模型机硬件设计:七段译码器因为计算机输出的是BCD码,要想在数码管上显示十进制数,就必须先把

3、BCD码转换成 7 段字型数码管所要求的代码。我们把能够将计算机输出的BCD码换成 7 段字型代码,并使数码管显示出十进制数的电路称为“七段字型译码器”。3、逻辑电路设计:4位BCD码加法器加法器定义实现多位二进制数相加的电路称为加法器, 它能解决二进制中1+1=10 的功能。【系统设计】1、 模型机逻辑框图(整机逻辑框图、芯片引脚及CPU逻辑框图如下图1、图2、图3所示)图1 整机逻辑框图图2 芯片引脚图3 CPU逻辑框图2、 指令系统设计指令类型及寻址方式见表13、 微操作控制信号1、XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指外 设读数据。2、EMWR:程序存储器EM

4、写信号。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=1 10、FCLC:进位置0,CY=0 11、MAREN:将地址总线ABUS上的地址打入地址寄存

5、器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中

6、。 21-23: X2 X0:X2、X1、X0三位组合来译码选择将数据送到DBUS上的 寄存器。 24-26: S2 S0:S2、S1、S0三位组合决定ALU做何种运算。4、 指令执行流程指令执行流程如表2所示:表2 指令的执行流程编号指令指令功能操作码节拍数微操作控制信号19SUBC A, MM从累加器A中减去寄存器MM地址的值,减进位010010XXT7PC-MARPCOE, MAREN,T6EMMAREMEN,EMRD,MARENT5PC+1-PCWENT4EM-MAREMEN,EMRD,MARENT3EM-WEMEN,EMRD,WEN25OR A, R?累加器A“或”寄存器 R?的值0

7、11000XXT4R-DBUS-WR,DBUS,WT3W,A-ALUW,A,ALU42JZ MM当零标志R_Z=1时,跳转到MM地址101001XXT7若Z=1,则PC MAR EM W DBUST6PC-MARPC MAR EM W DBUST5EM-WW-DBUS-PCT4否则:PC+1-PCPC以流程图表示如下: SUBC A, MM OR A, R? JZ MMPCMAR LWEMWPCPC+1R? MART5 T5 T5 T4WAWMAREMWPCPC+1EMWT4 T4 T4 T3EMAW OR ADBUSAA-W-cinAT3 T3 T3图4 指令的执行流程图【系统实现】1、模型

8、机实现(七段译码器的实现)(1)逻辑电路的图形符号表示、功能七段译码器电路图形符号如图5所示:图5 七段译码器电路图形符号表示(2)指令所涉及的微操作控制信号PCOE:将程序计数器PC的值送到主存地址寄存器MAR上。 MAREN:将数据总线DBUS的值送到主存地址寄存器MAR上。(3)系统实现library IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if using- arithmetic functions wit

9、h 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 GL isPORT( CLK:IN STD_LOGIC;INN:IN STD_LOGIC_VECTOR(15 DOWNTO 0);SEL:buffer STD_LOGIC_VECTOR(2 DO

10、WNTO 0);LED7:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);end GL;architecture Behavioral of GL isSIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO 0);beginPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF SEL=011 THEN SEL=000;ELSE SEL DATA DATA DATA DATANULL;END CASE;END IF;END PROCESS;PROCESS(DATA)BEGINCASE DATA ISWHEN 0000=

11、LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7 LED7NULL;END CASE;END PROCESS;end Behavioral;2.逻辑电路设计(4位BCD码加法器)(1)逻辑电路的图形符号表示、功能图6 4位BCD码加法器的图形符号表示(2)系统实现library IEEE;use IEEE.STD_LOGIC_1164.ALL;use ieee.numeric_std.all;- Uncomment the following library declaration if usi

12、ng- 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 guolei2 isport (a: in std_logic_vector(3 downto 0);b: in std_logic_ve

13、ctor(3 downto 0);ci: in std_logic;s: out std_logic_vector(3 downto 0);co: out std_logic);end guolei2;architecture Behavioral of guolei2 issignal c0,c1,c2 : std_logic;begins(0) = a (0) xor b(0) xor ci;c0 = (a(0) and b(0) or (a(0) and ci) or (b(0) and ci);s(1) = a (1) xor b(1) xor c0;c1= (a(1) and b(1

14、) or (a(1) and c0) or (b(1) and c0);s(2) = a (2) xor b(2) xor c1;c2= (a(2) and b(2) or (a(2) and c1) or (b(2) and c1);s(3) = a (3) xor b(3) xor c2;co= (a(3) and b(3) or (a(3) and c2) or (b(3) and c2);end Behavioral;【系统测试】(一)、模型机实现(七段译码器的实现)1、 功能仿真仿真时用到的波形如图7所示:图7 仿真时用到的波形图2、RTL级逻辑电路七段译码器的RTL级电路图如图9所

15、示:图9 七段译码器 RTL级电路图(二)硬件测试(4位BCD码加法器)1、功能仿真4位BCD码加法器仿真波形图如图10所示:图10 4位BCD码加法器仿真用到的波形图2、RTL级逻辑电路4位BCD码加法器的RTL级逻辑电路如图11所示:图11 4位BCD码加法器的RTL级逻辑电路图【总结】本次课设遇到很多问题,首先是软件的使用,由于是第一次接触XILINX软件,软件的好多功能和用法都不清楚,好多选项都不了解。不过经过查找资料以及问同学终于学会的熟练运用。接着是那个波形图的形成,好几次运行之后都是红线,显示错误。后来和同学们群里讨论才知道怎么正确的去做。最开始在做4位BCD码加法器的时候一点想

16、法都没有,不知道该怎么设计,然后就去图书馆去借书,查看,上网查资料,和相关课题的同学一起讨论,最后学会了相关的设计。【心得体会】课设的一开始,首先是学习软件的使用,去了解软件的功能和用法。由于是新软件,好多功能都不了解,就去自己百度,看老师给的资料,听同学讲解,终于学会了Xilinx ISE ModelSim的基础的使用,能用他们做出RTL图和波形图。接着就到了最困难的时候,课程题目的设计,到了设计这里,又一个难点出现了,一个全新的语言VHDL。以前一点都没有了解过,这次是从零开始,去图书馆借阅书籍,去网上百度,了解了它的一些用法,发现一些语句的大概意思和自己学过的语言还有相似之处,有C语言作

17、为基础,再学其他语言就没有那么困难了。然后就进去到了正题,课程的设计。老师给的课题都是书本的知识,但是是书本知识的延伸和扩展。光靠看课本是不好做出来的,然后我就去图书馆找相关的书籍,上网查资料,使自己对题目的理解更具体全面和深入。这次课设让我对七段译码器有了深入的认识和了解,对它的运行机制和线路有了认识。本次课设不仅考验了我们的自学能力以及对新知识、新事物的认识和学习,也锻炼了我们查阅资料和战胜困难的能力,对我们所学的课本的知识也有了加深和升华。通过本次课设,我学会了两个新的软件Xilinx ISE 和ModelSim的使用方法,并且学会了一个新的语言VHDL,还对七段译码器和4位BCD码加法器有了深入的了解和认识。这次课程设计我收获颇多。【参考文献(资料)】 1 袁静波等.计算机组成与结构.北京:机械工业出版社,2011.2 胡越明 . 计算机组成与设计M . 北京:科学出版社,2006. 3 王爱英 . 计算机组成与结构M . 北京:清华大学出版社,2007. 4 卢毅 VHDL与数字电路设计 科学出版社,20015 谭耀麟 基于VHDL语言的微机接口电路设计 北京:清华大学出版社,2010

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1