课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计
课程设计题目:定点补码一位乘法器的设计与实现
院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师:
完成日期:2012年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仿真软件。
相关推荐: