ALU设计简介及源代码_第1页
ALU设计简介及源代码_第2页
ALU设计简介及源代码_第3页
ALU设计简介及源代码_第4页
ALU设计简介及源代码_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ALU设计回顾,内容回顾,补码计算算法 加法器设计 行波进位加法器 先行进位加法器 选择进位加法器 ALU设计,行波进位加法器,gi = ai bi (0in-1) pi = ai bi (0in-1) ci+1 = gi + pi ci (0in-1) si = ai bi ci = pi ci (0in-1),ALU设计gi pi生成,ALU设计gi pi生成逻辑,M,采用行波进位的ALU逻辑,无符号数除法算法- 不恢复余数除法举例,A=14=1110 除 B=0011 00000 1110 00001 110 左移一位 - 00011 减(B) 11110 1100 P 是负的,商“0

2、” 11101 100 左移一位 + 00011 加(B) 00000 1001 P 是非负的,商“1 ” 00001 001 左移一位 - 00011 减(B) 11110 0010 P 是负的,商“0 ” 11100 010 左移一位 + 00011 加(B) 11111 0100 P 是负的,商“0 ” + 00011 余数是负的,作最后恢复 00010 商是 0100 ,余数是 0010,P:余数 寄存器 a:被除数 寄存器(有左移位功能) b:除数 寄存器,无符号数除法算法- 不恢复余数除法举例,A=-7=11001 除 B=-3= 11101 |B| = 0011 00000 01

3、11 00000 111 左移一位 + 11101 加(B) 11101 1110 P 是负的,商“0 ” 11011 110 左移一位 - 11101 减(B) 11110 1100 P 是负的,商“0 ” 11101 100 左移一位 + 11101 加(B) 11110 1000 P 是负的,商“0 ” 11101 010 左移一位 - 11101 减(B) 11111 0100 P 是负的,商“0 ” + 00011 余数是负的,作最后恢复 00010 商是 0100 ,余数是 0010,P:余数 寄存器 a:被除数 寄存器(有左移位功能) b:除数 寄存器,借助ALU实现除法运算,A

4、LU,SR,dst,src1,src2,左移一位,Sign,A总线,B总线,C总线,S3:0,M,C0,无符号数除法计算过程,无符号整数除法占用35个时钟周期。 第一个周期完成被除数初始化操作: dst 0 同时为了与有符号整数除法一致,在A、B总线上要分别读出src1和src2/lit的值。 第二个周期将被除数送到移位寄存器SR中: SR (src1) 中间32个周期完成下列重复动作: dst 21(dst) input wire 32:0 opA, opB; input wire 3:0 S; input wire M, Cin; output reg 31:0 DO; output re

5、g C, V, N, Z; reg 32:0 LT3, LT2, LT1, LT0, P, G; reg 32:0 Dout; integer i; reg 32:0 zero; reg 33:0 CA; always (opA or opB or S) for( i=0; i33; i=i+1) begin LT3i = S3 end,always (LT3 or LT2 or LT1 or LT0 or M) for( i=0; i33; i=i+1) begin Pi = (LT3i | LT2i | LT1i | LT0i); Gi = LT3i | LT2i | M; end alw

