计算机组成原理中men,东北大学秦皇岛分校计算机组成原理课程设计.doc

东北大学秦皇岛分校计算机组成原理课程设计.doc

东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计指令设计及工作寄存器设计专业名称班级学号学生姓名指导教师设计时间课程设计任务书专业计算机与通信工程学院 学号 学生姓名(签名) 设计题目指令系统及工作寄存器设计1、设计实验条件综合楼808实验室硬件PC机软件Xilinx ISE ModelSim编程语言VHDL2、设计任务及要求1. 指令7、20、47、60号指令;2. 工作寄存器W;3. 二-十进制编码器;要求总线结构单总线,数据总线位数8位、地址总线8位;存储器内存容量64K*8bit控制器用硬联线控制器实现26位微操作控制信号运算器单累加器,实现加、减等8种操作外设输入用开关输入二进制量输出7段数码管和LED显示指令系统规模64条指令,7种类型,5种寻址方式3、设计报告的内容(1)设计目的1、 融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;2、 学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;3、 培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。(2)设计主体 图1 整机逻辑结构框图 图2 芯片引脚 图3 cpu逻辑结构框图【设计指令系统】(1) 设计的指令指令编号指令助记符机器码1机器码2指令功能7ADD A, EM000110MM将存储器MM的地址的值加入累加器A中20SUB C A, II010011II从累加器A中减去立即数II,减进位47_INT_101110实验机占用,不可修改,进入中断时,实验机硬件产生_INT_指令60RETI111011中断返回表1 指令类型、寻址方式第7条指令 ADD A, EM指令类型算术运算指令寻址方式寄存器寻址和直接寻址第20条指令 SUB C A, II指令类型逻辑运算指令寻址方式存储器直接寻址第47条指令 _INT_指令类型转移指令寻址方式寄存器间接寻址第60条指令 RETI指令类型转移指令寻址方式寄存器直接寻址(2)控制信号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,CY110、 FCLC进位置0,CY011、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 决定运算器是否带进位移位,CN1带进位,CN0不带进位。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做何种运算。(3)指令执行流程表2 指令分解与微操作对应控制信号编号助记符功能机器码周期总数CT节拍数微操作控制信号1_FATCH_取指令000000XXT2PCMARPCOE, MAREN010T1EMWEMEN, EMRD, WENT0WIRPC 1PCIREN20SUBC A, II从累加器A中减去间址存储器的值,带进位010011XXT5PCMARPCOE MAREN101T4EMDBUSWPC1PCEMEN EMRD WENT3A,WALUFALUAFEN AEN7ADD A, EM将存储器EM地址的值加入累加器A中000110XXT7PCMARPCOE, MARENT6EMWPC1PCEMEN EMRD WEN111T5WMARMARENT4EMWPC1PCEMEN EMRD WENT3AWAS001 X100AEN47_INT_产生中断101110XXT4PCDBUSSTPCOE, X011,STEN PC,IA,ST,IRT3ZPCPC,IA,ST,IR60RETI中断返回111011XXT3STPCST,DBUS,PC,IR流程图1、第7条指令 ADD A, EMPCOE, MARENT7 PCMAREMEN EMRD WENT6EMWPC1PCWMARMARENT5EMWPC1PCEMEN EMRD WENT4S001 X100 AENT3AWA2、第20条指令SUBC A, II PCOE MARENEMEN EMRD WENFEN AENT3T5T4A,WALUFALUAEMDBUSWPC1PCPCMARDI3、第47条指令PCOE, X011,STEN PC,IA,ST,IRPC,IA,ST,IRT4PCDBUSSTPC,IA,ST,IRT3ZPC 4、第60条指令ST,DBUS,PC,IRT3STPC【模型及实现(工作寄存器W)】(1)逻辑电路图形符号表示 图4 工作寄存器的逻辑电路图图5 工作寄存器的RTL逻辑电路图图5 工作寄存器的FDC逻辑电路图(2)逻辑电路的功能暂存和传送数据(3)仿真测试图6 波形分析图 图7 结果显示图结果分析D为数据输入、R为数据输出、CLK为时序控制、EN为读写控制端、RST为复位端、R为数据输出。因此由于RST为1,虽然D端输入数据为1111100010101011,输出端仍为0(从波形可以看出来),EN为0,表示写数据。(4)VDHLM描述如下library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL; Uncomment the following library declaration if instantiating any Xilinx primitives in this code.library UNISIM;use UNISIM.VComponents.all;entity REG is PORT CLK IN STD_LOGIC ; D IN STD_LOGIC_VECTOR15 DOWNTO 0; EN IN STD_LOGIC; RST IN STD_LOGIC; R OUT STD_LOGIC_VECTOR15 DOWNTO 0;end REG;architecture Behavioral of REG isSIGNAL Q1 STD_LOGIC_VECTOR15 DOWNTO 0; 类似于在芯片内部定义一个数据的暂存节点begin PROCESS CLK,Q1 BEGIN IF RST 1 THEN Q1 0000000000000000EVENT AND CLK 1 THEN IFEN 0 THEN Q1 D ;ELSE Q1 XXXXXXXXXXXXXXXX END IF; END IF; END PROCESS ; R Q1 ; end Behavioral;【逻辑功能实现(二-十进制编码器)】(1)二-十进制功能表如下所示(2)逻辑电路设计逻辑电路的图形符号表示、功能图8 二-十进制编码器功能将输入数字信号变成相应输出二进制信号系统实现LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entity SY3is Port d in STD_LOGIC_VECTOR 9 downto 0; clk in STD_LOGIC; e in STD_LOGIC; q out STD_LOGIC_VECTOR 3 downto 0;end SY3;architecture Behavioral of SY3 isbegin p1processd begin if d00 AND e0 THEN Q00000 AND e0 THEN Q00010 AND e0 THEN Q00100 AND e0 THEN Q00110 AND e0 THEN Q01000 AND e0 THEN Q01010 AND e0 THEN Q01100 AND e0 THEN Q01110 AND e0 THEN Q10000 AND e0 THEN Q10011 THEN Q1111 END PROCESS P1; end Behavioral;(3)仿真测试 仿真过程如下(1)在sources窗口处右击,加入新的源文件(2)创建波形仿真激励文件.tbw选TestBenchWave,并输入文件名(3)初始化时钟周期及相关参数finish(4)右侧会出现.tbw文件窗口,设置输入引脚的值,存盘(5)左侧sources窗口选择“behavioralsimulation”,下面processes窗口会自动出现ModelsimSimulator(6)双击其中的“Simulatebehavioralmodel”会自动调用“Modelsim”进行仿真,观察波形窗口,观察是否正确 图9 波形显示图图10 二-十进制编码器结果分析图仿真证实所设计二-十进制编码器能将输入数字信号变成相应输出二进制信号。(4)RTL级逻辑电路图11 RTL级逻辑电路四.心得与体会通过此次课程设计我学习到了运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点,同时培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。但是在此过程中也遇到了很多困难,比如在设计开始的阶段对于XILINXISE和ModelsimSE这两个软件就不会用,通过和同学交流我大概了解了软件的用法,学习到了很多知识。五参考资料1袁静波.计算机组成与结构M.北京机械工业出版社,2011.8.2程晓荣,翟学明,王晓霞.计算机组成与结构M.北京中国电力出版社,2007.3陈耀和.VHDL语言设计技术M.北京电子工业出版社,2004.4汉泽西.EDA技术及其应用M.北京北京航空航天出版社,20045李云松,宋锐Xilinx FPGA 数据基础(VHDL)版M 陕西西安电子科技大学出版社,2008.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值