
计算机组成原理课设.docx
15页课程设计报告课程设计名称:课程设计题目:计算机组成原理课程设计定点补码一位乘法器的设计院(系):专业:班级:学号:姓名:指导教师:完成日期:计算机学院计算机科学与技术********************2006年12月31日目录第1章总体设计方案21.1补码乘法器设计原理21.2 设计思路4设计环境5第2章详细设计方案52.1补码乘法器电路图的设计与实现62.1.1补码乘法器设计62.1.2器件的选择与引脚锁定82.1.3编译、综合、适配82.2功能模块的设计与实现92.2.1两输入三选一选择器模块的设计与实现92.2.2半加器模块的设计与实现错误!未定义书签2.3仿真调试10第3章编程下载与硬件测试123.1编程下载123.2硬件测试及结果分析12参考文献14第1章总体设计方案1.1补码乘法器设计原理原码乘法的主要问题是符号位不能参加运算,单独用一个异或门产生乘积的符号位,故自然提出能否让符号数字化后也参加乘法运算,补码乘法就可以实现符号位直接参加运算布斯(Booth)算法,它采用相加和相减的操作计算补码数据的乘积,Booth算法对乘数从低位开始判断,根据两个数据位的情况决定进行加法、减法还是仅仅移位操作。
Booth算法操作表示表1.1-1S0S1操作说明00无处丁0申中,不需要操作01加x1申的结尾10减x1申的开始11无处丁1申中,不需要操作判断的两个数据位为当前位及其右边的位(初始时需要增加一个辅助位0),移位操作是向右移动判断被乘数中的最低位以及右边的位(辅助位0),如果为00,则只进行移位操作;之后在判断移位之后的最后两位,如果为01,则进行加法操作并进行移位操作;如果最后两位为10,则进行减法操作并移位,这个减法操作相当丁减去2x的值;判断最后的差值,如为1,则部分积加[X]补;如为0,则不分积加0;如为-1,则部分积加[-X]补,最后一次不移位实现这种补码乘法规则时,在乘数最末位后面要增加一位补充位yn+1开始时,由ynyn+1判断第一步该怎么操作;然后再由yn-1yn判断第二步该怎么操作因为每做一步要右移一位,故做完第一步后,yn-1yn正好移到原来ynyn+1的位置上依此类推,每步都要用ynyn+1位置进行判断,我们将这两位称为判断位如果判断位ynyn+1=01,贝Uyi+1,yi=1,做加[x]补操作;如果判断位ynyn+1=10,则yi+1,yi=-1,做加[-x]补操作;如果判断位ynyn+1=11或00,则yi+1,yi=0,[zi]加0,即保持不变。
Booth乘法算法的流程图01也]也]・32加环?卜面为补码设计原理框图,用加法器,移位寄存器,计数器,多路开关,和控制电路实现补码乘法,如图1.1:图1.1补码乘法原理框图部分积2i乘数y结束5启动计数器iTiL1"A+11.2设计思路根据补码一位乘法运算规则:(1)如果yn=yn+1,部分积[zi]加0,再右移一位;(2)如果ynyn+1=01,部分积加[x]补,再右移一位;(3)如果ynyn+1=10,部分积加[-x]补,再右移一位;这样重复进行n+1步,但最后一步不移位包括一位符号位,所得乘积为2n+1位,其中n为尾数位数设计一个二输入三选一选择器对可能的三种情况进行选择当选择器中输入为YiYi+1为00或者11时,由一寄存器一端接GND,另一端对其进行零输入;当选择器中输入为YiYi+1为01时,对其进行[X]补输入;当选择器中输入为YiYi+1为10时,对[X]补输入端加一非门和一加法器对其进行取反加1输入输出结果与一个一端接GND初始置零的寄存器相连接丁一个加法器,实现部分积加法运算计算结果存放于两个相同的移位寄存器中,当部分积相加之后,由两个移位寄存器同时对部分积的和进行移位操作。
最后由两个移位寄存器的输出端连接至选择器重新选择进行循环操作,直到部分积移位结束1.3设计环境•硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;-EDA环境:Xilinxfoundationf3.1设计软件、COP2000仿真软件第2章详细设计方案2.1补码乘法器电路图的设计与实现顶层方案图实现选择器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定2.1.1补码乘法器设计补码乘法器主要由一个三选一数据选择器组装而成的一个完整的设计实体其实现补码一位乘功能,其与原码一位乘有如下区别:被乘数的符号和乘数的符号都参加运算乘数寄存器Ri有附加位加,其初始状态为“0”当乘数和部分积每次右移时,部分积最低位移至Ri的首位位置,故Ri必须是具有右移功能的寄存器被乘数寄存器R的每一位用原码(即触发器Q端)或反码(即触发器Q端)经多路开关传送到加法器对应位的一个输入端,而开关的控制位由和yn的yn+i输出译码器产生当ynyn+i=01时,送[x]补;当ynyn+i=i0时,送[-x]补,即送的反码且在加法器最末位上加“i”。
R保存部分积,它也是具有右移功能的移位寄存器,其符号位与加法器Ef符号位始终一致当计数器i=n+i时,封锁LDR0和LDRi控制信号,使最后一位不移位补码乘法器由加法器,移位寄存器,寄存器,计数器,多路开关,和控制电路实现补码乘法,可利用XilinxISEECS莫块实现顶层图形文件的设计,通过认真分析和同学共同研讨,得到乘法器电路图,如图2.i所示图2.1补码一位乘具体实现芯片连接图IBUF 2.2功能模块的设计与实现二输入三选一选择器、两个寄存器、一个加法器和一个非门共同实现数据选择功能,其中一个寄存器和选择器一端相连起零输入作用,选择器一端输入[X]补,将该端连接一非门和一个加一的加法器输出端连接至选择器2.2.1两输入三选一选择器模块的设计与实现两输入数据选择器的两个输入分别用s0、si表示,输出用q表示,形成的VHDL程序用ORM2.VHD表示,其设计过程如下创建VHDL源文件moduleprc(a,b,c,s0,s1,q);input[7:0]a;wire[7:0]a;input[7:0]b;wire[7:0]c;input[7:0]c;wire[7:0]c;inputs0;inputsi;wires0,s1;output[7:0]q;reg[7:0]q;always@(s0orsioraorborc)begin;if(s0==Tb0&&s1==Tb0)q[7:0]=a[7:0];elseif(s0==Tb0&&s1==1'b1)q[7:0]=b[7:0];elseif(s0==Tb1&&s1==1'b1)q[7:0]=c[7:0];elseq[7:0]=a[7:0];endendmodule(1) 创建元件图形符号为了能在图形编辑器(原理图设计输入方式)中调用此两输入三选一数据选择器,需要为ORM2创建一个元件图形符号,可用XilinxISE编译器的CreateSymbol模块实现。 3)功能仿真对创建的三选一数据选择器元件进行功能仿真,验证其功能的正确性,可用XilinxISE编译器的Simulator模块实现2) 创建元件图形符号为了能在图形编辑器(原理图设计输入方式)中调用此半加器,需要为H_ADDER创建一个元件图形符号,可用XilinxISE编译器的CreateSymbol模块实现3) 功能仿真对创建的半加器元件(H_ADDER)进行功能仿真,验证其功能的正确性,可用XilinxISE编译器的Simulator模块实现2.3仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表所示输入信号输出信号S0S1qCC58DC021836018585818505(2)功能仿真结果与分析图2.3-1补码乘法器仿真波形图B00?..(hex)#8b■-cBXUAW(hex0B8R7..(hH)noBZZZ7.(hu)M01CCHEHG1CJIi■■■如ICY■W■111ii111911槌IL?Ca1CLRTf|JOns/div业0.0由表2.3-1和图2.3-1所示信息对比可知,仿真正确,能实现补码一位乘法计算功能。 第3章编程下载与硬件测试3.1编程下载利用XilinxISE的编程下载功能,将得到的*.bin文件下载到XCV200实验板的XCV200可编程逻辑芯片中3.2硬件测试及结果分析利用XCV200实验板进行硬件功能测试三选一数据选择器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所小表3.2-1XCV200实验板信号对应关系XCV2005片引脚信号XCV20箕验板S0K1S1K2qLED1输入数据,逐个测试输出结果,即用XCV200实验板的开关K1、K2输入数据,同时观察LED1的输出,得到如表3.2所示的硬件测试结果表3.2-1硬件测试结果输入信号输出信号K1K2LED1CC58DC对表3.2-1与表1.1-1的内容进行对比,可以看出硬件测试结果是正确的,说明电路设计完全正确参考文献曹昕燕.ED做术实验与课程设计[研.北京:活华大学出版社,2006范延滨.微型计算机系统原理、接口与ED应计技术[M].北京:北京邮电大学出版社,2006王爱英.计算机组成与结构(第4版)[M].北京:活华大学出版社,2006胡越明.计算机组成与设计[M].北京:科学出版社,2006廖裕评,陆瑞强.CPLD数字电路设计--使用MAX+PLUSII[M].北京希华大学出版社,2001.217。












