计算机组成原理课设补码一位乘,资料计算机组成原理课设_定点补码一位乘法器的设计...

41528d3028836879cd698677c3999917.gif资料计算机组成原理课设_定点补码一位乘法器的设计

课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:定点补码一位乘法器的设计院(系):计算机学院专 业:计算机科学与技术班 级:*****学 号:*****姓 名:*****指导教师:*****完成日期:2006年12月31日目 录第 1 章 总体设计方案 .11.1 补码乘法器设计原理 .11.2 设计思路 .21.3 设计环境 3第 2 章 详细设计方案 .42.1 补码乘法器电路图的设计与实现 .42.1.1 补码乘法器设计 42.1.2 器件的选择与引脚锁定 52.1.3 编译、综合、适配 52.2 功能模块的设计与实现 .62.2.1 两输入三选一选择器模块的设计与实现 62.2.2 半加器模块的设计与实现 72.3 仿真调试 .8第 3 章 编程下载与硬件测试 .103.1 编程下载 .103.2 硬件测试及结果分析 .10参考文献 .12第 1 章 总体设计方案1.1 补码乘法器设计原理原码乘法的主要问题是符号位不能参加运算,单独用一个异或门产生乘积的符号位,故自然提出能否让符号数字化后也参加乘法运算,补码乘法就可以实现符号位直接参加运算。布斯(Booth)算法,它采用相加和相减的操作计算补码数据的乘积,Booth 算法对乘数从低位开始判断,根据两个数据位的情况决定进行加法、减法还是仅仅移位操作。Booth 算法操作表示表 1.1-1S0 S1 操作 说明0 0 无 处于 0 串中,不需要操作0 1 加 x1 串的结尾10 减 x 1 串的开始1 1 无 处于 1 串中,不需要操作判断的两个数据位为当前位及其右边的位(初始时需要增加一个辅助位0),移位操作是向右移动。判断被乘数中的最低位以及右边的位(辅助位 0),如果为 00,则只进行移位操作;之后在判断移位之后的最后两位,如果为 01,则进行加法操作并进行移位操作;如果最后两位为 10,则进行减法操作并移位,这个减法操作相当于减去 2x 的值;判断最后的差值,如为 1,则部分积加[X]补;如为0,则不分积加 0;如为-1,则部分积加[-X]补,最后一次不移位。实现这种补码乘法规则时,在乘数最末位后面要增加一位补充位 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.2 设计思路根据补码一位乘法运算规则:(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 补码乘法器设计补码乘法器主要由一个三选一数据选择器组装而成的一个完整的设计实体。其实现补码一位乘功能,其与原码一位乘有如下区别:被乘数的符号和乘数的符号都参加运算。 乘数寄存器 R1 有附加位 yn+1 ,其初始状态为“0”。当乘数和部分积每次右移时,部分积最低位移至 R1 的首位位置,故 R1 必须是具有右移功能的寄存器。 被乘数寄存器 R2 的每一位用原码(即触发器 Q 端)或反码(即触发器 Q 端)经多路开关传送到加法器对应位的一个输入端,而开关的控制位由和 yn 的 yn+1 输出译码器产生。当 ynyn+1 = 01 时,送[ x]补 ;当 ynyn+1 = 10 时,送[- x]补 ,即送的反码且在加法器最末位上加“1”。 R 0 保存部分积,它也是具有右移功能的移位寄存器,其符号位与加法器 ∑ f 符号位始终一致。 当计数器 i = n +1 时,封锁 LD R 0 和 LD R1 控制信号,使最后一位不移位。补码乘法器由加法器,移位寄存器,寄存器,计数器,多路开关,和控制电路实现补码乘法,可利用 Xilinx ISE ECS模块实现顶层图形文件的设计,通过认真分析和同学共同研讨,得到乘法器电路图,如图 2.1 所示。图 2.1 补码一位乘具体实现芯片连接图2.1.2 器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福 COP2000 型计算机组成原理实验仪和 XCV200实验板,故采用的目标芯片为 Xlinx XCV200 可编程逻辑芯片。(2)引脚锁定输入信号 XCV200 芯片引脚K0 103K1 102K2 101K3 100K4 097K5 096K6 095乘数末尾八位输入端 S0K7 094K0 087K1 086K2 085K3 084K4 082K5 081K6 080乘数末尾八位输入端 S1K7 0792.1.3 编译、综合、适配利用 Xilinx ISE 编译器对顶层图形文件进行编译、综合、优化、逻辑分割、适配和布线,生成可供时序仿真的文件和器件下载编程文件。2.2 功能模块的设计与实现二输入三选一选择器、两个寄存器、一个加法器和一个非门共同实现数据选择功能,其中一个寄存器和选择器一端相连起

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值