定点补码一位乘法器的设计 联系客服

发布时间 : 星期六 文章定点补码一位乘法器的设计更新完毕开始阅读

沈阳航空航天大学

课 程 设 计 报 告

课程设计名称:计算机组成原理课程设计 课程设计题目:定点补码一位乘法器的设计

院(系):计算机学院 专 业:计算机科学与技术 班 级:84010101 学 号:2008040101002 姓 名:边爽 指导教师:曹一鹏 完成日期:2011年1月14日

沈阳航空航天大学课程设计报告

目 录

第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.1.3编译、综合、适配 .......................................................................................... 7 2.2 功能模块的设计与实现 ...................................................................................... 7 2.2.1 取补模块的设计与实现 ................................................................................. 7 2.2.2选择器模块的设计与实现 .............................................................................. 9 2.2.3 乘数补码移位寄存器模块的设计与实现 ................................................... 12 2.2.4 部分积移位寄存器模块的设计与实现 ....................................................... 14 2.2.5加法器模块的设计与实现 ............................................................................ 16 2.3 仿真调试 ............................................................................................................ 16 第3章 编程下载与硬件测试 .................................................................................... 19 3.1编程下载 ............................................................................................................... 19 3.2 硬件测试及结果分析 ........................................................................................ 19 参考文献 ........................................................................................................................ 22 附 录(电路原理图) ................................................................................................ 23

-1-

沈阳航空航天大学课程设计报告

第1章 总体设计方案

1.1 设计原理

由于机器都采用补码做加减运算,所以设计补码乘法器能避免码制转换,提高机器效率。在计算两个补码相乘时,可以通过Booth算法来实现定点补码一位乘的功能。布斯(Booth)算法采用相加和相减的操作计算补码数据的乘积,Booth算法对乘数从低位开始判断,根据后两个数据位的情况决定进行加法、减法还是仅仅进行移位操作。

补码一位乘法的运算规则:

(1) 被乘数一般取双符号位参加运算。

(2) 乘数可取单符号位以决定最后一步是否需要校正,即是否加[?X]补。 (3) 乘数末位增设附加位yn?1,且初值为0。部分积[Z0]补初始值为0。 (4) 被乘数[x]补乘以对应的相邻两位乘数(yn?1?yn)之差值,再与前部分积累加,然后右移一位(乘2-1),形成该步的部分积累加和。yn?1与yn构成各步运算的判断值,以决定如何操 作[X]补,见图1.1Booth算法操作说明:

图1.1 Booth算法操作说明

(5)按照上述算法进行n+1步操作,但第n+1步不再移位,仅根据y0与y1的比较结果作相应的运算即可。

-1-

沈阳航空航天大学课程设计报告

1.2 设计思路

课程设计的要求为:

(1)采用原码值输入,乘数和被乘数皆为8位。

(2)设计的电路应该包括ALU,被乘数寄存器,乘数寄存器,部分积寄存器,门电路和移位电路。 课程设计的思路为:

(1)由于课程设计要求采用原码值输入,就需要设计一个原码值取反码的电路模块,同时只对符号位取反同时也可以实现求[?X]补。

(2)实现Booth算法需添加附加位yn?1,并将其初始值置零,此操作通过外部输入来实现的。

(3)Booth算法在运算中要将部分积初始值置零,此操作是通过给FD寄存器的清零端一个高电平的脉冲信号,使寄存器的数据全部为0,即输出的部分积为00000000。

(4)取乘数末尾两位来判断,为00、11则部分积加0,为01则部分积加被乘数的补码,为10则部分积加乘数相反数的补码。为了实现此操作,需要设计一个二输入四输出选择器及选择电路。

(5)乘数逻辑右移一位,部分积算术右移一位,并用乘数最高位存放部分积溢出的位。此功能的实现,分别设计了乘数移位寄存器,以及部分积移位寄存器。 (6)依次反复直到原乘数部分只剩下最后两位,由于最后一次只运算不移位,所以在输出时要在部分积移位之前输出结果。 (7)加统一的时钟信号,保持各部件同步工作。

定点补码一位乘法器的设计总框图如图1.2所示;定点补码一位乘法器的设计流程图如图1.3所示。

-2-