计算机组成原理课设 定点补码一位乘法器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳航空工业学院
课程设计报告
课程设计名称:计算机组成原理课程设计课程设计题目:定点补码一位乘法器的设计
院(系):计算机学院
专业:计算机科学与技术
班级:*****
学号:*****
姓名:*****
指导教师:*****
完成日期:2006年12月31日
沈阳航空工业学院课程设计报告
目录
第1章总体设计方案 (2)
1.1补码乘法器设计原理 (2)
1.2设计思路 (4)
1.3设计环境 (5)
第2章详细设计方案 (5)
2.1补码乘法器电路图的设计与实现 (6)
2.1.1 补码乘法器设计 (6)
2.1.2 器件的选择与引脚锁定 (8)
2.1.3 编译、综合、适配 (8)
2.2功能模块的设计与实现 (9)
2.2.1 两输入三选一选择器模块的设计与实现 (9)
2.2.2 半加器模块的设计与实现 .............................................. 错误!未定义书签。
2.3仿真调试 (10)
第3章编程下载与硬件测试 (12)
3.1编程下载 (12)
3.2硬件测试及结果分析 (12)
参考文献 (14)
第1章总体设计方案
1.1 补码乘法器设计原理
原码乘法的主要问题是符号位不能参加运算,单独用一个异或门产生乘积
的符号位,故自然提出能否让符号数字化后也参加乘法运算,补码乘法就可以实现符号位直接参加运算。
布斯(Booth)算法,它采用相加和相减的操作计算补码数据的乘积,Booth算法对乘数从低位开始判断,根据两个数据位的情况决定进行加法、减法还是仅仅移位操作。
Booth算法操作表示
判断的两个数据位为当前位及其右边的位(初始时需要增加一个辅助位0),移位操作是向右移动。判断被乘数中的最低位以及右边的位(辅助位0),如果
为00,则只进行移位操作;之后在判断移位之后的最后两位,如果为01,则进行加法操作并进行移位操作;如果最后两位为10,则进行减法操作并移位,这个减法操作相当于减去2x的值;判断最后的差值,如为1,则部分积加[X]补;如为0,则不分积加0;如为-1,则部分积加[-X]补,最后一次不移位。
实现这种补码乘法规则时,在乘数最末位后面要增加一位补充位y n+1。开
始时,由y n y n+1 判断第一步该怎么操作;然后再由y n- 1 y n判断第二步该怎么
操作。因为每做一步要右移一位,故做完第一步后,y n- 1 y n正好移到原来y n y n+1
的位置上。依此类推,每步都要用y n y n+ 1位置进行判断,我们将这两位称为判
断位。如果判断位y n y n+1 = 01,则y i+1… y i = 1,做加[x]补操作;如果
判断位y n y n+1 = 10,则y i+1… y i = - 1,做加[ - x]补操作;如果判断位y n
y
= 11 或 00,则 y i+1… y i = 0,[ z i ] 加0,即保持不变。
n+1
Booth乘法算法的流程图
下面为补码设计原理框图,用加法器,移位寄存器,计数器,多路开关,
和控制电路实现补码乘法,如图1.1:
图1.1 补码乘法原理框图
1.2 设计思路
根据补码一位乘法运算规则:(1) 如果 y n = y n+1,部分积 [ z i ] 加0,再右移一位;(2) 如果 y n y n+1 = 01,部分积加[ x ]补,再右移一位;(3) 如果 y n y n+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补码乘法器设计
补码乘法器主要由一个三选一数据选择器组装而成的一个完整的设计实
体。其实现补码一位乘功能,其与原码一位乘有如下区别:被乘数的符号和
乘数的符号都参加运算。乘数寄存器R
1
有附加位y n+1 ,其初始状态为“0”。
当乘数和部分积每次右移时,部分积最低位移至R
1 的首位位置,故 R
1
必须
是具有右移功能的寄存器。被乘数寄存器R
2
的每一位用原码(即触发器 Q 端)或反码(即触发器Q端)经多路开关传送到加法器对应位的一个输入端,而开关的控制位由和y n的y n+1 输出译码器产生。当y n y n+1 = 01时,送[x]补;
当y n y n+1= 10时,送[-x]补,即送的反码且在加法器最末位上加“1”。 R0 保
存部分积,它也是具有右移功能的移位寄存器,其符号位与加法器∑
f
符号位始终一致。当计数器i = n +1 时,封锁 LD R0和LD R1控制信号,使最后一位不移位。补码乘法器由加法器,移位寄存器,寄存器,计数器,多路开关,和控制电路实现补码乘法,可利用Xilinx ISE ECS模块实现顶层图形文件的设计,通过认真分析和同学共同研讨,得到乘法器电路图,如图2.1所示。