东北大学秦皇岛分校计算机组成原理课程设计.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. [Android Pro] 精确记录和恢复ListView滑动位置
  2. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(分组颜色配置、位置配置)实战
  3. Android关于SQLiteOpenHelper的封装
  4. 2018 Multi-University Training Contest 10 - CSGO
  5. canal mysql重置_canal: 首先装完阿里的canal,然后数据库同步,仅供学习参考
  6. 美化版彩虹自助下单程序注册登录页源码
  7. python一次性输入多个数_python如何利用input函数输入多个参数?
  8. 有关计算机程序的论文,有关计算机程序的论文范文.doc
  9. L1-026 I Love GPLT (5 分)—团体程序设计天梯赛
  10. java tmp 目录_Tmp目录丢失引发Java进程异常
  11. python 自动下载脚本之家,python网页自动化脚本私服过验证
  12. 安装了最新版本的java 用友nc打不开_用友NC系统常见问题解决方法
  13. Louvain 算法的核心思路以及数据结构(最完善版)
  14. 全球与中国ARM开发套件市场现状及未来发展趋势
  15. 基于浏览器的3D网页游戏JavaScript 3D游戏引擎介绍
  16. Win10如何设置护眼模式?
  17. SQL Server Management Studio(SSMS)对象资源管理器的使用以及查询分析器的使用
  18. 塑胶模具设计相关知识
  19. 点赞动画,鼠标点击动画
  20. Git分布式版本控制工具【IDEA版】【安装和使用以及上传代码到Gitee】(一篇文章精通系列)

热门文章

  1. 利用 Python 分析城市各区域楼盘
  2. 洗拖一体机好用吗?实用的家用洗地机推荐
  3. 阿拉伯数字转中文大写的方法
  4. 怎么把录音文件转换成mp3格式,3个高效方法
  5. 微信公众号菜单外链怎么做
  6. Android N 指纹框架
  7. 8月1日任务 11.14-11.17
  8. 未来智安2周年 | 行则将至,未来可期
  9. [读论文] Electric Drive Technology Trends, Challenges, and Opportunities for Future Electric Vehicles
  10. win10蓝屏自动修复解决方案