版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计专业名称计算机科学与技术班级学号2153127学生姓名黎楠指导教师张冬丽设计时间2017.12.182017.12.29课程设计任务书专业:计算机与通信工程学院 学号:2153127 学生姓名(签名): 设计题目:指令系统及微地址修改电路设计一、设计实验条件 1207实验室 硬件:PC机 软件:Xilinx ISE ModelSim 编程语言:VHDL二、 设计任务及要求1. 设计5号指令、21号指令、32号指令、56号指令;2. 断点方式下的微地址修改逻辑电路,实现“取指后,获取6、21、32、56号指令的微程序入口地址”;3. 8
2、位求补器。三、设计报告的内容1. 设计题目与设计任务(设计任务书)【题目:指令系统及微地址修改电路设计】1. 5号,21号,32号,56号指令设计; 2. 断点方式下的微地址修改逻辑电路,实现“取指后,获取6、21、32、56号指令的微程序入口地址”;3. 8位求补器。2. 前言(绪论)(设计的目的、意义等)融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;培养科学研究的独立工作能力,取得工
3、程设计与组装调试的实践经验。3. 设计主体(各部分设计内容、分析、结论等)【模型机逻辑框图】图1 整机逻辑框图图2 芯片引脚逻辑框图图3 CPU逻辑框图【微操作控制信号】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、EIN
4、T:中断返回时清除中断响应和中断请求标志,便于下次中断。8、ELP:PC打入允许,与指令寄存器IR3、IR2位结合,控制程序跳转。9、FSTC:进位置1,CY=110、FCLC:进位置0,CY=011、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?的选择由指令的最低两位
5、决定。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: S2 S0 : S2、S1、S0三位组合决定ALU做何种运算。3.1. 指令系统设计:第5号指令: 助记符:ADD A, R? 格式:操作码和地址码 操作码:ADD 地址码:A,R 功能:累加器A“与”寄存器R?的值 寻址方式:寄存器直接寻址第21号指令
6、: 助记符:AND A,R? 格式:操作码和地址码 操作码:AND 地址码:A,R 功能:累加器A“与”寄存器R?的值 寻址方式:寄存器直接寻址第32号指令: 助记符:MOV A,#II 格式:操作码和地址码 操作码:MOV 地址码:A,#II 功能:将立即数II送到累加器A中 寻址方式:立即数寻址第56号指令: 助记符:RLC A 格式:操作码和地址码 操作码:RLC 地址码:A 功能:累加器A带进位左移 寻址方式:累加器寻址【指令格式】第5号指令: ADD A,R? 指令类型:算术运算指令 指令格式:000100XX 操作码 寻址类型 第21号指令: AND A,R? 指令类型:逻辑运算指
7、令 指令格式:010100XX 操作码 寻址类型 第32号指令: MOV A,#II 指令类型:数据传送指令 指令格式:011111 XX操作码如:000110008位立即数第56号指令: RLC A 指令类型:移位指令 指令格式:110111XX【指令执行流程】表1 各指令执行流程图编号助记符功能机器码周期总数节拍数微操作控制信号涉及硬件1FATCH取指令000000010T2PC->MARPCOE,MARENPC, MAR , EM, W , IRT1EM->WEMEN,EMRD,WENT0W->IRPC+1->PCIREN5ADD A,R?将寄存器R?的值加入累加
8、器A中000100100T4R->WRRDX2X0WENR, DBUS, W,ALU, FT3ALU(A+W)->AS2S1S0=011AEN FEN21AND A,R?累加器A“与”寄存器R?的值010100100T4R->WRRDX2X0WENR, DBUS, W, ALUT3ALU(A&W)->AS2S1S0=011AEN FEN32MOV A,#II将立即数II送到累加器A中011111101T5PC->MARPCOE,MARENPC, MAR EM, W, A,ALUT4EM->DBUS->WEMENEMRDWENT3W->DB
9、US->AAEN56RLC A累加器A带进位左移110111100T4A->ALU->LX=110FENCN=1R, DBUS, W, A,FCNT3L->DBUS->AAEN【流程图】图4 第5号指令流程图图5 第21号指令流程图图6 第32号指令流程图图7 第56号指令流程图3.2. 模型机硬件设计:题目:断点方式下的微地址修改逻辑电路,实现“取指后,获取6、21、32、56号指令的微程序入口地址”【逻辑电路的图形符号表示、功能】表2 各指令微程序入口地址编号指令助记符标志位P1P0微程序入口地址1FATCH0016ADD A, R?0010121AND A,
10、R?0101032MOV A,#II1001156RLC A11100【微程序入口地址】图8 微程序入口地址【源代码】library IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity ln_zlxt isPort ( addr1 : in STD_LOGIC_VECTOR( 2 DOWNTO 0); P1P0 : in STD_LOGIC_VECTOR( 1 DOWNTO 0); addr2 : out STD_LOGIC_VECTOR( 2 DOWNTO 0);end ln_zlxt;archite
11、cture Behavioral of ln_zlxt isbeginPROCESS(addr1,P1P0) BEGIN IF P1P0( 1 DOWNTO 0) ="00" THEN addr2( 2 DOWNTO 0) <= addr1( 2 DOWNTO 0) + '1' ; ELSE addr2( 2 DOWNTO 0) <= addr1( 2 DOWNTO 0) + P1P0( 1 DOWNTO 0) ; END IF; END PROCESS;end Behavioral;【结果】图9 微程序入口地址【RTL级逻辑电路】图10 RTL
12、级逻辑电路【仿真】l 在sources窗口处右击,加入新的源文件l 创建波形仿真激励文件.tbw:选Test Bench Waveform,并输入文件名YUMIAOl 初始化时钟周期及相关参数finishl 右侧会出现 .tbw文件窗口,设置输入引脚的值,存盘l 左侧sources窗口选择“behavioral simulation”,下面processes窗口会自动出现"Modelsim Simulator"l 双击其中的“Simulate behavioral model”会自动调用“Modelsim ”进行仿真,观察波形窗口,观察是否正确第一组测试:输入: code_
13、in=110,10图11 输入波形输出: code_out=000图12 输出波形第二组测试:输入: code_in=101,10图13 输入波形输出: code_out=111图14 输出波形3.3. 数字电路:题目:8位求补器功能:对输入的8位二进制进行求补计算【功能描述】输入code_in是8位二进制原码,输出code_out是8位二进制补码。【源代码】library IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity ln_szdl isPort ( code_in : in STD_LOGIC
14、_VECTOR (7 DOWNTO 0) ; code_out : out STD_LOGIC_VECTOR (7 DOWNTO 0) );end ln_szdl;architecture Behavioral of ln_szdl isbeginProcess(code_in) BEGIN code_out(7) <= code_in(7); if code_in(7)='0' THEN code_out(6 DOWNTO 0) <= code_in(6 DOWNTO 0); ELSE code_out(6 DOWNTO 0) <= NOT code_in(
15、6 DOWNTO 0) + '1' END IF; END PROCESS;end Behavioral; 【结果】图15 八位求补器【RTL级逻辑电路】图16 RTL级逻辑电路【仿真】l 在sources窗口处右击,加入新的源文件l 创建波形仿真激励文件.tbw:选Test Bench Waveform,并输入文件名YUMIAOl 初始化时钟周期及相关参数finishl 右侧会出现 .tbw文件窗口,设置输入引脚的值,存盘l 左侧sources窗口选择“behavioral simulation”,下面processes窗口会自动出现"Modelsim Simula
16、tor"l 双击其中的“Simulate behavioral model”会自动调用“Modelsim ”进行仿真,观察波形窗口,观察是否正确第一组测试:输入: code_in=10110010图17 输入波形输出: code_out=11001110图18 输出波形第二组测试:输入: code_in=00111010图19 输入波形输出: code_out=00111010图20 输出波形3. 结束语(设计的收获、体会等)在课程设计中,我尝试在自己的电脑上安装了相应程序,由于程序的版本与window版本不兼容,出现了部分功能不能实现的情况,尤其是不能出现仿真波形。使用了机房电脑后问题解决。通过这次课设,我对上课所学的知识有了进一步的认识,对计算机硬件也有了更清晰的了解,尤其是CPU的内部结构。在实验之前对于XILINX ISE和Modelsim SE这两个软件一点也不了解,所以对软件的研究也耗费了很多精力。虽然中间出现了很多问题,通过向其他同学请教和查找资料,最终都得到很好地解决。 短短的几天,我学到了很多。尤其是锻炼了自己动手操作的能力,提高了自己查阅更多有用资料的效率。通过这次课程设计,我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 融资租赁合同解除协议
- 汽车行业技术专利实施许可协议
- 水利工程机电设备运维技师岗位招聘考试试卷及答案
- 食品乳化剂研发工程师考试试卷及答案
- 石材铺贴施工技师考试试卷及答案
- 50ETF期权协议书行权
- 创优工程规划实施方案
- YY播放器协议书源码
- 国际展会参展合作书
- 一加7快充协议书修改
- 2026年中考历史考前冲刺:小论文 满分方法指导讲义
- 2026年中职舞蹈教师考试试题
- 2026首创证券股份有限公司校园招聘备考题库附答案详解ab卷
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 《新能源汽车整车控制技术》课件-项目1 整车控制器系统概述
- 2025广东省低空经济产业发展有限公司招聘13人笔试历年典型考点题库附带答案详解
- 2025年公共卫生监测与防控指南
- DB33∕T 1430-2025 海塘安全监测技术规程
- 钢铁企业节能降耗培训
- 2025四川成都经济技术开发区(龙泉驿区)“蓉漂人才荟”考核招聘事业单位人员(第二批)10人考试笔试备考题库及答案解析
- 水泥搅拌桩施工质量标准
评论
0/150
提交评论