您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 定点原码一位除法器的设计
沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位除法器的设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2011年01月14日沈阳航空航天大学课程设计报告-I-目录第1章总体设计方案..................................................................................................21.1设计原理.................................................................................................................21.2设计思路.................................................................................................................21.3设计环境.................................................................................................................2第2章详细设计方案..................................................................................................42.1总体方案的设计与实现........................................................................................42.1.1总体方案的逻辑图..........................................................................................42.1.2算法流程图......................................................................................................52.2功能模块的设计与实现......................................................................................62.2.1模块的设计与实现.........................................................................................6第3章验证测试..........................................................................................................93.1验证测试..............................................................................................................9参考文献........................................................................................................................10沈阳航空航天大学课程设计报告错误!未指定书签。第1章总体设计方案-2-第1章总体设计方案1.1设计原理原码一位除,即两个原码数相除,商的符号为除数和被除数的符号异或值。采用汇编语言实现定点原码一位除法器,算法为恢复余数法,除数为4位。利用恢复余数的方法来进行运算。1.2设计思路算法为恢复余数法,先用被除数减去除数,如果结果为正数商1,然后左移,如果是负数商0然后加上Y的补,继续运算。本题目是要求4位所以到结果是4位时结束运算。实验开始时将实验数据从实验箱的开关输入到R0,R1,R2三个寄存器中,R0为被除数,R1为除数,R2为商。运算过程采用恢复余数法。主要判断被除数减去除数的商值。如果为负,商0然后加除数然后左移。如果商值为正商1,左移。数据都存放在寄存器中,最后结果在OUT寄存器中显示。1.3设计环境COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实沈阳航空航天大学课程设计报告错误!未指定书签。第1章总体设计方案-3-现模型机的各种功能。ADDA,R?------------将寄存器R?的值加入累加器A中ADDA,#II----------立即数#II加入累加器A中SUBA,#II-----------从累加器中减去立即数后加入累加器A中ANDA,#II-----------累加器A“与”立即数II(2)数据传送指令MOVA,R?------------将寄存器R?的值送到累加器A中MOVR?,#II------------将立即数II存放到寄存器R?中MOVR?,A------------将累加器A中的值送到寄存器A中(3)移位指令RRA----------------累加器A右移RLA----------------累加器A左移(4)跳转指令JZMM---------------若零标志位置1,跳转到MM地址JMPMM---------------跳转到MM(5)位运算ANDA,R?------------累加器A“与”寄存器R?的值(6)输入输出OUT--------------------将累加器A中数据输出到输出端口沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案-4-第2章详细设计方案2.1总体方案的设计与实现定点原码一位除,算法为恢复余数法,当余数为负时,需加上除数,将其恢复城原来的余数。商值的确定是通过比较被除数和除数的绝对值的大小,即x”-y”实现的,而计算机内只设加法器,所以需要将x”-y”操作变为|x|补+|y|补得操作。2.1.1总体方案的逻辑图图2.1.1如上逻辑框图2.1.1中所示,R0、R1、R2均是8位的寄存器。R1是被除数。R2是除数。R3为商。其结果在OUT中输出。R0被除数BUBUFENJI8位加法器R2商R1除数移位和加控制右移OUT输出结果移位4次左移加法器沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案-5-2.1.2算法流程图图2.3算法流程图开始初始化被除数R0,除数R1,商R2,计数器R3被除数R0减除数R1被除数R0小于0除数R1为0NY处理加上|y|补商R2左移一位加0,加上-y的补。商R2左移一位加1被除数R0左移一位计数器R3减1被除数R0左移一位计数器R3减1计数器R3为0计数器R3为0YN被除数R0加除数R1YN被除数R0减除数R1被除数R0小于0Y余数R0为负Y恢复除数R2,余数R0加除数R2结束NN被除数R0小于0NYYN沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案-6-算法流程图如图2.3所示。除法开始前,R2寄存器被清0,准备接收商,被除数的原码放在R0寄存器中,除数的原码放在R1寄存器中,计数器R3中存放需要移位的次数。除法开始后,首先判断除数是否为0,若除数为0则进行处理,若不为0,则用被除数减去除数,若运算结果大于0,商上1。若结果小于0,商上0。然后被除数左移一位,计数器减1。当计数器R3内容为0时,结束运算。2.2功能模块的设计与实现2.2.1模块的设计与实现2.2.1.1功能描述主要模块包括:循环控制模块、加减运算模块、移位模块、商符运算模块。循环控制模块:通过计数器内容控制运算过程。若计算器大于0,继续进行运算;若计算器为0,结束运算。主要应用恢复余数过程。图2.3循环模块流程图开始被除数减去除数大于0直接左移加上-Y的补,左移输出商值沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案-7-加减运算模块:实现加减运算功能,当余数为正时,商加1,当余数为负时,商加0。图2.4加减模块流程图移位模块:实现左、右移位功能。图2.5移位模块流程图开始商最低位为1?YN结束商左移除数左移并加1000商左移除数左移开始输入数据到寄存器R1,R2,用R1减去R2得到差值结束沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案-8-商符运算模块:通过异或运算求出商的符号。图2.6商结果显示流程图本设计可以进行定点原码一位除法运算。通过以上几个关键模块实现。主要方法是恢复余数法,在运算过程中主要是判断被除数和除数之间的差来决定运算过程的。移位模块流程2.2.1.2数据输入流程图图2.8数据输入流程图开始结束商左移四次寄存器上的数得到商结果OUT寄存器输出结果结束输入被除数R0输入除数R1开始沈阳航空工业学院课程设计报告参考文献错误!未指定书签。-9-第3章验证测试3.1验证测试输入被除数:0BH输入除数:0DH图2.9验证沈阳航空工业学院课程设计报告参考文献错误!未指定书签。-10-参考文献[1]李景华.可编程程逻辑器件与EDA技术[M].北京:东北大学出版社,2001[2]范延滨.微型计算机系统原理、接口与EDA设计技术[M].北京:北京邮电大学出版社,2006[3]王爱英.计算机组成与结构(第4版)[M].北京:清华大学出版社,2006[4]王冠.VerilogHDL与数字电路设计[M].北京:机械工业出版社,2005[5]江国强.EAD技术习题与实验[M].北京:电子工业出版社,2005[6]杜建国.VerilogHDL硬件描述语言[M].北京:国防工业出版社,2004沈阳航空工业学院课程设计报告-11-附录MOVR0,#0BHMOVR1,#0DHMOVR2,#00HMOVR3,#04HMOVA,R1SUBA,#00HJZOVERFLOWMOVA,R0SUBA,R1MOVR0,ALOOP:ANDA,#10HSUBA,#00HJZS1SUBA,#10HJZS2S1:MOVA,R0RLAMOVR0,AMOVA,R2ADDA,#01HRLAMOVR2,AMOVA,R0SUBA,R1MOVR0,AMOVA,R3SUBA,#01HJZNEXTMOVR3,AMOVA,R0JMPLOOPS2:MOVA,R0ADDA,R1MOVR0,AMOVA,R0RLAMOVR0,AMOVA,R2沈阳航空工业学院课程设计报告-12-RLAMOVR2,AMOVA,R0SUBA,R1MOVR0,AMOVA,R3SUBA,#01HJZNEXTMOVR3,AMOVA,R0JMPLOOPNEXT:MOVA,R0ANDA,#10HSUBA,#00HJZOUT1SUBA,#10HJZOUT2OUT1:MOVA,R2ADD
本文标题:定点原码一位除法器的设计
链接地址:https://www.777doc.com/doc-2528987 .html