东北大学秦皇岛分校计算机组成原理课程设计.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.

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

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

    东北大学秦皇岛分校组成原理课程设计.doc 东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计专业名称 计 算 机 科 学 与 技 术班级学号学生姓名指导教师设计时间 2014.12.232 ...

  2. 【东北大学秦皇岛分校计算机专硕考研二战回忆录】

    东北大学秦皇岛分校计算机专硕考研二战回忆录 一. 自我情况介绍 二. 22年4-5月份回忆 三. 22年6月份回忆 四. 22年7,8月份回忆 五. 22年考试之前回忆 六. 23年出成绩之前 七. ...

  3. 东北大学秦皇岛分校计算机类排名,东北大学秦皇岛分校全国排名,2021东北大学秦皇岛分校排名榜...

    东北大学始建于1923年,是教育部直属的国家重点大学,是国家首批"211工程"和"985工程"重点建设的高水平大学.2017年9月经国务院批准进入世界一流大学建 ...

  4. 东北大学秦皇岛分校计算机类排名,2021年东北大学秦皇岛分校重点专业排名及优势王牌专业分数线(文科 理科)...

    2018年东北大学秦皇岛分校重点专业排名及优势王牌专业分数线(文科 理科) 高考填报志愿的时候都习惯于聚焦全国排名前列的顶级名校,憧憬其中的领先热门专业.但是要知道的是,虽然重点名校多数都是综合性大学 ...

  5. 东北大学计算机组成原理答案,东北大学计算机组成原理课程设计.doc

    计算机组成原理课程设计报告 班级: 班 姓名: 学号: 完成时间: 一.课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系 ...

  6. 计算机组成原理 陈泽,计算机组成原理 课程设计计算机组成原理 课程设计.doc...

    计算机组成原理课程设计报告 姓 名: 班 级: 学 号: 指导老师: 二〇一一年 12月21 日目 录 TOC \o "1-3" \h \z \u HYPERLINK \l &qu ...

  7. 计算机机房管理系统 数据库课设,学校机房管理系统数据库课程设计.doc

    学校机房管理系统数据库课程设计.doc 数据库原理及应用课程设计设计报告题目机房管理系统后台数据库学号131007220学生姓名指导教师提交时间2015/1/4目录第1章需求分析111课程设计概述11 ...

  8. 计算机组成中CM,基于TDN-CM++计算机组成原理课程设计.doc

    课程设计 东 莞 理 工 学 院 本 科 课 程 设 计 课程设计题目:具有运算及跳转功能的复杂模型机的设计 学 生 姓 名:黄少贞 学 号:201141404222 系 别:计算机学院 专 业 班 ...

  9. 计算机组成原理中dubs是什么意思,计算机组成原理》课程设计报告.docx

    PAGE 1 PAGE PAGE 1 电子信息学院 实验报告书 课程名:<计算机组成原理> 题 目: 实验类别 [验证] 班 级: 学 号: 姓 名: 评语: 评语: 实验态度:认真( ) ...

最新文章

  1. 拯救老电影——详解爱奇艺ZoomAI视频增强技术的应用
  2. linux定时备份mysql数据库文件脚本
  3. Ubuntu-C++环境设置
  4. 力登:以智能化管理提升数据中心服务能力成熟度
  5. oracle之高级子查询1
  6. 飞鸽传书2011看到一篇国外的博客
  7. cpu负载转移内存_为什么将所有工作负载转移到云中是个坏主意
  8. [BZOJ 1047]理想的正方形
  9. 高德地图怎么搜索marker_百度、高德、腾讯地图坐标认证怎么弄,3分钟轻松自助认证...
  10. NFS 服务固定端口
  11. usb声卡驱动_哑巴电脑拯救者——它可能是你见过使用最简单的外接声卡!
  12. 解决GitHub中releases下载过慢甚至失败的问题
  13. python模拟手机按键_Appium+Python-模拟手机按键操作
  14. 摆的频率公式_频率与转速的公式
  15. 随机种子 seed()到底是怎么回事。
  16. vue项目访问的时候,用localhost能访问,但是用本机ip就不能访问 的解决办法,亲测有效
  17. 计算机专业本科上线分数,计算机专业对口大学分数线本科
  18. nodename nor servname provided的解决
  19. #3 GPA计算(python)
  20. C#修改解决方案的名称 和解决方案文件夹的名称 ,及项目程序名称,项目文件夹名称

热门文章

  1. 利用 Python 分析城市各区域楼盘
  2. 四个好看的CSS样式表格
  3. Spark宽窄依赖详解
  4. 插上耳机没声音 程序包ID:Audioplaybackdiagnostic 错误代码:0x80070002 源:引擎 上下文:升级
  5. 先锋年度新品T1,真无线通话降噪蓝牙耳机测评
  6. 复选框 全选 以及 获取所有选中的值
  7. [重新认识前端的第4天] html+css案例
  8. 会员管理小程序实战开发教程(六)-会员查询功能
  9. Opencv——图像的矩
  10. Mac 安装目前最新版本的 macOS Big Sur