定点补码一位乘法器地设计.doc
文本预览下载声明
沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计
课程设计题目:定点补码一位乘法器的设计
院(系):计算机学院
专 业:计算机科学与技术
班 级学 号: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 设计原理
由于机器都采用补码做加减运算,所以设计补码乘法器能避免码制转换,提高机器效率。在计算两个补码相乘时,可以通过Booth算法来实现定点补码一位乘的功能。布斯(Booth)算法采用相加和相减的操作计算补码数据的乘积Booth算法对乘数从低位开始判断,根据两个数据位的情况决定进行加法、减法还是仅仅移位操作。
(1) 被乘数一般取双符号位参加运算。
(2) 乘数可取单符号位以决定最后一步是否需要校正,即是否加。
(3) 乘数末位增设附加位,且初值为0。部分积初始值为0。
(4) 被乘数[x]补乘以对应的相邻两位乘数()之差值,再与前部分积累加,然后右移一位(乘2-1),形成该步的部分积累加和。与构成各步运算的判断值,以决定如何操 作,见图1.1Booth算法操作说明:
图1.1 Booth算法操作说明
(5)按照上述算法进行n+1步操作,但第n+1步不再移位,仅根据与的比较结果作相应的运算即可。
1.2 设计思路
课程设计的要求为:
(1)采用原码值输入,乘数和被乘数皆为8位。
(2)设计的电路应该包括ALU,被乘数寄存器,乘数寄存器,部分积寄存器,门电路和移位电路。
课程设计的思路为:
由于课程设计要求采用原码值输入,就需要设计一个原码值取反码的电路模块,同时只对符号位取反同时也可以实现求。
实现Booth算法需添加附加位,并将其初始值置零,此操作通过外部输入来实现的。
Booth算法在运算中要将部分积初始值置零,此操作是通过给FD寄存器的清零端一个高电平的脉冲信号,使寄存器的数据全部为0,即输出的部分积
取乘数末尾两位来判断,为00、11则部分积加0,为01则部分积加被乘数的补码,为10则部分积加乘数相反数的补码。为了实现此操作,需要设计一个二输入四输出选择器及选择电路。
乘数逻辑右移一位,部分积算术右移一位,并用乘数最高位存放部分积溢出的位。此功能的实现,分别设计了乘数移位寄存器,以及部分积移位寄存器。
依次反复直到原乘数部分只剩下最后两位,由于最后一次只运算不移位,所以在输出时要在部分积移位之前输出结果。
加统一的时钟信号,保持各部件同步工作。
定点补码一位乘法器的设计总框图如图1.2所示;定点补码一位乘法器的设计流程图如图1.3所示。
图1.2 定点补码一位乘法器设计总框图
图1.3 定点补码一位乘法器设计流程图
1.3 设计环境
(1)硬件环境
?伟福COP2000型计算机组成原理实验仪
COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。实验平台上有寄存器组R0-R3、运算单元、累加器等组成。COP2000计算机组成原理实验系统各单元部件都以计算机结构模型布局,系统在实验时即使不借助PC 机,也可实时监控数据流状态及正确与否, 实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式, 系统还支持手动方式、联机方式、模拟方式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能。
?COP2000集成调试软件
COP2000 集成开发环境是为COP2000 实验仪与PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC 机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA 实验等功能,该软件在Windows 下运行。
(2)EDA环境
?Xilinx foundation f3.1设计软件
显示全部