定点补码一位乘法器方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

个人资料整理仅限学习使用

课程设计报告

课程设计名称:计算机组成原理课程设计

课程设计题目:定点补码一位乘法器的设计

院<系):计算机学院

专业:计算机科学与技术

班级:

学号:

姓名:

指导教师:

完成日期:2018年1月15日

目录第1章总体设计方案1

1.1设计原理1

1.2设计思路2

1.3设计环境4

第2章详细设计方案5

2.1顶层方案图的设计与实现5

2.1.1创建顶层图形设计文件5

2.1.2器件的选择与引脚锁定6

2.2功能模块的设计与实现7

2.2.1求补电路模块的设计与实现7

2.2.2 控制电路模块的设计与实现8

2.2.3选择器模块的设计与实现10

第3章编程下载与硬件测试12

3.1编程下载12

3.2硬件测试及结果分析12

参考文献14

附录<电路原理图)15

第1章总体设计方案

1.1设计原理

<1)用[X]补×[Y]补直接求[X×Y]补

讨论当相乘的两个数中有一个或二个为负数的情况,在讨论补码乘法运算时,对被乘数或部分积的处理上与原码乘法有某些类似,差别仅表现在被乘数和部分积的符号位要和数值一起参加运算。

若[Y]补=Y0Y1Y2…Yn 当Y0为1时,则有Y=-1+Yi×2-i

故有X×Y=X×Yi×2-1-X当Y为负值时,用补码乘计算[X×Y]补,是用[X]补乘上[Y]补的数值位,而不理[Y]补符号位上的1,乘完之后,在所得的乘积中再减X,即加-[X]补。实现补码乘法的另一个方案是比较法,是由BOOTH最早提出的,这一方法的出发点是避免区分乘数符号的正负,而且让乘数符号位也参加运算。技巧上表现在分解乘数的每一位上的1为高一位的一个+1和本位上的一个-1:X×Y=X×<-1+Yi×2i)<逐项展开则得)=X×[-Y0+Y1×2-1+Y2×2-2+…+Yn×2-n]=X×[-Y0+(Y1-Y1×2-1>+(Y2×2-1-Y2×2-2>+…+(Yn×2-(n-1>-Yn×2-n>]<合并相同幂次项得)=X×[(Y1-Y0>+(Y2-Y1> ×2-1+…+(Yn-Yn-1> ×2-(n-1>+(0-Yn> ×2-n]=X×

P1=[2-1(Yn+1-Yn> ×X]补

P2=[2-1(P1+(Yn-Yn-1> ×X>]补

Pi=[2-1(Pn-i+(Yn-I+2-Yn-I+1> ×X>]补

Pn=[2-1(Pn-1+(Y2-Y1> ×X>]补

Pn+1=[ (Pn+(Y1-Y0> ×X>]补

则最终补码乘积为[X*Y]补=[Pn+1]补

由上述公式可以看出,比较法是用乘数中每相邻的两位判断如何求得每次的相加数。每两位Yi和Yi+1的取值有00,01,10,11四种组合,则它们的差值分别为0,1,-1和0,非最后一次的部分积,分别为上一次部分积的1/2<右移一位)的值Rj,Rj+[X]补,Rj-[X]补<即Rj+[-X]补)和Rj,但一定要注意:最后一次求出的部分积即为最终乘积,不执行右移操作。用此法计算乘积,需要乘数寄存器的最低一位之后再补充一位Yn+1,并使其初值为0,再增加对Yn和Yn+1两位进行译码的线路,以区分出Yn+1-Yn 4种不同的差值。对N位的数<不含符号位)相乘,要计算N+1次部分积,并且不对最后一次部分积执行右移操作。此时的加法器最好采用双符号位方案。

<2)Booth乘法规则

假设X、Y都是用补码形式表示的机器数,[X]补和[Y]补=Ys.Y1Y2…Yn,都是任意符号表示的数。比较法求新的部分积,取决于两个比较位的数位,即Yi+1Yi的状态。

布斯乘法规则归纳如下:

首先设置附加位Yn+1=0,部分积初值[Z0]补=0。

当n≠0时,判断YnYn+1,

若YnYn+1=00或11,即相邻位相同时,上次部分积右移一位,直接得部分积。若YnYn+1=01,上次部分积加[X]补,然后右移一位得新部分积。

若YnYn+1=10,上次部分积加[-X]补,然后右移一位得新部分积。

当n=0时,判YnYn+1(对应于Y0Y1>,运算规则同(1>只是不移位。即在运算的最

后一步,乘积不再右移。

1.2设计思路

设计一个二输入三选一选择器对可能的三种情况进行选择。

当选择器中输入为S0 S1为00或者11时,由一寄存器一端接GND,另一端对其进行零输入;

当选择器中输入为S0 S1为01时,对其进行[X]补输入;

当选择器中输入为S0 S1为10时,对[X]补输入端加一非门和一加法器对其进行取反加1输入。

输出结果与一个一端接GND初始置零的寄存器相连接于一个加法器,实现部分积加法运算

计算结果存放于两个相同的移位寄存器中,当部分积相加之后,由两个移位寄存器同时对部分积的和进行移位操作。

最后由两个移位寄存器的输出端连接至选择器重新选择进行循环操作,直到部分积移位结束。这里用布斯算法在硬件电路上比较容易实现。布斯算法的流程图如下:

图1.1 定点补码一位乘法器的流程图

补码一位乘法的硬件实现逻辑图如下:

1.2 定点原码一位乘法器的原理框图

1.3 设计环境

·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;

·EDA环境:Xilinx设计软件。

第2章详细设计方案

2.1 顶层方案图的设计与实现

顶层方案图实现一位补码乘法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。

2.1.1创建顶层图形设计文件

顶层图形文件主要由一个两个16进制数和和一个封装模块组装而成的一个完整的设计实体。可利用Xilinx模块实现顶层图形文件的设计,顶层图形文件结构如图2.1所示。

图2.1 一位补码乘法器顶层图形文件结构

2.1.2器件的选择与引脚锁定

<1)器件的选择

相关文档
最新文档