定点补码一位乘法器方案与实现

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

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

课程设计报告

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

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

院<系):计算机学院

专业:计算机科学与技术

班级:

学号:

姓名:

指导教师:

完成日期:2018年1月13日

目录

第1章总体设计方案1

1.1设计原理1

1.2设计思路1

1.3设计环境2

第2章详细设计方案3

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

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

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

2.1.3编译、综合、适配5

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

2.2.1 取补模块的设计与实现5

2.2.2选择器模块的设计与实现7

2.2.3 乘数补码移位寄存器模块的设计与实现11

2.2.4 部分积移位寄存器模块的设计与实现13 2.3仿真调试14

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

参考文献17

附录<电路原理图)18

第1章总体设计方案

1.1 设计原理

在计算两个补码相乘时,可以通过Booth算法来实现定点补码一位乘的功能。布斯(Booth>算法采用相加和相减的操作计算补码数据的乘积,Booth算法对乘数从低位开始判断,根据后两个数据位的情况决定进行加法、减法还是仅仅进行移位操作。讨论当相乘的两个数中有一个或二个为负数的情况,在讨论补码乘法运算时,对被乘数或部分积的处理上与原码乘法有某些类似,差别仅表现在被乘数和部分积的符号位要和数值一起参加运算。

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 设计思路

首先要采用原码值输入,乘数和被乘数皆为8位。而且根据补码一位乘法运算规则:(1> 如果 yn = yn+1,部分积 [ zi ] 加0,再右移一位;(2> 如果 yn yn+1 = 01,部分积加[ x ]补,再右移一位;(3> 如果 yn yn+1 = 10,部分积加[ - x]补,再右移一位;这样重复进行n+1 步,但最后一步不移位。包括一位符号位,所得乘积为 2n+1 位,其中 n 为尾数位数。

设计一个二输入三选一选择器对可能的三种情况进行选择。当选择器中输入为Yi Yi+1为00或者11时,由一寄存器一端接GND,另一端对其进行零输入;当选择器中输入为Yi Yi+1为01时,对其进行[X]补输入;当选择器中输入为Yi Yi+1为10时,对[X]补输入端加一非门和一加法器对其进行取反加1输入。输出结果与一个一端接GND初始置零的寄存器相连接于一个加法器,实现部分积加法运算;计算结果存放于两个相同的移位寄存器中,当部分积相加之后,由两个移位寄存器同时对部分积的和进行移位操作。最后由两个移位寄存器的输出端连接至选择器重新选择进行循环操作,直到部分积移位结束。

定点补码一位乘法器的设计总框图如图1.1所示。

图1.1 定点补码一位乘法器的设计总框图

1.3 设计环境

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

·EDA环境:Xilinx foundation f3.1设计软件、COP2000仿真软件。

第2章详细设计方案

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

顶层方案图是用来实现补码一位乘法器乘数与被乘数的输入和取补,以及结果的寄存和输出、二输入三输出选择器和运算控制电路、移位电路等逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入以及输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。

2.1.1创建顶层图形设计文件

顶层图形文件的设计实体主要由取补电路<封装为QUBU),二输入三输出选择器<基于D2-4E的改装),乘数移位寄存器<封装为U11),部分积移位寄存器<基于FD实现),加法器<基于ADD8的改装),等模块组装而成的一个完整的可编程逻辑芯片U30。顶层图形文件结构如图2.1所示:

图2.1 顶层图形文件结构图

2.1.2器件的选择与引脚锁定

<1)器件的选择

由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xilinx XCV200可编程逻辑芯片。

<2)引脚锁定

把顶层图形文件中的所有输入、输出信号对应到Xilinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xilinx XCV200芯片引脚对应关系如表2.1所示:

表2.1 信号和芯片引脚对应关系

2.1.3编译、综合、适配

利用Xilinx foundation f3.1的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。

2.2 功能模块的设计与实现

功能模块主要由取补电路,二输入三输出选择器,移位寄存器,部分积移位寄存器等模块组成,由Xilinx XCV200可编程逻辑芯片分别实现。

2.2.1 取补模块的设计与实现

进行求补的方法就是从数的最右端开始,由右向左,直到找出第一个

“1”,例如,。则以左的每一个输入位都求反,即1变0,0

变1。最右端的起始链式输入必须永远置成“0”。当控制信号线为“1”

时,启动对2求补的操作;当控制信号线为“0”时,输出将和输入相等。可以利用符号位来作为控制信号。

(1)创建求乘数补码电路模块设计原理图

乘数求补电路原理结构如图2.1所示:

相关文档
最新文档