计算机定点方案,计算机组成课设定点补码一位乘法器方案.doc

计算机组成课设定点补码一位乘法器方案

课 程 设 计 报 告

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

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

院(系):计算机学院

专 业:计算机科学与技术

班 级:*****

学 号:*****

姓 名:*****

指导教师:*****

完成日期:2006年12月31日

目 录

第1章 总体设计方案1

1.1 补码乘法器设计原理1

1.2设计思路2

1.3 设计环境3

第2章 详细设计方案4

2.1 补码乘法器电路图的设计与实现4

2.1.1 补码乘法器设计4

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

2.1.3 编译、综合、适配5

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

2.2.1 两输入三选一选择器模块的设计与实现6

2.2.2 半加器模块的设计与实现7

2.3 仿真调试8

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

3.1 编程下载10

3.2 硬件测试及结果分析10

参考文献12

第1章 总体设计方案

1.1 补码乘法器设计原理

原码乘法的主要问题是符号位不能参加运算,单独用一个异或门产生乘积

的符号位,故自然提出能否让符号数字化后也参加乘法运算,补码乘法就可以实现符号位直接参加运算。

布斯(Booth)算法它采用相加和相减的操作计算补码数据的乘积Booth算法对乘数从低位开始判断,根据两个数据位的情况决定进行加法、减法还是仅仅移位操作。Booth算法操作表示

S0

S1

操作

说明

0

0

处于0串中,不需要操作1串的结尾减x1串的开始无处于1串中,不需要操作判断的两个数据位为当前位及其右边的位(初始时需要增加一个辅助位0),移位操作是向右移动。判断被乘数中的最低位以及右边的位(辅助位0)00,则只进行移位操作;减法操作并移位,这个减法操作相当于减去2的值;yn+1 。开始时,由 ynyn+1 判断第一步该怎么操作;然后再由 yn - 1 yn 判断第二步该怎么操作。因为每做一步要右移一位,故做完第一步后, yn - 1 yn 正好移到原来 ynyn+1 的位置上。依此类推,每步都要用 ynyn+ 1 位置进行判断,我们将这两位称为判断位。如果判断位 ynyn+1 = 01,则 yi+1? …? yi? = 1,做加[x]补操作;如果判断位 yn yn+1 = 10,则 yi+1 … yi? = - 1,做加[ - x]补 操作;如果判断位 yn yn+1 = 11 或 00,则 yi+1 … yi? = 0,[ zi ] 加0,即保持不变。

Booth乘法算法的流程图

下面为补码设计原理框图,用加法器,移位寄存器,计数器,多路开关,和控制电路实现补码乘法,如图1.1:

图1.1 补码乘法原理框图

设计思路

根据补码一位乘法运算规则:(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.3 设计环境

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

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

第2章 详细设计方案

2.1 补码乘法器电路图的设计与实现

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

2.1.1补码乘法器设计

补码乘法器主要由一个三选一数据选择器组装而成的一个完整的设计实体。其实现补码一位乘功能,其与原码一位乘有如下区别:被乘数的符号和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值