第一章 加法器
第一章 加法器
所有的加、减、乘、除四则运算,最终都是将其转化为加法运算来实现的,所以,加法运算是运算电路的核心。实现半加运算的电路叫做半加器(HalfAdder)。半加器有两个二进制的输入,其将输入的值相加,并输出结果到和(Sum)和进位(Carry)。半加器虽能产生进位值,但半加器本身并不能处理进位值。
并行加法器中全加器的位数与操作数的位数相同,可同时对各位相加。影响速度的主要是传递进位信号的进位链。而优化设计的主要目标是高速、低耗、资源(面积)开销小,其关键是构思高速、高效的进位算法与结构。一流的高速加法器有:超前进位加法器、跳跃进位加法器、树形结构加法器、对数跳跃进位加法器、混合超前进位/选择进位加法器、顶层进位级联超前进位加法器等。这些高速、高效的进位方法一般都是在超前进位基础上的改进或者混合进位。因此,超前进位加法器(简称CLA)很自然地成为优化设计比较的基准。在结构方面,行波进位加法器是最简单的整数加法器;它的时间复杂度是O(n)。跳跃进位加法器对于位数少的加法是相当有效的,但对于长位数的加法,由于该加法器的时间复杂度是o(n^-0.5)(其效果并不明显)。超前进位加法器有着O(log2n)的时间复杂度,因此是最快的加法器算法。由于超前进位加法器速度快、结构模块化,使它得以广泛的应用。这种算法利用大量的硬件开销实现产生进位信号的电路,运算时间减少比较明显。
只要Gi = ai&bi = l,就会产生向Ci+l位的进位,称Gi为进位产生函数;同样,只要Pi = ai + bi =l,就会把Ci传递到Ci+1位,所以称Pi为进位传递函数。
如果是5个1相加,结果应是101。而这里并不是将2个进位相加,而是产生2个进位Cout,C和一位的结果S。既是:Cout,C,S都是1。Cout将作为高一个位的进位保留位的进位输入;而C是本位的进位保留位。“进位保留”是指先保留进位输出而不是立即用它来计算最终的和。而是将进位保留到下一级的加法器进行,避免了进位链的延时。所以一个4-2压缩加法器总共需6级门延迟。
4-2压缩加法器主要应用于乘法器的运算。整个乘法器的速度,主要有三部分组成:Booth 编解码单元或APO 编解码单元、4-2压缩单元与CLA 快速求和单元。APO编码是完成缩减部分积数量的算法,每次扫描2位数据,将部分积数量缩减了50%。31位乘数(符号位取0)采用APO算法编码后与被乘数相乘得到16 行部分积;接着基于4-2压缩器的第一级4个压缩单元将部分积压缩成Carry、Sum形式的两行部分积共4组,之后;第二级2个压缩单元将前面的4组8行数据再压缩成Carry、Sum形式的两行部分积共2组,之后;第三级1个压缩单元将前面的2组4行数据再次压缩成Carry、Sum形式的两行部分积共1组2行数据。最后用64位超前进位加法器(CLA)完成最终两行部分积的快速求和结果。乘法器总共需APO算法4级门延迟
+ 三级4-2压缩加法器(3*6 )18级门延迟 =22级门延迟。因64位超前进位加法器是使用流水部件,延迟不计算。如果一个门延迟是小于23PS,那么32位乘法器有望速度能达到0.5ns。占用2个时钟周期。
光走过一米的距离大约需3.3ns,如果走过30纳米的距离大约需0.0001ps,而电信号,由于电容、电感、电阻的存在就慢多了。
所有的加、减、乘、除四则运算,最终都是将其转化为加法运算来实现的,所以,加法运算是运算电路的核心。实现半加运算的电路叫做半加器(HalfAdder)。半加器有两个二进制的输入,其将输入的值相加,并输出结果到和(Sum)和进位(Carry)。半加器虽能产生进位值,但半加器本身并不能处理进位值。
并行加法器中全加器的位数与操作数的位数相同,可同时对各位相加。影响速度的主要是传递进位信号的进位链。而优化设计的主要目标是高速、低耗、资源(面积)开销小,其关键是构思高速、高效的进位算法与结构。一流的高速加法器有:超前进位加法器、跳跃进位加法器、树形结构加法器、对数跳跃进位加法器、混合超前进位/选择进位加法器、顶层进位级联超前进位加法器等。这些高速、高效的进位方法一般都是在超前进位基础上的改进或者混合进位。因此,超前进位加法器(简称CLA)很自然地成为优化设计比较的基准。在结构方面,行波进位加法器是最简单的整数加法器;它的时间复杂度是O(n)。跳跃进位加法器对于位数少的加法是相当有效的,但对于长位数的加法,由于该加法器的时间复杂度是o(n^-0.5)(其效果并不明显)。超前进位加法器有着O(log2n)的时间复杂度,因此是最快的加法器算法。由于超前进位加法器速度快、结构模块化,使它得以广泛的应用。这种算法利用大量的硬件开销实现产生进位信号的电路,运算时间减少比较明显。
只要Gi = ai&bi = l,就会产生向Ci+l位的进位,称Gi为进位产生函数;同样,只要Pi = ai + bi =l,就会把Ci传递到Ci+1位,所以称Pi为进位传递函数。
如果是5个1相加,结果应是101。而这里并不是将2个进位相加,而是产生2个进位Cout,C和一位的结果S。既是:Cout,C,S都是1。Cout将作为高一个位的进位保留位的进位输入;而C是本位的进位保留位。“进位保留”是指先保留进位输出而不是立即用它来计算最终的和。而是将进位保留到下一级的加法器进行,避免了进位链的延时。所以一个4-2压缩加法器总共需6级门延迟。
4-2压缩加法器主要应用于乘法器的运算。整个乘法器的速度,主要有三部分组成:Booth 编解码单元或APO 编解码单元、4-2压缩单元与CLA 快速求和单元。APO编码是完成缩减部分积数量的算法,每次扫描2位数据,将部分积数量缩减了50%。31位乘数(符号位取0)采用APO算法编码后与被乘数相乘得到16 行部分积;接着基于4-2压缩器的第一级4个压缩单元将部分积压缩成Carry、Sum形式的两行部分积共4组,之后;第二级2个压缩单元将前面的4组8行数据再压缩成Carry、Sum形式的两行部分积共2组,之后;第三级1个压缩单元将前面的2组4行数据再次压缩成Carry、Sum形式的两行部分积共1组2行数据。最后用64位超前进位加法器(CLA)完成最终两行部分积的快速求和结果。乘法器总共需APO算法4级门延迟
+ 三级4-2压缩加法器(3*6 )18级门延迟 =22级门延迟。因64位超前进位加法器是使用流水部件,延迟不计算。如果一个门延迟是小于23PS,那么32位乘法器有望速度能达到0.5ns。占用2个时钟周期。
光走过一米的距离大约需3.3ns,如果走过30纳米的距离大约需0.0001ps,而电信号,由于电容、电感、电阻的存在就慢多了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.