6、ays (P or G or Cin) begin CA0 = Cin; /CAi : carry to i bit for( i=0; i33; i=i+1)begin CAi+1 = Gi | ( Pi end endmodule,定点乘法器设计,定点乘法器设计,乘法器是高性能微处理器中的关键部件,是进行高速计算特别是信号处理等方面应用时所必须的。 定点乘法器应支持有符号数和无符号数乘法。 本章主要介绍32位定点乘法器设计方法: 假定: 被乘数:A = an-1an-2 a0 乘 数:B = bn-1bn-2 b0 乘 积:P = AB,乘法计算方法,用笔算进行乘法计算的方法为:,乘积,部

7、分积,乘数,被乘数,术语,乘法计算过程 产生部分积 部分积相加,乘法运算的关键,要提高乘法计算速度,需要: 加快部分积的形成 减少部分积数目 采用多位扫描、跳过连续的0/1串和对乘数重编码(如Booth算法)等处理方法 加快部分积加法运算的速度 一般是利用进位保留加法器(CSA)先使参与操作的部分积形成两个数(这两个数分别是伪和与局部进位),二阶Booth算法,二阶Booth编码,0101 0 0101 0000 1010 0101 1,0111110101,531h=?,1 1 -21 20 20,最低位补一位0,二阶Booth算法,乘 数:B = bn-1bn-2 b0,= -bn-12n

8、-1 + bn-22n-2+bn-32n-3+bn-42n-4+ +b020,= -2bn-12n-2 + bn-22n-2+bn-32n-2 -bn-32n-3 +bn-42n-4+ +b020,= (-2bn-1 + bn-2+bn-3)2n-2 -bn-32n-3 +bn-42n-4+ +b020,乘数必须是偶数位,二阶Booth算法控制信号编码,NEG2i = b2i+1 部分积取1倍的控制信号B12i逻辑是:B12i = b2I b2i-1 部分积取2倍的控制信号B22i逻辑是: 对于第j位部分积产生逻辑: pp2i , j = (ajB12i + aj-1B22i ) NEG2i,

9、二阶Booth算法控制信号产生逻辑,编码电路,部分积产生电路,二阶Booth算法举例,0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 1,0 0 0 1 1 1 1 1 0 1 0 1,最低位补一位0,531h=F5h,(-6) + 12 = 6,二阶Booth算法举例,0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0,0 0 1 1 1 1 0 1 0 1,531h=F5h,防止符号位扩展,例: B = 9 = (001001)

10、2,A = 10 = (01010)2, AB = 90 = (01011010)2的执行过程。,防止符号位扩展,例: B = 9 = (001001)2,A = 10 = (01010)2, AB = 90 = (01011010)2的执行过程。,防止符号位扩展,防止符号扩展的方式解决部分积是负数时可能产生的问题。 假定所有的部分积都为负,那么所有符号扩展的“1”的和是: 这个数可以作为一个固定的值加在部分积中。由于 2m-14m/2-13(4m/2-1+4m/2-2+41+40) 因此符号扩展的“1”对应的二进制数可以表示为(1010101011)2,它共有m位,最低位的权是2n。 如果一

11、个部分积实际上非负,为了消除假定它是负数所带来的影响,只需将它的符号位用“1”代替即可。,二阶Booth算法举例,例: B = 9 = (001001)2,A = 10 = (01010)2, AB = 90 = (01011010)2的执行过程。,加法器树-保留进位加法器,二阶Booth算法针对补码数操作。若进行无符号数乘法,则需要将无符号数转换为符号数,即在高位补两位0。 32位乘法器产生17个部分积,再加上防止符号位扩展的补偿数,共18个部分积。 加法器树采用保留进位加法器,加法器树-保留进位加法器,加法器树-保留进位加法器,基本的加法器单元多采用(2,2)计数器(半加器)、(3,2)计

12、数器、(5,3)计数器和(7,3)计数器等,+,+,+,+,+,+,+,+,+,+,+,+,CLA加法器,c,加法器树4-2压缩加法器,4-2压缩器的加法器单元在乘法器的设计中得到了广泛采用。它可以较快地完成中间伪和的产生,而逻辑又比较简单,加法器树-保留进位加法器,加法器树线性阵列,结构最简单规整,速度最慢,需要8级4-2加法器串联,加法器树Wallace Tree,速度最快,但结构不规则,加法器树折衷结构,32位乘法器只有18个部分积,可以采用折衷结构:在速度和规则性进行折衷,加法器树折衷结构,加法器树安排,将加法器树安排为近似矩形,乘法器结构,乘 数 编 码,被乘数,64位加法器,部分积产生,4-2压缩器,B,A,乘法器结果,乘法器结构示意图,乘法器,乘 数 编 码,被乘数,乘法器-HDL实现,module mult (P, RAbus, RBbus, Ssign); input wire signed 31:0 RAbus, RBbus; output wire signed 63:0 P; assign P = RAbus * RBbu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论